@bussolabs/closeyourit-cli 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +99 -0
  2. package/bin/run.js +2 -0
  3. package/dist/base.d.ts +34 -0
  4. package/dist/base.js +85 -0
  5. package/dist/commands/errors/list.d.ts +11 -0
  6. package/dist/commands/errors/list.js +36 -0
  7. package/dist/commands/errors/mute.d.ts +12 -0
  8. package/dist/commands/errors/mute.js +22 -0
  9. package/dist/commands/errors/reopen.d.ts +12 -0
  10. package/dist/commands/errors/reopen.js +22 -0
  11. package/dist/commands/errors/resolve.d.ts +12 -0
  12. package/dist/commands/errors/resolve.js +22 -0
  13. package/dist/commands/errors/show.d.ts +12 -0
  14. package/dist/commands/errors/show.js +23 -0
  15. package/dist/commands/errors/unmute.d.ts +12 -0
  16. package/dist/commands/errors/unmute.js +22 -0
  17. package/dist/commands/groups/create.d.ts +12 -0
  18. package/dist/commands/groups/create.js +31 -0
  19. package/dist/commands/groups/list.d.ts +9 -0
  20. package/dist/commands/groups/list.js +19 -0
  21. package/dist/commands/invitations/create.d.ts +12 -0
  22. package/dist/commands/invitations/create.js +38 -0
  23. package/dist/commands/invitations/list.d.ts +9 -0
  24. package/dist/commands/invitations/list.js +24 -0
  25. package/dist/commands/invitations/revoke.d.ts +9 -0
  26. package/dist/commands/invitations/revoke.js +20 -0
  27. package/dist/commands/login.d.ts +9 -0
  28. package/dist/commands/login.js +63 -0
  29. package/dist/commands/logout.d.ts +6 -0
  30. package/dist/commands/logout.js +17 -0
  31. package/dist/commands/members/list.d.ts +9 -0
  32. package/dist/commands/members/list.js +24 -0
  33. package/dist/commands/metrics/list.d.ts +11 -0
  34. package/dist/commands/metrics/list.js +36 -0
  35. package/dist/commands/metrics/show.d.ts +12 -0
  36. package/dist/commands/metrics/show.js +23 -0
  37. package/dist/commands/projects/create.d.ts +15 -0
  38. package/dist/commands/projects/create.js +49 -0
  39. package/dist/commands/projects/list.d.ts +9 -0
  40. package/dist/commands/projects/list.js +19 -0
  41. package/dist/commands/projects/set-environments.d.ts +11 -0
  42. package/dist/commands/projects/set-environments.js +42 -0
  43. package/dist/commands/projects/show.d.ts +9 -0
  44. package/dist/commands/projects/show.js +22 -0
  45. package/dist/commands/roles/create.d.ts +13 -0
  46. package/dist/commands/roles/create.js +36 -0
  47. package/dist/commands/roles/delete.d.ts +9 -0
  48. package/dist/commands/roles/delete.js +21 -0
  49. package/dist/commands/roles/list.d.ts +9 -0
  50. package/dist/commands/roles/list.js +23 -0
  51. package/dist/commands/roles/show.d.ts +9 -0
  52. package/dist/commands/roles/show.js +25 -0
  53. package/dist/commands/roles/update.d.ts +14 -0
  54. package/dist/commands/roles/update.js +44 -0
  55. package/dist/commands/teams/add-member.d.ts +10 -0
  56. package/dist/commands/teams/add-member.js +26 -0
  57. package/dist/commands/teams/create.d.ts +16 -0
  58. package/dist/commands/teams/create.js +50 -0
  59. package/dist/commands/teams/delete.d.ts +9 -0
  60. package/dist/commands/teams/delete.js +21 -0
  61. package/dist/commands/teams/list.d.ts +9 -0
  62. package/dist/commands/teams/list.js +27 -0
  63. package/dist/commands/teams/remove-member.d.ts +10 -0
  64. package/dist/commands/teams/remove-member.js +26 -0
  65. package/dist/commands/teams/show.d.ts +9 -0
  66. package/dist/commands/teams/show.js +27 -0
  67. package/dist/commands/teams/update.d.ts +17 -0
  68. package/dist/commands/teams/update.js +54 -0
  69. package/dist/commands/tickets/create.d.ts +18 -0
  70. package/dist/commands/tickets/create.js +51 -0
  71. package/dist/commands/tickets/list.d.ts +10 -0
  72. package/dist/commands/tickets/list.js +24 -0
  73. package/dist/commands/tickets/show.d.ts +12 -0
  74. package/dist/commands/tickets/show.js +23 -0
  75. package/dist/commands/tokens/create.d.ts +11 -0
  76. package/dist/commands/tokens/create.js +34 -0
  77. package/dist/commands/tokens/list.d.ts +9 -0
  78. package/dist/commands/tokens/list.js +25 -0
  79. package/dist/commands/tokens/revoke.d.ts +12 -0
  80. package/dist/commands/tokens/revoke.js +22 -0
  81. package/dist/commands/tokens/rotate.d.ts +12 -0
  82. package/dist/commands/tokens/rotate.js +28 -0
  83. package/dist/commands/whoami.d.ts +6 -0
  84. package/dist/commands/whoami.js +19 -0
  85. package/dist/errors/error-codes.d.ts +35 -0
  86. package/dist/errors/error-codes.js +40 -0
  87. package/dist/lib/api.d.ts +28 -0
  88. package/dist/lib/api.js +81 -0
  89. package/dist/lib/browser.d.ts +2 -0
  90. package/dist/lib/browser.js +32 -0
  91. package/dist/lib/config.d.ts +20 -0
  92. package/dist/lib/config.js +93 -0
  93. package/dist/lib/device-flow.d.ts +28 -0
  94. package/dist/lib/device-flow.js +62 -0
  95. package/dist/lib/output.d.ts +4 -0
  96. package/dist/lib/output.js +21 -0
  97. package/oclif.manifest.json +1954 -0
  98. package/opencli.json +229 -0
  99. package/package.json +34 -0
package/opencli.json ADDED
@@ -0,0 +1,229 @@
1
+ {
2
+ "$schema": "https://opencli.org/draft.json",
3
+ "opencli": "0.1",
4
+ "info": {
5
+ "title": "closeyourit",
6
+ "version": "0.0.1",
7
+ "summary": "CLI for CloseYourIt",
8
+ "description": "Manage organization, projects, error monitoring, ingest tokens, tickets and performance metrics with your CloseYourIt user token.",
9
+ "license": {
10
+ "name": "UNLICENSED"
11
+ }
12
+ },
13
+ "conventions": {
14
+ "groupOptions": true,
15
+ "optionArgumentSeparator": " "
16
+ },
17
+ "options": [
18
+ {"name": "--help", "aliases": ["-h"], "description": "Show help.", "recursive": true},
19
+ {"name": "--version", "aliases": ["-V"], "description": "Show CLI version."},
20
+ {"name": "--json", "description": "Output machine-readable JSON.", "recursive": true}
21
+ ],
22
+ "exitCodes": [
23
+ {"code": 0, "description": "Success"},
24
+ {"code": 1, "description": "Runtime or API error"},
25
+ {"code": 2, "description": "Invalid usage (bad flags/arguments)"}
26
+ ],
27
+ "commands": [
28
+ {
29
+ "name": "login",
30
+ "description": "Authenticate via the device flow and store your CLI token.",
31
+ "options": [
32
+ {
33
+ "name": "--api-url",
34
+ "description": "Backend base URL to authenticate against (persisted).",
35
+ "arguments": [{"name": "URL", "required": true}]
36
+ }
37
+ ],
38
+ "examples": ["closeyourit login", "closeyourit login --api-url https://staging.closeyour.it"]
39
+ },
40
+ {
41
+ "name": "logout",
42
+ "description": "Clear the locally stored token and identity.",
43
+ "examples": ["closeyourit logout"]
44
+ },
45
+ {
46
+ "name": "whoami",
47
+ "description": "Show the authenticated account, organization, token and permissions.",
48
+ "examples": ["closeyourit whoami", "closeyourit whoami --json"]
49
+ },
50
+ {
51
+ "name": "projects",
52
+ "description": "Browse visible projects.",
53
+ "commands": [
54
+ {
55
+ "name": "list",
56
+ "description": "List the projects visible to you.",
57
+ "options": [
58
+ {"name": "--page", "description": "Page number.", "arguments": [{"name": "N"}]}
59
+ ],
60
+ "examples": ["closeyourit projects list", "closeyourit projects list --page 2 --json"]
61
+ },
62
+ {
63
+ "name": "show",
64
+ "description": "Show a single project by id or key.",
65
+ "arguments": [{"name": "ID", "description": "Project id (UUID) or key.", "required": true}],
66
+ "examples": ["closeyourit projects show acme-api"]
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "name": "errors",
72
+ "description": "Error monitoring: list, show, triage.",
73
+ "commands": [
74
+ {
75
+ "name": "list",
76
+ "description": "List error groups for a project.",
77
+ "options": [
78
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]},
79
+ {"name": "--status", "description": "Filter by status.", "arguments": [{"name": "STATUS"}]},
80
+ {"name": "--page", "description": "Page number.", "arguments": [{"name": "N"}]}
81
+ ],
82
+ "examples": ["closeyourit errors list --project acme-api --status unresolved"]
83
+ },
84
+ {
85
+ "name": "show",
86
+ "description": "Show a single error group.",
87
+ "arguments": [{"name": "ID", "description": "Error group id.", "required": true}],
88
+ "options": [
89
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
90
+ ],
91
+ "examples": ["closeyourit errors show <group-id> --project acme-api"]
92
+ },
93
+ {
94
+ "name": "resolve",
95
+ "description": "Mark an error group as resolved.",
96
+ "arguments": [{"name": "ID", "description": "Error group id.", "required": true}],
97
+ "options": [
98
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
99
+ ]
100
+ },
101
+ {
102
+ "name": "reopen",
103
+ "description": "Reopen a resolved error group.",
104
+ "arguments": [{"name": "ID", "description": "Error group id.", "required": true}],
105
+ "options": [
106
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
107
+ ]
108
+ },
109
+ {
110
+ "name": "mute",
111
+ "description": "Mute an error group.",
112
+ "arguments": [{"name": "ID", "description": "Error group id.", "required": true}],
113
+ "options": [
114
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
115
+ ]
116
+ },
117
+ {
118
+ "name": "unmute",
119
+ "description": "Unmute an error group.",
120
+ "arguments": [{"name": "ID", "description": "Error group id.", "required": true}],
121
+ "options": [
122
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
123
+ ]
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "name": "tokens",
129
+ "description": "Project ingest tokens (CI/SDK credentials).",
130
+ "commands": [
131
+ {
132
+ "name": "list",
133
+ "description": "List ingest tokens for a project.",
134
+ "options": [
135
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
136
+ ]
137
+ },
138
+ {
139
+ "name": "create",
140
+ "description": "Create an ingest token (the secret is shown only once).",
141
+ "options": [
142
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]},
143
+ {"name": "--name", "required": true, "description": "Human-readable token name.", "arguments": [{"name": "NAME", "required": true}]},
144
+ {"name": "--environment-id", "required": true, "description": "Environment id the token is scoped to.", "arguments": [{"name": "ENV_ID", "required": true}]}
145
+ ],
146
+ "examples": ["closeyourit tokens create --project acme-api --name \"CI prod\" --environment-id <env-id>"]
147
+ },
148
+ {
149
+ "name": "rotate",
150
+ "description": "Rotate an ingest token (the new secret is shown only once).",
151
+ "arguments": [{"name": "ID", "description": "Token id.", "required": true}],
152
+ "options": [
153
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
154
+ ]
155
+ },
156
+ {
157
+ "name": "revoke",
158
+ "description": "Revoke an ingest token.",
159
+ "arguments": [{"name": "ID", "description": "Token id.", "required": true}],
160
+ "options": [
161
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
162
+ ]
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "name": "tickets",
168
+ "description": "Tickets: list, show, create.",
169
+ "commands": [
170
+ {
171
+ "name": "list",
172
+ "description": "List tickets for a project.",
173
+ "options": [
174
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]},
175
+ {"name": "--page", "description": "Page number.", "arguments": [{"name": "N"}]}
176
+ ]
177
+ },
178
+ {
179
+ "name": "show",
180
+ "description": "Show a single ticket.",
181
+ "arguments": [{"name": "ID", "description": "Ticket id or code.", "required": true}],
182
+ "options": [
183
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
184
+ ]
185
+ },
186
+ {
187
+ "name": "create",
188
+ "description": "Create a ticket.",
189
+ "options": [
190
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]},
191
+ {"name": "--title", "required": true, "description": "Ticket title.", "arguments": [{"name": "TITLE", "required": true}]},
192
+ {"name": "--kind", "description": "Ticket kind (default: bug).", "arguments": [{"name": "KIND"}]},
193
+ {"name": "--description", "description": "Free-form description.", "arguments": [{"name": "TEXT"}]},
194
+ {"name": "--step-given", "description": "Given (precondition).", "arguments": [{"name": "TEXT"}]},
195
+ {"name": "--step-when", "description": "When (action).", "arguments": [{"name": "TEXT"}]},
196
+ {"name": "--step-then", "description": "Then (outcome).", "arguments": [{"name": "TEXT"}]},
197
+ {"name": "--step-expected", "description": "Expected result.", "arguments": [{"name": "TEXT"}]},
198
+ {"name": "--status-id", "description": "Status lookup id.", "arguments": [{"name": "STATUS_ID"}]},
199
+ {"name": "--priority-id", "description": "Priority lookup id.", "arguments": [{"name": "PRIORITY_ID"}]}
200
+ ],
201
+ "examples": ["closeyourit tickets create --project acme-api --title \"Checkout fails\""]
202
+ }
203
+ ]
204
+ },
205
+ {
206
+ "name": "metrics",
207
+ "description": "Performance metrics (slow queries/methods).",
208
+ "commands": [
209
+ {
210
+ "name": "list",
211
+ "description": "List performance metric groups for a project.",
212
+ "options": [
213
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]},
214
+ {"name": "--kind", "description": "Filter by metric kind (e.g. sql, method).", "arguments": [{"name": "KIND"}]},
215
+ {"name": "--page", "description": "Page number.", "arguments": [{"name": "N"}]}
216
+ ]
217
+ },
218
+ {
219
+ "name": "show",
220
+ "description": "Show a single metric group.",
221
+ "arguments": [{"name": "ID", "description": "Metric group id.", "required": true}],
222
+ "options": [
223
+ {"name": "--project", "aliases": ["-p"], "required": true, "description": "Project id (UUID) or key.", "arguments": [{"name": "PROJECT", "required": true}]}
224
+ ]
225
+ }
226
+ ]
227
+ }
228
+ ]
229
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@bussolabs/closeyourit-cli",
3
+ "version": "0.0.2",
4
+ "description": "CLI for CloseYourIt — manage org, errors, tokens and tickets with your user token",
5
+ "publishConfig": { "access": "public" },
6
+ "repository": { "type": "git", "url": "git+https://github.com/bussolabs/closeyourit-cli.git" },
7
+ "license": "MIT",
8
+ "bin": { "closeyourit": "./bin/run.js", "cyi": "./bin/run.js" },
9
+ "files": ["/bin", "/dist", "/oclif.manifest.json", "/opencli.json"],
10
+ "engines": { "node": ">=20" },
11
+ "dependencies": { "@oclif/core": "^4", "@oclif/plugin-help": "^6" },
12
+ "devDependencies": { "@types/node": "^22", "oclif": "^4", "typescript": "^5", "vitest": "^2" },
13
+ "oclif": {
14
+ "bin": "closeyourit",
15
+ "dirname": "closeyourit",
16
+ "commands": "./dist/commands",
17
+ "topicSeparator": " ",
18
+ "plugins": ["@oclif/plugin-help"],
19
+ "topics": {
20
+ "projects": { "description": "Browse visible projects" },
21
+ "errors": { "description": "Error monitoring: list, show, triage" },
22
+ "tokens": { "description": "Project ingest tokens (CI/SDK credentials)" },
23
+ "tickets": { "description": "Tickets: list, show, create" },
24
+ "metrics": { "description": "Performance metrics (slow queries/methods)" }
25
+ }
26
+ },
27
+ "scripts": {
28
+ "build": "tsc -b",
29
+ "prepack": "pnpm build && oclif manifest",
30
+ "postpack": "rm -f oclif.manifest.json",
31
+ "test": "vitest run",
32
+ "lint": "tsc --noEmit"
33
+ }
34
+ }