@burdenoff/cli-sdk 2026.627.4 → 2026.627.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,325 @@
1
+ import {a as a$1,b as b$1,h,p as p$1,g,i,o as o$1,d}from'../../chunk-WXDQ3S5J.js';import {o}from'../../chunk-TCBALVP4.js';var b=`
2
+ query TecCourse($id: ID!) {
3
+ tecCourse(id: $id) {
4
+ id slug title topic summary level status estimatedMinutes instructorId
5
+ tags publishedAt createdAt updatedAt workspaceId
6
+ cover { id }
7
+ lessons { id title kind position }
8
+ }
9
+ }
10
+ `,E=`
11
+ query TecListCourses(
12
+ $level: TecCourseLevel
13
+ $status: TecCourseStatus
14
+ $pagination: PaginationInput
15
+ ) {
16
+ tecListCourses(level: $level, status: $status, pagination: $pagination) {
17
+ items {
18
+ id slug title topic level status estimatedMinutes instructorId
19
+ publishedAt createdAt
20
+ }
21
+ pageInfo { cursor hasMore }
22
+ }
23
+ }
24
+ `,T=`
25
+ mutation TecCreateCourse($input: TecCreateCourseInput!) {
26
+ tecCreateCourse(input: $input) {
27
+ id slug title topic summary level status estimatedMinutes instructorId
28
+ tags createdAt
29
+ }
30
+ }
31
+ `,A=`
32
+ mutation TecUpdateCourse($id: ID!, $input: TecUpdateCourseInput!) {
33
+ tecUpdateCourse(id: $id, input: $input) {
34
+ id slug title topic summary level status estimatedMinutes instructorId
35
+ tags updatedAt
36
+ }
37
+ }
38
+ `,y=`
39
+ mutation TecPublishCourse($id: ID!) {
40
+ tecPublishCourse(id: $id) {
41
+ id slug title status publishedAt updatedAt
42
+ }
43
+ }
44
+ `,R=`
45
+ mutation TecArchiveCourse($id: ID!) {
46
+ tecArchiveCourse(id: $id)
47
+ }
48
+ `,O=`
49
+ query TecListLessons($courseId: ID!) {
50
+ tecListLessons(courseId: $courseId) {
51
+ id courseId title kind position estimatedMinutes isPreview content
52
+ file { id }
53
+ createdAt updatedAt workspaceId
54
+ }
55
+ }
56
+ `,w=`
57
+ mutation TecCreateLesson($input: TecCreateLessonInput!) {
58
+ tecCreateLesson(input: $input) {
59
+ id courseId title kind position estimatedMinutes isPreview content
60
+ createdAt
61
+ }
62
+ }
63
+ `,P=`
64
+ mutation TecUpdateLesson($id: ID!, $input: TecUpdateLessonInput!) {
65
+ tecUpdateLesson(id: $id, input: $input) {
66
+ id courseId title kind position estimatedMinutes isPreview content
67
+ updatedAt
68
+ }
69
+ }
70
+ `,k=`
71
+ query TecListEnrollments(
72
+ $courseId: ID
73
+ $learnerId: ID
74
+ $pagination: PaginationInput
75
+ ) {
76
+ tecListEnrollments(courseId: $courseId, learnerId: $learnerId, pagination: $pagination) {
77
+ items {
78
+ id courseId learnerId status progressPct lessonsCompleted
79
+ startedAt lastActiveAt completedAt createdAt
80
+ }
81
+ pageInfo { cursor hasMore }
82
+ }
83
+ }
84
+ `,L=`
85
+ mutation TecEnroll($input: TecEnrollInput!) {
86
+ tecEnroll(input: $input) {
87
+ id courseId learnerId status progressPct lessonsCompleted startedAt createdAt
88
+ }
89
+ }
90
+ `,M=`
91
+ mutation TecUpdateProgress($input: TecUpdateProgressInput!) {
92
+ tecUpdateProgress(input: $input) {
93
+ id courseId learnerId status progressPct lessonsCompleted
94
+ lastActiveAt completedAt updatedAt
95
+ }
96
+ }
97
+ `,$=`
98
+ query TecMentor($id: ID!) {
99
+ tecMentor(id: $id) {
100
+ id userId headline bio expertise hourlyRate currency status
101
+ isAcceptingMentees ratingAvg sessionsCount createdAt updatedAt workspaceId
102
+ }
103
+ }
104
+ `,D=`
105
+ query TecListMentors($status: TecMentorStatus, $pagination: PaginationInput) {
106
+ tecListMentors(status: $status, pagination: $pagination) {
107
+ items {
108
+ id userId headline expertise hourlyRate currency status
109
+ isAcceptingMentees ratingAvg sessionsCount createdAt
110
+ }
111
+ pageInfo { cursor hasMore }
112
+ }
113
+ }
114
+ `,U=`
115
+ mutation TecBecomeMentor($input: TecCreateMentorInput!) {
116
+ tecBecomeMentor(input: $input) {
117
+ id userId headline bio expertise hourlyRate currency status
118
+ isAcceptingMentees createdAt
119
+ }
120
+ }
121
+ `,v=`
122
+ mutation TecUpdateMentor($id: ID!, $input: TecUpdateMentorInput!) {
123
+ tecUpdateMentor(id: $id, input: $input) {
124
+ id userId headline bio expertise hourlyRate currency status
125
+ isAcceptingMentees updatedAt
126
+ }
127
+ }
128
+ `,N=`
129
+ mutation TecApproveMentor($id: ID!) {
130
+ tecApproveMentor(id: $id) {
131
+ id userId headline status updatedAt
132
+ }
133
+ }
134
+ `,x=`
135
+ query TecListSessions($mentorId: ID, $menteeId: ID, $status: TecSessionStatus) {
136
+ tecListSessions(mentorId: $mentorId, menteeId: $menteeId, status: $status) {
137
+ id mentorId menteeId topic agenda status scheduledAt durationMinutes
138
+ meetingUrl rating feedback completedAt cancelledAt createdAt workspaceId
139
+ }
140
+ }
141
+ `,_=`
142
+ mutation TecBookSession($input: TecBookSessionInput!) {
143
+ tecBookSession(input: $input) {
144
+ id mentorId menteeId topic agenda status scheduledAt durationMinutes createdAt
145
+ }
146
+ }
147
+ `,H=`
148
+ mutation TecConfirmSession($id: ID!, $meetingUrl: String) {
149
+ tecConfirmSession(id: $id, meetingUrl: $meetingUrl) {
150
+ id mentorId menteeId topic status scheduledAt meetingUrl updatedAt
151
+ }
152
+ }
153
+ `,B=`
154
+ mutation TecCancelSession($id: ID!) {
155
+ tecCancelSession(id: $id) {
156
+ id mentorId menteeId topic status cancelledAt updatedAt
157
+ }
158
+ }
159
+ `,q=`
160
+ mutation TecCompleteSession($id: ID!, $rating: Int, $feedback: String) {
161
+ tecCompleteSession(id: $id, rating: $rating, feedback: $feedback) {
162
+ id mentorId menteeId topic status rating feedback completedAt updatedAt
163
+ }
164
+ }
165
+ `,z=`
166
+ query TecHackathon($id: ID!) {
167
+ tecHackathon(id: $id) {
168
+ id slug title theme description status startAt endAt submissionDeadline
169
+ maxTeamSize prizePool currency tags createdAt updatedAt workspaceId
170
+ }
171
+ }
172
+ `,F=`
173
+ query TecListHackathons($status: TecHackathonStatus, $pagination: PaginationInput) {
174
+ tecListHackathons(status: $status, pagination: $pagination) {
175
+ items {
176
+ id slug title theme status startAt endAt submissionDeadline
177
+ maxTeamSize prizePool currency createdAt
178
+ }
179
+ pageInfo { cursor hasMore }
180
+ }
181
+ }
182
+ `,G=`
183
+ mutation TecCreateHackathon($input: TecCreateHackathonInput!) {
184
+ tecCreateHackathon(input: $input) {
185
+ id slug title theme description status startAt endAt submissionDeadline
186
+ maxTeamSize prizePool currency tags createdAt
187
+ }
188
+ }
189
+ `,j=`
190
+ mutation TecUpdateHackathon($id: ID!, $input: TecUpdateHackathonInput!) {
191
+ tecUpdateHackathon(id: $id, input: $input) {
192
+ id slug title theme description status startAt endAt submissionDeadline
193
+ maxTeamSize prizePool currency tags updatedAt
194
+ }
195
+ }
196
+ `,V=`
197
+ mutation TecOpenRegistration($id: ID!) {
198
+ tecOpenRegistration(id: $id) {
199
+ id slug title status updatedAt
200
+ }
201
+ }
202
+ `,W=`
203
+ query TecListTeams($hackathonId: ID!) {
204
+ tecListTeams(hackathonId: $hackathonId) {
205
+ id hackathonId name captainId memberIds status score projectName
206
+ projectUrl repoUrl pitch submittedAt createdAt updatedAt workspaceId
207
+ }
208
+ }
209
+ `,K=`
210
+ mutation TecRegisterTeam($input: TecRegisterTeamInput!) {
211
+ tecRegisterTeam(input: $input) {
212
+ id hackathonId name captainId memberIds status score createdAt
213
+ }
214
+ }
215
+ `,J=`
216
+ mutation TecSubmitProject($input: TecSubmitProjectInput!) {
217
+ tecSubmitProject(input: $input) {
218
+ id hackathonId name status projectName projectUrl repoUrl pitch
219
+ submittedAt updatedAt
220
+ }
221
+ }
222
+ `,Y=`
223
+ mutation TecScoreTeam($id: ID!, $score: Int!, $winner: Boolean) {
224
+ tecScoreTeam(id: $id, score: $score, winner: $winner) {
225
+ id hackathonId name status score updatedAt
226
+ }
227
+ }
228
+ `,X=`
229
+ query TecProblem($id: ID!) {
230
+ tecProblem(id: $id) {
231
+ id slug title topic statement difficulty status points languages tags
232
+ starterCode publishedAt createdAt updatedAt workspaceId
233
+ }
234
+ }
235
+ `,Q=`
236
+ query TecListProblems(
237
+ $difficulty: TecProblemDifficulty
238
+ $status: TecProblemStatus
239
+ $topic: String
240
+ $pagination: PaginationInput
241
+ ) {
242
+ tecListProblems(
243
+ difficulty: $difficulty
244
+ status: $status
245
+ topic: $topic
246
+ pagination: $pagination
247
+ ) {
248
+ items {
249
+ id slug title topic difficulty status points languages tags
250
+ publishedAt createdAt
251
+ }
252
+ pageInfo { cursor hasMore }
253
+ }
254
+ }
255
+ `,Z=`
256
+ mutation TecCreateProblem($input: TecCreateProblemInput!) {
257
+ tecCreateProblem(input: $input) {
258
+ id slug title topic statement difficulty status points languages tags
259
+ starterCode createdAt
260
+ }
261
+ }
262
+ `,tt=`
263
+ mutation TecUpdateProblem($id: ID!, $input: TecUpdateProblemInput!) {
264
+ tecUpdateProblem(id: $id, input: $input) {
265
+ id slug title topic statement difficulty status points languages tags
266
+ starterCode updatedAt
267
+ }
268
+ }
269
+ `,et=`
270
+ mutation TecPublishProblem($id: ID!) {
271
+ tecPublishProblem(id: $id) {
272
+ id slug title status publishedAt updatedAt
273
+ }
274
+ }
275
+ `,it=`
276
+ query TecListSubmissions(
277
+ $problemId: ID
278
+ $learnerId: ID
279
+ $pagination: PaginationInput
280
+ ) {
281
+ tecListSubmissions(problemId: $problemId, learnerId: $learnerId, pagination: $pagination) {
282
+ items {
283
+ id problemId learnerId language verdict pointsAwarded runtimeMs
284
+ judgedAt createdAt
285
+ }
286
+ pageInfo { cursor hasMore }
287
+ }
288
+ }
289
+ `,nt=`
290
+ mutation TecSubmitSolution($input: TecSubmitSolutionInput!) {
291
+ tecSubmitSolution(input: $input) {
292
+ id problemId learnerId language verdict pointsAwarded runtimeMs createdAt
293
+ }
294
+ }
295
+ `,ot=`
296
+ mutation TecGradeSubmission($id: ID!, $verdict: TecSubmissionVerdict!, $runtimeMs: Int) {
297
+ tecGradeSubmission(id: $id, verdict: $verdict, runtimeMs: $runtimeMs) {
298
+ id problemId learnerId language verdict pointsAwarded runtimeMs
299
+ judgedAt updatedAt
300
+ }
301
+ }
302
+ `,rt=`
303
+ query TecListCertificates($courseId: ID, $learnerId: ID) {
304
+ tecListCertificates(courseId: $courseId, learnerId: $learnerId) {
305
+ id courseId learnerId serial score status issuedAt revokedAt
306
+ revokeReason createdAt updatedAt workspaceId
307
+ }
308
+ }
309
+ `,st=`
310
+ mutation TecIssueCertificate($courseId: ID!, $learnerId: ID!, $score: Int!) {
311
+ tecIssueCertificate(courseId: $courseId, learnerId: $learnerId, score: $score) {
312
+ id courseId learnerId serial score status issuedAt createdAt
313
+ }
314
+ }
315
+ `,at=`
316
+ mutation TecRevokeCertificate($id: ID!, $reason: String) {
317
+ tecRevokeCertificate(id: $id, reason: $reason) {
318
+ id courseId learnerId serial score status revokedAt revokeReason updatedAt
319
+ }
320
+ }
321
+ `,ct=`
322
+ query TecHealth {
323
+ tecHealth
324
+ }
325
+ `;function a(d){let n=Number.parseInt(d,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${d}"`);return n}function p(d){return d.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function mt(d){let n=d.command("courses").description("Technospam courses");n.command("list").description("List courses").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(E,{level:e.level?e.level.toUpperCase():void 0,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});h(e,t.tecListCourses.items,{headers:["ID","Title","Level","Status","Minutes"],rows:t.tecListCourses.items.map(i=>[p$1(i.id,12),i.title,i.level,i.status,String(i.estimatedMinutes??0)])});}catch(t){g(t);}}),n.command("get").description("Get a course by id").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i=await b$1(b,{id:e});if(!i.tecCourse)throw new o(`Course ${e} not found`);h(t,i.tecCourse);}catch(i){g(i);}}),n.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",a).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=p(e.tags));let i$1=await b$1(T,{input:t});i(`Course created: ${i$1.tecCreateCourse.title}`),h(e,i$1.tecCreateCourse);}catch(t){g(t);}}),n.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",a).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 i$1={};if(t.title&&(i$1.title=t.title),t.topic!==void 0&&(i$1.topic=t.topic),t.summary!==void 0&&(i$1.summary=t.summary),t.level&&(i$1.level=t.level.toUpperCase()),t.estimatedMinutes!==void 0&&(i$1.estimatedMinutes=t.estimatedMinutes),t.instructorId&&(i$1.instructorId=t.instructorId),t.coverFileId&&(i$1.coverFileId=t.coverFileId),t.tags&&(i$1.tags=p(t.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(A,{id:e,input:i$1});i("Course updated"),h(t,I.tecUpdateCourse);}catch(i){g(i);}}),n.command("publish").description("Publish a course (DRAFT -> PUBLISHED)").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(y,{id:e});i(`Course published: ${i$1.tecPublishCourse.title}`),h(t,i$1.tecPublishCourse);}catch(i){g(i);}}),n.command("archive").description("Archive a course").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(R,{id:e});i(i$1.tecArchiveCourse?"Course archived":"Course not archived"),h(t,{archived:i$1.tecArchiveCourse});}catch(i){g(i);}});}function dt(d){let n=d.command("lessons").description("Technospam course lessons");n.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 b$1(O,{courseId:e.course});h(e,t.tecListLessons,{headers:["ID","Title","Kind","Position","Minutes","Preview"],rows:t.tecListLessons.map(i=>[p$1(i.id,12),i.title,i.kind,String(i.position),String(i.estimatedMinutes??0),i.isPreview?"yes":"no"])});}catch(t){g(t);}}),n.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",a).option("--estimated-minutes <n>","Estimated minutes",a).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 i$1=await b$1(w,{input:t});i(`Lesson created: ${i$1.tecCreateLesson.title}`),h(e,i$1.tecCreateLesson);}catch(t){g(t);}}),n.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",a).option("--estimated-minutes <n>","Estimated minutes",a).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 i$1={};if(t.title&&(i$1.title=t.title),t.kind&&(i$1.kind=t.kind.toUpperCase()),t.content!==void 0&&(i$1.content=t.content),t.position!==void 0&&(i$1.position=t.position),t.estimatedMinutes!==void 0&&(i$1.estimatedMinutes=t.estimatedMinutes),t.fileId&&(i$1.fileId=t.fileId),t.preview!==void 0&&(i$1.isPreview=t.preview),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(P,{id:e,input:i$1});i("Lesson updated"),h(t,I.tecUpdateLesson);}catch(i){g(i);}});}function ut(d){let n=d.command("enrollments").description("Technospam course enrollments");n.command("list").description("List enrollments").option("--course <id>","Filter by course ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(k,{courseId:e.course,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});h(e,t.tecListEnrollments.items,{headers:["ID","Course","Learner","Status","Progress %","Lessons"],rows:t.tecListEnrollments.items.map(i=>[p$1(i.id,12),p$1(i.courseId,12),p$1(i.learnerId,12),i.status,String(i.progressPct),String(i.lessonsCompleted)])});}catch(t){g(t);}}),n.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 b$1(L,{input:{courseId:e.course}});i(`Enrolled in course ${t.tecEnroll.courseId}`),h(e,t.tecEnroll);}catch(t){g(t);}}),n.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)",a).option("--lessons-completed <n>","Lessons completed count",a).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 i$1=await b$1(M,{input:t});i(`Progress updated to ${i$1.tecUpdateProgress.progressPct}%`),h(e,i$1.tecUpdateProgress);}catch(t){g(t);}});}function pt(d){let n=d.command("mentors").description("Technospam mentors");n.command("list").description("List mentors").option("--status <s>","PENDING|ACTIVE|PAUSED|INACTIVE").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(D,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});h(e,t.tecListMentors.items,{headers:["ID","Headline","Status","Rate","Rating","Accepting"],rows:t.tecListMentors.items.map(i=>[p$1(i.id,12),p$1(i.headline,30),i.status,String(i.hourlyRate??0),String(i.ratingAvg??0),i.isAcceptingMentees?"yes":"no"])});}catch(t){g(t);}}),n.command("get").description("Get a mentor by id").argument("<id>","Mentor ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i=await b$1($,{id:e});if(!i.tecMentor)throw new o(`Mentor ${e} not found`);h(t,i.tecMentor);}catch(i){g(i);}}),n.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",a).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=p(e.expertise)),e.hourlyRate!==void 0&&(t.hourlyRate=e.hourlyRate),e.currency&&(t.currency=e.currency);let i$1=await b$1(U,{input:t});i(`Mentor profile created: ${i$1.tecBecomeMentor.headline}`),h(e,i$1.tecBecomeMentor);}catch(t){g(t);}}),n.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",a).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 i$1={};if(t.headline&&(i$1.headline=t.headline),t.bio!==void 0&&(i$1.bio=t.bio),t.expertise&&(i$1.expertise=p(t.expertise)),t.hourlyRate!==void 0&&(i$1.hourlyRate=t.hourlyRate),t.currency&&(i$1.currency=t.currency),t.accepting!==void 0&&(i$1.isAcceptingMentees=t.accepting),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(v,{id:e,input:i$1});i("Mentor updated"),h(t,I.tecUpdateMentor);}catch(i){g(i);}}),n.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 i$1=await b$1(N,{id:e});i(`Mentor approved: ${i$1.tecApproveMentor.status}`),h(t,i$1.tecApproveMentor);}catch(i){g(i);}});}function lt(d){let n=d.command("sessions").description("Technospam mentorship sessions");n.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 b$1(x,{mentorId:e.mentor,menteeId:e.mentee,status:e.status?e.status.toUpperCase():void 0});h(e,t.tecListSessions,{headers:["ID","Mentor","Mentee","Topic","Status","Scheduled"],rows:t.tecListSessions.map(i=>[p$1(i.id,12),p$1(i.mentorId,12),p$1(i.menteeId,12),p$1(i.topic,24),i.status,o$1(i.scheduledAt)])});}catch(t){g(t);}}),n.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)",a).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 i$1=await b$1(_,{input:t});i(`Session booked: ${i$1.tecBookSession.topic}`),h(e,i$1.tecBookSession);}catch(t){g(t);}}),n.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 i$1=await b$1(H,{id:e,meetingUrl:t.meetingUrl});i("Session confirmed"),h(t,i$1.tecConfirmSession);}catch(i){g(i);}}),n.command("cancel").description("Cancel a session").argument("<id>","Session ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(B,{id:e});i("Session cancelled"),h(t,i$1.tecCancelSession);}catch(i){g(i);}}),n.command("complete").description("Complete a session with optional rating and feedback").argument("<id>","Session ID").option("--rating <n>","Rating (1-5)",a).option("--feedback <s>","Feedback").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(q,{id:e,rating:t.rating,feedback:t.feedback});i("Session completed"),h(t,i$1.tecCompleteSession);}catch(i){g(i);}});}function ft(d){let n=d.command("hackathons").description("Technospam hackathons");n.command("list").description("List hackathons").option("--status <s>","DRAFT|REGISTRATION_OPEN|IN_PROGRESS|JUDGING|COMPLETED|CANCELLED").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(F,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});h(e,t.tecListHackathons.items,{headers:["ID","Title","Status","Start","Prize"],rows:t.tecListHackathons.items.map(i=>[p$1(i.id,12),i.title,i.status,o$1(i.startAt),String(i.prizePool??0)])});}catch(t){g(t);}}),n.command("get").description("Get a hackathon by id").argument("<id>","Hackathon ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i=await b$1(z,{id:e});if(!i.tecHackathon)throw new o(`Hackathon ${e} not found`);h(t,i.tecHackathon);}catch(i){g(i);}}),n.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",a).option("--prize-pool <n>","Prize pool",a).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=p(e.tags));let i$1=await b$1(G,{input:t});i(`Hackathon created: ${i$1.tecCreateHackathon.title}`),h(e,i$1.tecCreateHackathon);}catch(t){g(t);}}),n.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",a).option("--prize-pool <n>","Prize pool",a).option("--currency <c>","Currency code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1={};if(t.title&&(i$1.title=t.title),t.theme!==void 0&&(i$1.theme=t.theme),t.description!==void 0&&(i$1.description=t.description),t.startAt&&(i$1.startAt=t.startAt),t.endAt&&(i$1.endAt=t.endAt),t.submissionDeadline&&(i$1.submissionDeadline=t.submissionDeadline),t.maxTeamSize!==void 0&&(i$1.maxTeamSize=t.maxTeamSize),t.prizePool!==void 0&&(i$1.prizePool=t.prizePool),t.currency&&(i$1.currency=t.currency),t.tags&&(i$1.tags=p(t.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(j,{id:e,input:i$1});i("Hackathon updated"),h(t,I.tecUpdateHackathon);}catch(i){g(i);}}),n.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 i$1=await b$1(V,{id:e});i(`Registration open: ${i$1.tecOpenRegistration.status}`),h(t,i$1.tecOpenRegistration);}catch(i){g(i);}});}function gt(d){let n=d.command("teams").description("Technospam hackathon teams");n.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 b$1(W,{hackathonId:e.hackathon});h(e,t.tecListTeams,{headers:["ID","Name","Captain","Status","Score"],rows:t.tecListTeams.map(i=>[p$1(i.id,12),i.name,p$1(i.captainId,12),i.status,String(i.score??0)])});}catch(t){g(t);}}),n.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=p(e.members));let i$1=await b$1(K,{input:t});i(`Team registered: ${i$1.tecRegisterTeam.name}`),h(e,i$1.tecRegisterTeam);}catch(t){g(t);}}),n.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 i$1=await b$1(J,{input:t});i(`Project submitted: ${i$1.tecSubmitProject.status}`),h(e,i$1.tecSubmitProject);}catch(t){g(t);}}),n.command("score").description("Record a judge score for a team and optionally mark it WINNER").argument("<id>","Team ID").requiredOption("--score <n>","Score",a).option("--winner","Mark the team as winner").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(Y,{id:e,score:t.score,winner:t.winner??void 0});i(`Team scored: ${i$1.tecScoreTeam.score}`),h(t,i$1.tecScoreTeam);}catch(i){g(i);}});}function It(d){let n=d.command("problems").description("Technospam practice problems");n.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",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(Q,{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}});h(e,t.tecListProblems.items,{headers:["ID","Title","Difficulty","Status","Points"],rows:t.tecListProblems.items.map(i=>[p$1(i.id,12),i.title,i.difficulty,i.status,String(i.points??0)])});}catch(t){g(t);}}),n.command("get").description("Get a problem by id").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i=await b$1(X,{id:e});if(!i.tecProblem)throw new o(`Problem ${e} not found`);h(t,i.tecProblem);}catch(i){g(i);}}),n.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",a).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=p(e.languages)),e.starterCode&&(t.starterCode=e.starterCode),e.tags&&(t.tags=p(e.tags));let i$1=await b$1(Z,{input:t});i(`Problem created: ${i$1.tecCreateProblem.title}`),h(e,i$1.tecCreateProblem);}catch(t){g(t);}}),n.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",a).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 i$1={};if(t.title&&(i$1.title=t.title),t.topic!==void 0&&(i$1.topic=t.topic),t.statement!==void 0&&(i$1.statement=t.statement),t.difficulty&&(i$1.difficulty=t.difficulty.toUpperCase()),t.points!==void 0&&(i$1.points=t.points),t.languages&&(i$1.languages=p(t.languages)),t.starterCode!==void 0&&(i$1.starterCode=t.starterCode),t.tags&&(i$1.tags=p(t.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(tt,{id:e,input:i$1});i("Problem updated"),h(t,I.tecUpdateProblem);}catch(i){g(i);}}),n.command("publish").description("Publish a problem (DRAFT -> PUBLISHED)").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(et,{id:e});i(`Problem published: ${i$1.tecPublishProblem.title}`),h(t,i$1.tecPublishProblem);}catch(i){g(i);}});}function Ct(d){let n=d.command("submissions").description("Technospam problem submissions");n.command("list").description("List submissions").option("--problem <id>","Filter by problem ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(it,{problemId:e.problem,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});h(e,t.tecListSubmissions.items,{headers:["ID","Problem","Learner","Language","Verdict","Points"],rows:t.tecListSubmissions.items.map(i=>[p$1(i.id,12),p$1(i.problemId,12),p$1(i.learnerId,12),i.language,i.verdict,String(i.pointsAwarded??0)])});}catch(t){g(t);}}),n.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},i$1=await b$1(nt,{input:t});i(`Solution submitted: ${i$1.tecSubmitSolution.verdict}`),h(e,i$1.tecSubmitSolution);}catch(t){g(t);}}),n.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",a).option("-f, --format <format>","Output format").action(async(e,t)=>{try{let i$1=await b$1(ot,{id:e,verdict:t.verdict.toUpperCase(),runtimeMs:t.runtimeMs});i(`Submission graded: ${i$1.tecGradeSubmission.verdict}`),h(t,i$1.tecGradeSubmission);}catch(i){g(i);}});}function ht(d){let n=d.command("certificates").description("Technospam completion certificates");n.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 b$1(rt,{courseId:e.course,learnerId:e.learner});h(e,t.tecListCertificates,{headers:["ID","Serial","Course","Learner","Score","Status"],rows:t.tecListCertificates.map(i=>[p$1(i.id,12),i.serial,p$1(i.courseId,12),p$1(i.learnerId,12),String(i.score),i.status])});}catch(t){g(t);}}),n.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",a).option("-f, --format <format>","Output format").action(async e=>{try{let t=await b$1(st,{courseId:e.course,learnerId:e.learner,score:e.score});i(`Certificate issued: ${t.tecIssueCertificate.serial}`),h(e,t.tecIssueCertificate);}catch(t){g(t);}}),n.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 i$1=await b$1(at,{id:e,reason:t.reason});i(`Certificate revoked: ${i$1.tecRevokeCertificate.status}`),h(t,i$1.tecRevokeCertificate);}catch(i){g(i);}});}function St(d$1){d$1.command("health").description("Technospam service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let e=await d(ct);i(e.tecHealth),h(n,{health:e.tecHealth});}catch(e){g(e);}});}var bt={id:"technospam",version:"1.0.0",displayName:"Technospam",dependsOn:["auth","workspaces"],register(d,n){a$1(n);let e=d.command("technospam").description("Technospam developer-education platform");mt(e),dt(e),ut(e),pt(e),lt(e),ft(e),gt(e),It(e),Ct(e),ht(e),St(e);}},Ce=bt;export{Ce as default};
@@ -0,0 +1,228 @@
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var u=class extends Error{exitCode;hint;constructor(i,t){super(i),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},I=class extends u{constructor(i,t){super(i,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(i,t){super(i),this.name="CliInternalError",this.cause=t;}};var h=null;function k(o){h=o;}function C(){if(!h)throw new f("vibecontrols module helpers used before setHelpersContext was called");return h}function At(){let o=C();if(!o.auth.isAuthenticated())throw new I(`Authentication required. Run \`${o.productName} auth login\`.`)}async function a(o,i){return At(),C().gql.workspace.request(o,i)}async function w(o,i){return C().gql.workspaceAuthOnly.request(o,i)}function r(o){let i=o instanceof Error?o.message:String(o);throw new u(i)}function s(o,i,t){C().output.formatAndOutput(o,i,t);}function c(o){C().output.printSuccess(o);}function T(o){return C().output.formatDate(o)}function d(o,i){return C().output.truncate(o,i)}var E=`
2
+ query TcpGetStory($id: ID!) {
3
+ tcpStory(id: $id) {
4
+ id authorId editorId title slug summary body format status topicId
5
+ languages tags readingMins publishedAt createdAt updatedAt workspaceId
6
+ cover { id }
7
+ }
8
+ }
9
+ `,O=`
10
+ query TcpListStories($pagination: PaginationInput, $status: TcpStoryStatus, $topicId: ID) {
11
+ tcpListStories(pagination: $pagination, status: $status, topicId: $topicId) {
12
+ items {
13
+ id title slug status format topicId readingMins publishedAt createdAt
14
+ }
15
+ pageInfo { cursor hasMore }
16
+ }
17
+ }
18
+ `,x=`
19
+ mutation TcpCreateStory($input: TcpCreateStoryInput!) {
20
+ tcpCreateStory(input: $input) {
21
+ id authorId editorId title slug summary body format status topicId
22
+ languages tags readingMins createdAt
23
+ }
24
+ }
25
+ `,S=`
26
+ mutation TcpUpdateStory($id: ID!, $input: TcpUpdateStoryInput!) {
27
+ tcpUpdateStory(id: $id, input: $input) {
28
+ id title slug summary body format status topicId languages tags
29
+ readingMins updatedAt
30
+ }
31
+ }
32
+ `,R=`
33
+ mutation TcpTransitionStory($id: ID!, $status: TcpStoryStatus!) {
34
+ tcpTransitionStory(id: $id, status: $status) {
35
+ id title slug status publishedAt updatedAt
36
+ }
37
+ }
38
+ `,b=`
39
+ query TcpGetTopic($id: ID!) {
40
+ tcpTopic(id: $id) {
41
+ id name slug description category tradition isFeatured createdAt
42
+ updatedAt workspaceId
43
+ }
44
+ }
45
+ `,D=`
46
+ query TcpListTopics($category: TcpTopicCategory, $pagination: PaginationInput) {
47
+ tcpListTopics(category: $category, pagination: $pagination) {
48
+ items {
49
+ id name slug category tradition isFeatured createdAt
50
+ }
51
+ pageInfo { cursor hasMore }
52
+ }
53
+ }
54
+ `,L=`
55
+ mutation TcpCreateTopic($input: TcpCreateTopicInput!) {
56
+ tcpCreateTopic(input: $input) {
57
+ id name slug description category tradition isFeatured createdAt
58
+ }
59
+ }
60
+ `,P=`
61
+ mutation TcpUpdateTopic($id: ID!, $input: TcpUpdateTopicInput!) {
62
+ tcpUpdateTopic(id: $id, input: $input) {
63
+ id name slug description category tradition isFeatured updatedAt
64
+ }
65
+ }
66
+ `,_=`
67
+ mutation TcpArchiveTopic($id: ID!) {
68
+ tcpArchiveTopic(id: $id)
69
+ }
70
+ `,$=`
71
+ query TcpListCitations($storyId: ID!) {
72
+ tcpListCitations(storyId: $storyId) {
73
+ id storyId title author publisher publishedOn sourceType url excerpt
74
+ provenance verification createdAt updatedAt workspaceId
75
+ sourceFile { id }
76
+ }
77
+ }
78
+ `,N=`
79
+ mutation TcpAddCitation($input: TcpCreateCitationInput!) {
80
+ tcpAddCitation(input: $input) {
81
+ id storyId title author publisher publishedOn sourceType url excerpt
82
+ provenance verification createdAt
83
+ }
84
+ }
85
+ `,U=`
86
+ mutation TcpVerifyCitation($id: ID!, $verification: TcpVerificationStatus!) {
87
+ tcpVerifyCitation(id: $id, verification: $verification) {
88
+ id storyId title verification updatedAt
89
+ }
90
+ }
91
+ `,M=`
92
+ query TcpGetArchiveItem($id: ID!) {
93
+ tcpArchiveItem(id: $id) {
94
+ id title description kind accessLevel collectionId origin provenance
95
+ languages tags datedAt createdAt updatedAt workspaceId
96
+ file { id }
97
+ }
98
+ }
99
+ `,q=`
100
+ query TcpListArchiveItems(
101
+ $accessLevel: TcpAccessLevel
102
+ $collectionId: ID
103
+ $kind: TcpArchiveItemKind
104
+ $pagination: PaginationInput
105
+ ) {
106
+ tcpListArchiveItems(
107
+ accessLevel: $accessLevel
108
+ collectionId: $collectionId
109
+ kind: $kind
110
+ pagination: $pagination
111
+ ) {
112
+ items {
113
+ id title kind accessLevel collectionId origin datedAt createdAt
114
+ }
115
+ pageInfo { cursor hasMore }
116
+ }
117
+ }
118
+ `,F=`
119
+ mutation TcpCreateArchiveItem($input: TcpCreateArchiveItemInput!) {
120
+ tcpCreateArchiveItem(input: $input) {
121
+ id title description kind accessLevel collectionId origin provenance
122
+ languages tags datedAt createdAt
123
+ }
124
+ }
125
+ `,H=`
126
+ mutation TcpUpdateArchiveItem($id: ID!, $input: TcpUpdateArchiveItemInput!) {
127
+ tcpUpdateArchiveItem(id: $id, input: $input) {
128
+ id title description kind accessLevel collectionId origin provenance
129
+ languages tags datedAt updatedAt
130
+ }
131
+ }
132
+ `,G=`
133
+ mutation TcpArchiveArchiveItem($id: ID!) {
134
+ tcpArchiveArchiveItem(id: $id)
135
+ }
136
+ `,V=`
137
+ query TcpGetCollection($id: ID!) {
138
+ tcpCollection(id: $id) {
139
+ id name slug description tradition itemCount createdAt updatedAt
140
+ workspaceId
141
+ cover { id }
142
+ }
143
+ }
144
+ `,W=`
145
+ query TcpListCollections($pagination: PaginationInput) {
146
+ tcpListCollections(pagination: $pagination) {
147
+ id name slug description tradition itemCount createdAt updatedAt
148
+ workspaceId
149
+ }
150
+ }
151
+ `,j=`
152
+ mutation TcpCreateCollection($input: TcpCreateCollectionInput!) {
153
+ tcpCreateCollection(input: $input) {
154
+ id name slug description tradition itemCount createdAt
155
+ }
156
+ }
157
+ `,Y=`
158
+ query TcpListOralHistories($collectionId: ID) {
159
+ tcpListOralHistories(collectionId: $collectionId) {
160
+ id title narratorName language summary transcript collectionId
161
+ accessLevel durationSecs recordedAt createdAt updatedAt workspaceId
162
+ recording { id }
163
+ }
164
+ }
165
+ `,B=`
166
+ mutation TcpRecordOralHistory($input: TcpCreateOralHistoryInput!) {
167
+ tcpRecordOralHistory(input: $input) {
168
+ id title narratorName language summary transcript collectionId
169
+ accessLevel durationSecs recordedAt createdAt
170
+ }
171
+ }
172
+ `,z=`
173
+ query TcpGetDiscussion($id: ID!) {
174
+ tcpDiscussion(id: $id) {
175
+ id title prompt storyId isInterfaith isLocked status replyCount tags
176
+ openedById createdAt updatedAt workspaceId
177
+ }
178
+ }
179
+ `,K=`
180
+ query TcpListDiscussions(
181
+ $pagination: PaginationInput
182
+ $status: TcpModerationStatus
183
+ $storyId: ID
184
+ ) {
185
+ tcpListDiscussions(pagination: $pagination, status: $status, storyId: $storyId) {
186
+ items {
187
+ id title storyId isInterfaith isLocked status replyCount createdAt
188
+ }
189
+ pageInfo { cursor hasMore }
190
+ }
191
+ }
192
+ `,J=`
193
+ mutation TcpOpenDiscussion($input: TcpCreateDiscussionInput!) {
194
+ tcpOpenDiscussion(input: $input) {
195
+ id title prompt storyId isInterfaith isLocked status replyCount tags
196
+ createdAt
197
+ }
198
+ }
199
+ `,Q=`
200
+ mutation TcpLockDiscussion($id: ID!) {
201
+ tcpLockDiscussion(id: $id) {
202
+ id title isLocked status updatedAt
203
+ }
204
+ }
205
+ `,X=`
206
+ query TcpListReplies($discussionId: ID!, $status: TcpModerationStatus) {
207
+ tcpListReplies(discussionId: $discussionId, status: $status) {
208
+ id discussionId authorId body perspective status createdAt updatedAt
209
+ workspaceId
210
+ }
211
+ }
212
+ `,Z=`
213
+ mutation TcpPostReply($input: TcpCreateReplyInput!) {
214
+ tcpPostReply(input: $input) {
215
+ id discussionId authorId body perspective status createdAt
216
+ }
217
+ }
218
+ `,tt=`
219
+ mutation TcpModerateReply($id: ID!, $status: TcpModerationStatus!) {
220
+ tcpModerateReply(id: $id, status: $status) {
221
+ id discussionId body perspective status updatedAt
222
+ }
223
+ }
224
+ `,et=`
225
+ query TcpHealth {
226
+ tcpHealth
227
+ }
228
+ `;function l(o){let i=Number.parseInt(o,10);if(Number.isNaN(i))throw new u(`Expected an integer but got "${o}"`);return i}function g(o){return o.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function nt(o){let i=o.command("stories").description("TheCulturePost editorial stories");i.command("list").description("List stories").option("--status <s>","Filter by story status (IDEA|DRAFT|IN_REVIEW|PUBLISHED|ARCHIVED)").option("--topic <id>","Filter by topic ID").option("--limit <n>","Page size",l,50).option("--offset <n>","Offset",l,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(O,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,topicId:t.topic});s(t,e.tcpListStories.items,{headers:["ID","Title","Status","Format","Reading","Published"],rows:e.tcpListStories.items.map(n=>[d(n.id,12),n.title,n.status,n.format,n.readingMins!=null?`${n.readingMins}m`:"-",T(n.publishedAt)])});}catch(e){r(e);}}),i.command("get").description("Get a story by id").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(E,{id:t});if(!n.tcpStory)throw new u(`Story ${t} not found`);s(e,n.tcpStory);}catch(n){r(n);}}),i.command("create").description("Create a story").requiredOption("--title <t>","Title").requiredOption("--slug <slug>","URL slug").option("--summary <s>","Summary").option("--body <s>","Body").option("--topic <id>","Topic ID").option("--author <id>","Author user ID").option("--editor <id>","Editor user ID").option("--format-kind <k>","ARTICLE|ESSAY|EXPLAINER|ORAL_HISTORY|PHOTO_STORY|TIMELINE").option("--cover-file <id>","Cover file ID").option("--reading-mins <n>","Reading minutes",l).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,slug:t.slug};t.summary&&(e.summary=t.summary),t.body&&(e.body=t.body),t.topic&&(e.topicId=t.topic),t.author&&(e.authorId=t.author),t.editor&&(e.editorId=t.editor),t.formatKind&&(e.format=t.formatKind.toUpperCase()),t.coverFile&&(e.coverFileId=t.coverFile),t.readingMins!==void 0&&(e.readingMins=t.readingMins),t.languages&&(e.languages=g(t.languages)),t.tags&&(e.tags=g(t.tags));let n=await a(x,{input:e});c(`Story created: ${n.tcpCreateStory.title}`),s(t,n.tcpCreateStory);}catch(e){r(e);}}),i.command("update").description("Update a story").argument("<id>","Story ID").option("--title <t>","Title").option("--summary <s>","Summary").option("--body <s>","Body").option("--topic <id>","Topic ID").option("--author <id>","Author user ID").option("--editor <id>","Editor user ID").option("--format-kind <k>","ARTICLE|ESSAY|EXPLAINER|ORAL_HISTORY|PHOTO_STORY|TIMELINE").option("--cover-file <id>","Cover file ID").option("--reading-mins <n>","Reading minutes",l).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.title&&(n.title=e.title),e.summary!==void 0&&(n.summary=e.summary),e.body!==void 0&&(n.body=e.body),e.topic&&(n.topicId=e.topic),e.author&&(n.authorId=e.author),e.editor&&(n.editorId=e.editor),e.formatKind&&(n.format=e.formatKind.toUpperCase()),e.coverFile&&(n.coverFileId=e.coverFile),e.readingMins!==void 0&&(n.readingMins=e.readingMins),e.languages&&(n.languages=g(e.languages)),e.tags&&(n.tags=g(e.tags)),!Object.keys(n).length)throw new u("No updates specified");let y=await a(S,{id:t,input:n});c("Story updated"),s(e,y.tcpUpdateStory);}catch(n){r(n);}}),i.command("transition").description("Advance a story through its editorial lifecycle").argument("<id>","Story ID").requiredOption("--status <s>","IDEA|DRAFT|IN_REVIEW|PUBLISHED|ARCHIVED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(R,{id:t,status:e.status.toUpperCase()});c(`Story transitioned to ${n.tcpTransitionStory.status}`),s(e,n.tcpTransitionStory);}catch(n){r(n);}});}function it(o){let i=o.command("topics").description("TheCulturePost topics");i.command("list").description("List topics").option("--category <c>","Filter by topic category").option("--limit <n>","Page size",l,50).option("--offset <n>","Offset",l,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(D,{category:t.category?t.category.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.tcpListTopics.items,{headers:["ID","Name","Category","Tradition","Featured"],rows:e.tcpListTopics.items.map(n=>[d(n.id,12),n.name,n.category,n.tradition??"-",n.isFeatured?"yes":"no"])});}catch(e){r(e);}}),i.command("get").description("Get a topic by id").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(b,{id:t});if(!n.tcpTopic)throw new u(`Topic ${t} not found`);s(e,n.tcpTopic);}catch(n){r(n);}}),i.command("create").description("Create a topic").requiredOption("--name <name>","Name").requiredOption("--slug <slug>","URL slug").option("--category <c>","Topic category").option("--description <s>","Description").option("--tradition <s>","Tradition").option("--featured","Mark as featured").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,slug:t.slug};t.category&&(e.category=t.category.toUpperCase()),t.description&&(e.description=t.description),t.tradition&&(e.tradition=t.tradition),t.featured&&(e.isFeatured=!0);let n=await a(L,{input:e});c(`Topic created: ${n.tcpCreateTopic.name}`),s(t,n.tcpCreateTopic);}catch(e){r(e);}}),i.command("update").description("Update a topic").argument("<id>","Topic ID").option("--name <name>","Name").option("--category <c>","Topic category").option("--description <s>","Description").option("--tradition <s>","Tradition").option("--featured <bool>","true|false",t=>t==="true").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.category&&(n.category=e.category.toUpperCase()),e.description!==void 0&&(n.description=e.description),e.tradition!==void 0&&(n.tradition=e.tradition),e.featured!==void 0&&(n.isFeatured=e.featured),!Object.keys(n).length)throw new u("No updates specified");let y=await a(P,{id:t,input:n});c("Topic updated"),s(e,y.tcpUpdateTopic);}catch(n){r(n);}}),i.command("archive").description("Archive (delete) a topic").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(_,{id:t});c(`Topic ${t} archived`),s(e,{archived:n.tcpArchiveTopic});}catch(n){r(n);}});}function ot(o){let i=o.command("citations").description("TheCulturePost story citations");i.command("list").description("List citations for a story").requiredOption("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a($,{storyId:t.story});s(t,e.tcpListCitations,{headers:["ID","Title","Author","Source","Verification"],rows:e.tcpListCitations.map(n=>[d(n.id,12),d(n.title,30),n.author??"-",n.sourceType,n.verification])});}catch(e){r(e);}}),i.command("add").description("Add a citation to a story").requiredOption("--story <id>","Story ID").requiredOption("--title <t>","Citation title").option("--author <s>","Author").option("--publisher <s>","Publisher").option("--published-on <iso>","Published-on date (ISO)").option("--source-type <t>","ACADEMIC|ARCHIVAL_RECORD|ARTIFACT|BOOK|INTERVIEW|PERIODICAL|PRIMARY_DOCUMENT|WEB").option("--url <url>","Source URL").option("--excerpt <s>","Excerpt").option("--provenance <s>","Provenance").option("--source-file <id>","Source file ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={storyId:t.story,title:t.title};t.author&&(e.author=t.author),t.publisher&&(e.publisher=t.publisher),t.publishedOn&&(e.publishedOn=t.publishedOn),t.sourceType&&(e.sourceType=t.sourceType.toUpperCase()),t.url&&(e.url=t.url),t.excerpt&&(e.excerpt=t.excerpt),t.provenance&&(e.provenance=t.provenance),t.sourceFile&&(e.sourceFileId=t.sourceFile);let n=await a(N,{input:e});c(`Citation added: ${n.tcpAddCitation.title}`),s(t,n.tcpAddCitation);}catch(e){r(e);}}),i.command("verify").description("Set a citation verification status").argument("<id>","Citation ID").requiredOption("--verification <v>","UNVERIFIED|CORROBORATED|DISPUTED|RETRACTED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(U,{id:t,verification:e.verification.toUpperCase()});c(`Citation verification set to ${n.tcpVerifyCitation.verification}`),s(e,n.tcpVerifyCitation);}catch(n){r(n);}});}function rt(o){let i=o.command("archive").description("TheCulturePost archive items");i.command("list").description("List archive items").option("--access-level <a>","PUBLIC|COMMUNITY|RESTRICTED|EMBARGOED").option("--collection <id>","Filter by collection ID").option("--kind <k>","AUDIO|DOCUMENT|MANUSCRIPT|MAP|OBJECT|PHOTOGRAPH|VIDEO").option("--limit <n>","Page size",l,50).option("--offset <n>","Offset",l,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(q,{accessLevel:t.accessLevel?t.accessLevel.toUpperCase():void 0,collectionId:t.collection,kind:t.kind?t.kind.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.tcpListArchiveItems.items,{headers:["ID","Title","Kind","Access","Origin","Dated"],rows:e.tcpListArchiveItems.items.map(n=>[d(n.id,12),n.title,n.kind,n.accessLevel,n.origin??"-",T(n.datedAt)])});}catch(e){r(e);}}),i.command("get").description("Get an archive item by id").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(M,{id:t});if(!n.tcpArchiveItem)throw new u(`Archive item ${t} not found`);s(e,n.tcpArchiveItem);}catch(n){r(n);}}),i.command("create").description("Create an archive item").requiredOption("--title <t>","Title").option("--description <s>","Description").option("--kind <k>","AUDIO|DOCUMENT|MANUSCRIPT|MAP|OBJECT|PHOTOGRAPH|VIDEO").option("--access-level <a>","PUBLIC|COMMUNITY|RESTRICTED|EMBARGOED").option("--collection <id>","Collection ID").option("--file <id>","File ID").option("--origin <s>","Origin").option("--provenance <s>","Provenance").option("--dated-at <iso>","Dated-at (ISO)").option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.kind&&(e.kind=t.kind.toUpperCase()),t.accessLevel&&(e.accessLevel=t.accessLevel.toUpperCase()),t.collection&&(e.collectionId=t.collection),t.file&&(e.fileId=t.file),t.origin&&(e.origin=t.origin),t.provenance&&(e.provenance=t.provenance),t.datedAt&&(e.datedAt=t.datedAt),t.languages&&(e.languages=g(t.languages)),t.tags&&(e.tags=g(t.tags));let n=await a(F,{input:e});c(`Archive item created: ${n.tcpCreateArchiveItem.title}`),s(t,n.tcpCreateArchiveItem);}catch(e){r(e);}}),i.command("update").description("Update an archive item").argument("<id>","Archive item ID").option("--title <t>","Title").option("--description <s>","Description").option("--kind <k>","AUDIO|DOCUMENT|MANUSCRIPT|MAP|OBJECT|PHOTOGRAPH|VIDEO").option("--access-level <a>","PUBLIC|COMMUNITY|RESTRICTED|EMBARGOED").option("--collection <id>","Collection ID").option("--file <id>","File ID").option("--origin <s>","Origin").option("--provenance <s>","Provenance").option("--dated-at <iso>","Dated-at (ISO)").option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.title&&(n.title=e.title),e.description!==void 0&&(n.description=e.description),e.kind&&(n.kind=e.kind.toUpperCase()),e.accessLevel&&(n.accessLevel=e.accessLevel.toUpperCase()),e.collection&&(n.collectionId=e.collection),e.file&&(n.fileId=e.file),e.origin!==void 0&&(n.origin=e.origin),e.provenance!==void 0&&(n.provenance=e.provenance),e.datedAt&&(n.datedAt=e.datedAt),e.languages&&(n.languages=g(e.languages)),e.tags&&(n.tags=g(e.tags)),!Object.keys(n).length)throw new u("No updates specified");let y=await a(H,{id:t,input:n});c("Archive item updated"),s(e,y.tcpUpdateArchiveItem);}catch(n){r(n);}}),i.command("archive-item").description("Archive (delete) an archive item").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(G,{id:t});c(`Archive item ${t} archived`),s(e,{archived:n.tcpArchiveArchiveItem});}catch(n){r(n);}});}function st(o){let i=o.command("collections").description("TheCulturePost archive collections");i.command("list").description("List collections").option("--limit <n>","Page size",l,50).option("--offset <n>","Offset",l,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(W,{pagination:{limit:t.limit,offset:t.offset}});s(t,e.tcpListCollections,{headers:["ID","Name","Slug","Tradition","Items"],rows:e.tcpListCollections.map(n=>[d(n.id,12),n.name,n.slug,n.tradition??"-",String(n.itemCount)])});}catch(e){r(e);}}),i.command("get").description("Get a collection by id").argument("<id>","Collection ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(V,{id:t});if(!n.tcpCollection)throw new u(`Collection ${t} not found`);s(e,n.tcpCollection);}catch(n){r(n);}}),i.command("create").description("Create a collection").requiredOption("--name <name>","Name").requiredOption("--slug <slug>","URL slug").option("--description <s>","Description").option("--tradition <s>","Tradition").option("--cover-file <id>","Cover file ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,slug:t.slug};t.description&&(e.description=t.description),t.tradition&&(e.tradition=t.tradition),t.coverFile&&(e.coverFileId=t.coverFile);let n=await a(j,{input:e});c(`Collection created: ${n.tcpCreateCollection.name}`),s(t,n.tcpCreateCollection);}catch(e){r(e);}});}function at(o){let i=o.command("oral-histories").description("TheCulturePost oral histories");i.command("list").description("List oral histories").option("--collection <id>","Filter by collection ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Y,{collectionId:t.collection});s(t,e.tcpListOralHistories,{headers:["ID","Title","Narrator","Language","Access","Duration"],rows:e.tcpListOralHistories.map(n=>[d(n.id,12),n.title,n.narratorName??"-",n.language??"-",n.accessLevel,`${n.durationSecs}s`])});}catch(e){r(e);}}),i.command("record").description("Record an oral history").requiredOption("--title <t>","Title").option("--narrator <s>","Narrator name").option("--language <s>","Language").option("--summary <s>","Summary").option("--transcript <s>","Transcript").option("--collection <id>","Collection ID").option("--access-level <a>","PUBLIC|COMMUNITY|RESTRICTED|EMBARGOED").option("--duration-secs <n>","Duration (seconds)",l).option("--recorded-at <iso>","Recorded-at (ISO)").option("--recording-file <id>","Recording file ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.narrator&&(e.narratorName=t.narrator),t.language&&(e.language=t.language),t.summary&&(e.summary=t.summary),t.transcript&&(e.transcript=t.transcript),t.collection&&(e.collectionId=t.collection),t.accessLevel&&(e.accessLevel=t.accessLevel.toUpperCase()),t.durationSecs!==void 0&&(e.durationSecs=t.durationSecs),t.recordedAt&&(e.recordedAt=t.recordedAt),t.recordingFile&&(e.recordingFileId=t.recordingFile);let n=await a(B,{input:e});c(`Oral history recorded: ${n.tcpRecordOralHistory.title}`),s(t,n.tcpRecordOralHistory);}catch(e){r(e);}});}function ct(o){let i=o.command("discussions").description("TheCulturePost respectful discussions");i.command("list").description("List discussions").option("--status <s>","PENDING|APPROVED|FLAGGED|REMOVED").option("--story <id>","Filter by story ID").option("--limit <n>","Page size",l,50).option("--offset <n>","Offset",l,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(K,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,storyId:t.story});s(t,e.tcpListDiscussions.items,{headers:["ID","Title","Status","Locked","Interfaith","Replies"],rows:e.tcpListDiscussions.items.map(n=>[d(n.id,12),n.title,n.status,n.isLocked?"yes":"no",n.isInterfaith?"yes":"no",String(n.replyCount??0)])});}catch(e){r(e);}}),i.command("get").description("Get a discussion by id").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(z,{id:t});if(!n.tcpDiscussion)throw new u(`Discussion ${t} not found`);s(e,n.tcpDiscussion);}catch(n){r(n);}}),i.command("open").description("Open a discussion").requiredOption("--title <t>","Title").option("--prompt <s>","Discussion prompt").option("--story <id>","Related story ID").option("--interfaith","Mark as interfaith").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.prompt&&(e.prompt=t.prompt),t.story&&(e.storyId=t.story),t.interfaith&&(e.isInterfaith=!0),t.tags&&(e.tags=g(t.tags));let n=await a(J,{input:e});c(`Discussion opened: ${n.tcpOpenDiscussion.title}`),s(t,n.tcpOpenDiscussion);}catch(e){r(e);}}),i.command("lock").description("Lock a discussion").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(Q,{id:t});c(`Discussion ${t} locked`),s(e,n.tcpLockDiscussion);}catch(n){r(n);}});}function pt(o){let i=o.command("replies").description("TheCulturePost discussion replies");i.command("list").description("List replies for a discussion").requiredOption("--discussion <id>","Discussion ID").option("--status <s>","PENDING|APPROVED|FLAGGED|REMOVED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(X,{discussionId:t.discussion,status:t.status?t.status.toUpperCase():void 0});s(t,e.tcpListReplies,{headers:["ID","Author","Perspective","Status","Body"],rows:e.tcpListReplies.map(n=>[d(n.id,12),d(n.authorId??"-",12),n.perspective??"-",n.status,d(n.body,40)])});}catch(e){r(e);}}),i.command("post").description("Post a reply to a discussion").requiredOption("--discussion <id>","Discussion ID").requiredOption("--body <s>","Reply body").option("--perspective <s>","Perspective").option("-f, --format <format>","Output format").action(async t=>{try{let e={discussionId:t.discussion,body:t.body};t.perspective&&(e.perspective=t.perspective);let n=await a(Z,{input:e});c("Reply posted"),s(t,n.tcpPostReply);}catch(e){r(e);}}),i.command("moderate").description("Moderate a reply (approve / flag / remove)").argument("<id>","Reply ID").requiredOption("--status <s>","PENDING|APPROVED|FLAGGED|REMOVED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(tt,{id:t,status:e.status.toUpperCase()});c(`Reply moderated to ${n.tcpModerateReply.status}`),s(e,n.tcpModerateReply);}catch(n){r(n);}});}function ut(o){o.command("health").description("TheCulturePost service health check (public)").option("-f, --format <format>","Output format").action(async i=>{try{let t=await w(et);c(t.tcpHealth),s(i,{health:t.tcpHealth});}catch(t){r(t);}});}var vt={id:"theculturepost",version:"1.0.0",displayName:"TheCulturePost",dependsOn:["auth","workspaces"],register(o,i){k(i);let t=o.command("theculturepost").description("TheCulturePost culture & heritage publishing");nt(t),it(t),ot(t),rt(t),st(t),at(t),ct(t),pt(t),ut(t);}},Cn=vt;module.exports=Cn;