@nathapp/koda-cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/client.d.ts +9 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +23 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/commands/agent.d.ts +3 -0
  6. package/dist/commands/agent.d.ts.map +1 -0
  7. package/dist/commands/agent.js +91 -0
  8. package/dist/commands/agent.js.map +1 -0
  9. package/dist/commands/comment.d.ts +3 -0
  10. package/dist/commands/comment.d.ts.map +1 -0
  11. package/dist/commands/comment.js +57 -0
  12. package/dist/commands/comment.js.map +1 -0
  13. package/dist/commands/config.d.ts +14 -0
  14. package/dist/commands/config.d.ts.map +1 -0
  15. package/dist/commands/config.js +20 -0
  16. package/dist/commands/config.js.map +1 -0
  17. package/dist/commands/kb.d.ts +3 -0
  18. package/dist/commands/kb.d.ts.map +1 -0
  19. package/dist/commands/kb.js +137 -0
  20. package/dist/commands/kb.js.map +1 -0
  21. package/dist/commands/label.d.ts +3 -0
  22. package/dist/commands/label.d.ts.map +1 -0
  23. package/dist/commands/label.js +105 -0
  24. package/dist/commands/label.js.map +1 -0
  25. package/dist/commands/login.d.ts +6 -0
  26. package/dist/commands/login.d.ts.map +1 -0
  27. package/dist/commands/login.js +26 -0
  28. package/dist/commands/login.js.map +1 -0
  29. package/dist/commands/project.d.ts +3 -0
  30. package/dist/commands/project.d.ts.map +1 -0
  31. package/dist/commands/project.js +148 -0
  32. package/dist/commands/project.js.map +1 -0
  33. package/dist/commands/ticket.d.ts +3 -0
  34. package/dist/commands/ticket.d.ts.map +1 -0
  35. package/dist/commands/ticket.js +538 -0
  36. package/dist/commands/ticket.js.map +1 -0
  37. package/dist/config.d.ts +9 -0
  38. package/dist/config.d.ts.map +1 -0
  39. package/dist/config.js +68 -0
  40. package/dist/config.js.map +1 -0
  41. package/dist/generated.d.ts +185 -0
  42. package/dist/generated.d.ts.map +1 -0
  43. package/dist/generated.js +119 -0
  44. package/dist/generated.js.map +1 -0
  45. package/dist/index.d.ts +3 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +135 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/utils/api.d.ts +10 -0
  50. package/dist/utils/api.d.ts.map +1 -0
  51. package/dist/utils/api.js +32 -0
  52. package/dist/utils/api.js.map +1 -0
  53. package/dist/utils/auth.d.ts +9 -0
  54. package/dist/utils/auth.d.ts.map +1 -0
  55. package/dist/utils/auth.js +14 -0
  56. package/dist/utils/auth.js.map +1 -0
  57. package/dist/utils/error.d.ts +14 -0
  58. package/dist/utils/error.d.ts.map +1 -0
  59. package/dist/utils/error.js +42 -0
  60. package/dist/utils/error.js.map +1 -0
  61. package/dist/utils/output.d.ts +28 -0
  62. package/dist/utils/output.d.ts.map +1 -0
  63. package/dist/utils/output.js +80 -0
  64. package/dist/utils/output.js.map +1 -0
  65. package/package.json +38 -0
@@ -0,0 +1,28 @@
1
+ interface OutputOptions {
2
+ json?: boolean;
3
+ }
4
+ /**
5
+ * Output data in JSON or pretty-printed format.
6
+ * JSON mode: outputs valid JSON to stdout
7
+ * Pretty mode: outputs formatted representation to stdout
8
+ */
9
+ export declare function output(data: unknown, options?: OutputOptions): void;
10
+ /**
11
+ * Render a column-aligned table with cyan/bold headers.
12
+ * Headers are colored; rows are plain text.
13
+ */
14
+ export declare function table(headers: string[], rows: string[][]): void;
15
+ /**
16
+ * Print a success message in green to stdout.
17
+ */
18
+ export declare function success(message: string): void;
19
+ /**
20
+ * Print an error message in red to stderr.
21
+ */
22
+ export declare function error(message: string): void;
23
+ /**
24
+ * Print a warning message in yellow to stdout.
25
+ */
26
+ export declare function warn(message: string): void;
27
+ export {};
28
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CAMvE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAmC/D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.output = output;
7
+ exports.table = table;
8
+ exports.success = success;
9
+ exports.error = error;
10
+ exports.warn = warn;
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const util_1 = __importDefault(require("util"));
13
+ /**
14
+ * Output data in JSON or pretty-printed format.
15
+ * JSON mode: outputs valid JSON to stdout
16
+ * Pretty mode: outputs formatted representation to stdout
17
+ */
18
+ function output(data, options = {}) {
19
+ if (options.json) {
20
+ console.log(JSON.stringify(data, null, 2));
21
+ }
22
+ else {
23
+ console.log(util_1.default.inspect(data, { colors: true, depth: null }));
24
+ }
25
+ }
26
+ /**
27
+ * Render a column-aligned table with cyan/bold headers.
28
+ * Headers are colored; rows are plain text.
29
+ */
30
+ function table(headers, rows) {
31
+ if (headers.length === 0) {
32
+ return;
33
+ }
34
+ // Calculate column widths based on headers and rows
35
+ const columnWidths = headers.map((header, i) => {
36
+ let maxWidth = header.length;
37
+ for (const row of rows) {
38
+ if (row[i]) {
39
+ maxWidth = Math.max(maxWidth, row[i].length);
40
+ }
41
+ }
42
+ return maxWidth;
43
+ });
44
+ // Print header row with cyan bold
45
+ const headerRow = headers
46
+ .map((header, i) => header.padEnd(columnWidths[i]))
47
+ .join(' ');
48
+ console.log(chalk_1.default.cyan.bold(headerRow));
49
+ // Print separator
50
+ const separator = columnWidths
51
+ .map((width) => '─'.repeat(width))
52
+ .join(' ');
53
+ console.log(chalk_1.default.gray(separator));
54
+ // Print data rows
55
+ for (const row of rows) {
56
+ const paddedRow = row
57
+ .map((cell, i) => (cell || '').padEnd(columnWidths[i]))
58
+ .join(' ');
59
+ console.log(paddedRow);
60
+ }
61
+ }
62
+ /**
63
+ * Print a success message in green to stdout.
64
+ */
65
+ function success(message) {
66
+ console.log(chalk_1.default.green(`✓ ${message}`));
67
+ }
68
+ /**
69
+ * Print an error message in red to stderr.
70
+ */
71
+ function error(message) {
72
+ console.error(chalk_1.default.red(`✗ ${message}`));
73
+ }
74
+ /**
75
+ * Print a warning message in yellow to stdout.
76
+ */
77
+ function warn(message) {
78
+ console.log(chalk_1.default.yellow(`⚠ ${message}`));
79
+ }
80
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@nathapp/koda-cli",
3
+ "version": "0.0.1",
4
+ "description": "CLI for Koda — dev ticket tracker",
5
+ "bin": {
6
+ "koda": "./dist/index.js"
7
+ },
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "license": "MIT",
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "files": ["dist"],
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsc --watch",
18
+ "test": "jest --forceExit --passWithNoTests",
19
+ "test:watch": "jest --watch",
20
+ "lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/generated/**\" --max-warnings=0",
21
+ "lint:fix": "eslint \"src/**/*.ts\" --ignore-pattern \"src/generated/**\" --fix",
22
+ "type-check": "tsc --noEmit"
23
+ },
24
+ "dependencies": {
25
+ "@hey-api/client-axios": "^0.3.0",
26
+ "axios": "^1.7.0",
27
+ "chalk": "^5.3.0",
28
+ "commander": "^12.0.0",
29
+ "conf": "^13.0.0"
30
+ },
31
+ "devDependencies": {
32
+ "@types/jest": "^29.0.0",
33
+ "@types/node": "^22.0.0",
34
+ "jest": "^29.0.0",
35
+ "ts-jest": "^29.0.0",
36
+ "typescript": "^5.4.0"
37
+ }
38
+ }