nixelo 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +98 -0
  2. package/dist/commands/apiKeys.d.ts +3 -0
  3. package/dist/commands/apiKeys.d.ts.map +1 -0
  4. package/dist/commands/apiKeys.js +200 -0
  5. package/dist/commands/apiKeys.js.map +1 -0
  6. package/dist/commands/auth.d.ts +7 -0
  7. package/dist/commands/auth.d.ts.map +1 -0
  8. package/dist/commands/auth.js +201 -0
  9. package/dist/commands/auth.js.map +1 -0
  10. package/dist/commands/automations.d.ts +3 -0
  11. package/dist/commands/automations.d.ts.map +1 -0
  12. package/dist/commands/automations.js +302 -0
  13. package/dist/commands/automations.js.map +1 -0
  14. package/dist/commands/commandTree.d.ts +10 -0
  15. package/dist/commands/commandTree.d.ts.map +1 -0
  16. package/dist/commands/commandTree.js +36 -0
  17. package/dist/commands/commandTree.js.map +1 -0
  18. package/dist/commands/completion.d.ts +6 -0
  19. package/dist/commands/completion.d.ts.map +1 -0
  20. package/dist/commands/completion.js +101 -0
  21. package/dist/commands/completion.js.map +1 -0
  22. package/dist/commands/config.d.ts +3 -0
  23. package/dist/commands/config.d.ts.map +1 -0
  24. package/dist/commands/config.js +133 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/documents.d.ts +3 -0
  27. package/dist/commands/documents.d.ts.map +1 -0
  28. package/dist/commands/documents.js +200 -0
  29. package/dist/commands/documents.js.map +1 -0
  30. package/dist/commands/fields.d.ts +3 -0
  31. package/dist/commands/fields.d.ts.map +1 -0
  32. package/dist/commands/fields.js +199 -0
  33. package/dist/commands/fields.js.map +1 -0
  34. package/dist/commands/filters.d.ts +3 -0
  35. package/dist/commands/filters.d.ts.map +1 -0
  36. package/dist/commands/filters.js +243 -0
  37. package/dist/commands/filters.js.map +1 -0
  38. package/dist/commands/global.d.ts +5 -0
  39. package/dist/commands/global.d.ts.map +1 -0
  40. package/dist/commands/global.js +42 -0
  41. package/dist/commands/global.js.map +1 -0
  42. package/dist/commands/index.d.ts +23 -0
  43. package/dist/commands/index.d.ts.map +1 -0
  44. package/dist/commands/index.js +23 -0
  45. package/dist/commands/index.js.map +1 -0
  46. package/dist/commands/invites.d.ts +3 -0
  47. package/dist/commands/invites.d.ts.map +1 -0
  48. package/dist/commands/invites.js +113 -0
  49. package/dist/commands/invites.js.map +1 -0
  50. package/dist/commands/issues/filter.d.ts +19 -0
  51. package/dist/commands/issues/filter.d.ts.map +1 -0
  52. package/dist/commands/issues/filter.js +72 -0
  53. package/dist/commands/issues/filter.js.map +1 -0
  54. package/dist/commands/issues/options.d.ts +33 -0
  55. package/dist/commands/issues/options.d.ts.map +1 -0
  56. package/dist/commands/issues/options.js +68 -0
  57. package/dist/commands/issues/options.js.map +1 -0
  58. package/dist/commands/issues/output.d.ts +12 -0
  59. package/dist/commands/issues/output.d.ts.map +1 -0
  60. package/dist/commands/issues/output.js +285 -0
  61. package/dist/commands/issues/output.js.map +1 -0
  62. package/dist/commands/issues.d.ts +3 -0
  63. package/dist/commands/issues.d.ts.map +1 -0
  64. package/dist/commands/issues.js +483 -0
  65. package/dist/commands/issues.js.map +1 -0
  66. package/dist/commands/labels.d.ts +3 -0
  67. package/dist/commands/labels.d.ts.map +1 -0
  68. package/dist/commands/labels.js +222 -0
  69. package/dist/commands/labels.js.map +1 -0
  70. package/dist/commands/notifications.d.ts +3 -0
  71. package/dist/commands/notifications.d.ts.map +1 -0
  72. package/dist/commands/notifications.js +127 -0
  73. package/dist/commands/notifications.js.map +1 -0
  74. package/dist/commands/projects.d.ts +5 -0
  75. package/dist/commands/projects.d.ts.map +1 -0
  76. package/dist/commands/projects.js +749 -0
  77. package/dist/commands/projects.js.map +1 -0
  78. package/dist/commands/registerAll.d.ts +3 -0
  79. package/dist/commands/registerAll.d.ts.map +1 -0
  80. package/dist/commands/registerAll.js +54 -0
  81. package/dist/commands/registerAll.js.map +1 -0
  82. package/dist/commands/sprints.d.ts +3 -0
  83. package/dist/commands/sprints.d.ts.map +1 -0
  84. package/dist/commands/sprints.js +359 -0
  85. package/dist/commands/sprints.js.map +1 -0
  86. package/dist/commands/stats.d.ts +3 -0
  87. package/dist/commands/stats.d.ts.map +1 -0
  88. package/dist/commands/stats.js +206 -0
  89. package/dist/commands/stats.js.map +1 -0
  90. package/dist/commands/teams.d.ts +3 -0
  91. package/dist/commands/teams.d.ts.map +1 -0
  92. package/dist/commands/teams.js +435 -0
  93. package/dist/commands/teams.js.map +1 -0
  94. package/dist/commands/templates.d.ts +3 -0
  95. package/dist/commands/templates.d.ts.map +1 -0
  96. package/dist/commands/templates.js +264 -0
  97. package/dist/commands/templates.js.map +1 -0
  98. package/dist/commands/time.d.ts +3 -0
  99. package/dist/commands/time.d.ts.map +1 -0
  100. package/dist/commands/time.js +191 -0
  101. package/dist/commands/time.js.map +1 -0
  102. package/dist/commands/tokens.d.ts +3 -0
  103. package/dist/commands/tokens.d.ts.map +1 -0
  104. package/dist/commands/tokens.js +76 -0
  105. package/dist/commands/tokens.js.map +1 -0
  106. package/dist/commands/users.d.ts +5 -0
  107. package/dist/commands/users.d.ts.map +1 -0
  108. package/dist/commands/users.js +160 -0
  109. package/dist/commands/users.js.map +1 -0
  110. package/dist/commands/version.d.ts +3 -0
  111. package/dist/commands/version.d.ts.map +1 -0
  112. package/dist/commands/version.js +17 -0
  113. package/dist/commands/version.js.map +1 -0
  114. package/dist/commands/webhooks.d.ts +3 -0
  115. package/dist/commands/webhooks.d.ts.map +1 -0
  116. package/dist/commands/webhooks.js +407 -0
  117. package/dist/commands/webhooks.js.map +1 -0
  118. package/dist/commands/workspaces.d.ts +3 -0
  119. package/dist/commands/workspaces.d.ts.map +1 -0
  120. package/dist/commands/workspaces.js +424 -0
  121. package/dist/commands/workspaces.js.map +1 -0
  122. package/dist/index.d.ts +8 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +14 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/lib/auth.d.ts +20 -0
  127. package/dist/lib/auth.d.ts.map +1 -0
  128. package/dist/lib/auth.js +80 -0
  129. package/dist/lib/auth.js.map +1 -0
  130. package/dist/lib/convex.d.ts +1243 -0
  131. package/dist/lib/convex.d.ts.map +1 -0
  132. package/dist/lib/convex.js +675 -0
  133. package/dist/lib/convex.js.map +1 -0
  134. package/dist/lib/options.d.ts +10 -0
  135. package/dist/lib/options.d.ts.map +1 -0
  136. package/dist/lib/options.js +79 -0
  137. package/dist/lib/options.js.map +1 -0
  138. package/dist/lib/output.d.ts +19 -0
  139. package/dist/lib/output.d.ts.map +1 -0
  140. package/dist/lib/output.js +60 -0
  141. package/dist/lib/output.js.map +1 -0
  142. package/dist/lib/project-key.d.ts +5 -0
  143. package/dist/lib/project-key.d.ts.map +1 -0
  144. package/dist/lib/project-key.js +56 -0
  145. package/dist/lib/project-key.js.map +1 -0
  146. package/dist/lib/prompt.d.ts +5 -0
  147. package/dist/lib/prompt.d.ts.map +1 -0
  148. package/dist/lib/prompt.js +28 -0
  149. package/dist/lib/prompt.js.map +1 -0
  150. package/dist/lib/user-picker.d.ts +4 -0
  151. package/dist/lib/user-picker.d.ts.map +1 -0
  152. package/dist/lib/user-picker.js +57 -0
  153. package/dist/lib/user-picker.js.map +1 -0
  154. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqTxC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2MjE"}
@@ -0,0 +1,424 @@
1
+ import { addWorkspaceMember, archiveWorkspace, createWorkspace, deleteWorkspace, getWorkspace, listWorkspaceMembers, listWorkspaces, removeWorkspaceMember, updateWorkspace, updateWorkspaceMemberRole } from "../lib/convex.js";
2
+ import { parsePositiveIntegerOption, readOptionalText, readRequiredText } from "../lib/options.js";
3
+ import { getActiveOutputFormat, printError, printJson, printOutput, printRows } from "../lib/output.js";
4
+ import { requireConfirmation } from "../lib/prompt.js";
5
+ import { resolveRequiredUserEmail } from "../lib/user-picker.js";
6
+ import { addOutputOptions } from "./global.js";
7
+ const WORKSPACE_COLUMNS = [
8
+ { header: "slug", value: workspace => workspace.slug },
9
+ { header: "name", value: workspace => workspace.name },
10
+ { header: "description", value: workspace => workspace.description },
11
+ { header: "teamCount", value: workspace => workspace.teamCount },
12
+ { header: "projectCount", value: workspace => workspace.projectCount },
13
+ { header: "userRole", value: workspace => workspace.userRole },
14
+ { header: "id", value: workspace => workspace.id }
15
+ ];
16
+ const WORKSPACE_ARCHIVE_COLUMNS = [
17
+ { header: "slug", value: workspace => workspace.slug },
18
+ { header: "name", value: workspace => workspace.name },
19
+ { header: "archived", value: workspace => workspace.archived },
20
+ { header: "id", value: workspace => workspace.id }
21
+ ];
22
+ const WORKSPACE_DELETE_COLUMNS = [
23
+ { header: "slug", value: workspace => workspace.slug },
24
+ { header: "name", value: workspace => workspace.name },
25
+ { header: "deleted", value: workspace => workspace.deleted },
26
+ { header: "id", value: workspace => workspace.id }
27
+ ];
28
+ const WORKSPACE_MEMBER_COLUMNS = [
29
+ { header: "userName", value: member => member.userName },
30
+ { header: "userEmail", value: member => member.userEmail },
31
+ { header: "role", value: member => member.role },
32
+ { header: "userId", value: member => member.userId },
33
+ { header: "createdAt", value: member => member.createdAt }
34
+ ];
35
+ function readWorkspaceRole(value) {
36
+ const role = readRequiredText(value, "Role", "--role");
37
+ if (role === "admin" || role === "editor" || role === "member")
38
+ return role;
39
+ throw new Error("Role must be admin, editor, or member.");
40
+ }
41
+ function printWorkspaceList(workspaces) {
42
+ const format = getActiveOutputFormat();
43
+ if (workspaces.length === 0) {
44
+ if (format === "json") {
45
+ printJson([]);
46
+ return;
47
+ }
48
+ if (format === "csv") {
49
+ printRows([], WORKSPACE_COLUMNS, format);
50
+ return;
51
+ }
52
+ printOutput("No workspaces found.");
53
+ return;
54
+ }
55
+ if (format !== "table") {
56
+ printRows(workspaces, WORKSPACE_COLUMNS, format);
57
+ return;
58
+ }
59
+ for (const workspace of workspaces) {
60
+ printOutput(` ${workspace.slug} ${workspace.name} teams:${workspace.teamCount} projects:${workspace.projectCount}`);
61
+ }
62
+ }
63
+ function printWorkspaceProjects(projects) {
64
+ if (projects.length === 0)
65
+ return;
66
+ printOutput("Projects:");
67
+ for (const project of projects) {
68
+ printOutput(` ${project.key} ${project.name}`);
69
+ }
70
+ }
71
+ function printWorkspaceView(workspace, slug) {
72
+ const format = getActiveOutputFormat();
73
+ if (!workspace) {
74
+ if (format === "json") {
75
+ printJson(null);
76
+ return;
77
+ }
78
+ if (format === "csv") {
79
+ printRows([], WORKSPACE_COLUMNS, format);
80
+ return;
81
+ }
82
+ printOutput(`Workspace ${slug} not found.`);
83
+ return;
84
+ }
85
+ if (format === "json") {
86
+ printJson(workspace);
87
+ return;
88
+ }
89
+ if (format === "csv") {
90
+ printRows([workspace], WORKSPACE_COLUMNS, format);
91
+ return;
92
+ }
93
+ printOutput(`${workspace.slug} ${workspace.name}`);
94
+ if (workspace.description)
95
+ printOutput(workspace.description);
96
+ if (workspace.userRole)
97
+ printOutput(`Your role: ${workspace.userRole}`);
98
+ printOutput(`Teams: ${workspace.teamCount}`);
99
+ printOutput(`Projects: ${workspace.projectCount}`);
100
+ if (workspace.teams.length > 0) {
101
+ printOutput("Teams:");
102
+ for (const team of workspace.teams) {
103
+ printOutput(` ${team.slug} ${team.name} members:${team.memberCount} projects:${team.projectCount}`);
104
+ }
105
+ }
106
+ printWorkspaceProjects(workspace.projects);
107
+ }
108
+ function printWorkspaceMutationResult(workspace, slug, action) {
109
+ const format = getActiveOutputFormat();
110
+ if (!workspace) {
111
+ if (format === "json") {
112
+ printJson(null);
113
+ return;
114
+ }
115
+ if (format === "csv") {
116
+ printRows([], WORKSPACE_COLUMNS, format);
117
+ return;
118
+ }
119
+ printOutput(`Workspace ${slug} not found.`);
120
+ return;
121
+ }
122
+ if (format === "json") {
123
+ printJson(workspace);
124
+ return;
125
+ }
126
+ if (format === "csv") {
127
+ printRows([workspace], WORKSPACE_COLUMNS, format);
128
+ return;
129
+ }
130
+ printOutput(`${action} workspace ${workspace.slug}: ${workspace.name}`);
131
+ }
132
+ function printWorkspaceArchiveResult(result, slug) {
133
+ const format = getActiveOutputFormat();
134
+ if (!result) {
135
+ if (format === "json") {
136
+ printJson(null);
137
+ return;
138
+ }
139
+ if (format === "csv") {
140
+ printRows([], WORKSPACE_ARCHIVE_COLUMNS, format);
141
+ return;
142
+ }
143
+ printOutput(`Workspace ${slug} not found.`);
144
+ return;
145
+ }
146
+ if (format === "json") {
147
+ printJson(result);
148
+ return;
149
+ }
150
+ if (format === "csv") {
151
+ printRows([result], WORKSPACE_ARCHIVE_COLUMNS, format);
152
+ return;
153
+ }
154
+ printOutput(`Archived workspace ${result.slug}: ${result.name}`);
155
+ }
156
+ function printWorkspaceDeleteResult(result, slug) {
157
+ const format = getActiveOutputFormat();
158
+ if (!result) {
159
+ if (format === "json") {
160
+ printJson(null);
161
+ return;
162
+ }
163
+ if (format === "csv") {
164
+ printRows([], WORKSPACE_DELETE_COLUMNS, format);
165
+ return;
166
+ }
167
+ printOutput(`Workspace ${slug} not found.`);
168
+ return;
169
+ }
170
+ if (format === "json") {
171
+ printJson(result);
172
+ return;
173
+ }
174
+ if (format === "csv") {
175
+ printRows([result], WORKSPACE_DELETE_COLUMNS, format);
176
+ return;
177
+ }
178
+ printOutput(`Deleted workspace ${result.slug}: ${result.name}`);
179
+ }
180
+ function printWorkspaceMembersResult(members, slug) {
181
+ const format = getActiveOutputFormat();
182
+ if (!members) {
183
+ if (format === "json") {
184
+ printJson(null);
185
+ return;
186
+ }
187
+ if (format === "csv") {
188
+ printRows([], WORKSPACE_MEMBER_COLUMNS, format);
189
+ return;
190
+ }
191
+ printOutput(`Workspace ${slug} not found.`);
192
+ return;
193
+ }
194
+ if (members.length === 0) {
195
+ if (format === "json") {
196
+ printJson([]);
197
+ return;
198
+ }
199
+ if (format === "csv") {
200
+ printRows([], WORKSPACE_MEMBER_COLUMNS, format);
201
+ return;
202
+ }
203
+ printOutput("No workspace members found.");
204
+ return;
205
+ }
206
+ if (format !== "table") {
207
+ printRows(members, WORKSPACE_MEMBER_COLUMNS, format);
208
+ return;
209
+ }
210
+ for (const member of members) {
211
+ const email = member.userEmail ? ` <${member.userEmail}>` : "";
212
+ printOutput(` ${member.userName}${email} [${member.role}]`);
213
+ }
214
+ }
215
+ function printWorkspaceMemberMutationResult(result, slug, action) {
216
+ const format = getActiveOutputFormat();
217
+ if (!result) {
218
+ if (format === "json") {
219
+ printJson(null);
220
+ return;
221
+ }
222
+ if (format === "csv") {
223
+ printRows([], WORKSPACE_MEMBER_COLUMNS, format);
224
+ return;
225
+ }
226
+ printOutput(`Workspace ${slug} not found.`);
227
+ return;
228
+ }
229
+ if (format === "json") {
230
+ printJson(result);
231
+ return;
232
+ }
233
+ if (format === "csv") {
234
+ printRows([result], WORKSPACE_MEMBER_COLUMNS, format);
235
+ return;
236
+ }
237
+ const email = result.userEmail ? ` <${result.userEmail}>` : "";
238
+ const suffix = action === "Removed" ? ` from ${result.slug}` : ` in ${result.slug}`;
239
+ printOutput(`${action} ${result.userName}${email}${suffix} [${result.role}]`);
240
+ }
241
+ function readWorkspaceUpdateInput(opts) {
242
+ const input = {};
243
+ const name = readOptionalText(opts.name, "Workspace name", "--name");
244
+ if (name !== undefined)
245
+ input.name = name;
246
+ const description = readOptionalText(opts.description, "Workspace description", "--description");
247
+ if (description !== undefined)
248
+ input.description = description;
249
+ const icon = readOptionalText(opts.icon, "Workspace icon", "--icon");
250
+ if (icon !== undefined)
251
+ input.icon = icon;
252
+ if (Object.keys(input).length === 0)
253
+ throw new Error("At least one update flag is required.");
254
+ return input;
255
+ }
256
+ export function registerWorkspacesCommands(program) {
257
+ const workspacesCmd = program.command("workspaces").description("Manage workspaces");
258
+ addOutputOptions(workspacesCmd.command("list"))
259
+ .option("-n, --limit <number>", "Max workspaces", "20")
260
+ .description("List workspaces")
261
+ .action(async (opts) => {
262
+ try {
263
+ printWorkspaceList(await listWorkspaces({ limit: parsePositiveIntegerOption(opts.limit) }));
264
+ }
265
+ catch (error) {
266
+ printError("Failed:", error instanceof Error ? error.message : error);
267
+ process.exit(1);
268
+ }
269
+ });
270
+ addOutputOptions(workspacesCmd.command("view"))
271
+ .argument("<slug>", "Workspace slug")
272
+ .option("-n, --limit <number>", "Max teams and projects to show", "20")
273
+ .description("View workspace details")
274
+ .action(async (slug, opts) => {
275
+ try {
276
+ printWorkspaceView(await getWorkspace(slug, { limit: parsePositiveIntegerOption(opts.limit) }), slug);
277
+ }
278
+ catch (error) {
279
+ printError("Failed:", error instanceof Error ? error.message : error);
280
+ process.exit(1);
281
+ }
282
+ });
283
+ const membersCmd = workspacesCmd
284
+ .command("members")
285
+ .argument("[slug]", "Workspace slug")
286
+ .option("-n, --limit <number>", "Max members to show", "20")
287
+ .description("List or manage workspace members");
288
+ addOutputOptions(membersCmd).action(async (slug, opts) => {
289
+ try {
290
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
291
+ printWorkspaceMembersResult(await listWorkspaceMembers(workspaceSlug, {
292
+ limit: parsePositiveIntegerOption(opts.limit)
293
+ }), workspaceSlug);
294
+ }
295
+ catch (error) {
296
+ printError("Failed:", error instanceof Error ? error.message : error);
297
+ process.exit(1);
298
+ }
299
+ });
300
+ addOutputOptions(membersCmd.command("add"))
301
+ .argument("<slug>", "Workspace slug")
302
+ .option("--email <email>", "Member email; prompts when omitted")
303
+ .requiredOption("--role <role>", "Member role: admin, editor, or member")
304
+ .description("Add a workspace member")
305
+ .action(async (slug, opts) => {
306
+ try {
307
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
308
+ printWorkspaceMemberMutationResult(await addWorkspaceMember({
309
+ slug: workspaceSlug,
310
+ email: await resolveRequiredUserEmail(opts.email),
311
+ role: readWorkspaceRole(opts.role)
312
+ }), workspaceSlug, "Added");
313
+ }
314
+ catch (error) {
315
+ printError("Failed:", error instanceof Error ? error.message : error);
316
+ process.exit(1);
317
+ }
318
+ });
319
+ addOutputOptions(membersCmd.command("remove"))
320
+ .argument("<slug>", "Workspace slug")
321
+ .option("--email <email>", "Member email; prompts when omitted")
322
+ .option("-y, --yes", "Confirm workspace member removal")
323
+ .description("Remove a workspace member")
324
+ .action(async (slug, opts) => {
325
+ try {
326
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
327
+ const email = await resolveRequiredUserEmail(opts.email);
328
+ await requireConfirmation(`Remove ${email} from workspace ${workspaceSlug}?`, opts.yes === true);
329
+ printWorkspaceMemberMutationResult(await removeWorkspaceMember({
330
+ slug: workspaceSlug,
331
+ email
332
+ }), workspaceSlug, "Removed");
333
+ }
334
+ catch (error) {
335
+ printError("Failed:", error instanceof Error ? error.message : error);
336
+ process.exit(1);
337
+ }
338
+ });
339
+ addOutputOptions(membersCmd.command("role"))
340
+ .argument("<slug>", "Workspace slug")
341
+ .option("--email <email>", "Member email; prompts when omitted")
342
+ .requiredOption("--role <role>", "Member role: admin, editor, or member")
343
+ .description("Update a workspace member role")
344
+ .action(async (slug, opts) => {
345
+ try {
346
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
347
+ printWorkspaceMemberMutationResult(await updateWorkspaceMemberRole({
348
+ slug: workspaceSlug,
349
+ email: await resolveRequiredUserEmail(opts.email),
350
+ role: readWorkspaceRole(opts.role)
351
+ }), workspaceSlug, "Updated");
352
+ }
353
+ catch (error) {
354
+ printError("Failed:", error instanceof Error ? error.message : error);
355
+ process.exit(1);
356
+ }
357
+ });
358
+ addOutputOptions(workspacesCmd.command("create"))
359
+ .requiredOption("--name <name>", "Workspace name")
360
+ .option("--slug <slug>", "Workspace slug; defaults to a slug from --name")
361
+ .option("--description <description>", "Workspace description")
362
+ .option("--icon <icon>", "Workspace icon label")
363
+ .description("Create a workspace")
364
+ .action(async (opts) => {
365
+ try {
366
+ const name = readRequiredText(opts.name, "Workspace name", "--name");
367
+ printWorkspaceMutationResult(await createWorkspace({
368
+ name,
369
+ slug: readOptionalText(opts.slug, "Workspace slug", "--slug"),
370
+ description: readOptionalText(opts.description, "Workspace description", "--description"),
371
+ icon: readOptionalText(opts.icon, "Workspace icon", "--icon")
372
+ }), name, "Created");
373
+ }
374
+ catch (error) {
375
+ printError("Failed:", error instanceof Error ? error.message : error);
376
+ process.exit(1);
377
+ }
378
+ });
379
+ addOutputOptions(workspacesCmd.command("update"))
380
+ .argument("<slug>", "Workspace slug")
381
+ .option("--name <name>", "Workspace name")
382
+ .option("--description <description>", "Workspace description")
383
+ .option("--icon <icon>", "Workspace icon label")
384
+ .description("Update a workspace")
385
+ .action(async (slug, opts) => {
386
+ try {
387
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
388
+ printWorkspaceMutationResult(await updateWorkspace(workspaceSlug, readWorkspaceUpdateInput(opts)), workspaceSlug, "Updated");
389
+ }
390
+ catch (error) {
391
+ printError("Failed:", error instanceof Error ? error.message : error);
392
+ process.exit(1);
393
+ }
394
+ });
395
+ addOutputOptions(workspacesCmd.command("archive"))
396
+ .argument("<slug>", "Workspace slug")
397
+ .description("Archive a workspace")
398
+ .action(async (slug) => {
399
+ try {
400
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
401
+ printWorkspaceArchiveResult(await archiveWorkspace(workspaceSlug), workspaceSlug);
402
+ }
403
+ catch (error) {
404
+ printError("Failed:", error instanceof Error ? error.message : error);
405
+ process.exit(1);
406
+ }
407
+ });
408
+ addOutputOptions(workspacesCmd.command("delete"))
409
+ .argument("<slug>", "Workspace slug")
410
+ .option("-y, --yes", "Confirm workspace deletion")
411
+ .description("Delete a workspace")
412
+ .action(async (slug, opts) => {
413
+ try {
414
+ const workspaceSlug = readRequiredText(slug, "Workspace slug", "<slug>");
415
+ await requireConfirmation(`Delete workspace ${workspaceSlug}?`, opts.yes === true);
416
+ printWorkspaceDeleteResult(await deleteWorkspace(workspaceSlug), workspaceSlug);
417
+ }
418
+ catch (error) {
419
+ printError("Failed:", error instanceof Error ? error.message : error);
420
+ process.exit(1);
421
+ }
422
+ });
423
+ }
424
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Nixelo CLI entry point.
4
+ *
5
+ * Usage: npx nixelo <command>
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Nixelo CLI entry point.
4
+ *
5
+ * Usage: npx nixelo <command>
6
+ */
7
+ import { Command } from "commander";
8
+ import { registerAllCommands } from "./commands/index.js";
9
+ const program = new Command();
10
+ const CLI_VERSION = "0.0.1";
11
+ program.name("nixelo").description("Interact with Nixelo from the terminal").version(CLI_VERSION);
12
+ registerAllCommands(program, CLI_VERSION);
13
+ program.parse();
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAC7B,MAAM,WAAW,GAAG,OAAO,CAAA;AAE3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;AACjG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;AAEzC,OAAO,CAAC,KAAK,EAAE,CAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Local authentication token storage.
3
+ *
4
+ * Tokens are read from NIXELO_TOKEN first, then ~/.config/nixelo/auth.json.
5
+ */
6
+ export declare function readTokenFromEnv(env?: Record<string, string | undefined>): string | null;
7
+ export declare function loadTokenFromSources(env?: Record<string, string | undefined>, readStoredToken?: () => Promise<string | null>): Promise<string | null>;
8
+ export declare function loadToken(): Promise<string | null>;
9
+ export declare function saveToken(token: string): Promise<void>;
10
+ export declare function deleteToken(): Promise<void>;
11
+ export declare function getConfigDirPath(): string;
12
+ export declare function getAuthFilePath(): string;
13
+ export declare function getConfigFilePath(): string;
14
+ export interface CliConfig {
15
+ defaultProject?: string;
16
+ }
17
+ export declare function normalizeCliConfig(value: unknown): CliConfig;
18
+ export declare function loadConfig(): Promise<CliConfig>;
19
+ export declare function saveConfig(config: CliConfig): Promise<void>;
20
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,GAAG,IAAI,CAGf;AAYD,wBAAsB,oBAAoB,CACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,eAAe,GAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAwB,GACnE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAMjD;AAID,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAM5D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAQrD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Local authentication token storage.
3
+ *
4
+ * Tokens are read from NIXELO_TOKEN first, then ~/.config/nixelo/auth.json.
5
+ */
6
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
7
+ import { homedir } from "node:os";
8
+ import { join } from "node:path";
9
+ const CONFIG_DIR = join(homedir(), ".config", "nixelo");
10
+ const AUTH_FILE = join(CONFIG_DIR, "auth.json");
11
+ const ENV_TOKEN_NAME = "NIXELO_TOKEN";
12
+ export function readTokenFromEnv(env = process.env) {
13
+ const token = env[ENV_TOKEN_NAME]?.trim();
14
+ return token && token.length > 0 ? token : null;
15
+ }
16
+ async function readTokenFromStorage() {
17
+ try {
18
+ const data = await readFile(AUTH_FILE, "utf-8");
19
+ const parsed = JSON.parse(data);
20
+ return typeof parsed.token === "string" && parsed.token.length > 0 ? parsed.token : null;
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ export async function loadTokenFromSources(env = process.env, readStoredToken = readTokenFromStorage) {
27
+ const envToken = readTokenFromEnv(env);
28
+ if (envToken)
29
+ return envToken;
30
+ return await readStoredToken();
31
+ }
32
+ export async function loadToken() {
33
+ return await loadTokenFromSources();
34
+ }
35
+ export async function saveToken(token) {
36
+ await mkdir(CONFIG_DIR, { recursive: true });
37
+ const config = { token, createdAt: Date.now() };
38
+ await writeFile(AUTH_FILE, JSON.stringify(config, null, 2), "utf-8");
39
+ }
40
+ export async function deleteToken() {
41
+ try {
42
+ await writeFile(AUTH_FILE, JSON.stringify({ token: "", createdAt: 0 }, null, 2), "utf-8");
43
+ }
44
+ catch {
45
+ // Ignore errors — token may not exist
46
+ }
47
+ }
48
+ const CONFIG_FILE = join(CONFIG_DIR, "config.json");
49
+ export function getConfigDirPath() {
50
+ return CONFIG_DIR;
51
+ }
52
+ export function getAuthFilePath() {
53
+ return AUTH_FILE;
54
+ }
55
+ export function getConfigFilePath() {
56
+ return CONFIG_FILE;
57
+ }
58
+ export function normalizeCliConfig(value) {
59
+ if (typeof value !== "object" || value === null || Array.isArray(value))
60
+ return {};
61
+ const defaultProject = Reflect.get(value, "defaultProject");
62
+ if (typeof defaultProject !== "string" || defaultProject.trim().length === 0)
63
+ return {};
64
+ return { defaultProject: defaultProject.trim() };
65
+ }
66
+ export async function loadConfig() {
67
+ try {
68
+ const data = await readFile(CONFIG_FILE, "utf-8");
69
+ const parsed = JSON.parse(data);
70
+ return normalizeCliConfig(parsed);
71
+ }
72
+ catch {
73
+ return {};
74
+ }
75
+ }
76
+ export async function saveConfig(config) {
77
+ await mkdir(CONFIG_DIR, { recursive: true });
78
+ await writeFile(CONFIG_FILE, JSON.stringify(config, null, 2), "utf-8");
79
+ }
80
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}