@legdev/tkxr 1.1.11

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 (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +477 -0
  3. package/dist/cli/commands/comments.d.ts +10 -0
  4. package/dist/cli/commands/comments.d.ts.map +1 -0
  5. package/dist/cli/commands/comments.js +81 -0
  6. package/dist/cli/commands/comments.js.map +1 -0
  7. package/dist/cli/commands/create.d.ts +11 -0
  8. package/dist/cli/commands/create.d.ts.map +1 -0
  9. package/dist/cli/commands/create.js +74 -0
  10. package/dist/cli/commands/create.js.map +1 -0
  11. package/dist/cli/commands/delete.d.ts +7 -0
  12. package/dist/cli/commands/delete.d.ts.map +1 -0
  13. package/dist/cli/commands/delete.js +61 -0
  14. package/dist/cli/commands/delete.js.map +1 -0
  15. package/dist/cli/commands/list.d.ts +16 -0
  16. package/dist/cli/commands/list.d.ts.map +1 -0
  17. package/dist/cli/commands/list.js +239 -0
  18. package/dist/cli/commands/list.js.map +1 -0
  19. package/dist/cli/commands/mcp.d.ts +8 -0
  20. package/dist/cli/commands/mcp.d.ts.map +1 -0
  21. package/dist/cli/commands/mcp.js +52 -0
  22. package/dist/cli/commands/mcp.js.map +1 -0
  23. package/dist/cli/commands/serve.d.ts +8 -0
  24. package/dist/cli/commands/serve.d.ts.map +1 -0
  25. package/dist/cli/commands/serve.js +505 -0
  26. package/dist/cli/commands/serve.js.map +1 -0
  27. package/dist/cli/commands/show.d.ts +7 -0
  28. package/dist/cli/commands/show.d.ts.map +1 -0
  29. package/dist/cli/commands/show.js +84 -0
  30. package/dist/cli/commands/show.js.map +1 -0
  31. package/dist/cli/commands/sprint.d.ts +11 -0
  32. package/dist/cli/commands/sprint.d.ts.map +1 -0
  33. package/dist/cli/commands/sprint.js +114 -0
  34. package/dist/cli/commands/sprint.js.map +1 -0
  35. package/dist/cli/commands/sprints.d.ts +10 -0
  36. package/dist/cli/commands/sprints.d.ts.map +1 -0
  37. package/dist/cli/commands/sprints.js +64 -0
  38. package/dist/cli/commands/sprints.js.map +1 -0
  39. package/dist/cli/commands/status.d.ts +6 -0
  40. package/dist/cli/commands/status.d.ts.map +1 -0
  41. package/dist/cli/commands/status.js +48 -0
  42. package/dist/cli/commands/status.js.map +1 -0
  43. package/dist/cli/commands/user.d.ts +8 -0
  44. package/dist/cli/commands/user.d.ts.map +1 -0
  45. package/dist/cli/commands/user.js +61 -0
  46. package/dist/cli/commands/user.js.map +1 -0
  47. package/dist/cli/commands/users.d.ts +7 -0
  48. package/dist/cli/commands/users.d.ts.map +1 -0
  49. package/dist/cli/commands/users.js +28 -0
  50. package/dist/cli/commands/users.js.map +1 -0
  51. package/dist/cli/commands/version.d.ts +7 -0
  52. package/dist/cli/commands/version.d.ts.map +1 -0
  53. package/dist/cli/commands/version.js +94 -0
  54. package/dist/cli/commands/version.js.map +1 -0
  55. package/dist/cli/index.d.ts +3 -0
  56. package/dist/cli/index.d.ts.map +1 -0
  57. package/dist/cli/index.js +146 -0
  58. package/dist/cli/index.js.map +1 -0
  59. package/dist/core/notifier.d.ts +51 -0
  60. package/dist/core/notifier.d.ts.map +1 -0
  61. package/dist/core/notifier.js +118 -0
  62. package/dist/core/notifier.js.map +1 -0
  63. package/dist/core/storage.d.ts +41 -0
  64. package/dist/core/storage.d.ts.map +1 -0
  65. package/dist/core/storage.js +383 -0
  66. package/dist/core/storage.js.map +1 -0
  67. package/dist/core/test_getAllTickets.d.ts +2 -0
  68. package/dist/core/test_getAllTickets.d.ts.map +1 -0
  69. package/dist/core/test_getAllTickets.js +7 -0
  70. package/dist/core/test_getAllTickets.js.map +1 -0
  71. package/dist/core/types.d.ts +67 -0
  72. package/dist/core/types.d.ts.map +1 -0
  73. package/dist/core/types.js +2 -0
  74. package/dist/core/types.js.map +1 -0
  75. package/dist/index.d.ts +3 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +3 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/mcp/server.d.ts +25 -0
  80. package/dist/mcp/server.d.ts.map +1 -0
  81. package/dist/mcp/server.js +489 -0
  82. package/dist/mcp/server.js.map +1 -0
  83. package/dist/web/_app/immutable/assets/0.47dd68fd.css +1 -0
  84. package/dist/web/_app/immutable/assets/2.3f11c9a4.css +1 -0
  85. package/dist/web/_app/immutable/assets/_layout.47e0a118.css +1 -0
  86. package/dist/web/_app/immutable/assets/_page.3f11c9a4.css +1 -0
  87. package/dist/web/_app/immutable/chunks/index.23b89654.js +1 -0
  88. package/dist/web/_app/immutable/chunks/index.f094d695.js +1 -0
  89. package/dist/web/_app/immutable/chunks/scheduler.81694808.js +1 -0
  90. package/dist/web/_app/immutable/chunks/singletons.9c246a72.js +1 -0
  91. package/dist/web/_app/immutable/chunks/stores.48058fce.js +1 -0
  92. package/dist/web/_app/immutable/entry/app.fea83d45.js +1 -0
  93. package/dist/web/_app/immutable/entry/start.3fd90366.js +3 -0
  94. package/dist/web/_app/immutable/nodes/0.e605bf9a.js +1 -0
  95. package/dist/web/_app/immutable/nodes/1.e3ce54f6.js +1 -0
  96. package/dist/web/_app/immutable/nodes/2.04dfac64.js +13 -0
  97. package/dist/web/_app/version.json +1 -0
  98. package/dist/web/favicon.png +3 -0
  99. package/dist/web/favicon.svg +10 -0
  100. package/dist/web/index.html +37 -0
  101. package/package.json +60 -0
@@ -0,0 +1,114 @@
1
+ import chalk from 'chalk';
2
+ import { createStorage } from '../../core/storage.js';
3
+ export async function manageSprint(args) {
4
+ const [, subcommand, ...rest] = args._; // Skip the 'sprint' command itself
5
+ if (!subcommand || subcommand === 'help') {
6
+ showSprintHelp();
7
+ return;
8
+ }
9
+ switch (subcommand) {
10
+ case 'create':
11
+ await createSprint(rest, args);
12
+ break;
13
+ case 'status':
14
+ await updateSprintStatus(rest);
15
+ break;
16
+ default:
17
+ console.error(chalk.red(`Unknown sprint command: ${subcommand}`));
18
+ console.log(chalk.gray('Use "sprint help" for available commands.'));
19
+ process.exit(1);
20
+ }
21
+ }
22
+ function showSprintHelp() {
23
+ console.log(chalk.blue.bold('Sprint Management Commands:'));
24
+ console.log();
25
+ console.log(chalk.green('Usage:'));
26
+ console.log(' tkxr sprint <command> [options]');
27
+ console.log();
28
+ console.log(chalk.green('Commands:'));
29
+ console.log(' create <name> Create a new sprint');
30
+ console.log(' status <id> <status> Update sprint status');
31
+ console.log();
32
+ console.log(chalk.green('Options:'));
33
+ console.log(' --description <text> Sprint description (optional)');
34
+ console.log(' --goal <text> Sprint goal (optional)');
35
+ console.log(' --start-date <date> Start date (optional)');
36
+ console.log(' --end-date <date> End date (optional)');
37
+ console.log();
38
+ console.log(chalk.green('Status values:'));
39
+ console.log(' planning, active, completed');
40
+ console.log();
41
+ console.log(chalk.green('Examples:'));
42
+ console.log(' tkxr sprint create "Sprint 1"');
43
+ console.log(' tkxr sprint create "Feature Sprint" --description "Add new features" --goal "Complete user auth"');
44
+ console.log(' tkxr sprint status spr-abc123 active');
45
+ }
46
+ async function createSprint(rest, args) {
47
+ const [name] = rest;
48
+ if (!name) {
49
+ console.error(chalk.red('Sprint name is required.'));
50
+ console.log(chalk.gray('Usage: tkxr sprint create <name>'));
51
+ process.exit(1);
52
+ }
53
+ try {
54
+ const storage = await createStorage();
55
+ const options = {};
56
+ if (args.description)
57
+ options.description = args.description;
58
+ if (args.goal)
59
+ options.goal = args.goal;
60
+ if (args['start-date'])
61
+ options.startDate = new Date(args['start-date']);
62
+ if (args['end-date'])
63
+ options.endDate = new Date(args['end-date']);
64
+ const sprint = await storage.createSprint(name, options);
65
+ console.log(chalk.green.bold('✓ Sprint created successfully!'));
66
+ console.log();
67
+ console.log(chalk.white.bold(sprint.name));
68
+ console.log(chalk.gray(` ID: ${sprint.id}`));
69
+ console.log(chalk.gray(` Status: `) + chalk.yellow(sprint.status));
70
+ if (sprint.description) {
71
+ console.log(chalk.gray(` Description: ${sprint.description}`));
72
+ }
73
+ if (sprint.goal) {
74
+ console.log(chalk.gray(` Goal: ${sprint.goal}`));
75
+ }
76
+ console.log(chalk.gray(` Created: ${new Date(sprint.createdAt).toLocaleDateString()}`));
77
+ }
78
+ catch (error) {
79
+ console.error(chalk.red('Error creating sprint:'), error instanceof Error ? error.message : String(error));
80
+ process.exit(1);
81
+ }
82
+ }
83
+ async function updateSprintStatus(rest) {
84
+ const [id, status] = rest;
85
+ if (!id || !status) {
86
+ console.error(chalk.red('Sprint ID and status are required.'));
87
+ console.log(chalk.gray('Usage: tkxr sprint status <id> <status>'));
88
+ process.exit(1);
89
+ }
90
+ if (!['planning', 'active', 'completed'].includes(status)) {
91
+ console.error(chalk.red('Invalid status. Must be: planning, active, or completed'));
92
+ process.exit(1);
93
+ }
94
+ try {
95
+ const storage = await createStorage();
96
+ const sprint = await storage.updateSprintStatus(id, status);
97
+ if (!sprint) {
98
+ console.error(chalk.red(`Sprint with ID "${id}" not found.`));
99
+ process.exit(1);
100
+ }
101
+ const statusColor = status === 'completed' ? 'green' :
102
+ status === 'active' ? 'blue' : 'yellow';
103
+ console.log(chalk.green.bold('✓ Sprint status updated!'));
104
+ console.log();
105
+ console.log(chalk.white.bold(sprint.name));
106
+ console.log(chalk.gray(` ID: ${sprint.id}`));
107
+ console.log(chalk.gray(` Status: `) + chalk[statusColor](sprint.status));
108
+ }
109
+ catch (error) {
110
+ console.error(chalk.red('Error updating sprint status:'), error instanceof Error ? error.message : String(error));
111
+ process.exit(1);
112
+ }
113
+ }
114
+ //# sourceMappingURL=sprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint.js","sourceRoot":"","sources":["../../../src/cli/commands/sprint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type minimist from 'minimist';
2
+ interface SprintsArgs extends minimist.ParsedArgs {
3
+ _: string[];
4
+ status?: 'planning' | 'active' | 'completed';
5
+ archived?: boolean;
6
+ a?: boolean;
7
+ }
8
+ export declare function listSprints(args: SprintsArgs): Promise<void>;
9
+ export {};
10
+ //# sourceMappingURL=sprints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprints.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sprints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,UAAU,WAAY,SAAQ,QAAQ,CAAC,UAAU;IAC/C,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,CAAC,EAAE,OAAO,CAAC;CACb;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoElE"}
@@ -0,0 +1,64 @@
1
+ import chalk from 'chalk';
2
+ import { createStorage } from '../../core/storage.js';
3
+ export async function listSprints(args) {
4
+ try {
5
+ const storage = await createStorage();
6
+ let sprints = await storage.getSprints();
7
+ // Filter by status if provided
8
+ if (args.status) {
9
+ sprints = sprints.filter(sprint => sprint.status === args.status);
10
+ }
11
+ // Get archived sprints if requested
12
+ const archived = args.archived || args.a ? await storage.getArchivedSprints() : [];
13
+ if (sprints.length === 0 && archived.length === 0) {
14
+ const statusText = args.status ? ` with status "${args.status}"` : '';
15
+ console.log(chalk.yellow(`No sprints found${statusText}.`));
16
+ return;
17
+ }
18
+ // Active sprints
19
+ if (sprints.length > 0) {
20
+ const statusText = args.status ? ` (${args.status})` : '';
21
+ console.log(chalk.blue.bold(`Found ${sprints.length} sprint${sprints.length === 1 ? '' : 's'}${statusText}:`));
22
+ console.log();
23
+ for (const sprint of sprints) {
24
+ const statusColor = sprint.status === 'completed' ? 'green' :
25
+ sprint.status === 'active' ? 'blue' : 'yellow';
26
+ console.log(chalk.white.bold(sprint.name));
27
+ console.log(chalk.gray(` ID: ${sprint.id}`));
28
+ console.log(chalk.gray(` Status: `) + chalk[statusColor](sprint.status));
29
+ if (sprint.description) {
30
+ console.log(chalk.gray(` Description: ${sprint.description}`));
31
+ }
32
+ if (sprint.goal) {
33
+ console.log(chalk.gray(` Goal: ${sprint.goal}`));
34
+ }
35
+ console.log(chalk.gray(` Created: ${new Date(sprint.createdAt).toLocaleDateString()}`));
36
+ if (sprint.startDate) {
37
+ console.log(chalk.gray(` Start Date: ${new Date(sprint.startDate).toLocaleDateString()}`));
38
+ }
39
+ if (sprint.endDate) {
40
+ console.log(chalk.gray(` End Date: ${new Date(sprint.endDate).toLocaleDateString()}`));
41
+ }
42
+ console.log();
43
+ }
44
+ }
45
+ // Archived sprints
46
+ if ((args.archived || args.a) && archived.length > 0) {
47
+ if (sprints.length > 0)
48
+ console.log('─'.repeat(50)); // Add separator
49
+ console.log(chalk.blue.bold(`📁 Archived Sprints (${archived.length}):`));
50
+ console.log();
51
+ for (const sprintId of archived) {
52
+ console.log(chalk.white.bold(`Sprint Archive: ${sprintId}`));
53
+ console.log(chalk.gray(` Archive File: tkxr/archives/archive-${sprintId}.yaml`));
54
+ console.log(chalk.gray(` Status: `) + chalk.green('completed'));
55
+ console.log();
56
+ }
57
+ }
58
+ }
59
+ catch (error) {
60
+ console.error(chalk.red('Error listing sprints:'), error instanceof Error ? error.message : String(error));
61
+ process.exit(1);
62
+ }
63
+ }
64
+ //# sourceMappingURL=sprints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprints.js","sourceRoot":"","sources":["../../../src/cli/commands/sprints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type minimist from 'minimist';
2
+ interface StatusArgs extends minimist.ParsedArgs {
3
+ }
4
+ export declare function updateTicketStatus(args: StatusArgs): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAKrC,UAAU,UAAW,SAAQ,QAAQ,CAAC,UAAU;CAAG;AAInD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDxE"}
@@ -0,0 +1,48 @@
1
+ import chalk from 'chalk';
2
+ import { createStorage } from '../../core/storage.js';
3
+ import { notifier } from '../../core/notifier.js';
4
+ const VALID_STATUSES = ['todo', 'progress', 'done'];
5
+ export async function updateTicketStatus(args) {
6
+ const [, id, status] = args._;
7
+ if (!id) {
8
+ console.log(chalk.red('Error: Ticket ID is required'));
9
+ console.log('Usage: tkxr status <id> <status>');
10
+ console.log(`Valid statuses: ${VALID_STATUSES.join(', ')}`);
11
+ return;
12
+ }
13
+ if (!status) {
14
+ console.log(chalk.red('Error: Status is required'));
15
+ console.log(`Valid statuses: ${VALID_STATUSES.join(', ')}`);
16
+ return;
17
+ }
18
+ if (!VALID_STATUSES.includes(status)) {
19
+ console.log(chalk.red(`Error: Invalid status "${status}"`));
20
+ console.log(`Valid statuses: ${VALID_STATUSES.join(', ')}`);
21
+ return;
22
+ }
23
+ const storage = await createStorage();
24
+ try {
25
+ const updatedTicket = await storage.updateTicketStatus(id, status);
26
+ if (!updatedTicket) {
27
+ console.log(chalk.red(`Error: No ticket found with ID "${id}"`));
28
+ return;
29
+ }
30
+ // Notify web UI
31
+ await notifier.notifyTicketUpdated(updatedTicket);
32
+ const statusColors = {
33
+ todo: chalk.gray,
34
+ progress: chalk.yellow,
35
+ done: chalk.green,
36
+ };
37
+ const statusColor = statusColors[updatedTicket.status];
38
+ console.log(chalk.green(`✓ Updated ticket status`));
39
+ console.log(` ID: ${chalk.blue(updatedTicket.id)}`);
40
+ console.log(` Title: ${updatedTicket.title}`);
41
+ console.log(` Status: ${statusColor(updatedTicket.status)}`);
42
+ console.log(` Updated: ${updatedTicket.updatedAt.toLocaleString()}`);
43
+ }
44
+ catch (error) {
45
+ console.log(chalk.red(`Error updating ticket status: ${error instanceof Error ? error.message : 'Unknown error'}`));
46
+ }
47
+ }
48
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type minimist from 'minimist';
2
+ interface UserArgs extends minimist.ParsedArgs {
3
+ _: string[];
4
+ email?: string;
5
+ }
6
+ export declare function manageUser(args: UserArgs): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,UAAU,QAAS,SAAQ,QAAQ,CAAC,UAAU;IAC5C,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9D"}
@@ -0,0 +1,61 @@
1
+ import chalk from 'chalk';
2
+ import { createStorage } from '../../core/storage.js';
3
+ export async function manageUser(args) {
4
+ const [, subcommand, ...rest] = args._; // Skip the 'user' command itself
5
+ if (!subcommand || subcommand === 'help') {
6
+ showUserHelp();
7
+ return;
8
+ }
9
+ switch (subcommand) {
10
+ case 'create':
11
+ await createUser(rest, args);
12
+ break;
13
+ default:
14
+ console.error(chalk.red(`Unknown user command: ${subcommand}`));
15
+ console.log(chalk.gray('Use "user help" for available commands.'));
16
+ process.exit(1);
17
+ }
18
+ }
19
+ function showUserHelp() {
20
+ console.log(chalk.blue.bold('User Management Commands:'));
21
+ console.log();
22
+ console.log(chalk.green('Usage:'));
23
+ console.log(' tkxr user <command> [options]');
24
+ console.log();
25
+ console.log(chalk.green('Commands:'));
26
+ console.log(' create <username> <displayName> Create a new user');
27
+ console.log();
28
+ console.log(chalk.green('Options:'));
29
+ console.log(' --email <email> Email address (optional)');
30
+ console.log();
31
+ console.log(chalk.green('Examples:'));
32
+ console.log(' tkxr user create johndoe "John Doe"');
33
+ console.log(' tkxr user create alice "Alice Smith" --email alice@example.com');
34
+ }
35
+ async function createUser(rest, args) {
36
+ const [username, displayName] = rest;
37
+ if (!username || !displayName) {
38
+ console.error(chalk.red('Username and display name are required.'));
39
+ console.log(chalk.gray('Usage: tkxr user create <username> <displayName>'));
40
+ process.exit(1);
41
+ }
42
+ try {
43
+ const storage = await createStorage();
44
+ const user = await storage.createUser(username, displayName, {
45
+ email: args.email,
46
+ });
47
+ console.log(chalk.green.bold('✓ User created successfully!'));
48
+ console.log();
49
+ console.log(chalk.white.bold(`${user.displayName} (@${user.username})`));
50
+ console.log(chalk.gray(` ID: ${user.id}`));
51
+ if (user.email) {
52
+ console.log(chalk.gray(` Email: ${user.email}`));
53
+ }
54
+ console.log(chalk.gray(` Created: ${new Date(user.createdAt).toLocaleDateString()}`));
55
+ }
56
+ catch (error) {
57
+ console.error(chalk.red('Error creating user:'), error instanceof Error ? error.message : String(error));
58
+ process.exit(1);
59
+ }
60
+ }
61
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/cli/commands/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type minimist from 'minimist';
2
+ interface UsersArgs extends minimist.ParsedArgs {
3
+ _: string[];
4
+ }
5
+ export declare function listUsers(args: UsersArgs): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/users.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,UAAU,SAAU,SAAQ,QAAQ,CAAC,UAAU;IAC7C,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B9D"}
@@ -0,0 +1,28 @@
1
+ import chalk from 'chalk';
2
+ import { createStorage } from '../../core/storage.js';
3
+ export async function listUsers(args) {
4
+ try {
5
+ const storage = await createStorage();
6
+ const users = await storage.getUsers();
7
+ if (users.length === 0) {
8
+ console.log(chalk.yellow('No users found.'));
9
+ return;
10
+ }
11
+ console.log(chalk.blue.bold(`Found ${users.length} user${users.length === 1 ? '' : 's'}:`));
12
+ console.log();
13
+ for (const user of users) {
14
+ console.log(chalk.white.bold(`${user.displayName} (@${user.username})`));
15
+ console.log(chalk.gray(` ID: ${user.id}`));
16
+ if (user.email) {
17
+ console.log(chalk.gray(` Email: ${user.email}`));
18
+ }
19
+ console.log(chalk.gray(` Created: ${new Date(user.createdAt).toLocaleDateString()}`));
20
+ console.log();
21
+ }
22
+ }
23
+ catch (error) {
24
+ console.error(chalk.red('Error listing users:'), error instanceof Error ? error.message : String(error));
25
+ process.exit(1);
26
+ }
27
+ }
28
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/cli/commands/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type minimist from 'minimist';
2
+ interface VersionArgs extends minimist.ParsedArgs {
3
+ bump?: 'patch' | 'minor' | 'major';
4
+ }
5
+ export declare function manageVersion(args: VersionArgs): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAIrC,UAAU,WAAY,SAAQ,QAAQ,CAAC,UAAU;IAC/C,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACpC;AAiCD,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEpE"}
@@ -0,0 +1,94 @@
1
+ import chalk from 'chalk';
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ function parseVersion(version) {
5
+ const parts = version.split('.').map(Number);
6
+ return [parts[0] || 0, parts[1] || 0, parts[2] || 0];
7
+ }
8
+ function formatVersion(major, minor, patch) {
9
+ return `${major}.${minor}.${patch}`;
10
+ }
11
+ function bumpVersion(version, type) {
12
+ const [major, minor, patch] = parseVersion(version);
13
+ switch (type) {
14
+ case 'major':
15
+ return formatVersion(major + 1, 0, 0);
16
+ case 'minor':
17
+ return formatVersion(major, minor + 1, 0);
18
+ case 'patch':
19
+ return formatVersion(major, minor, patch + 1);
20
+ default:
21
+ return version;
22
+ }
23
+ }
24
+ async function updatePackageVersion(filePath, newVersion) {
25
+ const content = await fs.readFile(filePath, 'utf8');
26
+ const pkg = JSON.parse(content);
27
+ pkg.version = newVersion;
28
+ await fs.writeFile(filePath, JSON.stringify(pkg, null, 2) + '\n', 'utf8');
29
+ }
30
+ export async function manageVersion(args) {
31
+ try {
32
+ const rootPkgPath = path.join(process.cwd(), 'package.json');
33
+ const webPkgPath = path.join(process.cwd(), 'src', 'web', 'package.json');
34
+ // Read current version from root package.json
35
+ const rootPkgContent = await fs.readFile(rootPkgPath, 'utf8');
36
+ const rootPkg = JSON.parse(rootPkgContent);
37
+ const currentVersion = rootPkg.version || '0.0.0';
38
+ // If no bump type specified, just show current version
39
+ if (!args.bump) {
40
+ console.log(chalk.blue('Current version:'), chalk.bold(currentVersion));
41
+ // Check if web version is in sync
42
+ try {
43
+ const webPkgContent = await fs.readFile(webPkgPath, 'utf8');
44
+ const webPkg = JSON.parse(webPkgContent);
45
+ const webVersion = webPkg.version || '0.0.0';
46
+ if (webVersion !== currentVersion) {
47
+ console.log(chalk.yellow('⚠️ Web package version is out of sync:'), webVersion);
48
+ console.log(chalk.gray(' Run "tkxr version --bump patch" to sync versions'));
49
+ }
50
+ else {
51
+ console.log(chalk.green('✓ All packages are in sync'));
52
+ }
53
+ }
54
+ catch (error) {
55
+ // Web package might not exist
56
+ }
57
+ console.log();
58
+ console.log(chalk.gray('To bump version, use:'));
59
+ console.log(chalk.gray(' tkxr version --bump patch # 1.0.0 → 1.0.1'));
60
+ console.log(chalk.gray(' tkxr version --bump minor # 1.0.0 → 1.1.0'));
61
+ console.log(chalk.gray(' tkxr version --bump major # 1.0.0 → 2.0.0'));
62
+ return;
63
+ }
64
+ // Validate bump type
65
+ if (!['patch', 'minor', 'major'].includes(args.bump)) {
66
+ console.log(chalk.red('Error: Invalid bump type. Use patch, minor, or major'));
67
+ process.exit(1);
68
+ }
69
+ // Calculate new version
70
+ const newVersion = bumpVersion(currentVersion, args.bump);
71
+ console.log(chalk.blue('Version bump:'), chalk.dim(currentVersion), '→', chalk.bold.green(newVersion));
72
+ // Update root package.json
73
+ await updatePackageVersion(rootPkgPath, newVersion);
74
+ console.log(chalk.green('✓ Updated root package.json'));
75
+ // Update web package.json
76
+ try {
77
+ await updatePackageVersion(webPkgPath, newVersion);
78
+ console.log(chalk.green('✓ Updated web package.json'));
79
+ }
80
+ catch (error) {
81
+ console.log(chalk.yellow('⚠️ Could not update web package.json'));
82
+ }
83
+ console.log();
84
+ console.log(chalk.gray('Next steps:'));
85
+ console.log(chalk.gray(' 1. Commit the changes: git add package.json src/web/package.json'));
86
+ console.log(chalk.gray(` 2. Create a tag: git tag v${newVersion}`));
87
+ console.log(chalk.gray(' 3. Push: git push && git push --tags'));
88
+ }
89
+ catch (error) {
90
+ console.log(chalk.red('Error managing version:'), error instanceof Error ? error.message : error);
91
+ process.exit(1);
92
+ }
93
+ }
94
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/cli/commands/version.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}