@burdenoff/cli-sdk 2026.1107.1 → 2026.1107.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import {a,b as b$1,i,r,h
|
|
1
|
+
import {a,b as b$1,i,r,h,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var D=`
|
|
2
2
|
query ColGetFamilyTree($id: ID!) {
|
|
3
3
|
colFamilyTree(id: $id) {
|
|
4
4
|
id name surname description status tags createdAt updatedAt workspaceId
|
|
5
5
|
coverFile { id }
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
`,
|
|
8
|
+
`,b=`
|
|
9
9
|
query ColListFamilyTrees($pagination: PaginationInput, $status: ColTreeStatus) {
|
|
10
10
|
colListFamilyTrees(pagination: $pagination, status: $status) {
|
|
11
11
|
items { id name surname status tags createdAt }
|
|
12
12
|
pageInfo { cursor hasMore }
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
`,
|
|
15
|
+
`,T=`
|
|
16
16
|
mutation ColCreateFamilyTree($input: ColCreateFamilyTreeInput!) {
|
|
17
17
|
colCreateFamilyTree(input: $input) {
|
|
18
18
|
id name surname description status tags createdAt
|
|
19
19
|
coverFile { id }
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
`,
|
|
22
|
+
`,R=`
|
|
23
23
|
mutation ColUpdateFamilyTree($id: ID!, $input: ColUpdateFamilyTreeInput!) {
|
|
24
24
|
colUpdateFamilyTree(id: $id, input: $input) {
|
|
25
25
|
id name surname description status tags updatedAt
|
|
26
26
|
coverFile { id }
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
`,
|
|
29
|
+
`,M=`
|
|
30
30
|
mutation ColArchiveFamilyTree($id: ID!) {
|
|
31
31
|
colArchiveFamilyTree(id: $id)
|
|
32
32
|
}
|
|
@@ -39,37 +39,40 @@ import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
|
|
|
39
39
|
createdAt updatedAt workspaceId
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
`,
|
|
42
|
+
`,O=`
|
|
43
43
|
query ColListPeople($treeId: ID, $lifeStatus: ColLifeStatus, $pagination: PaginationInput) {
|
|
44
44
|
colListPeople(treeId: $treeId, lifeStatus: $lifeStatus, pagination: $pagination) {
|
|
45
45
|
items { id treeId givenName familyName gender lifeStatus birthDate createdAt }
|
|
46
46
|
pageInfo { cursor hasMore }
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
`,
|
|
49
|
+
`,S=`
|
|
50
50
|
mutation ColCreatePerson($input: ColCreatePersonInput!) {
|
|
51
51
|
colCreatePerson(input: $input) {
|
|
52
52
|
id treeId givenName familyName gender lifeStatus birthDate tags createdAt
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
`,
|
|
55
|
+
`,v=`
|
|
56
56
|
mutation ColUpdatePerson($id: ID!, $input: ColUpdatePersonInput!) {
|
|
57
57
|
colUpdatePerson(id: $id, input: $input) {
|
|
58
58
|
id treeId givenName familyName gender lifeStatus birthDate tags updatedAt
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
`,
|
|
61
|
+
`,k=`
|
|
62
62
|
mutation ColDeletePerson($id: ID!) {
|
|
63
63
|
colDeletePerson(id: $id)
|
|
64
64
|
}
|
|
65
|
-
`,
|
|
66
|
-
query ColListRelationships($treeId: ID, $personId: ID) {
|
|
67
|
-
colListRelationships(treeId: $treeId, personId: $personId) {
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
`,w=`
|
|
66
|
+
query ColListRelationships($treeId: ID, $personId: ID, $pagination: PaginationInput) {
|
|
67
|
+
colListRelationships(treeId: $treeId, personId: $personId, pagination: $pagination) {
|
|
68
|
+
items {
|
|
69
|
+
id treeId fromPersonId toPersonId type certainty startDate endDate notes
|
|
70
|
+
createdAt updatedAt workspaceId
|
|
71
|
+
}
|
|
72
|
+
pageInfo { cursor hasMore }
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
|
-
`,
|
|
75
|
+
`,P=`
|
|
73
76
|
mutation ColCreateRelationship($input: ColCreateRelationshipInput!) {
|
|
74
77
|
colCreateRelationship(input: $input) {
|
|
75
78
|
id treeId fromPersonId toPersonId type certainty startDate endDate notes createdAt
|
|
@@ -79,11 +82,19 @@ import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
|
|
|
79
82
|
mutation ColDeleteRelationship($id: ID!) {
|
|
80
83
|
colDeleteRelationship(id: $id)
|
|
81
84
|
}
|
|
82
|
-
|
|
83
|
-
query ColTimeline(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
`,$=`
|
|
86
|
+
query ColTimeline(
|
|
87
|
+
$treeId: ID!
|
|
88
|
+
$personId: ID
|
|
89
|
+
$type: ColEventType
|
|
90
|
+
$pagination: PaginationInput
|
|
91
|
+
) {
|
|
92
|
+
colTimeline(treeId: $treeId, personId: $personId, type: $type, pagination: $pagination) {
|
|
93
|
+
items {
|
|
94
|
+
id treeId personId title description type date place isApproximate
|
|
95
|
+
createdAt updatedAt workspaceId
|
|
96
|
+
}
|
|
97
|
+
pageInfo { cursor hasMore }
|
|
87
98
|
}
|
|
88
99
|
}
|
|
89
100
|
`,L=`
|
|
@@ -92,20 +103,19 @@ import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
|
|
|
92
103
|
id treeId personId title description type date place isApproximate createdAt
|
|
93
104
|
}
|
|
94
105
|
}
|
|
95
|
-
|
|
106
|
+
`,F=`
|
|
96
107
|
mutation ColDeleteEvent($id: ID!) {
|
|
97
108
|
colDeleteEvent(id: $id)
|
|
98
109
|
}
|
|
99
|
-
`,
|
|
110
|
+
`,U=`
|
|
100
111
|
query ColGetMemory($id: ID!) {
|
|
101
112
|
colMemory(id: $id) {
|
|
102
113
|
id treeId personId title description kind place takenAt tags visibility
|
|
103
114
|
file { id }
|
|
104
|
-
comments { id body createdAt }
|
|
105
115
|
createdAt updatedAt workspaceId
|
|
106
116
|
}
|
|
107
117
|
}
|
|
108
|
-
`,
|
|
118
|
+
`,x=`
|
|
109
119
|
query ColListMemories(
|
|
110
120
|
$treeId: ID
|
|
111
121
|
$personId: ID
|
|
@@ -117,34 +127,33 @@ import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
|
|
|
117
127
|
pageInfo { cursor hasMore }
|
|
118
128
|
}
|
|
119
129
|
}
|
|
120
|
-
`,
|
|
130
|
+
`,_=`
|
|
121
131
|
mutation ColCreateMemory($input: ColCreateMemoryInput!) {
|
|
122
132
|
colCreateMemory(input: $input) {
|
|
123
133
|
id treeId personId title description kind place takenAt tags visibility createdAt
|
|
124
134
|
file { id }
|
|
125
135
|
}
|
|
126
136
|
}
|
|
127
|
-
`,
|
|
137
|
+
`,H=`
|
|
128
138
|
mutation ColUpdateMemory($id: ID!, $input: ColUpdateMemoryInput!) {
|
|
129
139
|
colUpdateMemory(id: $id, input: $input) {
|
|
130
140
|
id treeId title description kind place takenAt tags visibility updatedAt
|
|
131
141
|
file { id }
|
|
132
142
|
}
|
|
133
143
|
}
|
|
134
|
-
`,
|
|
144
|
+
`,q=`
|
|
135
145
|
mutation ColDeleteMemory($id: ID!) {
|
|
136
146
|
colDeleteMemory(id: $id)
|
|
137
147
|
}
|
|
138
|
-
`,
|
|
148
|
+
`,G=`
|
|
139
149
|
query ColGetStory($id: ID!) {
|
|
140
150
|
colStory(id: $id) {
|
|
141
151
|
id treeId personId title body format narrator tags visibility
|
|
142
152
|
recordingFile { id }
|
|
143
|
-
comments { id body createdAt }
|
|
144
153
|
createdAt updatedAt workspaceId
|
|
145
154
|
}
|
|
146
155
|
}
|
|
147
|
-
`,
|
|
156
|
+
`,Y=`
|
|
148
157
|
query ColListStories($treeId: ID, $personId: ID, $pagination: PaginationInput) {
|
|
149
158
|
colListStories(treeId: $treeId, personId: $personId, pagination: $pagination) {
|
|
150
159
|
items { id treeId title format narrator visibility createdAt }
|
|
@@ -158,51 +167,57 @@ import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
|
|
|
158
167
|
recordingFile { id }
|
|
159
168
|
}
|
|
160
169
|
}
|
|
161
|
-
`,
|
|
170
|
+
`,B=`
|
|
162
171
|
mutation ColDeleteStory($id: ID!) {
|
|
163
172
|
colDeleteStory(id: $id)
|
|
164
173
|
}
|
|
165
174
|
`,W=`
|
|
166
|
-
query ColListComments($
|
|
167
|
-
|
|
168
|
-
|
|
175
|
+
query ColListComments($input: GetCommentsInput!) {
|
|
176
|
+
getEntityComments(input: $input) {
|
|
177
|
+
items {
|
|
178
|
+
id entityType entityId authorId content { text } createdAt updatedAt workspaceId
|
|
179
|
+
}
|
|
180
|
+
total hasMore
|
|
169
181
|
}
|
|
170
182
|
}
|
|
171
|
-
`,
|
|
172
|
-
mutation ColAddComment($input:
|
|
173
|
-
|
|
174
|
-
id
|
|
183
|
+
`,z=`
|
|
184
|
+
mutation ColAddComment($input: CreateEntityCommentInput!) {
|
|
185
|
+
createEntityComment(input: $input) {
|
|
186
|
+
id entityType entityId authorId content { text } createdAt
|
|
175
187
|
}
|
|
176
188
|
}
|
|
177
189
|
`,K=`
|
|
178
|
-
mutation ColDeleteComment($
|
|
179
|
-
|
|
190
|
+
mutation ColDeleteComment($input: DeleteCommentInput!) {
|
|
191
|
+
deleteEntityComment(input: $input)
|
|
180
192
|
}
|
|
181
193
|
`,j=`
|
|
182
|
-
query ColListMemberships($treeId: ID
|
|
183
|
-
colListMemberships(treeId: $treeId) {
|
|
184
|
-
|
|
185
|
-
|
|
194
|
+
query ColListMemberships($treeId: ID!, $pagination: PaginationInput) {
|
|
195
|
+
colListMemberships(treeId: $treeId, pagination: $pagination) {
|
|
196
|
+
items {
|
|
197
|
+
id treeId memberUserId personId role status invitedAt acceptedAt
|
|
198
|
+
invitedById createdAt updatedAt workspaceId
|
|
199
|
+
}
|
|
200
|
+
pageInfo { cursor hasMore }
|
|
186
201
|
}
|
|
187
202
|
}
|
|
188
|
-
`,
|
|
203
|
+
`,J=`
|
|
189
204
|
mutation ColInviteMember($input: ColInviteMemberInput!) {
|
|
190
205
|
colInviteMember(input: $input) {
|
|
191
206
|
id treeId memberUserId personId role status invitedAt
|
|
192
207
|
}
|
|
193
208
|
}
|
|
194
|
-
`,
|
|
209
|
+
`,Q=`
|
|
195
210
|
mutation ColAcceptMembership($id: ID!) {
|
|
196
211
|
colAcceptMembership(id: $id) {
|
|
197
212
|
id treeId memberUserId role status acceptedAt updatedAt
|
|
198
213
|
}
|
|
199
214
|
}
|
|
200
|
-
`,
|
|
215
|
+
`,X=`
|
|
201
216
|
mutation ColRemoveMember($id: ID!) {
|
|
202
217
|
colRemoveMember(id: $id)
|
|
203
218
|
}
|
|
204
|
-
`,
|
|
219
|
+
`,Z=`
|
|
205
220
|
query ColHealth {
|
|
206
221
|
colHealth
|
|
207
222
|
}
|
|
208
|
-
`;function c(m){let r=Number.parseInt(m,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${m}"`);return r}function u(m){return m.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function Z(m){let r$1=m.command("trees").description("Collabkin family trees");r$1.command("list").description("List family trees").option("--status <s>","ACTIVE|ARCHIVED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(h,{status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListFamilyTrees.items,{headers:["ID","Name","Surname","Status","Tags"],rows:e.colListFamilyTrees.items.map(i=>[r(i.id,12),i.name,i.surname??"-",i.status,(i.tags??[]).join(", ")])});}catch(e){h$1(e);}}),r$1.command("get").description("Get a family tree by id").argument("<id>","Family tree ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(D,{id:t});if(!i$1.colFamilyTree)throw new o(`Family tree ${t} not found`);i(e,i$1.colFamilyTree);}catch(i){h$1(i);}}),r$1.command("create").description("Create a family tree").requiredOption("--name <name>","Tree name").option("--surname <s>","Family surname").option("--description <s>","Description").option("--cover-file <id>","Cover file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.surname&&(e.surname=t.surname),t.description&&(e.description=t.description),t.coverFile&&(e.coverFileId=t.coverFile),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(b,{input:e});k$1(`Family tree created: ${i$1.colCreateFamilyTree.name}`),i(t,i$1.colCreateFamilyTree);}catch(e){h$1(e);}}),r$1.command("update").description("Update a family tree").argument("<id>","Family tree ID").option("--name <name>","Tree name").option("--surname <s>","Family surname").option("--description <s>","Description").option("--cover-file <id>","Cover file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.surname!==void 0&&(i$1.surname=e.surname),e.description!==void 0&&(i$1.description=e.description),e.coverFile&&(i$1.coverFileId=e.coverFile),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(T,{id:t,input:i$1});k$1("Family tree updated"),i(e,I.colUpdateFamilyTree);}catch(i){h$1(i);}}),r$1.command("archive").description("Archive a family tree").argument("<id>","Family tree ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(R,{id:t});k$1(`Family tree archived: ${i$1.colArchiveFamilyTree}`),i(e,{archived:i$1.colArchiveFamilyTree});}catch(i){h$1(i);}});}function tt(m){let r$1=m.command("people").description("Collabkin people");r$1.command("list").description("List people in a tree").option("--tree <id>","Filter by family tree ID").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(M,{treeId:t.tree,lifeStatus:t.lifeStatus?t.lifeStatus.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListPeople.items,{headers:["ID","Given","Family","Gender","Life","Born"],rows:e.colListPeople.items.map(i=>[r(i.id,12),i.givenName,i.familyName??"-",i.gender,i.lifeStatus,q$1(i.birthDate)])});}catch(e){h$1(e);}}),r$1.command("get").description("Get a person by id").argument("<id>","Person ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(A,{id:t});if(!i$1.colPerson)throw new o(`Person ${t} not found`);i(e,i$1.colPerson);}catch(i){h$1(i);}}),r$1.command("create").description("Create a person").requiredOption("--tree <id>","Family tree ID").requiredOption("--given-name <name>","Given name").option("--family-name <name>","Family name").option("--maiden-name <name>","Maiden name").option("--nickname <name>","Nickname").option("--gender <g>","MALE|FEMALE|OTHER|UNKNOWN").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--birth-date <iso>","Birth date (ISO)").option("--birth-place <s>","Birth place").option("--death-date <iso>","Death date (ISO)").option("--bio <s>","Biography").option("--linked-user <id>","Linked user ID").option("--photo-file <id>","Photo file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,givenName:t.givenName};t.familyName&&(e.familyName=t.familyName),t.maidenName&&(e.maidenName=t.maidenName),t.nickname&&(e.nickname=t.nickname),t.gender&&(e.gender=t.gender.toUpperCase()),t.lifeStatus&&(e.lifeStatus=t.lifeStatus.toUpperCase()),t.birthDate&&(e.birthDate=t.birthDate),t.birthPlace&&(e.birthPlace=t.birthPlace),t.deathDate&&(e.deathDate=t.deathDate),t.bio&&(e.bio=t.bio),t.linkedUser&&(e.linkedUserId=t.linkedUser),t.photoFile&&(e.photoFileId=t.photoFile),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(O,{input:e});k$1(`Person created: ${i$1.colCreatePerson.givenName}`),i(t,i$1.colCreatePerson);}catch(e){h$1(e);}}),r$1.command("update").description("Update a person").argument("<id>","Person ID").option("--given-name <name>","Given name").option("--family-name <name>","Family name").option("--maiden-name <name>","Maiden name").option("--nickname <name>","Nickname").option("--gender <g>","MALE|FEMALE|OTHER|UNKNOWN").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--birth-date <iso>","Birth date (ISO)").option("--birth-place <s>","Birth place").option("--death-date <iso>","Death date (ISO)").option("--bio <s>","Biography").option("--linked-user <id>","Linked user ID").option("--photo-file <id>","Photo file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.givenName&&(i$1.givenName=e.givenName),e.familyName!==void 0&&(i$1.familyName=e.familyName),e.maidenName!==void 0&&(i$1.maidenName=e.maidenName),e.nickname!==void 0&&(i$1.nickname=e.nickname),e.gender&&(i$1.gender=e.gender.toUpperCase()),e.lifeStatus&&(i$1.lifeStatus=e.lifeStatus.toUpperCase()),e.birthDate&&(i$1.birthDate=e.birthDate),e.birthPlace!==void 0&&(i$1.birthPlace=e.birthPlace),e.deathDate&&(i$1.deathDate=e.deathDate),e.bio!==void 0&&(i$1.bio=e.bio),e.linkedUser&&(i$1.linkedUserId=e.linkedUser),e.photoFile&&(i$1.photoFileId=e.photoFile),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(S,{id:t,input:i$1});k$1("Person updated"),i(e,I.colUpdatePerson);}catch(i){h$1(i);}}),r$1.command("remove").description("Delete a person").argument("<id>","Person ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(v,{id:t});k$1(`Person deleted: ${i$1.colDeletePerson}`),i(e,{deleted:i$1.colDeletePerson});}catch(i){h$1(i);}});}function et(m){let r$1=m.command("relationships").description("Collabkin relationships between people");r$1.command("list").description("List relationships in a tree (optionally for one person)").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(k,{treeId:t.tree,personId:t.person});i(t,e.colListRelationships,{headers:["ID","From","To","Type","Certainty"],rows:e.colListRelationships.map(i=>[r(i.id,12),r(i.fromPersonId,12),r(i.toPersonId,12),i.type,i.certainty])});}catch(e){h$1(e);}}),r$1.command("create").description("Create a relationship between two people").requiredOption("--tree <id>","Family tree ID").requiredOption("--from <id>","From person ID").requiredOption("--to <id>","To person ID").requiredOption("--type <t>","PARENT|CHILD|SPOUSE|PARTNER|SIBLING|GRANDPARENT|GRANDCHILD|GUARDIAN").option("--certainty <c>","CONFIRMED|PROBABLE|DISPUTED|UNVERIFIED").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,fromPersonId:t.from,toPersonId:t.to,type:t.type.toUpperCase()};t.certainty&&(e.certainty=t.certainty.toUpperCase()),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.notes&&(e.notes=t.notes);let i$1=await b$1(w,{input:e});k$1(`Relationship created: ${i$1.colCreateRelationship.type}`),i(t,i$1.colCreateRelationship);}catch(e){h$1(e);}}),r$1.command("remove").description("Delete a relationship").argument("<id>","Relationship ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(N,{id:t});k$1(`Relationship deleted: ${i$1.colDeleteRelationship}`),i(e,{deleted:i$1.colDeleteRelationship});}catch(i){h$1(i);}});}function it(m){let r$1=m.command("events").description("Collabkin timeline events");r$1.command("timeline").description("Show the family timeline (dated events) for a tree").requiredOption("--tree <id>","Family tree ID").option("--person <id>","Filter by person ID").option("--type <t>","Filter by event type").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(P,{treeId:t.tree,personId:t.person,type:t.type?t.type.toUpperCase():void 0});i(t,e.colTimeline,{headers:["ID","Title","Type","Date","Place","Approx"],rows:e.colTimeline.map(i=>[r(i.id,12),i.title,i.type,q$1(i.date),i.place??"-",i.isApproximate?"yes":"no"])});}catch(e){h$1(e);}}),r$1.command("create").description("Create a timeline event").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Event title").requiredOption("--date <iso>","Event date (ISO)").option("--type <t>","BIRTH|DEATH|MARRIAGE|DIVORCE|EDUCATION|MILITARY|IMMIGRATION|RESIDENCE|MILESTONE|OTHER").option("--description <s>","Description").option("--place <s>","Place").option("--person <id>","Associated person ID").option("--approximate","Mark the date as approximate").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title,date:t.date};t.type&&(e.type=t.type.toUpperCase()),t.description&&(e.description=t.description),t.place&&(e.place=t.place),t.person&&(e.personId=t.person),t.approximate&&(e.isApproximate=!0);let i$1=await b$1(L,{input:e});k$1(`Event created: ${i$1.colCreateEvent.title}`),i(t,i$1.colCreateEvent);}catch(e){h$1(e);}}),r$1.command("remove").description("Delete a timeline event").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1($,{id:t});k$1(`Event deleted: ${i$1.colDeleteEvent}`),i(e,{deleted:i$1.colDeleteEvent});}catch(i){h$1(i);}});}function rt(m){let r$1=m.command("memories").description("Collabkin memories (media)");r$1.command("list").description("List memories").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(U,{treeId:t.tree,personId:t.person,kind:t.kind?t.kind.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListMemories.items,{headers:["ID","Title","Kind","Place","Taken","Visibility"],rows:e.colListMemories.items.map(i=>[r(i.id,12),i.title,i.kind,i.place??"-",q$1(i.takenAt),i.visibility])});}catch(e){h$1(e);}}),r$1.command("get").description("Get a memory by id").argument("<id>","Memory ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(F,{id:t});if(!i$1.colMemory)throw new o(`Memory ${t} not found`);i(e,i$1.colMemory);}catch(i){h$1(i);}}),r$1.command("create").description("Create a memory").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Memory title").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--description <s>","Description").option("--place <s>","Place").option("--taken-at <iso>","Taken at (ISO)").option("--person <id>","Associated person ID").option("--file <id>","File ID (media blob)").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title};t.kind&&(e.kind=t.kind.toUpperCase()),t.description&&(e.description=t.description),t.place&&(e.place=t.place),t.takenAt&&(e.takenAt=t.takenAt),t.person&&(e.personId=t.person),t.file&&(e.fileId=t.file),t.visibility&&(e.visibility=t.visibility.toUpperCase()),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(x,{input:e});k$1(`Memory created: ${i$1.colCreateMemory.title}`),i(t,i$1.colCreateMemory);}catch(e){h$1(e);}}),r$1.command("update").description("Update a memory").argument("<id>","Memory ID").option("--title <t>","Memory title").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--description <s>","Description").option("--place <s>","Place").option("--taken-at <iso>","Taken at (ISO)").option("--person <id>","Associated person ID").option("--file <id>","File ID (media blob)").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.title&&(i$1.title=e.title),e.kind&&(i$1.kind=e.kind.toUpperCase()),e.description!==void 0&&(i$1.description=e.description),e.place!==void 0&&(i$1.place=e.place),e.takenAt&&(i$1.takenAt=e.takenAt),e.person&&(i$1.personId=e.person),e.file&&(i$1.fileId=e.file),e.visibility&&(i$1.visibility=e.visibility.toUpperCase()),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(_,{id:t,input:i$1});k$1("Memory updated"),i(e,I.colUpdateMemory);}catch(i){h$1(i);}}),r$1.command("remove").description("Delete a memory").argument("<id>","Memory ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(H,{id:t});k$1(`Memory deleted: ${i$1.colDeleteMemory}`),i(e,{deleted:i$1.colDeleteMemory});}catch(i){h$1(i);}});}function ot(m){let r$1=m.command("stories").description("Collabkin stories");r$1.command("list").description("List stories").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(G,{treeId:t.tree,personId:t.person,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListStories.items,{headers:["ID","Title","Format","Narrator","Visibility"],rows:e.colListStories.items.map(i=>[r(i.id,12),i.title,i.format,i.narrator??"-",i.visibility])});}catch(e){h$1(e);}}),r$1.command("get").description("Get a story by id").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(q,{id:t});if(!i$1.colStory)throw new o(`Story ${t} not found`);i(e,i$1.colStory);}catch(i){h$1(i);}}),r$1.command("create").description("Create a story").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Story title").option("--body <s>","Story body").option("--story-format <f>","WRITTEN|AUDIO|VIDEO").option("--narrator <s>","Narrator").option("--person <id>","Associated person ID").option("--recording-file <id>","Recording file ID").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title};t.body&&(e.body=t.body),t.storyFormat&&(e.format=t.storyFormat.toUpperCase()),t.narrator&&(e.narrator=t.narrator),t.person&&(e.personId=t.person),t.recordingFile&&(e.recordingFileId=t.recordingFile),t.visibility&&(e.visibility=t.visibility.toUpperCase()),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(V,{input:e});k$1(`Story created: ${i$1.colCreateStory.title}`),i(t,i$1.colCreateStory);}catch(e){h$1(e);}}),r$1.command("remove").description("Delete a story").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(Y,{id:t});k$1(`Story deleted: ${i$1.colDeleteStory}`),i(e,{deleted:i$1.colDeleteStory});}catch(i){h$1(i);}});}function nt(m){let r$1=m.command("comments").description("Collabkin comments on memories & stories");r$1.command("list").description("List comments for a memory or a story").option("--memory <id>","Memory ID").option("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{if(!t.memory&&!t.story)throw new o("Specify --memory or --story");let e=await b$1(W,{memoryId:t.memory,storyId:t.story});i(t,e.colListComments,{headers:["ID","Body","Memory","Story"],rows:e.colListComments.map(i=>[r(i.id,12),r(i.body,40),i.memoryId?r(i.memoryId,12):"-",i.storyId?r(i.storyId,12):"-"])});}catch(e){h$1(e);}}),r$1.command("add").description("Add a comment to a memory or a story").requiredOption("--body <text>","Comment body").option("--memory <id>","Memory ID").option("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{if(!t.memory&&!t.story)throw new o("Specify --memory or --story");let e={body:t.body};t.memory&&(e.memoryId=t.memory),t.story&&(e.storyId=t.story);let i$1=await b$1(B,{input:e});k$1("Comment added"),i(t,i$1.colAddComment);}catch(e){h$1(e);}}),r$1.command("remove").description("Delete a comment").argument("<id>","Comment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(K,{id:t});k$1(`Comment deleted: ${i$1.colDeleteComment}`),i(e,{deleted:i$1.colDeleteComment});}catch(i){h$1(i);}});}function at(m){let r$1=m.command("memberships").description("Collabkin family-tree memberships");r$1.command("list").description("List memberships for a tree").requiredOption("--tree <id>","Family tree ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(j,{treeId:t.tree});i(t,e.colListMemberships,{headers:["ID","Member","Person","Role","Status"],rows:e.colListMemberships.map(i=>[r(i.id,12),r(i.memberUserId,12),i.personId?r(i.personId,12):"-",i.role,i.status])});}catch(e){h$1(e);}}),r$1.command("invite").description("Invite a member to a family tree").requiredOption("--tree <id>","Family tree ID").requiredOption("--member <id>","Member user ID").option("--person <id>","Linked person ID").option("--role <r>","OWNER|STEWARD|CONTRIBUTOR|VIEWER").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,memberUserId:t.member};t.person&&(e.personId=t.person),t.role&&(e.role=t.role.toUpperCase());let i$1=await b$1(z,{input:e});k$1(`Member invited: ${i$1.colInviteMember.memberUserId}`),i(t,i$1.colInviteMember);}catch(e){h$1(e);}}),r$1.command("accept").description("Accept a membership invitation").argument("<id>","Membership ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(J,{id:t});k$1(`Membership accepted: ${i$1.colAcceptMembership.status}`),i(e,i$1.colAcceptMembership);}catch(i){h$1(i);}}),r$1.command("remove").description("Remove a member from a family tree").argument("<id>","Membership ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(Q,{id:t});k$1(`Member removed: ${i$1.colRemoveMember}`),i(e,{removed:i$1.colRemoveMember});}catch(i){h$1(i);}});}function st(m){m.command("health").description("Collabkin service health check (public)").option("-f, --format <format>","Output format").action(async r=>{try{let t=await d(X);k$1(t.colHealth),i(r,{health:t.colHealth});}catch(t){h$1(t);}});}var mt={id:"collabkin",version:"1.0.0",displayName:"Collabkin",dependsOn:["auth","workspaces"],register(m,r){a(r);let t=m.command("collabkin").description("Collabkin collaborative family history");Z(t),tt(t),et(t),it(t),rt(t),ot(t),nt(t),at(t),st(t);}},Qt=mt;export{Qt as default};
|
|
223
|
+
`;function c(s){let o$1=Number.parseInt(s,10);if(Number.isNaN(o$1))throw new o(`Expected an integer but got "${s}"`);return o$1}function y(s){return s.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function tt(s){let o$1=s.command("trees").description("Collabkin family trees");o$1.command("list").description("List family trees").option("--status <s>","ACTIVE|ARCHIVED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(b,{status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListFamilyTrees.items,{headers:["ID","Name","Surname","Status","Tags"],rows:e.colListFamilyTrees.items.map(i=>[r(i.id,12),i.name,i.surname??"-",i.status,(i.tags??[]).join(", ")])});}catch(e){h(e);}}),o$1.command("get").description("Get a family tree by id").argument("<id>","Family tree ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(D,{id:t});if(!i$1.colFamilyTree)throw new o(`Family tree ${t} not found`);i(e,i$1.colFamilyTree);}catch(i){h(i);}}),o$1.command("create").description("Create a family tree").requiredOption("--name <name>","Tree name").option("--surname <s>","Family surname").option("--description <s>","Description").option("--cover-file <id>","Cover file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.surname&&(e.surname=t.surname),t.description&&(e.description=t.description),t.coverFile&&(e.coverFileId=t.coverFile),t.tags&&(e.tags=y(t.tags));let i$1=await b$1(T,{input:e});k$1(`Family tree created: ${i$1.colCreateFamilyTree.name}`),i(t,i$1.colCreateFamilyTree);}catch(e){h(e);}}),o$1.command("update").description("Update a family tree").argument("<id>","Family tree ID").option("--name <name>","Tree name").option("--surname <s>","Family surname").option("--description <s>","Description").option("--cover-file <id>","Cover file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.surname!==void 0&&(i$1.surname=e.surname),e.description!==void 0&&(i$1.description=e.description),e.coverFile&&(i$1.coverFileId=e.coverFile),e.tags&&(i$1.tags=y(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let p=await b$1(R,{id:t,input:i$1});k$1("Family tree updated"),i(e,p.colUpdateFamilyTree);}catch(i){h(i);}}),o$1.command("archive").description("Archive a family tree").argument("<id>","Family tree ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(M,{id:t});k$1(`Family tree archived: ${i$1.colArchiveFamilyTree}`),i(e,{archived:i$1.colArchiveFamilyTree});}catch(i){h(i);}});}function et(s){let o$1=s.command("people").description("Collabkin people");o$1.command("list").description("List people in a tree").option("--tree <id>","Filter by family tree ID").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(O,{treeId:t.tree,lifeStatus:t.lifeStatus?t.lifeStatus.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListPeople.items,{headers:["ID","Given","Family","Gender","Life","Born"],rows:e.colListPeople.items.map(i=>[r(i.id,12),i.givenName,i.familyName??"-",i.gender,i.lifeStatus,q$1(i.birthDate)])});}catch(e){h(e);}}),o$1.command("get").description("Get a person by id").argument("<id>","Person ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(A,{id:t});if(!i$1.colPerson)throw new o(`Person ${t} not found`);i(e,i$1.colPerson);}catch(i){h(i);}}),o$1.command("create").description("Create a person").requiredOption("--tree <id>","Family tree ID").requiredOption("--given-name <name>","Given name").option("--family-name <name>","Family name").option("--maiden-name <name>","Maiden name").option("--nickname <name>","Nickname").option("--gender <g>","MALE|FEMALE|OTHER|UNKNOWN").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--birth-date <iso>","Birth date (ISO)").option("--birth-place <s>","Birth place").option("--death-date <iso>","Death date (ISO)").option("--bio <s>","Biography").option("--linked-user <id>","Linked user ID").option("--photo-file <id>","Photo file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,givenName:t.givenName};t.familyName&&(e.familyName=t.familyName),t.maidenName&&(e.maidenName=t.maidenName),t.nickname&&(e.nickname=t.nickname),t.gender&&(e.gender=t.gender.toUpperCase()),t.lifeStatus&&(e.lifeStatus=t.lifeStatus.toUpperCase()),t.birthDate&&(e.birthDate=t.birthDate),t.birthPlace&&(e.birthPlace=t.birthPlace),t.deathDate&&(e.deathDate=t.deathDate),t.bio&&(e.bio=t.bio),t.linkedUser&&(e.linkedUserId=t.linkedUser),t.photoFile&&(e.photoFileId=t.photoFile),t.tags&&(e.tags=y(t.tags));let i$1=await b$1(S,{input:e});k$1(`Person created: ${i$1.colCreatePerson.givenName}`),i(t,i$1.colCreatePerson);}catch(e){h(e);}}),o$1.command("update").description("Update a person").argument("<id>","Person ID").option("--given-name <name>","Given name").option("--family-name <name>","Family name").option("--maiden-name <name>","Maiden name").option("--nickname <name>","Nickname").option("--gender <g>","MALE|FEMALE|OTHER|UNKNOWN").option("--life-status <s>","LIVING|DECEASED|UNKNOWN").option("--birth-date <iso>","Birth date (ISO)").option("--birth-place <s>","Birth place").option("--death-date <iso>","Death date (ISO)").option("--bio <s>","Biography").option("--linked-user <id>","Linked user ID").option("--photo-file <id>","Photo file ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.givenName&&(i$1.givenName=e.givenName),e.familyName!==void 0&&(i$1.familyName=e.familyName),e.maidenName!==void 0&&(i$1.maidenName=e.maidenName),e.nickname!==void 0&&(i$1.nickname=e.nickname),e.gender&&(i$1.gender=e.gender.toUpperCase()),e.lifeStatus&&(i$1.lifeStatus=e.lifeStatus.toUpperCase()),e.birthDate&&(i$1.birthDate=e.birthDate),e.birthPlace!==void 0&&(i$1.birthPlace=e.birthPlace),e.deathDate&&(i$1.deathDate=e.deathDate),e.bio!==void 0&&(i$1.bio=e.bio),e.linkedUser&&(i$1.linkedUserId=e.linkedUser),e.photoFile&&(i$1.photoFileId=e.photoFile),e.tags&&(i$1.tags=y(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let p=await b$1(v,{id:t,input:i$1});k$1("Person updated"),i(e,p.colUpdatePerson);}catch(i){h(i);}}),o$1.command("remove").description("Delete a person").argument("<id>","Person ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(k,{id:t});k$1(`Person deleted: ${i$1.colDeletePerson}`),i(e,{deleted:i$1.colDeletePerson});}catch(i){h(i);}});}function it(s){let o=s.command("relationships").description("Collabkin relationships between people");o.command("list").description("List relationships in a tree (optionally for one person)").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=(await b$1(w,{treeId:t.tree,personId:t.person,pagination:{limit:t.limit,offset:t.offset}})).colListRelationships.items;i(t,i$1,{headers:["ID","From","To","Type","Certainty"],rows:i$1.map(p=>[r(p.id,12),r(p.fromPersonId,12),r(p.toPersonId,12),p.type,p.certainty])});}catch(e){h(e);}}),o.command("create").description("Create a relationship between two people").requiredOption("--tree <id>","Family tree ID").requiredOption("--from <id>","From person ID").requiredOption("--to <id>","To person ID").requiredOption("--type <t>","PARENT|CHILD|SPOUSE|PARTNER|SIBLING|GRANDPARENT|GRANDCHILD|GUARDIAN").option("--certainty <c>","CONFIRMED|PROBABLE|DISPUTED|UNVERIFIED").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,fromPersonId:t.from,toPersonId:t.to,type:t.type.toUpperCase()};t.certainty&&(e.certainty=t.certainty.toUpperCase()),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.notes&&(e.notes=t.notes);let i$1=await b$1(P,{input:e});k$1(`Relationship created: ${i$1.colCreateRelationship.type}`),i(t,i$1.colCreateRelationship);}catch(e){h(e);}}),o.command("remove").description("Delete a relationship").argument("<id>","Relationship ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(N,{id:t});k$1(`Relationship deleted: ${i$1.colDeleteRelationship}`),i(e,{deleted:i$1.colDeleteRelationship});}catch(i){h(i);}});}function ot(s){let o=s.command("events").description("Collabkin timeline events");o.command("timeline").description("Show the family timeline (dated events) for a tree").requiredOption("--tree <id>","Family tree ID").option("--person <id>","Filter by person ID").option("--type <t>","Filter by event type").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=(await b$1($,{treeId:t.tree,personId:t.person,type:t.type?t.type.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}})).colTimeline.items;i(t,i$1,{headers:["ID","Title","Type","Date","Place","Approx"],rows:i$1.map(p=>[r(p.id,12),p.title,p.type,q$1(p.date),p.place??"-",p.isApproximate?"yes":"no"])});}catch(e){h(e);}}),o.command("create").description("Create a timeline event").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Event title").requiredOption("--date <iso>","Event date (ISO)").option("--type <t>","BIRTH|DEATH|MARRIAGE|DIVORCE|EDUCATION|MILITARY|IMMIGRATION|RESIDENCE|MILESTONE|OTHER").option("--description <s>","Description").option("--place <s>","Place").option("--person <id>","Associated person ID").option("--approximate","Mark the date as approximate").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title,date:t.date};t.type&&(e.type=t.type.toUpperCase()),t.description&&(e.description=t.description),t.place&&(e.place=t.place),t.person&&(e.personId=t.person),t.approximate&&(e.isApproximate=!0);let i$1=await b$1(L,{input:e});k$1(`Event created: ${i$1.colCreateEvent.title}`),i(t,i$1.colCreateEvent);}catch(e){h(e);}}),o.command("remove").description("Delete a timeline event").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(F,{id:t});k$1(`Event deleted: ${i$1.colDeleteEvent}`),i(e,{deleted:i$1.colDeleteEvent});}catch(i){h(i);}});}function rt(s){let o$1=s.command("memories").description("Collabkin memories (media)");o$1.command("list").description("List memories").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(x,{treeId:t.tree,personId:t.person,kind:t.kind?t.kind.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListMemories.items,{headers:["ID","Title","Kind","Place","Taken","Visibility"],rows:e.colListMemories.items.map(i=>[r(i.id,12),i.title,i.kind,i.place??"-",q$1(i.takenAt),i.visibility])});}catch(e){h(e);}}),o$1.command("get").description("Get a memory by id").argument("<id>","Memory ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(U,{id:t});if(!i$1.colMemory)throw new o(`Memory ${t} not found`);i(e,i$1.colMemory);}catch(i){h(i);}}),o$1.command("create").description("Create a memory").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Memory title").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--description <s>","Description").option("--place <s>","Place").option("--taken-at <iso>","Taken at (ISO)").option("--person <id>","Associated person ID").option("--file <id>","File ID (media blob)").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title};t.kind&&(e.kind=t.kind.toUpperCase()),t.description&&(e.description=t.description),t.place&&(e.place=t.place),t.takenAt&&(e.takenAt=t.takenAt),t.person&&(e.personId=t.person),t.file&&(e.fileId=t.file),t.visibility&&(e.visibility=t.visibility.toUpperCase()),t.tags&&(e.tags=y(t.tags));let i$1=await b$1(_,{input:e});k$1(`Memory created: ${i$1.colCreateMemory.title}`),i(t,i$1.colCreateMemory);}catch(e){h(e);}}),o$1.command("update").description("Update a memory").argument("<id>","Memory ID").option("--title <t>","Memory title").option("--kind <k>","PHOTO|VIDEO|AUDIO|DOCUMENT|ARTIFACT").option("--description <s>","Description").option("--place <s>","Place").option("--taken-at <iso>","Taken at (ISO)").option("--person <id>","Associated person ID").option("--file <id>","File ID (media blob)").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.title&&(i$1.title=e.title),e.kind&&(i$1.kind=e.kind.toUpperCase()),e.description!==void 0&&(i$1.description=e.description),e.place!==void 0&&(i$1.place=e.place),e.takenAt&&(i$1.takenAt=e.takenAt),e.person&&(i$1.personId=e.person),e.file&&(i$1.fileId=e.file),e.visibility&&(i$1.visibility=e.visibility.toUpperCase()),e.tags&&(i$1.tags=y(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let p=await b$1(H,{id:t,input:i$1});k$1("Memory updated"),i(e,p.colUpdateMemory);}catch(i){h(i);}}),o$1.command("remove").description("Delete a memory").argument("<id>","Memory ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(q,{id:t});k$1(`Memory deleted: ${i$1.colDeleteMemory}`),i(e,{deleted:i$1.colDeleteMemory});}catch(i){h(i);}});}function nt(s){let o$1=s.command("stories").description("Collabkin stories");o$1.command("list").description("List stories").option("--tree <id>","Filter by family tree ID").option("--person <id>","Filter by person ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(Y,{treeId:t.tree,personId:t.person,pagination:{limit:t.limit,offset:t.offset}});i(t,e.colListStories.items,{headers:["ID","Title","Format","Narrator","Visibility"],rows:e.colListStories.items.map(i=>[r(i.id,12),i.title,i.format,i.narrator??"-",i.visibility])});}catch(e){h(e);}}),o$1.command("get").description("Get a story by id").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(G,{id:t});if(!i$1.colStory)throw new o(`Story ${t} not found`);i(e,i$1.colStory);}catch(i){h(i);}}),o$1.command("create").description("Create a story").requiredOption("--tree <id>","Family tree ID").requiredOption("--title <t>","Story title").option("--body <s>","Story body").option("--story-format <f>","WRITTEN|AUDIO|VIDEO").option("--narrator <s>","Narrator").option("--person <id>","Associated person ID").option("--recording-file <id>","Recording file ID").option("--visibility <v>","TREE|STEWARDS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,title:t.title};t.body&&(e.body=t.body),t.storyFormat&&(e.format=t.storyFormat.toUpperCase()),t.narrator&&(e.narrator=t.narrator),t.person&&(e.personId=t.person),t.recordingFile&&(e.recordingFileId=t.recordingFile),t.visibility&&(e.visibility=t.visibility.toUpperCase()),t.tags&&(e.tags=y(t.tags));let i$1=await b$1(V,{input:e});k$1(`Story created: ${i$1.colCreateStory.title}`),i(t,i$1.colCreateStory);}catch(e){h(e);}}),o$1.command("remove").description("Delete a story").argument("<id>","Story ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(B,{id:t});k$1(`Story deleted: ${i$1.colDeleteStory}`),i(e,{deleted:i$1.colDeleteStory});}catch(i){h(i);}});}var mt="collabkin_memory",pt="collabkin_story";function at(s){if(s.memory&&!s.story)return {entityType:mt,entityId:s.memory};if(s.story&&!s.memory)return {entityType:pt,entityId:s.story};throw new o("Specify exactly one of --memory or --story")}function st(s){return {id:s.id,body:s.content.text??"",authorId:s.authorId,memoryId:s.entityType===mt?s.entityId:null,storyId:s.entityType===pt?s.entityId:null,createdAt:s.createdAt}}function dt(s){let o=s.command("comments").description("Collabkin comments on memories & stories");o.command("list").description("List comments for a memory or a story (oldest first)").option("--memory <id>","Memory ID").option("--story <id>","Story ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=at(t),p=(await b$1(W,{input:{...e,skip:t.offset,take:t.limit,sortBy:"createdAt",sortOrder:"asc"}})).getEntityComments.items.map(st);i(t,p,{headers:["ID","Body","Memory","Story"],rows:p.map(E=>[r(E.id,12),r(E.body,40),E.memoryId?r(E.memoryId,12):"-",E.storyId?r(E.storyId,12):"-"])});}catch(e){h(e);}}),o.command("add").description("Add a comment to a memory or a story").requiredOption("--body <text>","Comment body").option("--memory <id>","Memory ID").option("--story <id>","Story ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={...at(t),content:{text:t.body}},i$1=await b$1(z,{input:e});k$1("Comment added"),i(t,st(i$1.createEntityComment));}catch(e){h(e);}}),o.command("remove").description("Delete a comment").argument("<id>","Comment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(K,{input:{id:t,soft:!0}});k$1(`Comment deleted: ${i$1.deleteEntityComment}`),i(e,{deleted:i$1.deleteEntityComment});}catch(i){h(i);}});}function ct(s){let o=s.command("memberships").description("Collabkin family-tree memberships");o.command("list").description("List memberships for a tree").requiredOption("--tree <id>","Family tree ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=(await b$1(j,{treeId:t.tree,pagination:{limit:t.limit,offset:t.offset}})).colListMemberships.items;i(t,i$1,{headers:["ID","Member","Person","Role","Status"],rows:i$1.map(p=>[r(p.id,12),r(p.memberUserId,12),p.personId?r(p.personId,12):"-",p.role,p.status])});}catch(e){h(e);}}),o.command("invite").description("Invite a member to a family tree").requiredOption("--tree <id>","Family tree ID").requiredOption("--member <id>","Member user ID").option("--person <id>","Linked person ID").option("--role <r>","OWNER|STEWARD|CONTRIBUTOR|VIEWER").option("-f, --format <format>","Output format").action(async t=>{try{let e={treeId:t.tree,memberUserId:t.member};t.person&&(e.personId=t.person),t.role&&(e.role=t.role.toUpperCase());let i$1=await b$1(J,{input:e});k$1(`Member invited: ${i$1.colInviteMember.memberUserId}`),i(t,i$1.colInviteMember);}catch(e){h(e);}}),o.command("accept").description("Accept a membership invitation").argument("<id>","Membership ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(Q,{id:t});k$1(`Membership accepted: ${i$1.colAcceptMembership.status}`),i(e,i$1.colAcceptMembership);}catch(i){h(i);}}),o.command("remove").description("Remove a member from a family tree").argument("<id>","Membership ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(X,{id:t});k$1(`Member removed: ${i$1.colRemoveMember}`),i(e,{removed:i$1.colRemoveMember});}catch(i){h(i);}});}function lt(s){s.command("health").description("Collabkin service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d(Z);k$1(t.colHealth),i(o,{health:t.colHealth});}catch(t){h(t);}});}var ft={id:"collabkin",version:"1.0.0",displayName:"Collabkin",dependsOn:["auth","workspaces"],register(s,o){a(o);let t=s.command("collabkin").description("Collabkin collaborative family history");tt(t),et(t),it(t),ot(t),rt(t),nt(t),dt(t),ct(t),lt(t);}},ie=ft;export{ie as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/cli-sdk",
|
|
3
|
-
"version": "2026.1107.
|
|
3
|
+
"version": "2026.1107.2",
|
|
4
4
|
"description": "Modular CLI SDK shared across all Burdenoff product CLIs (vibecontrols, botlit, fluidgrids, bigconsole, healthybowl, devportal, workspaces). Each module exports CliModule contract; product CLIs become thin shells that pick which modules to mount.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|