@klevar/portal-cli 0.1.0

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 (46) hide show
  1. package/.portal.env.example +3 -0
  2. package/README.md +100 -0
  3. package/dist/bin/klevar-portal.d.ts +2 -0
  4. package/dist/bin/klevar-portal.js +5 -0
  5. package/dist/bin/klevar-portal.js.map +1 -0
  6. package/dist/commands/_exemptions.d.ts +31 -0
  7. package/dist/commands/_exemptions.js +38 -0
  8. package/dist/commands/_exemptions.js.map +1 -0
  9. package/dist/commands/clients.d.ts +98 -0
  10. package/dist/commands/clients.js +17 -0
  11. package/dist/commands/clients.js.map +1 -0
  12. package/dist/commands/docs.d.ts +16 -0
  13. package/dist/commands/docs.js +5 -0
  14. package/dist/commands/docs.js.map +1 -0
  15. package/dist/commands/index.d.ts +518 -0
  16. package/dist/commands/index.js +22 -0
  17. package/dist/commands/index.js.map +1 -0
  18. package/dist/commands/metrics.d.ts +27 -0
  19. package/dist/commands/metrics.js +7 -0
  20. package/dist/commands/metrics.js.map +1 -0
  21. package/dist/commands/onboarding.d.ts +27 -0
  22. package/dist/commands/onboarding.js +7 -0
  23. package/dist/commands/onboarding.js.map +1 -0
  24. package/dist/commands/portal.d.ts +127 -0
  25. package/dist/commands/portal.js +23 -0
  26. package/dist/commands/portal.js.map +1 -0
  27. package/dist/commands/projects.d.ts +84 -0
  28. package/dist/commands/projects.js +16 -0
  29. package/dist/commands/projects.js.map +1 -0
  30. package/dist/commands/system.d.ts +57 -0
  31. package/dist/commands/system.js +12 -0
  32. package/dist/commands/system.js.map +1 -0
  33. package/dist/commands/tasks.d.ts +35 -0
  34. package/dist/commands/tasks.js +8 -0
  35. package/dist/commands/tasks.js.map +1 -0
  36. package/dist/commands/types.d.ts +12 -0
  37. package/dist/commands/types.js +2 -0
  38. package/dist/commands/types.js.map +1 -0
  39. package/dist/commands/updates.d.ts +42 -0
  40. package/dist/commands/updates.js +9 -0
  41. package/dist/commands/updates.js.map +1 -0
  42. package/dist/lib/legacy-runner.js +820 -0
  43. package/dist/portal.d.ts +1 -0
  44. package/dist/portal.js +25 -0
  45. package/dist/portal.js.map +1 -0
  46. package/package.json +29 -0
@@ -0,0 +1,127 @@
1
+ export declare const portalCommands: {
2
+ 'portal.me': {
3
+ method: "GET";
4
+ path: string;
5
+ auth: "portalToken";
6
+ description: string;
7
+ };
8
+ 'portal.pin': {
9
+ method: "POST";
10
+ path: string;
11
+ auth: "portalToken";
12
+ description: string;
13
+ };
14
+ 'portal.projects': {
15
+ method: "GET";
16
+ path: string;
17
+ auth: "portalToken";
18
+ description: string;
19
+ };
20
+ 'portal.project': {
21
+ method: "GET";
22
+ path: string;
23
+ auth: "portalToken";
24
+ description: string;
25
+ };
26
+ 'portal.recent-updates': {
27
+ method: "GET";
28
+ path: string;
29
+ auth: "portalToken";
30
+ description: string;
31
+ };
32
+ 'portal.updates': {
33
+ method: "GET";
34
+ path: string;
35
+ auth: "portalToken";
36
+ description: string;
37
+ };
38
+ 'portal.comments.list': {
39
+ method: "GET";
40
+ path: string;
41
+ auth: "portalToken";
42
+ description: string;
43
+ };
44
+ 'portal.comments.create': {
45
+ method: "POST";
46
+ path: string;
47
+ auth: "portalToken";
48
+ description: string;
49
+ body: string[];
50
+ };
51
+ 'portal.search': {
52
+ method: "GET";
53
+ path: string;
54
+ auth: "portalToken";
55
+ description: string;
56
+ queryParams: string[];
57
+ };
58
+ 'portal.my-tasks': {
59
+ method: "GET";
60
+ path: string;
61
+ auth: "portalToken";
62
+ description: string;
63
+ };
64
+ 'portal.tasks.create': {
65
+ method: "POST";
66
+ path: string;
67
+ auth: "portalToken";
68
+ description: string;
69
+ body: string[];
70
+ };
71
+ 'portal.tasks.delete': {
72
+ method: "DELETE";
73
+ path: string;
74
+ auth: "portalToken";
75
+ description: string;
76
+ };
77
+ 'portal.tasks.list': {
78
+ method: "GET";
79
+ path: string;
80
+ auth: "portalToken";
81
+ description: string;
82
+ };
83
+ 'portal.metrics.list': {
84
+ method: "GET";
85
+ path: string;
86
+ auth: "portalToken";
87
+ description: string;
88
+ };
89
+ 'portal.metrics.latest': {
90
+ method: "GET";
91
+ path: string;
92
+ auth: "portalToken";
93
+ description: string;
94
+ };
95
+ 'portal.metrics.items': {
96
+ method: "GET";
97
+ path: string;
98
+ auth: "portalToken";
99
+ description: string;
100
+ };
101
+ 'portal.invoices': {
102
+ method: "GET";
103
+ path: string;
104
+ auth: "portalToken";
105
+ description: string;
106
+ };
107
+ 'portal.documents': {
108
+ method: "GET";
109
+ path: string;
110
+ auth: "portalToken";
111
+ description: string;
112
+ };
113
+ 'portal.document-download': {
114
+ method: "DOWNLOAD";
115
+ path: string;
116
+ auth: "portalToken";
117
+ description: string;
118
+ body: string[];
119
+ };
120
+ 'portal.invoice-download': {
121
+ method: "DOWNLOAD";
122
+ path: string;
123
+ auth: "portalToken";
124
+ description: string;
125
+ body: string[];
126
+ };
127
+ };
@@ -0,0 +1,23 @@
1
+ export const portalCommands = {
2
+ 'portal.me': { method: 'GET', path: '/api/portal/me', auth: 'portalToken', description: 'Show portal client profile' },
3
+ 'portal.pin': { method: 'POST', path: '/api/portal/projects/:id/pin', auth: 'portalToken', description: 'Pin portal project' },
4
+ 'portal.projects': { method: 'GET', path: '/api/portal/projects', auth: 'portalToken', description: 'List portal projects' },
5
+ 'portal.project': { method: 'GET', path: '/api/portal/projects/:id', auth: 'portalToken', description: 'Show portal project' },
6
+ 'portal.recent-updates': { method: 'GET', path: '/api/portal/updates/recent', auth: 'portalToken', description: 'List recent portal updates' },
7
+ 'portal.updates': { method: 'GET', path: '/api/portal/projects/:id/updates', auth: 'portalToken', description: 'List portal project updates' },
8
+ 'portal.comments.list': { method: 'GET', path: '/api/portal/projects/:id/updates/:updateId/comments', auth: 'portalToken', description: 'List portal update comments' },
9
+ 'portal.comments.create': { method: 'POST', path: '/api/portal/projects/:id/updates/:updateId/comments', auth: 'portalToken', description: 'Create portal update comment', body: ['content'] },
10
+ 'portal.search': { method: 'GET', path: '/api/portal/search', auth: 'portalToken', description: 'Search portal content', queryParams: ['q'] },
11
+ 'portal.my-tasks': { method: 'GET', path: '/api/portal/tasks/mine', auth: 'portalToken', description: 'List my portal tasks' },
12
+ 'portal.tasks.create': { method: 'POST', path: '/api/portal/projects/:id/tasks', auth: 'portalToken', description: 'Create portal task', body: ['title', 'description', 'priority'] },
13
+ 'portal.tasks.delete': { method: 'DELETE', path: '/api/portal/projects/:id/tasks/:taskId', auth: 'portalToken', description: 'Delete portal task' },
14
+ 'portal.tasks.list': { method: 'GET', path: '/api/portal/projects/:id/tasks', auth: 'portalToken', description: 'List portal tasks' },
15
+ 'portal.metrics.list': { method: 'GET', path: '/api/portal/projects/:id/metrics', auth: 'portalToken', description: 'List portal metrics' },
16
+ 'portal.metrics.latest': { method: 'GET', path: '/api/portal/projects/:id/metrics/latest', auth: 'portalToken', description: 'Show latest portal metrics' },
17
+ 'portal.metrics.items': { method: 'GET', path: '/api/portal/projects/:id/metrics/:metricId/items', auth: 'portalToken', description: 'List portal metric items' },
18
+ 'portal.invoices': { method: 'GET', path: '/api/portal/projects/:id/invoices', auth: 'portalToken', description: 'List portal invoices' },
19
+ 'portal.documents': { method: 'GET', path: '/api/portal/projects/:id/documents', auth: 'portalToken', description: 'List portal documents' },
20
+ 'portal.document-download': { method: 'DOWNLOAD', path: '/api/portal/docs/documents/:id/download', auth: 'portalToken', description: 'Download portal document', body: ['output'] },
21
+ 'portal.invoice-download': { method: 'DOWNLOAD', path: '/api/portal/docs/invoices/:id/download', auth: 'portalToken', description: 'Download portal invoice', body: ['output'] },
22
+ };
23
+ //# sourceMappingURL=portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../commands/portal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ export declare const projectCommands: {
2
+ 'projects.all': {
3
+ method: "GET";
4
+ path: string;
5
+ auth: "apiKey";
6
+ description: string;
7
+ queryParams: string[];
8
+ };
9
+ 'projects.list': {
10
+ method: "GET";
11
+ path: string;
12
+ auth: "apiKey";
13
+ description: string;
14
+ };
15
+ 'projects.create': {
16
+ method: "POST";
17
+ path: string;
18
+ auth: "apiKey";
19
+ description: string;
20
+ body: string[];
21
+ };
22
+ 'projects.get': {
23
+ method: "GET";
24
+ path: string;
25
+ auth: "apiKey";
26
+ description: string;
27
+ };
28
+ 'projects.update': {
29
+ method: "PATCH";
30
+ path: string;
31
+ auth: "apiKey";
32
+ description: string;
33
+ body: string[];
34
+ };
35
+ 'projects.delete': {
36
+ method: "DELETE";
37
+ path: string;
38
+ auth: "apiKey";
39
+ description: string;
40
+ };
41
+ 'projects.docs-invoices': {
42
+ method: "GET";
43
+ path: string;
44
+ auth: "apiKey";
45
+ description: string;
46
+ };
47
+ 'projects.docs-documents': {
48
+ method: "GET";
49
+ path: string;
50
+ auth: "apiKey";
51
+ description: string;
52
+ };
53
+ 'milestones.list': {
54
+ method: "CUSTOM";
55
+ path: string;
56
+ auth: "apiKey";
57
+ description: string;
58
+ };
59
+ 'milestones.add': {
60
+ method: "CUSTOM";
61
+ path: string;
62
+ auth: "apiKey";
63
+ description: string;
64
+ body: string[];
65
+ };
66
+ 'milestones.done': {
67
+ method: "CUSTOM";
68
+ path: string;
69
+ auth: "apiKey";
70
+ description: string;
71
+ };
72
+ 'milestones.undo': {
73
+ method: "CUSTOM";
74
+ path: string;
75
+ auth: "apiKey";
76
+ description: string;
77
+ };
78
+ 'milestones.remove': {
79
+ method: "CUSTOM";
80
+ path: string;
81
+ auth: "apiKey";
82
+ description: string;
83
+ };
84
+ };
@@ -0,0 +1,16 @@
1
+ export const projectCommands = {
2
+ 'projects.all': { method: 'GET', path: '/api/admin/projects', auth: 'apiKey', description: 'List all projects', queryParams: ['status', 'clientId'] },
3
+ 'projects.list': { method: 'GET', path: '/api/admin/clients/:id/projects', auth: 'apiKey', description: 'List client projects' },
4
+ 'projects.create': { method: 'POST', path: '/api/admin/clients/:id/projects', auth: 'apiKey', description: 'Create a project', body: ['name', 'description', 'startDate', 'targetDate', 'valueEur', 'externalRef', 'metricsConfig', 'itemsConfig'] },
5
+ 'projects.get': { method: 'GET', path: '/api/admin/projects/:id', auth: 'apiKey', description: 'Get a project' },
6
+ 'projects.update': { method: 'PATCH', path: '/api/admin/projects/:id', auth: 'apiKey', description: 'Update a project', body: ['name', 'status', 'description', 'startDate', 'targetDate', 'valueEur', 'externalRef', 'metricsConfig', 'itemsConfig'] },
7
+ 'projects.delete': { method: 'DELETE', path: '/api/admin/projects/:id', auth: 'apiKey', description: 'Delete a project' },
8
+ 'projects.docs-invoices': { method: 'GET', path: '/api/admin/projects/:id/docs/invoices', auth: 'apiKey', description: 'List project invoices' },
9
+ 'projects.docs-documents': { method: 'GET', path: '/api/admin/projects/:id/docs/documents', auth: 'apiKey', description: 'List project documents' },
10
+ 'milestones.list': { method: 'CUSTOM', path: '', auth: 'apiKey', description: 'List project milestones' },
11
+ 'milestones.add': { method: 'CUSTOM', path: '', auth: 'apiKey', description: 'Add a project milestone', body: ['name'] },
12
+ 'milestones.done': { method: 'CUSTOM', path: '', auth: 'apiKey', description: 'Mark a project milestone done' },
13
+ 'milestones.undo': { method: 'CUSTOM', path: '', auth: 'apiKey', description: 'Revert a project milestone to pending' },
14
+ 'milestones.remove': { method: 'CUSTOM', path: '', auth: 'apiKey', description: 'Remove a project milestone' },
15
+ };
16
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../commands/projects.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;IACrJ,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAChI,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;IACpP,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;IAChH,iBAAiB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;IACvP,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACzH,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAChJ,yBAAyB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;IACnJ,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;IACzG,gBAAgB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;IACxH,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;IAC/G,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;IACvH,mBAAmB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;CACxF,CAAC"}
@@ -0,0 +1,57 @@
1
+ export declare const systemCommands: {
2
+ health: {
3
+ method: "GET";
4
+ path: string;
5
+ auth: "public";
6
+ description: string;
7
+ };
8
+ 'health.health': {
9
+ method: "GET";
10
+ path: string;
11
+ auth: "public";
12
+ description: string;
13
+ };
14
+ 'health.db': {
15
+ method: "GET";
16
+ path: string;
17
+ auth: "public";
18
+ description: string;
19
+ };
20
+ 'health.redis': {
21
+ method: "GET";
22
+ path: string;
23
+ auth: "public";
24
+ description: string;
25
+ };
26
+ 'tenant.info': {
27
+ method: "GET";
28
+ path: string;
29
+ auth: "apiKey";
30
+ description: string;
31
+ };
32
+ dashboard: {
33
+ method: "GET";
34
+ path: string;
35
+ auth: "apiKey";
36
+ description: string;
37
+ };
38
+ 'dashboard.stats': {
39
+ method: "GET";
40
+ path: string;
41
+ auth: "apiKey";
42
+ description: string;
43
+ };
44
+ search: {
45
+ method: "GET";
46
+ path: string;
47
+ auth: "apiKey";
48
+ description: string;
49
+ queryParams: string[];
50
+ };
51
+ 'search.admin': {
52
+ method: "GET";
53
+ path: string;
54
+ auth: "apiKey";
55
+ description: string;
56
+ };
57
+ };
@@ -0,0 +1,12 @@
1
+ export const systemCommands = {
2
+ health: { method: 'GET', path: '/health', auth: 'public', description: 'Check API health' },
3
+ 'health.health': { method: 'GET', path: '/health', auth: 'public', description: 'Check API health' },
4
+ 'health.db': { method: 'GET', path: '/health/db', auth: 'public', description: 'Check database health' },
5
+ 'health.redis': { method: 'GET', path: '/health/redis', auth: 'public', description: 'Check Redis health' },
6
+ 'tenant.info': { method: 'GET', path: '/api/tenants/me', auth: 'apiKey', description: 'Show tenant metadata' },
7
+ dashboard: { method: 'GET', path: '/api/admin/dashboard', auth: 'apiKey', description: 'Show dashboard stats' },
8
+ 'dashboard.stats': { method: 'GET', path: '/api/admin/dashboard', auth: 'apiKey', description: 'Show dashboard stats' },
9
+ search: { method: 'GET', path: '/api/admin/search', auth: 'apiKey', description: 'Search admin content', queryParams: ['q'] },
10
+ 'search.admin': { method: 'GET', path: '/api/admin/search', auth: 'apiKey', description: 'Search admin content' },
11
+ };
12
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../commands/system.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC3F,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACpG,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACxG,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAC3G,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC9G,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC/G,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACvH,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE;IAC7H,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;CAC3F,CAAC"}
@@ -0,0 +1,35 @@
1
+ export declare const taskCommands: {
2
+ 'tasks.all': {
3
+ method: "GET";
4
+ path: string;
5
+ auth: "apiKey";
6
+ description: string;
7
+ queryParams: string[];
8
+ };
9
+ 'tasks.list': {
10
+ method: "GET";
11
+ path: string;
12
+ auth: "apiKey";
13
+ description: string;
14
+ };
15
+ 'tasks.create': {
16
+ method: "POST";
17
+ path: string;
18
+ auth: "apiKey";
19
+ description: string;
20
+ body: string[];
21
+ };
22
+ 'tasks.delete': {
23
+ method: "DELETE";
24
+ path: string;
25
+ auth: "apiKey";
26
+ description: string;
27
+ };
28
+ 'tasks.update': {
29
+ method: "PATCH";
30
+ path: string;
31
+ auth: "apiKey";
32
+ description: string;
33
+ body: string[];
34
+ };
35
+ };
@@ -0,0 +1,8 @@
1
+ export const taskCommands = {
2
+ 'tasks.all': { method: 'GET', path: '/api/admin/tasks', auth: 'apiKey', description: 'List all tasks', queryParams: ['status', 'phase', 'priority', 'clientId'] },
3
+ 'tasks.list': { method: 'GET', path: '/api/admin/projects/:id/tasks', auth: 'apiKey', description: 'List project tasks' },
4
+ 'tasks.create': { method: 'POST', path: '/api/admin/projects/:id/tasks', auth: 'apiKey', description: 'Create a task', body: ['title', 'description', 'priority', 'submittedBy', 'phase'] },
5
+ 'tasks.delete': { method: 'DELETE', path: '/api/admin/tasks/:id', auth: 'apiKey', description: 'Delete a task' },
6
+ 'tasks.update': { method: 'PATCH', path: '/api/admin/tasks/:id', auth: 'apiKey', description: 'Update a task', body: ['status', 'priority', 'description', 'phase'] },
7
+ };
8
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../commands/tasks.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;IACjK,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACzH,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;IAC3L,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;IAChH,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;CAC/I,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface CliCommand {
2
+ method: 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'DOWNLOAD' | 'CUSTOM';
3
+ path: string;
4
+ auth: 'apiKey' | 'portalToken' | 'public';
5
+ description: string;
6
+ body?: string[];
7
+ queryParams?: string[];
8
+ fixedQuery?: Record<string, string>;
9
+ fixedBody?: Record<string, unknown>;
10
+ supportsFiles?: boolean;
11
+ }
12
+ export type CommandGroup = Record<string, CliCommand>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../commands/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ export declare const updateCommands: {
2
+ 'updates.list': {
3
+ method: "GET";
4
+ path: string;
5
+ auth: "apiKey";
6
+ description: string;
7
+ };
8
+ 'updates.create': {
9
+ method: "POST";
10
+ path: string;
11
+ auth: "apiKey";
12
+ description: string;
13
+ body: string[];
14
+ supportsFiles: true;
15
+ };
16
+ 'updates.update': {
17
+ method: "PATCH";
18
+ path: string;
19
+ auth: "apiKey";
20
+ description: string;
21
+ body: string[];
22
+ };
23
+ 'updates.delete': {
24
+ method: "DELETE";
25
+ path: string;
26
+ auth: "apiKey";
27
+ description: string;
28
+ };
29
+ 'comments.list': {
30
+ method: "GET";
31
+ path: string;
32
+ auth: "apiKey";
33
+ description: string;
34
+ };
35
+ 'comments.create': {
36
+ method: "POST";
37
+ path: string;
38
+ auth: "apiKey";
39
+ description: string;
40
+ body: string[];
41
+ };
42
+ };
@@ -0,0 +1,9 @@
1
+ export const updateCommands = {
2
+ 'updates.list': { method: 'GET', path: '/api/admin/projects/:id/updates', auth: 'apiKey', description: 'List updates' },
3
+ 'updates.create': { method: 'POST', path: '/api/admin/projects/:id/updates', auth: 'apiKey', description: 'Create update', body: ['content', 'visibility', 'author'], supportsFiles: true },
4
+ 'updates.update': { method: 'PATCH', path: '/api/admin/updates/:updateId', auth: 'apiKey', description: 'Update update', body: ['content', 'visibility'] },
5
+ 'updates.delete': { method: 'DELETE', path: '/api/admin/updates/:updateId', auth: 'apiKey', description: 'Delete update' },
6
+ 'comments.list': { method: 'GET', path: '/api/admin/projects/:id/updates/:updateId/comments', auth: 'apiKey', description: 'List update comments' },
7
+ 'comments.create': { method: 'POST', path: '/api/admin/projects/:id/updates/:updateId/comments', auth: 'apiKey', description: 'Create update comment', body: ['content'] },
8
+ };
9
+ //# sourceMappingURL=updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../../commands/updates.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;IACvH,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3L,gBAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;IAC1J,gBAAgB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;IAC1H,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACnJ,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;CACpJ,CAAC"}