@ogment-ai/cli 0.5.0 → 0.7.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 (111) hide show
  1. package/dist/cli.js +21382 -4
  2. package/dist/cli.js.map +1 -0
  3. package/package.json +46 -55
  4. package/README.md +0 -143
  5. package/dist/cli/commands.d.ts +0 -38
  6. package/dist/cli/commands.d.ts.map +0 -1
  7. package/dist/cli/commands.js +0 -57
  8. package/dist/cli/execute.d.ts +0 -11
  9. package/dist/cli/execute.d.ts.map +0 -1
  10. package/dist/cli/execute.js +0 -487
  11. package/dist/cli/invocations.d.ts +0 -32
  12. package/dist/cli/invocations.d.ts.map +0 -1
  13. package/dist/cli/invocations.js +0 -1
  14. package/dist/cli/parse-errors.d.ts +0 -17
  15. package/dist/cli/parse-errors.d.ts.map +0 -1
  16. package/dist/cli/parse-errors.js +0 -184
  17. package/dist/cli/program.d.ts +0 -10
  18. package/dist/cli/program.d.ts.map +0 -1
  19. package/dist/cli/program.js +0 -183
  20. package/dist/cli/run.d.ts +0 -6
  21. package/dist/cli/run.d.ts.map +0 -1
  22. package/dist/cli/run.js +0 -83
  23. package/dist/cli/runtime.d.ts +0 -22
  24. package/dist/cli/runtime.d.ts.map +0 -1
  25. package/dist/cli/runtime.js +0 -86
  26. package/dist/cli.d.ts +0 -4
  27. package/dist/cli.d.ts.map +0 -1
  28. package/dist/commands/auth.d.ts +0 -22
  29. package/dist/commands/auth.d.ts.map +0 -1
  30. package/dist/commands/auth.js +0 -29
  31. package/dist/commands/catalog.d.ts +0 -31
  32. package/dist/commands/catalog.d.ts.map +0 -1
  33. package/dist/commands/catalog.js +0 -167
  34. package/dist/commands/context.d.ts +0 -15
  35. package/dist/commands/context.d.ts.map +0 -1
  36. package/dist/commands/context.js +0 -1
  37. package/dist/commands/invoke.d.ts +0 -17
  38. package/dist/commands/invoke.d.ts.map +0 -1
  39. package/dist/commands/invoke.js +0 -173
  40. package/dist/commands/server-context.d.ts +0 -14
  41. package/dist/commands/server-context.d.ts.map +0 -1
  42. package/dist/commands/server-context.js +0 -26
  43. package/dist/commands/status.d.ts +0 -12
  44. package/dist/commands/status.d.ts.map +0 -1
  45. package/dist/commands/status.js +0 -5
  46. package/dist/index.d.ts +0 -4
  47. package/dist/index.d.ts.map +0 -1
  48. package/dist/index.js +0 -3
  49. package/dist/infra/browser.d.ts +0 -12
  50. package/dist/infra/browser.d.ts.map +0 -1
  51. package/dist/infra/browser.js +0 -20
  52. package/dist/infra/credentials.d.ts +0 -22
  53. package/dist/infra/credentials.d.ts.map +0 -1
  54. package/dist/infra/credentials.js +0 -81
  55. package/dist/infra/env.d.ts +0 -15
  56. package/dist/infra/env.d.ts.map +0 -1
  57. package/dist/infra/env.js +0 -100
  58. package/dist/infra/http.d.ts +0 -16
  59. package/dist/infra/http.d.ts.map +0 -1
  60. package/dist/infra/http.js +0 -84
  61. package/dist/output/envelope.d.ts +0 -22
  62. package/dist/output/envelope.d.ts.map +0 -1
  63. package/dist/output/envelope.js +0 -67
  64. package/dist/output/manager.d.ts +0 -49
  65. package/dist/output/manager.d.ts.map +0 -1
  66. package/dist/output/manager.js +0 -128
  67. package/dist/services/account.d.ts +0 -16
  68. package/dist/services/account.d.ts.map +0 -1
  69. package/dist/services/account.js +0 -75
  70. package/dist/services/auth.d.ts +0 -49
  71. package/dist/services/auth.d.ts.map +0 -1
  72. package/dist/services/auth.js +0 -739
  73. package/dist/services/info.d.ts +0 -24
  74. package/dist/services/info.d.ts.map +0 -1
  75. package/dist/services/info.js +0 -316
  76. package/dist/services/mcp-error-mapping.d.ts +0 -9
  77. package/dist/services/mcp-error-mapping.d.ts.map +0 -1
  78. package/dist/services/mcp-error-mapping.js +0 -129
  79. package/dist/services/mcp.d.ts +0 -39
  80. package/dist/services/mcp.d.ts.map +0 -1
  81. package/dist/services/mcp.js +0 -169
  82. package/dist/shared/constants.d.ts +0 -7
  83. package/dist/shared/constants.d.ts.map +0 -1
  84. package/dist/shared/constants.js +0 -8
  85. package/dist/shared/error-codes.d.ts +0 -31
  86. package/dist/shared/error-codes.d.ts.map +0 -1
  87. package/dist/shared/error-codes.js +0 -25
  88. package/dist/shared/error-presentation.d.ts +0 -17
  89. package/dist/shared/error-presentation.d.ts.map +0 -1
  90. package/dist/shared/error-presentation.js +0 -151
  91. package/dist/shared/errors.d.ts +0 -146
  92. package/dist/shared/errors.d.ts.map +0 -1
  93. package/dist/shared/errors.js +0 -233
  94. package/dist/shared/exit-codes.d.ts +0 -15
  95. package/dist/shared/exit-codes.d.ts.map +0 -1
  96. package/dist/shared/exit-codes.js +0 -44
  97. package/dist/shared/guards.d.ts +0 -11
  98. package/dist/shared/guards.d.ts.map +0 -1
  99. package/dist/shared/guards.js +0 -29
  100. package/dist/shared/recovery.d.ts +0 -5
  101. package/dist/shared/recovery.d.ts.map +0 -1
  102. package/dist/shared/recovery.js +0 -123
  103. package/dist/shared/schema-example.d.ts +0 -3
  104. package/dist/shared/schema-example.d.ts.map +0 -1
  105. package/dist/shared/schema-example.js +0 -105
  106. package/dist/shared/schemas.d.ts +0 -15
  107. package/dist/shared/schemas.d.ts.map +0 -1
  108. package/dist/shared/schemas.js +0 -15
  109. package/dist/shared/types.d.ts +0 -225
  110. package/dist/shared/types.d.ts.map +0 -1
  111. package/dist/shared/types.js +0 -1
package/package.json CHANGED
@@ -1,77 +1,68 @@
1
1
  {
2
2
  "name": "@ogment-ai/cli",
3
- "version": "0.5.0",
4
- "description": "Ogment Vault CLI — secure your AI agents' SaaS credentials",
5
- "type": "module",
3
+ "version": "0.7.0",
4
+ "private": false,
5
+ "description": "Ogment CLI",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/ogment-ai/ogment.git",
9
+ "directory": "apps/cli"
10
+ },
6
11
  "bin": {
7
- "ogment": "./dist/cli.js"
12
+ "ogment": "dist/cli.js"
8
13
  },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "type": "module",
9
18
  "exports": {
10
19
  ".": {
11
20
  "default": "./dist/cli.js"
12
21
  }
13
22
  },
14
- "files": [
15
- "dist"
16
- ],
17
- "keywords": [
18
- "ogment",
19
- "mcp",
20
- "ai",
21
- "vault",
22
- "oauth",
23
- "cli",
24
- "model-context-protocol",
25
- "agent",
26
- "security"
27
- ],
28
- "author": "Ogment <info@ogment.ai>",
29
- "license": "MIT",
30
- "repository": {
31
- "type": "git",
32
- "url": "git+https://github.com/ogment-ai/ogment-cli.git"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/ogment-ai/ogment-cli/issues"
36
- },
37
- "homepage": "https://ogment.ai",
38
- "engines": {
39
- "node": ">=18"
40
- },
41
- "dependencies": {
42
- "@modelcontextprotocol/sdk": "^1.27.0",
43
- "@ogment-ai/cli-contract": "0.5.0",
44
- "better-result": "^2.7.0",
45
- "commander": "^14.0.3",
46
- "open": "^11.0.0",
47
- "zod": "^4.3.6"
48
- },
49
- "devDependencies": {
50
- "@types/node": "^25.3.0",
51
- "@vitest/coverage-v8": "^4.0.18",
52
- "@vitest/ui": "^4.0.18",
53
- "opensrc": "^0.6.0",
54
- "oxfmt": "^0.35.0",
55
- "oxlint": "^1.50.0",
56
- "oxlint-tsgolint": "^0.14.2",
57
- "tsx": "^4.21.0",
58
- "typescript": "^5.9.3",
59
- "vitest": "^4.0.18"
23
+ "publishConfig": {
24
+ "access": "public"
60
25
  },
61
26
  "scripts": {
62
27
  "clean": "node -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true });\"",
63
- "build": "pnpm clean && tsc -p tsconfig.build.json",
28
+ "build": "pnpm run clean && rolldown -c",
29
+ "prepack": "pnpm run build",
30
+ "check-types": "oxlint . --type-aware --type-check -A all --tsconfig tsconfig.json",
64
31
  "dev": "tsx src/cli.ts",
65
32
  "start": "node dist/cli.js",
66
33
  "local": "pnpm run build && CI=1 OGMENT_BASE_URL=${OGMENT_BASE_URL:-http://localhost:3000} node dist/cli.js",
67
34
  "local:json": "pnpm run build && CI=1 OGMENT_BASE_URL=${OGMENT_BASE_URL:-http://localhost:3000} node dist/cli.js",
68
- "lint": "oxlint -c oxlint.config.ts --type-aware --type-check --tsconfig tsconfig.json src test/src test/e2e vitest.config.ts vitest.e2e.config.ts",
69
- "lint:fix": "pnpm lint -- --fix",
35
+ "lint": "oxlint -c oxlint.config.ts --fix --type-aware --tsconfig tsconfig.json src test/src test/e2e vitest.config.ts vitest.e2e.config.ts",
36
+ "lint:check": "oxlint -c oxlint.config.ts --type-aware --deny-warnings --report-unused-disable-directives --tsconfig tsconfig.json src test/src test/e2e vitest.config.ts vitest.e2e.config.ts",
37
+ "lint:ci": "pnpm run lint:check -- --format=github",
70
38
  "format": "oxfmt --write src test/src test/e2e",
71
39
  "format:check": "oxfmt --check src test/src test/e2e",
72
40
  "test": "vitest run -c vitest.config.ts",
73
41
  "test:coverage": "vitest run -c vitest.config.ts --coverage",
74
- "test:e2e": "vitest run -c vitest.e2e.config.ts",
42
+ "test:e2e": "pnpm run build && vitest run -c vitest.e2e.config.ts",
75
43
  "test:changed": "pnpm test -- --changed"
44
+ },
45
+ "dependencies": {
46
+ "@modelcontextprotocol/sdk": "1.25.2",
47
+ "@repo/shared": "*",
48
+ "better-result": "^2.7.0",
49
+ "commander": "^14.0.3",
50
+ "zod": "^4.3.5"
51
+ },
52
+ "devDependencies": {
53
+ "@repo/eslint-config": "*",
54
+ "@repo/typescript-config": "*",
55
+ "@types/node": "22.18.12",
56
+ "@vitest/coverage-v8": "^4.0.14",
57
+ "@vitest/ui": "^4.0.14",
58
+ "oxfmt": "^0.35.0",
59
+ "oxlint": "^1.50.0",
60
+ "rolldown": "1.0.0-rc.6",
61
+ "tsx": "^4.21.0",
62
+ "vitest": "^4.0.14"
63
+ },
64
+ "engines": {
65
+ "node": ">=22.18.0",
66
+ "pnpm": ">=10"
76
67
  }
77
- }
68
+ }
package/README.md DELETED
@@ -1,143 +0,0 @@
1
- # Ogment CLI
2
-
3
- <!-- Generated from docs/command-spec.json via scripts/sync-command-docs.mjs -->
4
-
5
- Agent-first CLI for discovering and invoking Ogment-backed tools.
6
-
7
- Package: `@ogment-ai/cli`
8
- Binary: `ogment`
9
-
10
- ## Install
11
-
12
- ```bash
13
- npm install -g @ogment-ai/cli
14
- ```
15
-
16
- ## Core Behavior
17
-
18
- 1. Output is machine-readable JSON by default.
19
- 2. Use `--human` for readable terminal output.
20
- 3. Default login flow is device-code + human approval.
21
- 4. Discovery uses progressive disclosure (`catalog` -> `catalog <server-id>` -> `catalog <server-id> <tool-name>`).
22
-
23
- ## Quick Start
24
-
25
- ```bash
26
- # 1) Authenticate (device flow by default)
27
- ogment auth login
28
-
29
- # 2) Discover servers (summary only)
30
- ogment catalog
31
-
32
- # 3) Discover tools for one server
33
- ogment catalog <server-id>
34
-
35
- # 4) Inspect one tool schema and include generated example input
36
- ogment catalog <server-id> <tool-name> --example
37
-
38
- # 5) Invoke
39
- ogment invoke <server-id>/<tool-name> --input '{}'
40
-
41
- ```
42
-
43
- ## Commands
44
-
45
- ### `ogment auth login`
46
-
47
- Default device-code login.
48
-
49
- ```bash
50
- ogment auth login
51
- ```
52
-
53
- ### `ogment auth login --browser`
54
-
55
- Fallback browser callback flow.
56
-
57
- ```bash
58
- ogment auth login --browser
59
- ```
60
-
61
- ### `ogment auth login --api-key <key>`
62
-
63
- Last-resort path for CI/unattended setups.
64
-
65
- ```bash
66
- ogment auth login --api-key "$OGMENT_API_KEY"
67
- ```
68
-
69
- ### `ogment auth status`
70
-
71
- Show credential presence/source.
72
-
73
- ```bash
74
- ogment auth status
75
- ```
76
-
77
- ### `ogment auth logout`
78
-
79
- Revoke and clear local credentials.
80
-
81
- ```bash
82
- ogment auth logout
83
- ```
84
-
85
- ### `ogment catalog [server-id] [tool-name]`
86
-
87
- Progressive discovery with one command: no args lists servers, one arg lists tools on a server, two args shows full tool schema.
88
-
89
- ```bash
90
- ogment catalog
91
- ogment catalog --limit 20
92
- ogment catalog --cursor <last-server-id> --limit 20
93
- ogment catalog billing
94
- ogment catalog billing get_health
95
- ogment catalog billing get_health --example
96
- ```
97
-
98
- ### `ogment invoke <server-id>/<tool-name>`
99
-
100
- Invoke a tool with one input mode.
101
-
102
- ```bash
103
- ogment invoke billing/get_health --input '{}'
104
- ogment invoke billing/get_health --input @./payload.json
105
- cat payload.json | ogment invoke billing/get_health --input -
106
- ```
107
-
108
- ### `ogment status`
109
-
110
- Runtime and connectivity diagnostics.
111
-
112
- ```bash
113
- ogment status
114
- ```
115
-
116
- ## Global Options
117
-
118
- ```bash
119
- --api-key <key> API key override
120
- --human Human-readable output
121
- --quiet Suppress non-essential output
122
- --non-interactive Disable interactive behavior
123
- --yes Assume yes for confirmations
124
- ```
125
-
126
- ## Environment Variables
127
-
128
- | Variable | Default | Description |
129
- |---|---|---|
130
- | `OGMENT_BASE_URL` | `https://dashboard.ogment.ai` | Ogment platform URL |
131
- | `OGMENT_API_KEY` | `—` | API key fallback |
132
-
133
- ## Development
134
-
135
- ```bash
136
- pnpm test
137
- pnpm test:e2e
138
- pnpm build
139
- ```
140
-
141
- ## License
142
-
143
- MIT
@@ -1,38 +0,0 @@
1
- export interface CatalogSummaryCommandOptions {
2
- cursor?: string | undefined;
3
- limit?: number | undefined;
4
- }
5
- export declare const cliCommands: {
6
- readonly auth: {
7
- readonly help: () => string;
8
- readonly login: () => string;
9
- readonly loginWithApiKeyRedacted: () => string;
10
- readonly loginWithBrowser: () => string;
11
- readonly logout: () => string;
12
- readonly status: () => string;
13
- };
14
- readonly catalog: {
15
- readonly command: () => string;
16
- readonly server: (serverId: string) => string;
17
- readonly summary: (options: CatalogSummaryCommandOptions) => string;
18
- readonly tool: (serverId: string, toolName: string, options: {
19
- example: boolean;
20
- }) => string;
21
- };
22
- readonly helpForScope: (scope: string | null) => string;
23
- readonly invoke: {
24
- readonly command: (target: string) => string;
25
- readonly inlineJson: (target: string) => string;
26
- readonly stdin: (target: string) => string;
27
- readonly withInputValue: (target: string, value: string) => string;
28
- };
29
- readonly root: {
30
- readonly command: () => string;
31
- readonly commandsSurface: () => string[];
32
- readonly help: () => string;
33
- };
34
- readonly status: {
35
- readonly command: () => string;
36
- };
37
- };
38
- //# sourceMappingURL=commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW;;6BAEV,MAAM;8BACL,MAAM;gDACY,MAAM;yCACb,MAAM;+BAChB,MAAM;+BACN,MAAM;;;gCAGL,MAAM;oCACA,MAAM,KAAG,MAAM;oCACf,4BAA4B,KAAG,MAAM;kCAOvC,MAAM,YAAY,MAAM,WAAW;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,KAAG,MAAM;;mCAM7D,MAAM,GAAG,IAAI,KAAG,MAAM;;mCAQxB,MAAM,KAAG,MAAM;sCACZ,MAAM,KAAG,MAAM;iCACpB,MAAM,KAAG,MAAM;0CACN,MAAM,SAAS,MAAM,KAAG,MAAM;;;gCAK1C,MAAM;wCACE,MAAM,EAAE;6BAYnB,MAAM;;;gCAGH,MAAM;;CAEb,CAAC"}
@@ -1,57 +0,0 @@
1
- export const cliCommands = {
2
- auth: {
3
- help: () => "ogment auth --help",
4
- login: () => "ogment auth login",
5
- loginWithApiKeyRedacted: () => "ogment auth login --api-key <redacted>",
6
- loginWithBrowser: () => "ogment auth login --browser",
7
- logout: () => "ogment auth logout",
8
- status: () => "ogment auth status",
9
- },
10
- catalog: {
11
- command: () => "ogment catalog",
12
- server: (serverId) => `ogment catalog ${serverId}`,
13
- summary: (options) => {
14
- return [
15
- "ogment catalog",
16
- ...(options.cursor === undefined ? [] : [`--cursor ${options.cursor}`]),
17
- ...(options.limit === undefined ? [] : [`--limit ${options.limit}`]),
18
- ].join(" ");
19
- },
20
- tool: (serverId, toolName, options) => {
21
- return ["ogment catalog", serverId, toolName, ...(options.example ? ["--example"] : [])].join(" ");
22
- },
23
- },
24
- helpForScope: (scope) => {
25
- if (scope === null) {
26
- return "ogment --help";
27
- }
28
- return `ogment ${scope} --help`;
29
- },
30
- invoke: {
31
- command: (target) => `ogment invoke ${target}`,
32
- inlineJson: (target) => `ogment invoke ${target} --input <json>`,
33
- stdin: (target) => `ogment invoke ${target} --input -`,
34
- withInputValue: (target, value) => {
35
- return `ogment invoke ${target} --input ${value}`;
36
- },
37
- },
38
- root: {
39
- command: () => "ogment",
40
- commandsSurface: () => {
41
- return [
42
- "auth login",
43
- "auth status",
44
- "auth logout",
45
- "catalog",
46
- "catalog <server-id>",
47
- "catalog <server-id> <tool-name>",
48
- "invoke <server-id>/<tool-name>",
49
- "status",
50
- ];
51
- },
52
- help: () => "ogment --help",
53
- },
54
- status: {
55
- command: () => "ogment status",
56
- },
57
- };
@@ -1,11 +0,0 @@
1
- import { type AppError } from "../shared/errors.js";
2
- import { type ExitCode } from "../shared/exit-codes.js";
3
- import type { CliInvocation } from "./invocations.js";
4
- import type { Runtime } from "./runtime.js";
5
- export declare class CliExitError extends Error {
6
- readonly exitCode: ExitCode;
7
- constructor(exitCode: ExitCode);
8
- }
9
- export declare const executeInvocation: (runtime: Runtime, invocation: CliInvocation) => Promise<void>;
10
- export declare const normalizeCliRuntimeError: (error: unknown) => AppError;
11
- //# sourceMappingURL=execute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,QAAQ,EAOd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,QAAQ,EAAoB,MAAM,yBAAyB,CAAC;AAY1E,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAsB5C,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAET,QAAQ,EAAE,QAAQ;CAItC;AA0pBD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,YAAY,aAAa,KACxB,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,QAuBzD,CAAC"}