@zivis/cli 0.1.0-alpha.29 → 0.1.0-alpha.3

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 (36) hide show
  1. package/dist/commands/app/index.js +2 -2
  2. package/dist/commands/app/index.js.map +1 -1
  3. package/dist/commands/auth/index.js +0 -24
  4. package/dist/commands/auth/index.js.map +1 -1
  5. package/dist/commands/auth/login.js +8 -14
  6. package/dist/commands/auth/login.js.map +1 -1
  7. package/dist/commands/auth/logout.js +6 -21
  8. package/dist/commands/auth/logout.js.map +1 -1
  9. package/dist/commands/auth/sessions.js +3 -7
  10. package/dist/commands/auth/sessions.js.map +1 -1
  11. package/dist/commands/auth/status.js +11 -34
  12. package/dist/commands/auth/status.js.map +1 -1
  13. package/dist/commands/credits/index.js +2 -2
  14. package/dist/commands/credits/index.js.map +1 -1
  15. package/dist/commands/mcp/index.js +13 -79
  16. package/dist/commands/mcp/index.js.map +1 -1
  17. package/dist/commands/scan/index.js +2 -2
  18. package/dist/commands/scan/index.js.map +1 -1
  19. package/dist/commands/tm/index.js +3 -3
  20. package/dist/commands/tm/index.js.map +1 -1
  21. package/dist/internal/ide-setup.d.ts +7 -38
  22. package/dist/internal/ide-setup.js +41 -359
  23. package/dist/internal/ide-setup.js.map +1 -1
  24. package/dist/internal/project-binding.d.ts +0 -2
  25. package/dist/internal/project-binding.js +8 -18
  26. package/dist/internal/project-binding.js.map +1 -1
  27. package/package.json +2 -2
  28. package/dist/commands/auth/bind.d.ts +0 -30
  29. package/dist/commands/auth/bind.js +0 -176
  30. package/dist/commands/auth/bind.js.map +0 -1
  31. package/dist/commands/auth/init.d.ts +0 -4
  32. package/dist/commands/auth/init.js +0 -243
  33. package/dist/commands/auth/init.js.map +0 -1
  34. package/dist/commands/auth/token.d.ts +0 -17
  35. package/dist/commands/auth/token.js +0 -91
  36. package/dist/commands/auth/token.js.map +0 -1
@@ -1,91 +0,0 @@
1
- /**
2
- * zivis auth token
3
- *
4
- * Store a ZIVIS API access token in the OS keychain for a named session.
5
- * API tokens are the preferred auth method for the MCP server and CI pipelines
6
- * — they don't expire and don't require browser interaction.
7
- *
8
- * Usage:
9
- * zivis auth token sk_<...> # default session
10
- * zivis auth token sk_<...> --session zivis # named session
11
- *
12
- * Tokens are generated in the ZIVIS platform: Settings → API Tokens
13
- */
14
- import { keychainStore, getStorageName } from "@zivis/mcp/auth";
15
- import { detectProjectBinding, resolveConfigFromBinding } from "@zivis/mcp/project-binding";
16
- import { DEFAULT_CONFIG, credentialStorageFromConfig } from "@zivis/mcp/types";
17
- const API_KEY_PREFIX = "sk_";
18
- const API_KEY_REGEX = /^sk_[a-z0-9_]{10,}$/i;
19
- function getApiKeyAccount(session) {
20
- return session ? `apikey.${session}` : "apikey";
21
- }
22
- function validateKeyFormat(key) {
23
- return API_KEY_REGEX.test(key);
24
- }
25
- export async function tokenCommand(apiKey, opts) {
26
- // Validate format
27
- if (!validateKeyFormat(apiKey)) {
28
- console.error(`Invalid API token format. Expected: ${API_KEY_PREFIX}<token value>`);
29
- console.error(`Got: ${apiKey.substring(0, 20)}...`);
30
- console.error(`\nGenerate a token at: Settings → API Tokens in the ZIVIS platform.`);
31
- process.exit(1);
32
- }
33
- // Determine session from opts or project binding
34
- const cwd = process.cwd();
35
- const detected = detectProjectBinding(cwd);
36
- const session = opts.session ?? detected?.binding.session;
37
- const config = { ...DEFAULT_CONFIG, ...resolveConfigFromBinding(cwd) };
38
- const account = getApiKeyAccount(session);
39
- const sessionLabel = session ? `session "${session}"` : "default session";
40
- const storageName = getStorageName();
41
- try {
42
- await keychainStore(account, apiKey, credentialStorageFromConfig(config));
43
- }
44
- catch (err) {
45
- console.error(`Failed to store token: ${err instanceof Error ? err.message : err}`);
46
- process.exit(1);
47
- }
48
- const maskedKey = `${apiKey.substring(0, 12)}...${apiKey.slice(-4)}`;
49
- console.log(`✓ API token stored for ${sessionLabel}`);
50
- console.log(` Key: ${maskedKey}`);
51
- console.log(` Storage: ${storageName} (account: ${account})`);
52
- if (session) {
53
- console.log(`\nThe MCP server will use this token automatically for projects bound to session "${session}".`);
54
- }
55
- else {
56
- console.log(`\nThe MCP server will use this token for the default session.`);
57
- console.log(`Tip: Use --session <name> to scope this token to a specific org.`);
58
- }
59
- if (detected) {
60
- const orgLabel = detected.binding.orgName
61
- ? ` (${detected.binding.orgName})`
62
- : "";
63
- console.log(`\nProject binding detected: this repo is bound to session "${detected.binding.session}"${orgLabel}.`);
64
- if (!session) {
65
- console.log(` Tip: Run with --session ${detected.binding.session} to scope this token to that org.`);
66
- }
67
- }
68
- // Optionally verify the key works against the API
69
- try {
70
- const response = await fetch(`${config.apiBaseUrl}/api/mcp/session`, {
71
- headers: { "X-API-Key": apiKey, "User-Agent": "@zivis/cli" },
72
- });
73
- if (response.ok) {
74
- const data = (await response.json());
75
- const orgName = data.org?.name ?? "unknown org";
76
- const email = data.user?.email ?? "unknown user";
77
- console.log(`\n✓ Token verified — authenticated as ${email} in ${orgName}`);
78
- }
79
- else {
80
- const body = await response.json().catch(() => ({}));
81
- console.log(`\n Warning: Could not verify token against API (HTTP ${response.status}): ${body.message ?? body.error ?? "unknown error"}`);
82
- console.log(` Token was stored but may be invalid or lack the 'mcp' scope.`);
83
- }
84
- }
85
- catch {
86
- // Network error — token is stored, just couldn't verify
87
- console.log(`\n Note: Could not reach the ZIVIS API to verify the token (stored anyway).`);
88
- }
89
- process.exit(0);
90
- }
91
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/commands/auth/token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/E,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAM7C,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAkB;IAElB,kBAAkB;IAClB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CACX,uCAAuC,cAAc,eAAe,CACrE,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;IAEvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC1E,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,cAAc,OAAO,GAAG,CAAC,CAAC;IAE/D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,qFAAqF,OAAO,IAAI,CACjG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO;YACvC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG;YAClC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CACT,8DAA8D,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,GAAG,CACtG,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,OAAO,CAAC,OAAO,mCAAmC,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,kBAAkB,EAAE;YACnE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE;SAC7D,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,aAAa,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,OAAO,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAA2B,CAAC;YAC/E,OAAO,CAAC,GAAG,CACT,yDAAyD,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAC9H,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;QACxD,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}