@burdenoff/cli-sdk 2026.1102.1 → 2026.1102.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-O6UCQ5IT.js +1 -0
- package/dist/{chunk-AYNNSLCL.js → chunk-ZGT7IIOP.js} +409 -418
- package/dist/modules/adaptercloud/index.cjs +9 -6
- package/dist/modules/adaptercloud/index.js +7 -4
- package/dist/modules/artistrybase/index.js +2 -2
- package/dist/modules/assethandler/index.cjs +2 -2
- package/dist/modules/assethandler/index.js +2 -2
- package/dist/modules/atheletebridge/index.cjs +35 -21
- package/dist/modules/atheletebridge/index.js +33 -19
- package/dist/modules/auth/index.cjs +37 -37
- package/dist/modules/auth/index.js +33 -29
- package/dist/modules/billing/index.cjs +1 -1
- package/dist/modules/billing/index.js +2 -2
- package/dist/modules/brainyrich/index.cjs +44 -28
- package/dist/modules/brainyrich/index.js +47 -31
- package/dist/modules/buildmyiq/index.cjs +64 -67
- package/dist/modules/buildmyiq/index.js +60 -63
- package/dist/modules/channels/index.cjs +3 -3
- package/dist/modules/channels/index.js +2 -2
- package/dist/modules/collabkin/index.cjs +4 -4
- package/dist/modules/collabkin/index.js +2 -2
- package/dist/modules/comradecircle/index.cjs +24 -16
- package/dist/modules/comradecircle/index.js +20 -12
- package/dist/modules/conversations/index.cjs +7 -7
- package/dist/modules/conversations/index.js +2 -2
- package/dist/modules/coolandlovely/index.cjs +28 -15
- package/dist/modules/coolandlovely/index.js +30 -17
- package/dist/modules/cosmicintersection/index.cjs +6 -6
- package/dist/modules/cosmicintersection/index.js +2 -2
- package/dist/modules/crewfoundry/index.js +2 -2
- package/dist/modules/devportal/index.cjs +2 -2
- package/dist/modules/devportal/index.js +2 -2
- package/dist/modules/ecoimpacthub/index.cjs +23 -13
- package/dist/modules/ecoimpacthub/index.js +20 -10
- package/dist/modules/eventfullymanaged/index.cjs +74 -74
- package/dist/modules/eventfullymanaged/index.js +78 -78
- package/dist/modules/export/index.cjs +4 -4
- package/dist/modules/export/index.js +2 -2
- package/dist/modules/files/index.cjs +3 -3
- package/dist/modules/files/index.js +4 -4
- package/dist/modules/fluidgrids/index.cjs +16 -16
- package/dist/modules/fluidgrids/index.js +3 -3
- package/dist/modules/ggnomad/index.cjs +4 -4
- package/dist/modules/ggnomad/index.js +2 -2
- package/dist/modules/govcitizenhub/index.cjs +10 -7
- package/dist/modules/govcitizenhub/index.js +8 -5
- package/dist/modules/groups/index.cjs +4 -4
- package/dist/modules/groups/index.js +2 -2
- package/dist/modules/headshotmarketing/index.js +2 -2
- package/dist/modules/hookmovies/index.cjs +6 -6
- package/dist/modules/hookmovies/index.js +2 -2
- package/dist/modules/housingvista/index.cjs +3 -3
- package/dist/modules/housingvista/index.js +2 -2
- package/dist/modules/integrations/index.cjs +5 -5
- package/dist/modules/integrations/index.js +2 -2
- package/dist/modules/intelwatchtower/index.cjs +28 -16
- package/dist/modules/intelwatchtower/index.js +25 -13
- package/dist/modules/kadaikodi/index.cjs +2 -2
- package/dist/modules/kadaikodi/index.js +2 -2
- package/dist/modules/labsofscience/index.cjs +10 -6
- package/dist/modules/labsofscience/index.js +9 -5
- package/dist/modules/manufacturedops/index.cjs +35 -22
- package/dist/modules/manufacturedops/index.js +35 -22
- package/dist/modules/movethewheels/index.js +2 -2
- package/dist/modules/notifications/index.cjs +2 -2
- package/dist/modules/notifications/index.js +2 -2
- package/dist/modules/organizations/index.js +2 -2
- package/dist/modules/planmagnet/index.cjs +21 -21
- package/dist/modules/planmagnet/index.js +32 -32
- package/dist/modules/products/index.cjs +4 -4
- package/dist/modules/products/index.js +2 -2
- package/dist/modules/proserviceworld/index.cjs +18 -13
- package/dist/modules/proserviceworld/index.js +18 -13
- package/dist/modules/rbac/index.js +2 -2
- package/dist/modules/sandbox/index.cjs +17 -17
- package/dist/modules/sandbox/index.js +1 -1
- package/dist/modules/scheduler/index.cjs +2 -2
- package/dist/modules/scheduler/index.js +2 -2
- package/dist/modules/security/index.cjs +3 -3
- package/dist/modules/security/index.js +2 -2
- package/dist/modules/semanticfed/index.cjs +3 -3
- package/dist/modules/semanticfed/index.js +2 -2
- package/dist/modules/store/index.cjs +3 -3
- package/dist/modules/store/index.js +2 -2
- package/dist/modules/subscriberbot/index.cjs +43 -19
- package/dist/modules/subscriberbot/index.js +47 -23
- package/dist/modules/support/index.cjs +2 -2
- package/dist/modules/support/index.js +2 -2
- package/dist/modules/tags/index.js +2 -2
- package/dist/modules/technospam/index.cjs +18 -9
- package/dist/modules/technospam/index.js +18 -9
- package/dist/modules/theculturepost/index.cjs +27 -22
- package/dist/modules/theculturepost/index.js +32 -27
- package/dist/modules/theglobalfuel/index.cjs +65 -60
- package/dist/modules/theglobalfuel/index.js +65 -60
- package/dist/modules/timecampus/index.js +2 -2
- package/dist/modules/tours/index.cjs +2 -2
- package/dist/modules/tours/index.js +2 -2
- package/dist/modules/vibecontrols/index.cjs +563 -567
- package/dist/modules/vibecontrols/index.js +5 -4
- package/dist/modules/workspaces/index.cjs +4 -4
- package/dist/modules/workspaces/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-W4JZR7RJ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var p=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 p{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 vt(){let o=C();if(!o.auth.isAuthenticated())throw new I("Authentication required.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function a(o,i){return vt(),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 p(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 O=`
|
|
2
2
|
query TcpGetStory($id: ID!) {
|
|
3
3
|
tcpStory(id: $id) {
|
|
4
4
|
id authorId editorId title slug summary body format status topicId
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
pageInfo { cursor hasMore }
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
`,
|
|
54
|
+
`,P=`
|
|
55
55
|
mutation TcpCreateTopic($input: TcpCreateTopicInput!) {
|
|
56
56
|
tcpCreateTopic(input: $input) {
|
|
57
57
|
id name slug description category tradition isFeatured createdAt
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
`,
|
|
60
|
+
`,L=`
|
|
61
61
|
mutation TcpUpdateTopic($id: ID!, $input: TcpUpdateTopicInput!) {
|
|
62
62
|
tcpUpdateTopic(id: $id, input: $input) {
|
|
63
63
|
id name slug description category tradition isFeatured updatedAt
|
|
@@ -70,9 +70,12 @@
|
|
|
70
70
|
`,$=`
|
|
71
71
|
query TcpListCitations($storyId: ID!) {
|
|
72
72
|
tcpListCitations(storyId: $storyId) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
items {
|
|
74
|
+
id storyId title author publisher publishedOn sourceType url excerpt provenance
|
|
75
|
+
verification createdAt updatedAt workspaceId
|
|
76
|
+
sourceFile { id }
|
|
77
|
+
}
|
|
78
|
+
pageInfo { cursor hasMore }
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
`,N=`
|
|
@@ -82,13 +85,13 @@
|
|
|
82
85
|
provenance verification createdAt
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
|
-
`,
|
|
88
|
+
`,M=`
|
|
86
89
|
mutation TcpVerifyCitation($id: ID!, $verification: TcpVerificationStatus!) {
|
|
87
90
|
tcpVerifyCitation(id: $id, verification: $verification) {
|
|
88
91
|
id storyId title verification updatedAt
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
|
-
`,
|
|
94
|
+
`,U=`
|
|
92
95
|
query TcpGetArchiveItem($id: ID!) {
|
|
93
96
|
tcpArchiveItem(id: $id) {
|
|
94
97
|
id title description kind accessLevel collectionId origin provenance
|
|
@@ -144,8 +147,8 @@
|
|
|
144
147
|
`,W=`
|
|
145
148
|
query TcpListCollections($pagination: PaginationInput) {
|
|
146
149
|
tcpListCollections(pagination: $pagination) {
|
|
147
|
-
id name slug description tradition itemCount createdAt updatedAt
|
|
148
|
-
|
|
150
|
+
items { id name slug description tradition itemCount createdAt updatedAt workspaceId }
|
|
151
|
+
pageInfo { cursor hasMore }
|
|
149
152
|
}
|
|
150
153
|
}
|
|
151
154
|
`,j=`
|
|
@@ -157,9 +160,12 @@
|
|
|
157
160
|
`,Y=`
|
|
158
161
|
query TcpListOralHistories($collectionId: ID) {
|
|
159
162
|
tcpListOralHistories(collectionId: $collectionId) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
+
items {
|
|
164
|
+
id title narratorName language summary transcript collectionId accessLevel
|
|
165
|
+
durationSecs recordedAt createdAt updatedAt workspaceId
|
|
166
|
+
recording { id }
|
|
167
|
+
}
|
|
168
|
+
pageInfo { cursor hasMore }
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
171
|
`,B=`
|
|
@@ -205,24 +211,23 @@
|
|
|
205
211
|
`,X=`
|
|
206
212
|
query TcpListReplies($discussionId: ID!, $status: TcpModerationStatus) {
|
|
207
213
|
tcpListReplies(discussionId: $discussionId, status: $status) {
|
|
208
|
-
|
|
209
|
-
|
|
214
|
+
items {
|
|
215
|
+
id authorId content { text markdown } tcpDiscussionId tcpPerspective tcpModerationStatus
|
|
216
|
+
createdAt updatedAt workspaceId
|
|
217
|
+
}
|
|
218
|
+
pageInfo { cursor hasMore }
|
|
210
219
|
}
|
|
211
220
|
}
|
|
212
221
|
`,Z=`
|
|
213
222
|
mutation TcpPostReply($input: TcpCreateReplyInput!) {
|
|
214
|
-
tcpPostReply(input: $input) {
|
|
215
|
-
id discussionId authorId body perspective status createdAt
|
|
216
|
-
}
|
|
223
|
+
tcpPostReply(input: $input) { id authorId tcpModerationStatus createdAt }
|
|
217
224
|
}
|
|
218
225
|
`,tt=`
|
|
219
226
|
mutation TcpModerateReply($id: ID!, $status: TcpModerationStatus!) {
|
|
220
|
-
tcpModerateReply(id: $id, status: $status) {
|
|
221
|
-
id discussionId body perspective status updatedAt
|
|
222
|
-
}
|
|
227
|
+
tcpModerateReply(id: $id, status: $status) { id tcpModerationStatus updatedAt }
|
|
223
228
|
}
|
|
224
229
|
`,et=`
|
|
225
230
|
query TcpHealth {
|
|
226
231
|
tcpHealth
|
|
227
232
|
}
|
|
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(E,{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(O,{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;
|
|
233
|
+
`;function l(o){let i=Number.parseInt(o,10);if(Number.isNaN(i))throw new p(`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(E,{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(O,{id:t});if(!n.tcpStory)throw new p(`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 p("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 p(`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(P,{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 p("No updates specified");let y=await a(L,{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.items,{headers:["ID","Title","Author","Source","Verification"],rows:e.tcpListCitations.items.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(M,{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(U,{id:t});if(!n.tcpArchiveItem)throw new p(`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 p("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.items,{headers:["ID","Name","Slug","Tradition","Items"],rows:e.tcpListCollections.items.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 p(`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.items,{headers:["ID","Title","Narrator","Language","Access","Duration"],rows:e.tcpListOralHistories.items.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("--consent-given","Confirm the narrator consented to being recorded (required)").option("-f, --format <format>","Output format").action(async t=>{try{if(!t.consentGiven)throw new p("Pass --consent-given to confirm the narrator consented to being recorded.");let e={title:t.title,consentGiven:!0};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 p(`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.items,{headers:["ID","Author","Perspective","Status","Body"],rows:e.tcpListReplies.items.map(n=>[d(n.id,12),d(n.authorId??"-",12),n.tcpPerspective??"-",n.tcpModerationStatus??"-",d(n.content?.text??n.content?.markdown??"",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.tcpModerationStatus}`),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 At={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=At;module.exports=Cn;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b as b$1,h as h$1,
|
|
1
|
+
import {a,b as b$1,i,r,q as q$1,h as h$1,k as k$1,d as d$1}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.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
|
|
@@ -22,27 +22,27 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
22
22
|
languages tags readingMins createdAt
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
`,
|
|
25
|
+
`,v=`
|
|
26
26
|
mutation TcpUpdateStory($id: ID!, $input: TcpUpdateStoryInput!) {
|
|
27
27
|
tcpUpdateStory(id: $id, input: $input) {
|
|
28
28
|
id title slug summary body format status topicId languages tags
|
|
29
29
|
readingMins updatedAt
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
`,
|
|
32
|
+
`,R=`
|
|
33
33
|
mutation TcpTransitionStory($id: ID!, $status: TcpStoryStatus!) {
|
|
34
34
|
tcpTransitionStory(id: $id, status: $status) {
|
|
35
35
|
id title slug status publishedAt updatedAt
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
`,
|
|
38
|
+
`,S=`
|
|
39
39
|
query TcpGetTopic($id: ID!) {
|
|
40
40
|
tcpTopic(id: $id) {
|
|
41
41
|
id name slug description category tradition isFeatured createdAt
|
|
42
42
|
updatedAt workspaceId
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
`,
|
|
45
|
+
`,D=`
|
|
46
46
|
query TcpListTopics($category: TcpTopicCategory, $pagination: PaginationInput) {
|
|
47
47
|
tcpListTopics(category: $category, pagination: $pagination) {
|
|
48
48
|
items {
|
|
@@ -51,7 +51,7 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
51
51
|
pageInfo { cursor hasMore }
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
`,
|
|
54
|
+
`,E=`
|
|
55
55
|
mutation TcpCreateTopic($input: TcpCreateTopicInput!) {
|
|
56
56
|
tcpCreateTopic(input: $input) {
|
|
57
57
|
id name slug description category tradition isFeatured createdAt
|
|
@@ -70,9 +70,12 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
70
70
|
`,_=`
|
|
71
71
|
query TcpListCitations($storyId: ID!) {
|
|
72
72
|
tcpListCitations(storyId: $storyId) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
items {
|
|
74
|
+
id storyId title author publisher publishedOn sourceType url excerpt provenance
|
|
75
|
+
verification createdAt updatedAt workspaceId
|
|
76
|
+
sourceFile { id }
|
|
77
|
+
}
|
|
78
|
+
pageInfo { cursor hasMore }
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
`,w=`
|
|
@@ -115,14 +118,14 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
115
118
|
pageInfo { cursor hasMore }
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
|
-
`,
|
|
121
|
+
`,M=`
|
|
119
122
|
mutation TcpCreateArchiveItem($input: TcpCreateArchiveItemInput!) {
|
|
120
123
|
tcpCreateArchiveItem(input: $input) {
|
|
121
124
|
id title description kind accessLevel collectionId origin provenance
|
|
122
125
|
languages tags datedAt createdAt
|
|
123
126
|
}
|
|
124
127
|
}
|
|
125
|
-
`,
|
|
128
|
+
`,U=`
|
|
126
129
|
mutation TcpUpdateArchiveItem($id: ID!, $input: TcpUpdateArchiveItemInput!) {
|
|
127
130
|
tcpUpdateArchiveItem(id: $id, input: $input) {
|
|
128
131
|
id title description kind accessLevel collectionId origin provenance
|
|
@@ -144,8 +147,8 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
144
147
|
`,H=`
|
|
145
148
|
query TcpListCollections($pagination: PaginationInput) {
|
|
146
149
|
tcpListCollections(pagination: $pagination) {
|
|
147
|
-
id name slug description tradition itemCount createdAt updatedAt
|
|
148
|
-
|
|
150
|
+
items { id name slug description tradition itemCount createdAt updatedAt workspaceId }
|
|
151
|
+
pageInfo { cursor hasMore }
|
|
149
152
|
}
|
|
150
153
|
}
|
|
151
154
|
`,F=`
|
|
@@ -154,15 +157,18 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
154
157
|
id name slug description tradition itemCount createdAt
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
|
-
`,
|
|
160
|
+
`,G=`
|
|
158
161
|
query TcpListOralHistories($collectionId: ID) {
|
|
159
162
|
tcpListOralHistories(collectionId: $collectionId) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
+
items {
|
|
164
|
+
id title narratorName language summary transcript collectionId accessLevel
|
|
165
|
+
durationSecs recordedAt createdAt updatedAt workspaceId
|
|
166
|
+
recording { id }
|
|
167
|
+
}
|
|
168
|
+
pageInfo { cursor hasMore }
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
|
-
`,
|
|
171
|
+
`,V=`
|
|
166
172
|
mutation TcpRecordOralHistory($input: TcpCreateOralHistoryInput!) {
|
|
167
173
|
tcpRecordOralHistory(input: $input) {
|
|
168
174
|
id title narratorName language summary transcript collectionId
|
|
@@ -205,24 +211,23 @@ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
205
211
|
`,K=`
|
|
206
212
|
query TcpListReplies($discussionId: ID!, $status: TcpModerationStatus) {
|
|
207
213
|
tcpListReplies(discussionId: $discussionId, status: $status) {
|
|
208
|
-
|
|
209
|
-
|
|
214
|
+
items {
|
|
215
|
+
id authorId content { text markdown } tcpDiscussionId tcpPerspective tcpModerationStatus
|
|
216
|
+
createdAt updatedAt workspaceId
|
|
217
|
+
}
|
|
218
|
+
pageInfo { cursor hasMore }
|
|
210
219
|
}
|
|
211
220
|
}
|
|
212
221
|
`,J=`
|
|
213
222
|
mutation TcpPostReply($input: TcpCreateReplyInput!) {
|
|
214
|
-
tcpPostReply(input: $input) {
|
|
215
|
-
id discussionId authorId body perspective status createdAt
|
|
216
|
-
}
|
|
223
|
+
tcpPostReply(input: $input) { id authorId tcpModerationStatus createdAt }
|
|
217
224
|
}
|
|
218
225
|
`,j=`
|
|
219
226
|
mutation TcpModerateReply($id: ID!, $status: TcpModerationStatus!) {
|
|
220
|
-
tcpModerateReply(id: $id, status: $status) {
|
|
221
|
-
id discussionId body perspective status updatedAt
|
|
222
|
-
}
|
|
227
|
+
tcpModerateReply(id: $id, status: $status) { id tcpModerationStatus updatedAt }
|
|
223
228
|
}
|
|
224
229
|
`,z=`
|
|
225
230
|
query TcpHealth {
|
|
226
231
|
tcpHealth
|
|
227
232
|
}
|
|
228
|
-
`;function d(c){let o=Number.parseInt(c,10);if(Number.isNaN(o))throw new o$1(`Expected an integer but got "${c}"`);return o}function m(c){return c.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function X(c){let o$2=c.command("stories").description("TheCulturePost editorial stories");o$2.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",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(A,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,topicId:t.topic});h$1(t,i.tcpListStories.items,{headers:["ID","Title","Status","Format","Reading","Published"],rows:i.tcpListStories.items.map(e=>[p(e.id,12),e.title,e.status,e.format,e.readingMins!=null?`${e.readingMins}m`:"-",o(e.publishedAt)])});}catch(i){g(i);}}),o$2.command("get").description("Get a story by id").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(h,{id:t});if(!e.tcpStory)throw new o$1(`Story ${t} not found`);h$1(i,e.tcpStory);}catch(e){g(e);}}),o$2.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",d).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={title:t.title,slug:t.slug};t.summary&&(i$1.summary=t.summary),t.body&&(i$1.body=t.body),t.topic&&(i$1.topicId=t.topic),t.author&&(i$1.authorId=t.author),t.editor&&(i$1.editorId=t.editor),t.formatKind&&(i$1.format=t.formatKind.toUpperCase()),t.coverFile&&(i$1.coverFileId=t.coverFile),t.readingMins!==void 0&&(i$1.readingMins=t.readingMins),t.languages&&(i$1.languages=m(t.languages)),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(O,{input:i$1});i(`Story created: ${e.tcpCreateStory.title}`),h$1(t,e.tcpCreateStory);}catch(i){g(i);}}),o$2.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",d).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.summary!==void 0&&(e.summary=i$1.summary),i$1.body!==void 0&&(e.body=i$1.body),i$1.topic&&(e.topicId=i$1.topic),i$1.author&&(e.authorId=i$1.author),i$1.editor&&(e.editorId=i$1.editor),i$1.formatKind&&(e.format=i$1.formatKind.toUpperCase()),i$1.coverFile&&(e.coverFileId=i$1.coverFile),i$1.readingMins!==void 0&&(e.readingMins=i$1.readingMins),i$1.languages&&(e.languages=m(i$1.languages)),i$1.tags&&(e.tags=m(i$1.tags)),!Object.keys(e).length)throw new o$1("No updates specified");let I=await b$1(R,{id:t,input:e});i("Story updated"),h$1(i$1,I.tcpUpdateStory);}catch(e){g(e);}}),o$2.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,i$1)=>{try{let e=await b$1(v,{id:t,status:i$1.status.toUpperCase()});i(`Story transitioned to ${e.tcpTransitionStory.status}`),h$1(i$1,e.tcpTransitionStory);}catch(e){g(e);}});}function Q(c){let o=c.command("topics").description("TheCulturePost topics");o.command("list").description("List topics").option("--category <c>","Filter by topic category").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(E,{category:t.category?t.category.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});h$1(t,i.tcpListTopics.items,{headers:["ID","Name","Category","Tradition","Featured"],rows:i.tcpListTopics.items.map(e=>[p(e.id,12),e.name,e.category,e.tradition??"-",e.isFeatured?"yes":"no"])});}catch(i){g(i);}}),o.command("get").description("Get a topic by id").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(D,{id:t});if(!e.tcpTopic)throw new o$1(`Topic ${t} not found`);h$1(i,e.tcpTopic);}catch(e){g(e);}}),o.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 i$1={name:t.name,slug:t.slug};t.category&&(i$1.category=t.category.toUpperCase()),t.description&&(i$1.description=t.description),t.tradition&&(i$1.tradition=t.tradition),t.featured&&(i$1.isFeatured=!0);let e=await b$1(S,{input:i$1});i(`Topic created: ${e.tcpCreateTopic.name}`),h$1(t,e.tcpCreateTopic);}catch(i){g(i);}}),o.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,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.category&&(e.category=i$1.category.toUpperCase()),i$1.description!==void 0&&(e.description=i$1.description),i$1.tradition!==void 0&&(e.tradition=i$1.tradition),i$1.featured!==void 0&&(e.isFeatured=i$1.featured),!Object.keys(e).length)throw new o$1("No updates specified");let I=await b$1(L,{id:t,input:e});i("Topic updated"),h$1(i$1,I.tcpUpdateTopic);}catch(e){g(e);}}),o.command("archive").description("Archive (delete) a topic").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(P,{id:t});i(`Topic ${t} archived`),h$1(i$1,{archived:e.tcpArchiveTopic});}catch(e){g(e);}});}function Z(c){let o=c.command("citations").description("TheCulturePost story citations");o.command("list").description("List citations for a story").requiredOption("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(_,{storyId:t.story});h$1(t,i.tcpListCitations,{headers:["ID","Title","Author","Source","Verification"],rows:i.tcpListCitations.map(e=>[p(e.id,12),p(e.title,30),e.author??"-",e.sourceType,e.verification])});}catch(i){g(i);}}),o.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 i$1={storyId:t.story,title:t.title};t.author&&(i$1.author=t.author),t.publisher&&(i$1.publisher=t.publisher),t.publishedOn&&(i$1.publishedOn=t.publishedOn),t.sourceType&&(i$1.sourceType=t.sourceType.toUpperCase()),t.url&&(i$1.url=t.url),t.excerpt&&(i$1.excerpt=t.excerpt),t.provenance&&(i$1.provenance=t.provenance),t.sourceFile&&(i$1.sourceFileId=t.sourceFile);let e=await b$1(w,{input:i$1});i(`Citation added: ${e.tcpAddCitation.title}`),h$1(t,e.tcpAddCitation);}catch(i){g(i);}}),o.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,i$1)=>{try{let e=await b$1($,{id:t,verification:i$1.verification.toUpperCase()});i(`Citation verification set to ${e.tcpVerifyCitation.verification}`),h$1(i$1,e.tcpVerifyCitation);}catch(e){g(e);}});}function tt(c){let o$2=c.command("archive").description("TheCulturePost archive items");o$2.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",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(b,{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}});h$1(t,i.tcpListArchiveItems.items,{headers:["ID","Title","Kind","Access","Origin","Dated"],rows:i.tcpListArchiveItems.items.map(e=>[p(e.id,12),e.title,e.kind,e.accessLevel,e.origin??"-",o(e.datedAt)])});}catch(i){g(i);}}),o$2.command("get").description("Get an archive item by id").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(k,{id:t});if(!e.tcpArchiveItem)throw new o$1(`Archive item ${t} not found`);h$1(i,e.tcpArchiveItem);}catch(e){g(e);}}),o$2.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 i$1={title:t.title};t.description&&(i$1.description=t.description),t.kind&&(i$1.kind=t.kind.toUpperCase()),t.accessLevel&&(i$1.accessLevel=t.accessLevel.toUpperCase()),t.collection&&(i$1.collectionId=t.collection),t.file&&(i$1.fileId=t.file),t.origin&&(i$1.origin=t.origin),t.provenance&&(i$1.provenance=t.provenance),t.datedAt&&(i$1.datedAt=t.datedAt),t.languages&&(i$1.languages=m(t.languages)),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(U,{input:i$1});i(`Archive item created: ${e.tcpCreateArchiveItem.title}`),h$1(t,e.tcpCreateArchiveItem);}catch(i){g(i);}}),o$2.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,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.description!==void 0&&(e.description=i$1.description),i$1.kind&&(e.kind=i$1.kind.toUpperCase()),i$1.accessLevel&&(e.accessLevel=i$1.accessLevel.toUpperCase()),i$1.collection&&(e.collectionId=i$1.collection),i$1.file&&(e.fileId=i$1.file),i$1.origin!==void 0&&(e.origin=i$1.origin),i$1.provenance!==void 0&&(e.provenance=i$1.provenance),i$1.datedAt&&(e.datedAt=i$1.datedAt),i$1.languages&&(e.languages=m(i$1.languages)),i$1.tags&&(e.tags=m(i$1.tags)),!Object.keys(e).length)throw new o$1("No updates specified");let I=await b$1(M,{id:t,input:e});i("Archive item updated"),h$1(i$1,I.tcpUpdateArchiveItem);}catch(e){g(e);}}),o$2.command("archive-item").description("Archive (delete) an archive item").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(N,{id:t});i(`Archive item ${t} archived`),h$1(i$1,{archived:e.tcpArchiveArchiveItem});}catch(e){g(e);}});}function it(c){let o=c.command("collections").description("TheCulturePost archive collections");o.command("list").description("List collections").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(H,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,i.tcpListCollections,{headers:["ID","Name","Slug","Tradition","Items"],rows:i.tcpListCollections.map(e=>[p(e.id,12),e.name,e.slug,e.tradition??"-",String(e.itemCount)])});}catch(i){g(i);}}),o.command("get").description("Get a collection by id").argument("<id>","Collection ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(x,{id:t});if(!e.tcpCollection)throw new o$1(`Collection ${t} not found`);h$1(i,e.tcpCollection);}catch(e){g(e);}}),o.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 i$1={name:t.name,slug:t.slug};t.description&&(i$1.description=t.description),t.tradition&&(i$1.tradition=t.tradition),t.coverFile&&(i$1.coverFileId=t.coverFile);let e=await b$1(F,{input:i$1});i(`Collection created: ${e.tcpCreateCollection.name}`),h$1(t,e.tcpCreateCollection);}catch(i){g(i);}});}function et(c){let o=c.command("oral-histories").description("TheCulturePost oral histories");o.command("list").description("List oral histories").option("--collection <id>","Filter by collection ID").option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(V,{collectionId:t.collection});h$1(t,i.tcpListOralHistories,{headers:["ID","Title","Narrator","Language","Access","Duration"],rows:i.tcpListOralHistories.map(e=>[p(e.id,12),e.title,e.narratorName??"-",e.language??"-",e.accessLevel,`${e.durationSecs}s`])});}catch(i){g(i);}}),o.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)",d).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 i$1={title:t.title};t.narrator&&(i$1.narratorName=t.narrator),t.language&&(i$1.language=t.language),t.summary&&(i$1.summary=t.summary),t.transcript&&(i$1.transcript=t.transcript),t.collection&&(i$1.collectionId=t.collection),t.accessLevel&&(i$1.accessLevel=t.accessLevel.toUpperCase()),t.durationSecs!==void 0&&(i$1.durationSecs=t.durationSecs),t.recordedAt&&(i$1.recordedAt=t.recordedAt),t.recordingFile&&(i$1.recordingFileId=t.recordingFile);let e=await b$1(G,{input:i$1});i(`Oral history recorded: ${e.tcpRecordOralHistory.title}`),h$1(t,e.tcpRecordOralHistory);}catch(i){g(i);}});}function ot(c){let o=c.command("discussions").description("TheCulturePost respectful discussions");o.command("list").description("List discussions").option("--status <s>","PENDING|APPROVED|FLAGGED|REMOVED").option("--story <id>","Filter by story ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(Y,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,storyId:t.story});h$1(t,i.tcpListDiscussions.items,{headers:["ID","Title","Status","Locked","Interfaith","Replies"],rows:i.tcpListDiscussions.items.map(e=>[p(e.id,12),e.title,e.status,e.isLocked?"yes":"no",e.isInterfaith?"yes":"no",String(e.replyCount??0)])});}catch(i){g(i);}}),o.command("get").description("Get a discussion by id").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(q,{id:t});if(!e.tcpDiscussion)throw new o$1(`Discussion ${t} not found`);h$1(i,e.tcpDiscussion);}catch(e){g(e);}}),o.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 i$1={title:t.title};t.prompt&&(i$1.prompt=t.prompt),t.story&&(i$1.storyId=t.story),t.interfaith&&(i$1.isInterfaith=!0),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(B,{input:i$1});i(`Discussion opened: ${e.tcpOpenDiscussion.title}`),h$1(t,e.tcpOpenDiscussion);}catch(i){g(i);}}),o.command("lock").description("Lock a discussion").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(W,{id:t});i(`Discussion ${t} locked`),h$1(i$1,e.tcpLockDiscussion);}catch(e){g(e);}});}function rt(c){let o=c.command("replies").description("TheCulturePost discussion replies");o.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 i=await b$1(K,{discussionId:t.discussion,status:t.status?t.status.toUpperCase():void 0});h$1(t,i.tcpListReplies,{headers:["ID","Author","Perspective","Status","Body"],rows:i.tcpListReplies.map(e=>[p(e.id,12),p(e.authorId??"-",12),e.perspective??"-",e.status,p(e.body,40)])});}catch(i){g(i);}}),o.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 i$1={discussionId:t.discussion,body:t.body};t.perspective&&(i$1.perspective=t.perspective);let e=await b$1(J,{input:i$1});i("Reply posted"),h$1(t,e.tcpPostReply);}catch(i){g(i);}}),o.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,i$1)=>{try{let e=await b$1(j,{id:t,status:i$1.status.toUpperCase()});i(`Reply moderated to ${e.tcpModerateReply.status}`),h$1(i$1,e.tcpModerateReply);}catch(e){g(e);}});}function nt(c){c.command("health").description("TheCulturePost service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d$1(z);i(t.tcpHealth),h$1(o,{health:t.tcpHealth});}catch(t){g(t);}});}var st={id:"theculturepost",version:"1.0.0",displayName:"TheCulturePost",dependsOn:["auth","workspaces"],register(c,o){a(o);let t=c.command("theculturepost").description("TheCulturePost culture & heritage publishing");X(t),Q(t),Z(t),tt(t),it(t),et(t),ot(t),rt(t),nt(t);}},jt=st;export{jt as default};
|
|
233
|
+
`;function d(c){let o$1=Number.parseInt(c,10);if(Number.isNaN(o$1))throw new o(`Expected an integer but got "${c}"`);return o$1}function m(c){return c.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function X(c){let o$1=c.command("stories").description("TheCulturePost editorial stories");o$1.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",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(A,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,topicId:t.topic});i(t,i$1.tcpListStories.items,{headers:["ID","Title","Status","Format","Reading","Published"],rows:i$1.tcpListStories.items.map(e=>[r(e.id,12),e.title,e.status,e.format,e.readingMins!=null?`${e.readingMins}m`:"-",q$1(e.publishedAt)])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a story by id").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(h,{id:t});if(!e.tcpStory)throw new o(`Story ${t} not found`);i(i$1,e.tcpStory);}catch(e){h$1(e);}}),o$1.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",d).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={title:t.title,slug:t.slug};t.summary&&(i$1.summary=t.summary),t.body&&(i$1.body=t.body),t.topic&&(i$1.topicId=t.topic),t.author&&(i$1.authorId=t.author),t.editor&&(i$1.editorId=t.editor),t.formatKind&&(i$1.format=t.formatKind.toUpperCase()),t.coverFile&&(i$1.coverFileId=t.coverFile),t.readingMins!==void 0&&(i$1.readingMins=t.readingMins),t.languages&&(i$1.languages=m(t.languages)),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(O,{input:i$1});k$1(`Story created: ${e.tcpCreateStory.title}`),i(t,e.tcpCreateStory);}catch(i){h$1(i);}}),o$1.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",d).option("--languages <csv>","Comma-separated language codes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.summary!==void 0&&(e.summary=i$1.summary),i$1.body!==void 0&&(e.body=i$1.body),i$1.topic&&(e.topicId=i$1.topic),i$1.author&&(e.authorId=i$1.author),i$1.editor&&(e.editorId=i$1.editor),i$1.formatKind&&(e.format=i$1.formatKind.toUpperCase()),i$1.coverFile&&(e.coverFileId=i$1.coverFile),i$1.readingMins!==void 0&&(e.readingMins=i$1.readingMins),i$1.languages&&(e.languages=m(i$1.languages)),i$1.tags&&(e.tags=m(i$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let I=await b$1(v,{id:t,input:e});k$1("Story updated"),i(i$1,I.tcpUpdateStory);}catch(e){h$1(e);}}),o$1.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,i$1)=>{try{let e=await b$1(R,{id:t,status:i$1.status.toUpperCase()});k$1(`Story transitioned to ${e.tcpTransitionStory.status}`),i(i$1,e.tcpTransitionStory);}catch(e){h$1(e);}});}function Q(c){let o$1=c.command("topics").description("TheCulturePost topics");o$1.command("list").description("List topics").option("--category <c>","Filter by topic category").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(D,{category:t.category?t.category.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.tcpListTopics.items,{headers:["ID","Name","Category","Tradition","Featured"],rows:i$1.tcpListTopics.items.map(e=>[r(e.id,12),e.name,e.category,e.tradition??"-",e.isFeatured?"yes":"no"])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a topic by id").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(S,{id:t});if(!e.tcpTopic)throw new o(`Topic ${t} not found`);i(i$1,e.tcpTopic);}catch(e){h$1(e);}}),o$1.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 i$1={name:t.name,slug:t.slug};t.category&&(i$1.category=t.category.toUpperCase()),t.description&&(i$1.description=t.description),t.tradition&&(i$1.tradition=t.tradition),t.featured&&(i$1.isFeatured=!0);let e=await b$1(E,{input:i$1});k$1(`Topic created: ${e.tcpCreateTopic.name}`),i(t,e.tcpCreateTopic);}catch(i){h$1(i);}}),o$1.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,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.category&&(e.category=i$1.category.toUpperCase()),i$1.description!==void 0&&(e.description=i$1.description),i$1.tradition!==void 0&&(e.tradition=i$1.tradition),i$1.featured!==void 0&&(e.isFeatured=i$1.featured),!Object.keys(e).length)throw new o("No updates specified");let I=await b$1(L,{id:t,input:e});k$1("Topic updated"),i(i$1,I.tcpUpdateTopic);}catch(e){h$1(e);}}),o$1.command("archive").description("Archive (delete) a topic").argument("<id>","Topic ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(P,{id:t});k$1(`Topic ${t} archived`),i(i$1,{archived:e.tcpArchiveTopic});}catch(e){h$1(e);}});}function Z(c){let o=c.command("citations").description("TheCulturePost story citations");o.command("list").description("List citations for a story").requiredOption("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(_,{storyId:t.story});i(t,i$1.tcpListCitations.items,{headers:["ID","Title","Author","Source","Verification"],rows:i$1.tcpListCitations.items.map(e=>[r(e.id,12),r(e.title,30),e.author??"-",e.sourceType,e.verification])});}catch(i){h$1(i);}}),o.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 i$1={storyId:t.story,title:t.title};t.author&&(i$1.author=t.author),t.publisher&&(i$1.publisher=t.publisher),t.publishedOn&&(i$1.publishedOn=t.publishedOn),t.sourceType&&(i$1.sourceType=t.sourceType.toUpperCase()),t.url&&(i$1.url=t.url),t.excerpt&&(i$1.excerpt=t.excerpt),t.provenance&&(i$1.provenance=t.provenance),t.sourceFile&&(i$1.sourceFileId=t.sourceFile);let e=await b$1(w,{input:i$1});k$1(`Citation added: ${e.tcpAddCitation.title}`),i(t,e.tcpAddCitation);}catch(i){h$1(i);}}),o.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,i$1)=>{try{let e=await b$1($,{id:t,verification:i$1.verification.toUpperCase()});k$1(`Citation verification set to ${e.tcpVerifyCitation.verification}`),i(i$1,e.tcpVerifyCitation);}catch(e){h$1(e);}});}function tt(c){let o$1=c.command("archive").description("TheCulturePost archive items");o$1.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",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(b,{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}});i(t,i$1.tcpListArchiveItems.items,{headers:["ID","Title","Kind","Access","Origin","Dated"],rows:i$1.tcpListArchiveItems.items.map(e=>[r(e.id,12),e.title,e.kind,e.accessLevel,e.origin??"-",q$1(e.datedAt)])});}catch(i){h$1(i);}}),o$1.command("get").description("Get an archive item by id").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(k,{id:t});if(!e.tcpArchiveItem)throw new o(`Archive item ${t} not found`);i(i$1,e.tcpArchiveItem);}catch(e){h$1(e);}}),o$1.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 i$1={title:t.title};t.description&&(i$1.description=t.description),t.kind&&(i$1.kind=t.kind.toUpperCase()),t.accessLevel&&(i$1.accessLevel=t.accessLevel.toUpperCase()),t.collection&&(i$1.collectionId=t.collection),t.file&&(i$1.fileId=t.file),t.origin&&(i$1.origin=t.origin),t.provenance&&(i$1.provenance=t.provenance),t.datedAt&&(i$1.datedAt=t.datedAt),t.languages&&(i$1.languages=m(t.languages)),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(M,{input:i$1});k$1(`Archive item created: ${e.tcpCreateArchiveItem.title}`),i(t,e.tcpCreateArchiveItem);}catch(i){h$1(i);}}),o$1.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,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.description!==void 0&&(e.description=i$1.description),i$1.kind&&(e.kind=i$1.kind.toUpperCase()),i$1.accessLevel&&(e.accessLevel=i$1.accessLevel.toUpperCase()),i$1.collection&&(e.collectionId=i$1.collection),i$1.file&&(e.fileId=i$1.file),i$1.origin!==void 0&&(e.origin=i$1.origin),i$1.provenance!==void 0&&(e.provenance=i$1.provenance),i$1.datedAt&&(e.datedAt=i$1.datedAt),i$1.languages&&(e.languages=m(i$1.languages)),i$1.tags&&(e.tags=m(i$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let I=await b$1(U,{id:t,input:e});k$1("Archive item updated"),i(i$1,I.tcpUpdateArchiveItem);}catch(e){h$1(e);}}),o$1.command("archive-item").description("Archive (delete) an archive item").argument("<id>","Archive item ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(N,{id:t});k$1(`Archive item ${t} archived`),i(i$1,{archived:e.tcpArchiveArchiveItem});}catch(e){h$1(e);}});}function it(c){let o$1=c.command("collections").description("TheCulturePost archive collections");o$1.command("list").description("List collections").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(H,{pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.tcpListCollections.items,{headers:["ID","Name","Slug","Tradition","Items"],rows:i$1.tcpListCollections.items.map(e=>[r(e.id,12),e.name,e.slug,e.tradition??"-",String(e.itemCount)])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a collection by id").argument("<id>","Collection ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(x,{id:t});if(!e.tcpCollection)throw new o(`Collection ${t} not found`);i(i$1,e.tcpCollection);}catch(e){h$1(e);}}),o$1.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 i$1={name:t.name,slug:t.slug};t.description&&(i$1.description=t.description),t.tradition&&(i$1.tradition=t.tradition),t.coverFile&&(i$1.coverFileId=t.coverFile);let e=await b$1(F,{input:i$1});k$1(`Collection created: ${e.tcpCreateCollection.name}`),i(t,e.tcpCreateCollection);}catch(i){h$1(i);}});}function et(c){let o$1=c.command("oral-histories").description("TheCulturePost oral histories");o$1.command("list").description("List oral histories").option("--collection <id>","Filter by collection ID").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(G,{collectionId:t.collection});i(t,i$1.tcpListOralHistories.items,{headers:["ID","Title","Narrator","Language","Access","Duration"],rows:i$1.tcpListOralHistories.items.map(e=>[r(e.id,12),e.title,e.narratorName??"-",e.language??"-",e.accessLevel,`${e.durationSecs}s`])});}catch(i){h$1(i);}}),o$1.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)",d).option("--recorded-at <iso>","Recorded-at (ISO)").option("--recording-file <id>","Recording file ID").option("--consent-given","Confirm the narrator consented to being recorded (required)").option("-f, --format <format>","Output format").action(async t=>{try{if(!t.consentGiven)throw new o("Pass --consent-given to confirm the narrator consented to being recorded.");let i$1={title:t.title,consentGiven:!0};t.narrator&&(i$1.narratorName=t.narrator),t.language&&(i$1.language=t.language),t.summary&&(i$1.summary=t.summary),t.transcript&&(i$1.transcript=t.transcript),t.collection&&(i$1.collectionId=t.collection),t.accessLevel&&(i$1.accessLevel=t.accessLevel.toUpperCase()),t.durationSecs!==void 0&&(i$1.durationSecs=t.durationSecs),t.recordedAt&&(i$1.recordedAt=t.recordedAt),t.recordingFile&&(i$1.recordingFileId=t.recordingFile);let e=await b$1(V,{input:i$1});k$1(`Oral history recorded: ${e.tcpRecordOralHistory.title}`),i(t,e.tcpRecordOralHistory);}catch(i){h$1(i);}});}function ot(c){let o$1=c.command("discussions").description("TheCulturePost respectful discussions");o$1.command("list").description("List discussions").option("--status <s>","PENDING|APPROVED|FLAGGED|REMOVED").option("--story <id>","Filter by story ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(Y,{pagination:{limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0,storyId:t.story});i(t,i$1.tcpListDiscussions.items,{headers:["ID","Title","Status","Locked","Interfaith","Replies"],rows:i$1.tcpListDiscussions.items.map(e=>[r(e.id,12),e.title,e.status,e.isLocked?"yes":"no",e.isInterfaith?"yes":"no",String(e.replyCount??0)])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a discussion by id").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(q,{id:t});if(!e.tcpDiscussion)throw new o(`Discussion ${t} not found`);i(i$1,e.tcpDiscussion);}catch(e){h$1(e);}}),o$1.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 i$1={title:t.title};t.prompt&&(i$1.prompt=t.prompt),t.story&&(i$1.storyId=t.story),t.interfaith&&(i$1.isInterfaith=!0),t.tags&&(i$1.tags=m(t.tags));let e=await b$1(B,{input:i$1});k$1(`Discussion opened: ${e.tcpOpenDiscussion.title}`),i(t,e.tcpOpenDiscussion);}catch(i){h$1(i);}}),o$1.command("lock").description("Lock a discussion").argument("<id>","Discussion ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(W,{id:t});k$1(`Discussion ${t} locked`),i(i$1,e.tcpLockDiscussion);}catch(e){h$1(e);}});}function rt(c){let o=c.command("replies").description("TheCulturePost discussion replies");o.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 i$1=await b$1(K,{discussionId:t.discussion,status:t.status?t.status.toUpperCase():void 0});i(t,i$1.tcpListReplies.items,{headers:["ID","Author","Perspective","Status","Body"],rows:i$1.tcpListReplies.items.map(e=>[r(e.id,12),r(e.authorId??"-",12),e.tcpPerspective??"-",e.tcpModerationStatus??"-",r(e.content?.text??e.content?.markdown??"",40)])});}catch(i){h$1(i);}}),o.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 i$1={discussionId:t.discussion,body:t.body};t.perspective&&(i$1.perspective=t.perspective);let e=await b$1(J,{input:i$1});k$1("Reply posted"),i(t,e.tcpPostReply);}catch(i){h$1(i);}}),o.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,i$1)=>{try{let e=await b$1(j,{id:t,status:i$1.status.toUpperCase()});k$1(`Reply moderated to ${e.tcpModerateReply.tcpModerationStatus}`),i(i$1,e.tcpModerateReply);}catch(e){h$1(e);}});}function nt(c){c.command("health").description("TheCulturePost service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d$1(z);k$1(t.tcpHealth),i(o,{health:t.tcpHealth});}catch(t){h$1(t);}});}var st={id:"theculturepost",version:"1.0.0",displayName:"TheCulturePost",dependsOn:["auth","workspaces"],register(c,o){a(o);let t=c.command("theculturepost").description("TheCulturePost culture & heritage publishing");X(t),Q(t),Z(t),tt(t),it(t),et(t),ot(t),rt(t),nt(t);}},jt=st;export{jt as default};
|