@banatie/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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +54 -0
  3. package/dist/apiClient.d.ts +102 -0
  4. package/dist/apiClient.d.ts.map +1 -0
  5. package/dist/apiClient.js +83 -0
  6. package/dist/baseUrl.d.ts +2 -0
  7. package/dist/baseUrl.d.ts.map +1 -0
  8. package/dist/baseUrl.js +7 -0
  9. package/dist/cli.d.ts +3 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.js +15 -0
  12. package/dist/commands/connectDirect.d.ts +3 -0
  13. package/dist/commands/connectDirect.d.ts.map +1 -0
  14. package/dist/commands/connectDirect.js +34 -0
  15. package/dist/commands/login.d.ts +3 -0
  16. package/dist/commands/login.d.ts.map +1 -0
  17. package/dist/commands/login.js +40 -0
  18. package/dist/commands/logout.d.ts +3 -0
  19. package/dist/commands/logout.d.ts.map +1 -0
  20. package/dist/commands/logout.js +21 -0
  21. package/dist/commands/projectConnect.d.ts +3 -0
  22. package/dist/commands/projectConnect.d.ts.map +1 -0
  23. package/dist/commands/projectConnect.js +66 -0
  24. package/dist/commands/projectDelete.d.ts +7 -0
  25. package/dist/commands/projectDelete.d.ts.map +1 -0
  26. package/dist/commands/projectDelete.js +99 -0
  27. package/dist/commands/projectList.d.ts +3 -0
  28. package/dist/commands/projectList.d.ts.map +1 -0
  29. package/dist/commands/projectList.js +54 -0
  30. package/dist/commands/projectNew.d.ts +3 -0
  31. package/dist/commands/projectNew.d.ts.map +1 -0
  32. package/dist/commands/projectNew.js +61 -0
  33. package/dist/commands/revoke.d.ts +3 -0
  34. package/dist/commands/revoke.d.ts.map +1 -0
  35. package/dist/commands/revoke.js +41 -0
  36. package/dist/commands/rotate.d.ts +3 -0
  37. package/dist/commands/rotate.d.ts.map +1 -0
  38. package/dist/commands/rotate.js +36 -0
  39. package/dist/commands/status.d.ts +3 -0
  40. package/dist/commands/status.d.ts.map +1 -0
  41. package/dist/commands/status.js +30 -0
  42. package/dist/commands/types.d.ts +5 -0
  43. package/dist/commands/types.d.ts.map +1 -0
  44. package/dist/commands/types.js +2 -0
  45. package/dist/config.d.ts +36 -0
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +109 -0
  48. package/dist/confirmPrompt.d.ts +2 -0
  49. package/dist/confirmPrompt.d.ts.map +1 -0
  50. package/dist/confirmPrompt.js +20 -0
  51. package/dist/dispatch.d.ts +4 -0
  52. package/dist/dispatch.d.ts.map +1 -0
  53. package/dist/dispatch.js +101 -0
  54. package/dist/index.d.ts +19 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +34 -0
  57. package/dist/preview.d.ts +2 -0
  58. package/dist/preview.d.ts.map +1 -0
  59. package/dist/preview.js +9 -0
  60. package/dist/projectConfig.d.ts +12 -0
  61. package/dist/projectConfig.d.ts.map +1 -0
  62. package/dist/projectConfig.js +40 -0
  63. package/package.json +35 -0
@@ -0,0 +1,12 @@
1
+ export interface ProjectConfig {
2
+ version: 1;
3
+ baseApiUrl: string;
4
+ apiKey: string;
5
+ orgSlug?: string;
6
+ projectSlug?: string;
7
+ connectedAt: string;
8
+ }
9
+ export declare const GITIGNORE_HINT = "Add .banatie/ to your .gitignore (at least .banatie/project.json and .banatie/temp) so the key is never committed.";
10
+ export declare const getProjectConfigPath: (projectRoot: string) => string;
11
+ export declare const writeProjectConfig: (projectRoot: string, data: ProjectConfig) => string;
12
+ //# sourceMappingURL=projectConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../src/projectConfig.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,eAAO,MAAM,cAAc,uHAC2F,CAAC;AAUvH,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,KAAG,MACJ,CAAC;AAIxD,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,EAAE,MAAM,aAAa,KAAG,MAiB7E,CAAC"}
@@ -0,0 +1,40 @@
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.writeProjectConfig = exports.getProjectConfigPath = exports.GITIGNORE_HINT = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ // Shown by both connect commands; the CLI never edits .gitignore itself.
10
+ exports.GITIGNORE_HINT = 'Add .banatie/ to your .gitignore (at least .banatie/project.json and .banatie/temp) so the key is never committed.';
11
+ const chmodBestEffort = (target, mode) => {
12
+ try {
13
+ fs_1.default.chmodSync(target, mode);
14
+ }
15
+ catch {
16
+ // Best-effort: some filesystems don't support chmod.
17
+ }
18
+ };
19
+ const getProjectConfigPath = (projectRoot) => path_1.default.resolve(projectRoot, '.banatie', 'project.json');
20
+ exports.getProjectConfigPath = getProjectConfigPath;
21
+ // Write .banatie/project.json under the given root. Because it stores the raw
22
+ // project key, the dir/file get best-effort 0700/0600 perms. Returns the path.
23
+ const writeProjectConfig = (projectRoot, data) => {
24
+ const dir = path_1.default.resolve(projectRoot, '.banatie');
25
+ fs_1.default.mkdirSync(dir, { recursive: true });
26
+ chmodBestEffort(dir, 0o700);
27
+ const configPath = (0, exports.getProjectConfigPath)(projectRoot);
28
+ const body = {
29
+ version: data.version,
30
+ baseApiUrl: data.baseApiUrl,
31
+ apiKey: data.apiKey,
32
+ ...(data.orgSlug ? { orgSlug: data.orgSlug } : {}),
33
+ ...(data.projectSlug ? { projectSlug: data.projectSlug } : {}),
34
+ connectedAt: data.connectedAt,
35
+ };
36
+ fs_1.default.writeFileSync(configPath, `${JSON.stringify(body, null, 2)}\n`, { mode: 0o600 });
37
+ chmodBestEffort(configPath, 0o600);
38
+ return configPath;
39
+ };
40
+ exports.writeProjectConfig = writeProjectConfig;
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@banatie/cli",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "description": "Banatie CLI — headless organization auth and project commands",
6
+ "license": "MIT",
7
+ "keywords": ["banatie", "cli", "image-generation", "api", "organization"],
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+ssh://git@git.usul.su:2222/usulpro/banatie-service.git",
11
+ "directory": "packages/cli"
12
+ },
13
+ "engines": {
14
+ "node": ">=18.0.0"
15
+ },
16
+ "main": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "bin": { "banatie": "./dist/cli.js" },
19
+ "files": ["dist"],
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "clean": "rm -rf dist",
26
+ "test": "vitest run",
27
+ "verify:cli-phase3": "tsc && node scripts/verify-phase3-cli.mjs",
28
+ "prepublishOnly": "npm run build"
29
+ },
30
+ "devDependencies": {
31
+ "typescript": "^5.9.2",
32
+ "@types/node": "^20.0.0",
33
+ "vitest": "^3.2.4"
34
+ }
35
+ }