@ogment-ai/cli 0.3.5 → 0.4.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.
- package/README.md +72 -76
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +521 -247
- package/dist/commands/auth.d.ts +22 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +29 -0
- package/dist/commands/catalog.d.ts +29 -0
- package/dist/commands/catalog.d.ts.map +1 -0
- package/dist/commands/catalog.js +151 -0
- package/dist/commands/invoke.d.ts +17 -0
- package/dist/commands/invoke.d.ts.map +1 -0
- package/dist/commands/invoke.js +123 -0
- package/dist/commands/{info.d.ts → status.d.ts} +4 -4
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/{info.js → status.js} +1 -1
- package/dist/output/envelope.d.ts +19 -0
- package/dist/output/envelope.d.ts.map +1 -0
- package/dist/output/envelope.js +51 -0
- package/dist/output/manager.d.ts +16 -3
- package/dist/output/manager.d.ts.map +1 -1
- package/dist/output/manager.js +27 -29
- package/dist/services/account.d.ts.map +1 -1
- package/dist/services/account.js +18 -2
- package/dist/services/auth.d.ts +14 -3
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/auth.js +119 -15
- package/dist/services/info.d.ts.map +1 -1
- package/dist/services/info.js +11 -10
- package/dist/services/mcp.d.ts.map +1 -1
- package/dist/services/mcp.js +24 -23
- package/dist/shared/constants.d.ts +0 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +0 -1
- package/dist/shared/error-codes.d.ts +28 -0
- package/dist/shared/error-codes.d.ts.map +1 -0
- package/dist/shared/error-codes.js +25 -0
- package/dist/shared/errors.d.ts +100 -9
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/errors.js +101 -0
- package/dist/shared/exit-codes.d.ts +8 -5
- package/dist/shared/exit-codes.d.ts.map +1 -1
- package/dist/shared/exit-codes.js +31 -14
- package/dist/shared/guards.d.ts +5 -1
- package/dist/shared/guards.d.ts.map +1 -1
- package/dist/shared/guards.js +6 -1
- package/dist/shared/retry.d.ts +17 -0
- package/dist/shared/retry.d.ts.map +1 -0
- package/dist/shared/retry.js +27 -0
- package/dist/shared/schema-example.d.ts +2 -0
- package/dist/shared/schema-example.d.ts.map +1 -0
- package/dist/shared/schema-example.js +128 -0
- package/dist/shared/schemas.d.ts +0 -42
- package/dist/shared/schemas.d.ts.map +1 -1
- package/dist/shared/schemas.js +0 -21
- package/dist/shared/types.d.ts +84 -12
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +1 -1
- package/package.json +5 -7
- package/dist/commands/call.d.ts +0 -14
- package/dist/commands/call.d.ts.map +0 -1
- package/dist/commands/call.js +0 -51
- package/dist/commands/describe.d.ts +0 -4
- package/dist/commands/describe.d.ts.map +0 -1
- package/dist/commands/describe.js +0 -109
- package/dist/commands/info.d.ts.map +0 -1
- package/dist/commands/servers.d.ts +0 -13
- package/dist/commands/servers.d.ts.map +0 -1
- package/dist/commands/servers.js +0 -29
- package/dist/postinstall.d.ts +0 -2
- package/dist/postinstall.d.ts.map +0 -1
- package/dist/postinstall.js +0 -12
package/README.md
CHANGED
|
@@ -1,145 +1,141 @@
|
|
|
1
1
|
# Ogment CLI
|
|
2
2
|
|
|
3
|
-
|
|
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.
|
|
4
6
|
|
|
5
7
|
Package: `@ogment-ai/cli`
|
|
6
8
|
Binary: `ogment`
|
|
7
9
|
|
|
8
|
-
Ogment sits between your AI agent and your SaaS tools. Your agent gets a scoped, revocable API key — your real credentials never leave Ogment.
|
|
9
|
-
|
|
10
10
|
## Install
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
# Global install (recommended)
|
|
14
13
|
npm install -g @ogment-ai/cli
|
|
15
|
-
|
|
16
|
-
# One-off usage without installing globally
|
|
17
|
-
npx @ogment-ai/cli --help
|
|
18
14
|
```
|
|
19
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
|
+
|
|
20
23
|
## Quick Start
|
|
21
24
|
|
|
22
25
|
```bash
|
|
23
|
-
#
|
|
24
|
-
ogment login
|
|
26
|
+
# 1) Authenticate (device flow by default)
|
|
27
|
+
ogment auth login
|
|
25
28
|
|
|
26
|
-
#
|
|
27
|
-
ogment
|
|
29
|
+
# 2) Discover servers (summary only)
|
|
30
|
+
ogment catalog
|
|
28
31
|
|
|
29
|
-
#
|
|
30
|
-
ogment
|
|
32
|
+
# 3) Discover tools for one server
|
|
33
|
+
ogment catalog <server-id>
|
|
31
34
|
|
|
32
|
-
#
|
|
33
|
-
ogment
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Development
|
|
35
|
+
# 4) Inspect one tool schema and include generated example input
|
|
36
|
+
ogment catalog <server-id> <tool-name> --example
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
# 5) Invoke
|
|
39
|
+
ogment invoke <server-id>/<tool-name> --input '{}'
|
|
39
40
|
|
|
40
|
-
```bash
|
|
41
|
-
pnpm test # Single run
|
|
42
|
-
pnpm test:coverage # Coverage (text + html + lcov)
|
|
43
|
-
pnpm test:changed # Run tests related to changed files
|
|
44
|
-
pnpm test:ci # CI profile (coverage + CI reporters)
|
|
45
41
|
```
|
|
46
42
|
|
|
47
43
|
## Commands
|
|
48
44
|
|
|
49
|
-
### `ogment login`
|
|
45
|
+
### `ogment auth login`
|
|
50
46
|
|
|
51
|
-
|
|
47
|
+
Default device-code login.
|
|
52
48
|
|
|
53
49
|
```bash
|
|
54
|
-
ogment login
|
|
50
|
+
ogment auth login
|
|
55
51
|
```
|
|
56
52
|
|
|
57
|
-
### `ogment login --
|
|
53
|
+
### `ogment auth login --browser`
|
|
58
54
|
|
|
59
|
-
|
|
55
|
+
Fallback browser callback flow.
|
|
60
56
|
|
|
61
57
|
```bash
|
|
62
|
-
ogment login --
|
|
58
|
+
ogment auth login --browser
|
|
59
|
+
```
|
|
63
60
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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"
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
### `ogment
|
|
69
|
+
### `ogment auth status`
|
|
71
70
|
|
|
72
|
-
|
|
71
|
+
Show credential presence/source.
|
|
73
72
|
|
|
74
73
|
```bash
|
|
75
|
-
ogment
|
|
76
|
-
ogment servers <path> # Inspect tools
|
|
77
|
-
ogment servers --json # Machine-readable output
|
|
74
|
+
ogment auth status
|
|
78
75
|
```
|
|
79
76
|
|
|
80
|
-
### `ogment
|
|
77
|
+
### `ogment auth logout`
|
|
81
78
|
|
|
82
|
-
|
|
79
|
+
Revoke and clear local credentials.
|
|
83
80
|
|
|
84
81
|
```bash
|
|
85
|
-
ogment
|
|
86
|
-
ogment call ecommerce-api get__api_products_ '{"limit":2}'
|
|
82
|
+
ogment auth logout
|
|
87
83
|
```
|
|
88
84
|
|
|
89
|
-
### `ogment
|
|
85
|
+
### `ogment catalog [server-id] [tool-name]`
|
|
90
86
|
|
|
91
|
-
|
|
87
|
+
Progressive discovery with one command: no args lists servers, one arg lists tools on a server, two args shows full tool schema.
|
|
92
88
|
|
|
93
89
|
```bash
|
|
94
|
-
ogment
|
|
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
|
|
95
96
|
```
|
|
96
97
|
|
|
97
|
-
### `ogment
|
|
98
|
+
### `ogment invoke <server-id>/<tool-name>`
|
|
98
99
|
|
|
99
|
-
|
|
100
|
+
Invoke a tool with one input mode.
|
|
100
101
|
|
|
101
102
|
```bash
|
|
102
|
-
ogment
|
|
103
|
-
ogment
|
|
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 -
|
|
104
106
|
```
|
|
105
107
|
|
|
106
|
-
|
|
108
|
+
### `ogment status`
|
|
107
109
|
|
|
108
|
-
|
|
110
|
+
Runtime and connectivity diagnostics.
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
4. **Revoke anytime** — In the Ogment dashboard → Agents tab
|
|
112
|
+
```bash
|
|
113
|
+
ogment status
|
|
114
|
+
```
|
|
114
115
|
|
|
115
|
-
|
|
116
|
+
## Global Options
|
|
116
117
|
|
|
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
|
+
```
|
|
118
125
|
|
|
119
126
|
## Environment Variables
|
|
120
127
|
|
|
121
128
|
| Variable | Default | Description |
|
|
122
129
|
|---|---|---|
|
|
123
|
-
| `OGMENT_BASE_URL` | `https://dashboard.ogment.ai` | Ogment platform URL
|
|
124
|
-
| `OGMENT_API_KEY` |
|
|
130
|
+
| `OGMENT_BASE_URL` | `https://dashboard.ogment.ai` | Ogment platform URL |
|
|
131
|
+
| `OGMENT_API_KEY` | `—` | API key fallback |
|
|
125
132
|
|
|
126
|
-
##
|
|
133
|
+
## Development
|
|
127
134
|
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
▼
|
|
133
|
-
┌─────────────────────────────────┐
|
|
134
|
-
│ Ogment MCP Proxy │
|
|
135
|
-
│ ✓ Validate API key │
|
|
136
|
-
│ ✓ Inject real credentials │
|
|
137
|
-
│ ✓ Log every tool call │
|
|
138
|
-
└──────────────┬──────────────────┘
|
|
139
|
-
│
|
|
140
|
-
┌──────────┼──────────┐
|
|
141
|
-
▼ ▼ ▼
|
|
142
|
-
Salesforce Linear Snowflake
|
|
135
|
+
```bash
|
|
136
|
+
pnpm test
|
|
137
|
+
pnpm test:e2e
|
|
138
|
+
pnpm build
|
|
143
139
|
```
|
|
144
140
|
|
|
145
141
|
## License
|
package/dist/cli.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { type InfoService } from "./services/info.js";
|
|
|
5
5
|
import { type ExitCode } from "./shared/exit-codes.js";
|
|
6
6
|
export interface GlobalCliOptions {
|
|
7
7
|
apiKey: string | undefined;
|
|
8
|
-
|
|
8
|
+
human: boolean | undefined;
|
|
9
9
|
nonInteractive: boolean | undefined;
|
|
10
10
|
quiet: boolean | undefined;
|
|
11
11
|
yes: boolean | undefined;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAmBA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAO7E,OAAO,EAAE,aAAa,EAA0B,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAazE,OAAO,EAAa,KAAK,QAAQ,EAAoB,MAAM,wBAAwB,CAAC;AAapF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1B;AAED,UAAU,OAAO;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;CACvB;AAk6BD,eAAO,MAAM,MAAM,GACjB,OAAM,SAAS,MAAM,EAA0B,EAC/C,UAAS,OAAyB,KACjC,OAAO,CAAC,QAAQ,CAuBlB,CAAC;AAEF,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAG/C,CAAC;AAMF,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,EAAE,OAAO,MAAM,GAAG,SAAS,KAAG,OAanF,CAAC"}
|