@morten-olsen/builder-cli 0.0.7

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 (58) hide show
  1. package/dist/cli.auth-store.d.ts +14 -0
  2. package/dist/cli.auth-store.d.ts.map +1 -0
  3. package/dist/cli.auth-store.js +37 -0
  4. package/dist/cli.auth-store.js.map +1 -0
  5. package/dist/cli.context.d.ts +11 -0
  6. package/dist/cli.context.d.ts.map +1 -0
  7. package/dist/cli.context.js +15 -0
  8. package/dist/cli.context.js.map +1 -0
  9. package/dist/cli.d.ts +3 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.defaults.d.ts +5 -0
  12. package/dist/cli.defaults.d.ts.map +1 -0
  13. package/dist/cli.defaults.js +40 -0
  14. package/dist/cli.defaults.js.map +1 -0
  15. package/dist/cli.http.d.ts +9 -0
  16. package/dist/cli.http.d.ts.map +1 -0
  17. package/dist/cli.http.js +82 -0
  18. package/dist/cli.http.js.map +1 -0
  19. package/dist/cli.js +27 -0
  20. package/dist/cli.js.map +1 -0
  21. package/dist/cli.output.d.ts +12 -0
  22. package/dist/cli.output.d.ts.map +1 -0
  23. package/dist/cli.output.js +31 -0
  24. package/dist/cli.output.js.map +1 -0
  25. package/dist/cli.prompt.d.ts +4 -0
  26. package/dist/cli.prompt.d.ts.map +1 -0
  27. package/dist/cli.prompt.js +64 -0
  28. package/dist/cli.prompt.js.map +1 -0
  29. package/dist/commands/commands.admin.d.ts +4 -0
  30. package/dist/commands/commands.admin.d.ts.map +1 -0
  31. package/dist/commands/commands.admin.js +184 -0
  32. package/dist/commands/commands.admin.js.map +1 -0
  33. package/dist/commands/commands.auth.d.ts +4 -0
  34. package/dist/commands/commands.auth.d.ts.map +1 -0
  35. package/dist/commands/commands.auth.js +112 -0
  36. package/dist/commands/commands.auth.js.map +1 -0
  37. package/dist/commands/commands.identity.d.ts +4 -0
  38. package/dist/commands/commands.identity.d.ts.map +1 -0
  39. package/dist/commands/commands.identity.js +117 -0
  40. package/dist/commands/commands.identity.js.map +1 -0
  41. package/dist/commands/commands.repo.d.ts +4 -0
  42. package/dist/commands/commands.repo.d.ts.map +1 -0
  43. package/dist/commands/commands.repo.js +184 -0
  44. package/dist/commands/commands.repo.js.map +1 -0
  45. package/dist/commands/commands.server.d.ts +4 -0
  46. package/dist/commands/commands.server.d.ts.map +1 -0
  47. package/dist/commands/commands.server.js +38 -0
  48. package/dist/commands/commands.server.js.map +1 -0
  49. package/dist/commands/commands.session.d.ts +4 -0
  50. package/dist/commands/commands.session.d.ts.map +1 -0
  51. package/dist/commands/commands.session.js +296 -0
  52. package/dist/commands/commands.session.js.map +1 -0
  53. package/dist/exports.d.ts +8 -0
  54. package/dist/exports.d.ts.map +1 -0
  55. package/dist/exports.js +5 -0
  56. package/dist/exports.js.map +1 -0
  57. package/dist/tsconfig.tsbuildinfo +1 -0
  58. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.admin.js","sourceRoot":"","sources":["../../src/commands/commands.admin.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAEjF,KAAK;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;YAE5C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,KAAK,EAAE;oBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC3B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAqB,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,KAAK,EAAE;oBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC3B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACjC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;oBAC/B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;oBACjC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;oBAC1C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAqB,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,UAAU,EAAE;oBACrB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC3B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACjC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;oBAC/B,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE;oBAC5C,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBAC9C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAqB,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,QAAQ,EAAE;oBACnB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC3B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACjC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACjC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;oBACnC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;SAC5C,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAuC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,WAAW,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAEzE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC;SACxC,cAAc,CAAC,eAAe,EAAE,kDAAkD,CAAC;SACnF,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAkC,CAAC;QACzD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YAE7D,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,OAAO,CAAC;iBACnB,MAAM,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;iBAC3B,gBAAgB,EAAE,CAAC;YAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAE;iBACL,WAAW,CAAC,OAAO,CAAC;iBACpB,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;iBAC1E,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;iBAC3B,OAAO,EAAE,CAAC;YAEb,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ declare const registerAuthCommands: (program: Command) => void;
3
+ export { registerAuthCommands };
4
+ //# sourceMappingURL=commands.auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.auth.d.ts","sourceRoot":"","sources":["../../src/commands/commands.auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,QAAA,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,IAyGhD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { AuthService } from '@morten-olsen/builder-server';
2
+ import { clearAuth, requireAuth, saveAuth } from '../cli.auth-store.js';
3
+ import { createCliContext } from '../cli.context.js';
4
+ import { isJson, printJson } from '../cli.output.js';
5
+ import { promptPassword, promptPasswordWithConfirm } from '../cli.prompt.js';
6
+ const registerAuthCommands = (program) => {
7
+ const auth = program.command('auth').description('Authentication commands');
8
+ auth
9
+ .command('register')
10
+ .description('Register a new account')
11
+ .requiredOption('--id <id>', 'User ID (slug)')
12
+ .option('--password <password>', 'Password (omit to enter securely)')
13
+ .option('--json', 'Output as JSON')
14
+ .action(async function () {
15
+ const opts = this.opts();
16
+ const password = opts.password ?? (await promptPasswordWithConfirm('Password: '));
17
+ const { services, cleanup } = await createCliContext();
18
+ try {
19
+ const authService = services.get(AuthService);
20
+ const result = await authService.register({ id: opts.id, password });
21
+ saveAuth({ token: result.token, userId: result.user.id });
22
+ if (isJson(this)) {
23
+ printJson(result);
24
+ }
25
+ else {
26
+ console.log(`Registered and logged in as ${result.user.id}`);
27
+ }
28
+ }
29
+ finally {
30
+ await cleanup();
31
+ }
32
+ });
33
+ auth
34
+ .command('login')
35
+ .description('Log in to an existing account')
36
+ .requiredOption('--id <id>', 'User ID')
37
+ .option('--password <password>', 'Password (omit to enter securely)')
38
+ .option('--json', 'Output as JSON')
39
+ .action(async function () {
40
+ const opts = this.opts();
41
+ const password = opts.password ?? (await promptPassword('Password: '));
42
+ const { services, cleanup } = await createCliContext();
43
+ try {
44
+ const authService = services.get(AuthService);
45
+ const result = await authService.login({ id: opts.id, password });
46
+ saveAuth({ token: result.token, userId: result.user.id });
47
+ if (isJson(this)) {
48
+ printJson(result);
49
+ }
50
+ else {
51
+ console.log(`Logged in as ${result.user.id}`);
52
+ }
53
+ }
54
+ finally {
55
+ await cleanup();
56
+ }
57
+ });
58
+ auth
59
+ .command('me')
60
+ .description('Show current user')
61
+ .option('--json', 'Output as JSON')
62
+ .action(async function () {
63
+ const { services, cleanup } = await createCliContext();
64
+ try {
65
+ const { userId } = await requireAuth(services);
66
+ const authService = services.get(AuthService);
67
+ const user = await authService.getMe(userId);
68
+ if (isJson(this)) {
69
+ printJson(user);
70
+ }
71
+ else {
72
+ console.log(`id: ${user.id}`);
73
+ console.log(`since: ${user.createdAt}`);
74
+ }
75
+ }
76
+ finally {
77
+ await cleanup();
78
+ }
79
+ });
80
+ auth
81
+ .command('change-password')
82
+ .description('Change your password')
83
+ .option('--json', 'Output as JSON')
84
+ .action(async function () {
85
+ const { services, cleanup } = await createCliContext();
86
+ try {
87
+ const { userId } = await requireAuth(services);
88
+ const currentPassword = await promptPassword('Current password: ');
89
+ const newPassword = await promptPasswordWithConfirm('New password: ');
90
+ const authService = services.get(AuthService);
91
+ await authService.changePassword({ userId, currentPassword, newPassword });
92
+ if (isJson(this)) {
93
+ printJson({ success: true });
94
+ }
95
+ else {
96
+ console.log('Password changed successfully.');
97
+ }
98
+ }
99
+ finally {
100
+ await cleanup();
101
+ }
102
+ });
103
+ auth
104
+ .command('logout')
105
+ .description('Clear saved credentials')
106
+ .action(async () => {
107
+ clearAuth();
108
+ console.log('Logged out.');
109
+ });
110
+ };
111
+ export { registerAuthCommands };
112
+ //# sourceMappingURL=commands.auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.auth.js","sourceRoot":"","sources":["../../src/commands/commands.auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ declare const registerIdentityCommands: (program: Command) => void;
3
+ export { registerIdentityCommands };
4
+ //# sourceMappingURL=commands.identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.identity.d.ts","sourceRoot":"","sources":["../../src/commands/commands.identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,QAAA,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,IA8GpD,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { IdentityService } from '@morten-olsen/builder-server';
2
+ import { requireAuth } from '../cli.auth-store.js';
3
+ import { createCliContext } from '../cli.context.js';
4
+ import { isJson, printJson, printTable } from '../cli.output.js';
5
+ const registerIdentityCommands = (program) => {
6
+ const identity = program.command('identity').description('Identity management commands');
7
+ identity
8
+ .command('create')
9
+ .description('Create a new identity')
10
+ .requiredOption('--id <id>', 'Identity ID (lowercase slug)')
11
+ .requiredOption('--name <name>', 'Identity name')
12
+ .requiredOption('--git-name <name>', 'Git author name')
13
+ .requiredOption('--git-email <email>', 'Git author email')
14
+ .option('--json', 'Output as JSON')
15
+ .action(async function () {
16
+ const opts = this.opts();
17
+ const { services, cleanup } = await createCliContext();
18
+ try {
19
+ const { userId } = await requireAuth(services);
20
+ const identityService = services.get(IdentityService);
21
+ const result = await identityService.create({
22
+ id: opts.id,
23
+ userId,
24
+ name: opts.name,
25
+ gitAuthorName: opts.gitName,
26
+ gitAuthorEmail: opts.gitEmail,
27
+ });
28
+ if (isJson(this)) {
29
+ printJson(result);
30
+ }
31
+ else {
32
+ console.log(`Identity created: ${result.id}`);
33
+ console.log(` name: ${result.name}`);
34
+ console.log(` git name: ${result.gitAuthorName}`);
35
+ console.log(` git email: ${result.gitAuthorEmail}`);
36
+ console.log(` public key:`);
37
+ console.log(`${result.publicKey}`);
38
+ }
39
+ }
40
+ finally {
41
+ await cleanup();
42
+ }
43
+ });
44
+ identity
45
+ .command('list')
46
+ .description('List all identities')
47
+ .option('--json', 'Output as JSON')
48
+ .action(async function () {
49
+ const { services, cleanup } = await createCliContext();
50
+ try {
51
+ const { userId } = await requireAuth(services);
52
+ const identityService = services.get(IdentityService);
53
+ const identities = await identityService.list(userId);
54
+ if (isJson(this)) {
55
+ printJson(identities);
56
+ }
57
+ else {
58
+ printTable(identities, [
59
+ { header: 'ID', key: 'id' },
60
+ { header: 'Name', key: 'name' },
61
+ { header: 'Git Name', key: 'gitAuthorName' },
62
+ { header: 'Git Email', key: 'gitAuthorEmail' },
63
+ ]);
64
+ }
65
+ }
66
+ finally {
67
+ await cleanup();
68
+ }
69
+ });
70
+ identity
71
+ .command('get')
72
+ .description('Get identity details')
73
+ .argument('<id>', 'Identity ID')
74
+ .option('--json', 'Output as JSON')
75
+ .action(async function (id) {
76
+ const { services, cleanup } = await createCliContext();
77
+ try {
78
+ const { userId } = await requireAuth(services);
79
+ const identityService = services.get(IdentityService);
80
+ const result = await identityService.get({ userId, identityId: id });
81
+ if (isJson(this)) {
82
+ printJson(result);
83
+ }
84
+ else {
85
+ console.log(`id: ${result.id}`);
86
+ console.log(`name: ${result.name}`);
87
+ console.log(`git name: ${result.gitAuthorName}`);
88
+ console.log(`git email: ${result.gitAuthorEmail}`);
89
+ console.log(`public key:`);
90
+ console.log(`${result.publicKey}`);
91
+ console.log(`created: ${result.createdAt}`);
92
+ console.log(`updated: ${result.updatedAt}`);
93
+ }
94
+ }
95
+ finally {
96
+ await cleanup();
97
+ }
98
+ });
99
+ identity
100
+ .command('delete')
101
+ .description('Delete an identity')
102
+ .argument('<id>', 'Identity ID')
103
+ .action(async function (id) {
104
+ const { services, cleanup } = await createCliContext();
105
+ try {
106
+ const { userId } = await requireAuth(services);
107
+ const identityService = services.get(IdentityService);
108
+ await identityService.delete({ userId, identityId: id });
109
+ console.log(`Identity ${id} deleted.`);
110
+ }
111
+ finally {
112
+ await cleanup();
113
+ }
114
+ });
115
+ };
116
+ export { registerIdentityCommands };
117
+ //# sourceMappingURL=commands.identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.identity.js","sourceRoot":"","sources":["../../src/commands/commands.identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ declare const registerRepoCommands: (program: Command) => void;
3
+ export { registerRepoCommands };
4
+ //# sourceMappingURL=commands.repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.repo.d.ts","sourceRoot":"","sources":["../../src/commands/commands.repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,QAAA,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,IAiLhD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,184 @@
1
+ import { RepoService, SessionService } from '@morten-olsen/builder-server';
2
+ import { requireAuth } from '../cli.auth-store.js';
3
+ import { createCliContext } from '../cli.context.js';
4
+ import { isJson, printJson, printTable } from '../cli.output.js';
5
+ const registerRepoCommands = (program) => {
6
+ const repo = program.command('repo').description('Repo management commands');
7
+ repo
8
+ .command('create')
9
+ .description('Create a new repo')
10
+ .requiredOption('--id <id>', 'Repo ID (lowercase slug)')
11
+ .requiredOption('--name <name>', 'Repo name')
12
+ .requiredOption('--url <url>', 'Repository URL')
13
+ .option('--branch <branch>', 'Default branch')
14
+ .option('--identity <id>', 'Default identity ID')
15
+ .option('--json', 'Output as JSON')
16
+ .action(async function () {
17
+ const opts = this.opts();
18
+ const { services, cleanup } = await createCliContext();
19
+ try {
20
+ const { userId } = await requireAuth(services);
21
+ const repoService = services.get(RepoService);
22
+ const result = await repoService.create({
23
+ id: opts.id,
24
+ userId,
25
+ name: opts.name,
26
+ repoUrl: opts.url,
27
+ defaultBranch: opts.branch,
28
+ defaultIdentityId: opts.identity,
29
+ });
30
+ if (isJson(this)) {
31
+ printJson(result);
32
+ }
33
+ else {
34
+ console.log(`Repo created: ${result.id}`);
35
+ console.log(` name: ${result.name}`);
36
+ console.log(` url: ${result.repoUrl}`);
37
+ console.log(` branch: ${result.defaultBranch ?? 'none'}`);
38
+ console.log(` identity: ${result.defaultIdentityId ?? 'none'}`);
39
+ }
40
+ }
41
+ finally {
42
+ await cleanup();
43
+ }
44
+ });
45
+ repo
46
+ .command('list')
47
+ .description('List all repos')
48
+ .option('--json', 'Output as JSON')
49
+ .action(async function () {
50
+ const { services, cleanup } = await createCliContext();
51
+ try {
52
+ const { userId } = await requireAuth(services);
53
+ const repoService = services.get(RepoService);
54
+ const repos = await repoService.list(userId);
55
+ if (isJson(this)) {
56
+ printJson(repos);
57
+ }
58
+ else {
59
+ printTable(repos, [
60
+ { header: 'ID', key: 'id' },
61
+ { header: 'Name', key: 'name' },
62
+ { header: 'URL', key: 'repoUrl' },
63
+ { header: 'Branch', key: 'defaultBranch' },
64
+ { header: 'Created', key: 'createdAt' },
65
+ ]);
66
+ }
67
+ }
68
+ finally {
69
+ await cleanup();
70
+ }
71
+ });
72
+ repo
73
+ .command('get')
74
+ .description('Get repo details')
75
+ .argument('<id>', 'Repo ID')
76
+ .option('--json', 'Output as JSON')
77
+ .action(async function (id) {
78
+ const { services, cleanup } = await createCliContext();
79
+ try {
80
+ const { userId } = await requireAuth(services);
81
+ const repoService = services.get(RepoService);
82
+ const result = await repoService.get({ userId, repoId: id });
83
+ if (isJson(this)) {
84
+ printJson(result);
85
+ }
86
+ else {
87
+ console.log(`id: ${result.id}`);
88
+ console.log(`name: ${result.name}`);
89
+ console.log(`url: ${result.repoUrl}`);
90
+ console.log(`branch: ${result.defaultBranch ?? 'none'}`);
91
+ console.log(`identity: ${result.defaultIdentityId ?? 'none'}`);
92
+ console.log(`created: ${result.createdAt}`);
93
+ console.log(`updated: ${result.updatedAt}`);
94
+ }
95
+ }
96
+ finally {
97
+ await cleanup();
98
+ }
99
+ });
100
+ repo
101
+ .command('update')
102
+ .description('Update a repo')
103
+ .argument('<id>', 'Repo ID')
104
+ .option('--name <name>', 'Repo name')
105
+ .option('--url <url>', 'Repository URL')
106
+ .option('--branch <branch>', 'Default branch')
107
+ .option('--identity <id>', 'Default identity ID')
108
+ .option('--json', 'Output as JSON')
109
+ .action(async function (id) {
110
+ const opts = this.opts();
111
+ const { services, cleanup } = await createCliContext();
112
+ try {
113
+ const { userId } = await requireAuth(services);
114
+ const repoService = services.get(RepoService);
115
+ const result = await repoService.update({
116
+ userId,
117
+ repoId: id,
118
+ name: opts.name,
119
+ repoUrl: opts.url,
120
+ defaultBranch: opts.branch,
121
+ defaultIdentityId: opts.identity,
122
+ });
123
+ if (isJson(this)) {
124
+ printJson(result);
125
+ }
126
+ else {
127
+ console.log(`Repo updated: ${result.id}`);
128
+ console.log(` name: ${result.name}`);
129
+ console.log(` url: ${result.repoUrl}`);
130
+ console.log(` branch: ${result.defaultBranch ?? 'none'}`);
131
+ console.log(` identity: ${result.defaultIdentityId ?? 'none'}`);
132
+ }
133
+ }
134
+ finally {
135
+ await cleanup();
136
+ }
137
+ });
138
+ repo
139
+ .command('delete')
140
+ .description('Delete a repo')
141
+ .argument('<id>', 'Repo ID')
142
+ .action(async function (id) {
143
+ const { services, cleanup } = await createCliContext();
144
+ try {
145
+ const { userId } = await requireAuth(services);
146
+ const repoService = services.get(RepoService);
147
+ await repoService.delete({ userId, repoId: id });
148
+ console.log(`Repo ${id} deleted.`);
149
+ }
150
+ finally {
151
+ await cleanup();
152
+ }
153
+ });
154
+ repo
155
+ .command('sessions')
156
+ .description('List sessions for a repo')
157
+ .argument('<id>', 'Repo ID')
158
+ .option('--json', 'Output as JSON')
159
+ .action(async function (id) {
160
+ const { services, cleanup } = await createCliContext();
161
+ try {
162
+ const { userId } = await requireAuth(services);
163
+ // Verify repo ownership
164
+ await services.get(RepoService).get({ userId, repoId: id });
165
+ const sessions = await services.get(SessionService).listByRepo({ userId, repoId: id });
166
+ if (isJson(this)) {
167
+ printJson(sessions);
168
+ }
169
+ else {
170
+ printTable(sessions, [
171
+ { header: 'ID', key: 'id' },
172
+ { header: 'Status', key: 'status' },
173
+ { header: 'Branch', key: 'branch' },
174
+ { header: 'Created', key: 'createdAt' },
175
+ ]);
176
+ }
177
+ }
178
+ finally {
179
+ await cleanup();
180
+ }
181
+ });
182
+ };
183
+ export { registerRepoCommands };
184
+ //# sourceMappingURL=commands.repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.repo.js","sourceRoot":"","sources":["../../src/commands/commands.repo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ declare const registerServerCommands: (program: Command) => void;
3
+ export { registerServerCommands };
4
+ //# sourceMappingURL=commands.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.server.d.ts","sourceRoot":"","sources":["../../src/commands/commands.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,QAAA,MAAM,sBAAsB,GAAI,SAAS,OAAO,KAAG,IAsClD,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { fastifyStatic } from '@fastify/static';
2
+ import { frontendPath } from '@morten-olsen/builder-web';
3
+ import { createApp, DatabaseService, destroy, registerAllRoutes, } from '@morten-olsen/builder-server';
4
+ import { createCliContext } from '../cli.context.js';
5
+ const registerServerCommands = (program) => {
6
+ const server = program.command('server').description('Server commands');
7
+ server
8
+ .command('start')
9
+ .description('Start the HTTP server')
10
+ .action(async () => {
11
+ const { services, config } = await createCliContext();
12
+ const db = await services.get(DatabaseService).getInstance();
13
+ await db
14
+ .updateTable('sessions')
15
+ .set({ status: 'failed', error: 'Server restarted', updated_at: new Date().toISOString() })
16
+ .where('status', 'in', ['running', 'cloning'])
17
+ .execute();
18
+ const app = await createApp({ services, config });
19
+ registerAllRoutes(app);
20
+ app.register(fastifyStatic, {
21
+ root: frontendPath,
22
+ });
23
+ const port = config.server.port;
24
+ const host = config.server.host;
25
+ await app.listen({ port, host });
26
+ console.log(`Server listening on ${host}:${port}`);
27
+ const shutdown = async () => {
28
+ console.log('Shutting down...');
29
+ await app.close();
30
+ await services[destroy]();
31
+ process.exit(0);
32
+ };
33
+ process.on('SIGINT', () => void shutdown());
34
+ process.on('SIGTERM', () => void shutdown());
35
+ });
36
+ };
37
+ export { registerServerCommands };
38
+ //# sourceMappingURL=commands.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.server.js","sourceRoot":"","sources":["../../src/commands/commands.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,SAAS,EACT,eAAe,EACf,OAAO,EACP,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAExE,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAEtD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,EAAE;aACL,WAAW,CAAC,UAAU,CAAC;aACvB,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;aAC1F,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAC7C,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC1B,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAEhC,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ declare const registerSessionCommands: (program: Command) => void;
3
+ export { registerSessionCommands };
4
+ //# sourceMappingURL=commands.session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.session.d.ts","sourceRoot":"","sources":["../../src/commands/commands.session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CzC,QAAA,MAAM,uBAAuB,GAAI,SAAS,OAAO,KAAG,IA6SnD,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}