@osva-ai/cli 1.0.0 → 1.1.0-rc.2
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 +178 -0
- package/dist/bin/osva.js +83 -5
- package/dist/bin/osva.js.map +1 -1
- package/dist/commands/index.js +13 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/doctor/format.d.ts +4 -0
- package/dist/doctor/format.d.ts.map +1 -0
- package/dist/doctor/format.js +18 -0
- package/dist/doctor/format.js.map +1 -0
- package/dist/doctor/http-probe.d.ts +17 -0
- package/dist/doctor/http-probe.d.ts.map +1 -0
- package/dist/doctor/http-probe.js +104 -0
- package/dist/doctor/http-probe.js.map +1 -0
- package/dist/doctor/index.d.ts +7 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +15 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/read-env.d.ts +3 -0
- package/dist/doctor/read-env.d.ts.map +1 -0
- package/dist/doctor/read-env.js +27 -0
- package/dist/doctor/read-env.js.map +1 -0
- package/dist/doctor/redact.d.ts +2 -0
- package/dist/doctor/redact.d.ts.map +1 -0
- package/dist/doctor/redact.js +10 -0
- package/dist/doctor/redact.js.map +1 -0
- package/dist/doctor/run-doctor.d.ts +6 -0
- package/dist/doctor/run-doctor.d.ts.map +1 -0
- package/dist/doctor/run-doctor.js +250 -0
- package/dist/doctor/run-doctor.js.map +1 -0
- package/dist/doctor/types.d.ts +22 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +2 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/exit.d.ts +7 -0
- package/dist/exit.d.ts.map +1 -0
- package/dist/exit.js +9 -0
- package/dist/exit.js.map +1 -0
- package/dist/init/index.d.ts +7 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +40 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/resolve-target.d.ts +2 -0
- package/dist/init/resolve-target.d.ts.map +1 -0
- package/dist/init/resolve-target.js +15 -0
- package/dist/init/resolve-target.js.map +1 -0
- package/dist/init/run-init.d.ts +6 -0
- package/dist/init/run-init.d.ts.map +1 -0
- package/dist/init/run-init.js +34 -0
- package/dist/init/run-init.js.map +1 -0
- package/dist/init/scaffold.d.ts +6 -0
- package/dist/init/scaffold.d.ts.map +1 -0
- package/dist/init/scaffold.js +66 -0
- package/dist/init/scaffold.js.map +1 -0
- package/dist/init/template-root.d.ts +3 -0
- package/dist/init/template-root.d.ts.map +1 -0
- package/dist/init/template-root.js +8 -0
- package/dist/init/template-root.js.map +1 -0
- package/dist/init/template-vars.d.ts +4 -0
- package/dist/init/template-vars.d.ts.map +1 -0
- package/dist/init/template-vars.js +18 -0
- package/dist/init/template-vars.js.map +1 -0
- package/dist/init/types.d.ts +18 -0
- package/dist/init/types.d.ts.map +1 -0
- package/dist/init/types.js +2 -0
- package/dist/init/types.js.map +1 -0
- package/dist/init/validate-project-name.d.ts +3 -0
- package/dist/init/validate-project-name.d.ts.map +1 -0
- package/dist/init/validate-project-name.js +26 -0
- package/dist/init/validate-project-name.js.map +1 -0
- package/dist/project/compose-volume.d.ts +11 -0
- package/dist/project/compose-volume.d.ts.map +1 -0
- package/dist/project/compose-volume.js +66 -0
- package/dist/project/compose-volume.js.map +1 -0
- package/dist/project/deploy-env.d.ts +12 -0
- package/dist/project/deploy-env.d.ts.map +1 -0
- package/dist/project/deploy-env.js +50 -0
- package/dist/project/deploy-env.js.map +1 -0
- package/dist/project/ensure-agent-version.d.ts +17 -0
- package/dist/project/ensure-agent-version.d.ts.map +1 -0
- package/dist/project/ensure-agent-version.js +105 -0
- package/dist/project/ensure-agent-version.js.map +1 -0
- package/dist/project/errors.d.ts +10 -0
- package/dist/project/errors.d.ts.map +1 -0
- package/dist/project/errors.js +19 -0
- package/dist/project/errors.js.map +1 -0
- package/dist/project/format.d.ts +42 -0
- package/dist/project/format.d.ts.map +1 -0
- package/dist/project/format.js +66 -0
- package/dist/project/format.js.map +1 -0
- package/dist/project/index.d.ts +5 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +101 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/install-trusted-runtime.d.ts +14 -0
- package/dist/project/install-trusted-runtime.d.ts.map +1 -0
- package/dist/project/install-trusted-runtime.js +82 -0
- package/dist/project/install-trusted-runtime.js.map +1 -0
- package/dist/project/load-manifest.d.ts +3 -0
- package/dist/project/load-manifest.d.ts.map +1 -0
- package/dist/project/load-manifest.js +13 -0
- package/dist/project/load-manifest.js.map +1 -0
- package/dist/project/manifest.d.ts +4 -0
- package/dist/project/manifest.d.ts.map +1 -0
- package/dist/project/manifest.js +12 -0
- package/dist/project/manifest.js.map +1 -0
- package/dist/project/parse-run-input.d.ts +6 -0
- package/dist/project/parse-run-input.d.ts.map +1 -0
- package/dist/project/parse-run-input.js +43 -0
- package/dist/project/parse-run-input.js.map +1 -0
- package/dist/project/poll.d.ts +15 -0
- package/dist/project/poll.d.ts.map +1 -0
- package/dist/project/poll.js +32 -0
- package/dist/project/poll.js.map +1 -0
- package/dist/project/run-deploy.d.ts +16 -0
- package/dist/project/run-deploy.d.ts.map +1 -0
- package/dist/project/run-deploy.js +142 -0
- package/dist/project/run-deploy.js.map +1 -0
- package/dist/project/run-run.d.ts +17 -0
- package/dist/project/run-run.d.ts.map +1 -0
- package/dist/project/run-run.js +203 -0
- package/dist/project/run-run.js.map +1 -0
- package/dist/project/run-status.d.ts +15 -0
- package/dist/project/run-status.d.ts.map +1 -0
- package/dist/project/run-status.js +122 -0
- package/dist/project/run-status.js.map +1 -0
- package/dist/project/sdk-error.d.ts +10 -0
- package/dist/project/sdk-error.d.ts.map +1 -0
- package/dist/project/sdk-error.js +49 -0
- package/dist/project/sdk-error.js.map +1 -0
- package/dist/project/state.d.ts +28 -0
- package/dist/project/state.d.ts.map +1 -0
- package/dist/project/state.js +54 -0
- package/dist/project/state.js.map +1 -0
- package/dist/project/workspace-context.d.ts +6 -0
- package/dist/project/workspace-context.d.ts.map +1 -0
- package/dist/project/workspace-context.js +25 -0
- package/dist/project/workspace-context.js.map +1 -0
- package/dist/stdout.d.ts +3 -0
- package/dist/stdout.d.ts.map +1 -0
- package/dist/stdout.js +27 -0
- package/dist/stdout.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validate/canonical-json.d.ts +2 -0
- package/dist/validate/canonical-json.d.ts.map +1 -0
- package/dist/validate/canonical-json.js +17 -0
- package/dist/validate/canonical-json.js.map +1 -0
- package/dist/validate/exit-code.d.ts +3 -0
- package/dist/validate/exit-code.d.ts.map +1 -0
- package/dist/validate/exit-code.js +4 -0
- package/dist/validate/exit-code.js.map +1 -0
- package/dist/validate/format.d.ts +4 -0
- package/dist/validate/format.d.ts.map +1 -0
- package/dist/validate/format.js +23 -0
- package/dist/validate/format.js.map +1 -0
- package/dist/validate/index.d.ts +6 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +29 -0
- package/dist/validate/index.js.map +1 -0
- package/dist/validate/integrity.d.ts +4 -0
- package/dist/validate/integrity.d.ts.map +1 -0
- package/dist/validate/integrity.js +24 -0
- package/dist/validate/integrity.js.map +1 -0
- package/dist/validate/json-schema-draft.d.ts +8 -0
- package/dist/validate/json-schema-draft.d.ts.map +1 -0
- package/dist/validate/json-schema-draft.js +32 -0
- package/dist/validate/json-schema-draft.js.map +1 -0
- package/dist/validate/project-config.d.ts +24 -0
- package/dist/validate/project-config.d.ts.map +1 -0
- package/dist/validate/project-config.js +27 -0
- package/dist/validate/project-config.js.map +1 -0
- package/dist/validate/resolve-project-dir.d.ts +12 -0
- package/dist/validate/resolve-project-dir.d.ts.map +1 -0
- package/dist/validate/resolve-project-dir.js +27 -0
- package/dist/validate/resolve-project-dir.js.map +1 -0
- package/dist/validate/run-validate.d.ts +3 -0
- package/dist/validate/run-validate.d.ts.map +1 -0
- package/dist/validate/run-validate.js +278 -0
- package/dist/validate/run-validate.js.map +1 -0
- package/dist/validate/safe-path.d.ts +4 -0
- package/dist/validate/safe-path.d.ts.map +1 -0
- package/dist/validate/safe-path.js +42 -0
- package/dist/validate/safe-path.js.map +1 -0
- package/dist/validate/types.d.ts +14 -0
- package/dist/validate/types.d.ts.map +1 -0
- package/dist/validate/types.js +2 -0
- package/dist/validate/types.js.map +1 -0
- package/package.json +6 -3
- package/templates/agent-typescript/.gitignore +4 -0
- package/templates/agent-typescript/README.md.template +56 -0
- package/templates/agent-typescript/agent/agent.ts.template +25 -0
- package/templates/agent-typescript/contracts/input.v1.schema.json +12 -0
- package/templates/agent-typescript/contracts/output.v1.schema.json +12 -0
- package/templates/agent-typescript/osva-agent.project.json.template +21 -0
- package/templates/agent-typescript/package.json.template +16 -0
- package/templates/agent-typescript/scripts/build-manifest.mjs +53 -0
- package/templates/agent-typescript/tsconfig.json +19 -0
package/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# @osva-ai/cli
|
|
2
|
+
|
|
3
|
+
Official OSVA command-line interface for local agent development and control-plane operations.
|
|
4
|
+
|
|
5
|
+
**Node.js:** >= 24 (matches `engines` in this package).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
From npm (after **`1.1.0-rc.2`** is published):
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @osva-ai/cli@1.1.0-rc.2
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Or use `npx`:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @osva-ai/cli@1.1.0-rc.2 help
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Do not use `@1.1.0-rc.1` for M10.2 agent commands** — that npm tarball predates `init`, `validate`, `deploy`, `run`, `status`, and `doctor`.
|
|
22
|
+
|
|
23
|
+
From a git checkout, build then invoke `dist/bin/osva.js` or link the package locally.
|
|
24
|
+
|
|
25
|
+
`@osva-ai/cli` depends on `@osva-ai/sdk`, `@osva-ai/contracts`, and `ajv`; npm installs them automatically when published with aligned dependency versions.
|
|
26
|
+
|
|
27
|
+
## Quick start (standalone agent project)
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
mkdir my-agents && cd my-agents
|
|
31
|
+
osva init my-first-agent
|
|
32
|
+
cd my-first-agent
|
|
33
|
+
npm install
|
|
34
|
+
npm run build
|
|
35
|
+
npm run manifest
|
|
36
|
+
osva validate
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Configure the control plane and trusted runtime (see below), then:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
osva deploy
|
|
43
|
+
osva run --wait --input '{"message":"Hello OSVA"}'
|
|
44
|
+
osva status
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Generated projects use output field **`greeting`** (for example `"Hello, Hello OSVA!"`).
|
|
48
|
+
|
|
49
|
+
## Configuration
|
|
50
|
+
|
|
51
|
+
| Variable | Required for | Description |
|
|
52
|
+
|----------|----------------|-------------|
|
|
53
|
+
| `OSVA_BASE_URL` | deploy, run, status, API commands | Control plane URL (e.g. `http://127.0.0.1:8080`) |
|
|
54
|
+
| `OSVA_API_KEY` | deploy, run, status, API commands | Bearer token (`osva_ak_…`); **never** pass `--api-key` (unsupported) |
|
|
55
|
+
| `OSVA_WORKSPACE_ID` | optional | If set, must match the workspace for `OSVA_API_KEY` |
|
|
56
|
+
| `OSVA_TRUSTED_RUNTIME_MODE` | deploy | `host` or `compose` (default: `host` if `OSVA_TRUSTED_RUNTIME_ROOT` is set, else `compose`) |
|
|
57
|
+
| `OSVA_TRUSTED_RUNTIME_ROOT` | deploy (host) | Directory the worker reads for TRUSTED_TYPESCRIPT entrypoints |
|
|
58
|
+
| `OSVA_COMPOSE_DIR` | deploy (compose) | Path to `deploy/compose` (directory containing `compose.yml`) |
|
|
59
|
+
| `OSVA_COMPOSE_PROJECT` / `COMPOSE_PROJECT_NAME` | optional | Compose project name when not the default |
|
|
60
|
+
| `OSVA_RUN_POLL_INTERVAL_MS` / `OSVA_RUN_POLL_TIMEOUT_MS` | optional | `--wait` polling (defaults 500 ms / 120 s) |
|
|
61
|
+
|
|
62
|
+
Global flags: `--base-url`, `--json`, and `--project <dir>` (agent project root).
|
|
63
|
+
|
|
64
|
+
Precedence: CLI flag > environment variable.
|
|
65
|
+
|
|
66
|
+
## Trusted runtime: host vs Compose
|
|
67
|
+
|
|
68
|
+
**Host** — for local `pnpm dev:worker` with a shared directory:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
export OSVA_TRUSTED_RUNTIME_MODE=host
|
|
72
|
+
export OSVA_TRUSTED_RUNTIME_ROOT=/path/to/trusted-runtime
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Compose** — copies the built entrypoint into the worker’s `osva-trusted-runtime` volume (discovered via Docker Compose labels, not a guessed volume name):
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
export OSVA_TRUSTED_RUNTIME_MODE=compose
|
|
79
|
+
export OSVA_COMPOSE_DIR=/path/to/osva/deploy/compose
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Deploy installs **only** your agent’s manifest entrypoint file; it does not overwrite unrelated agents with different entrypoint paths.
|
|
83
|
+
|
|
84
|
+
## Commands
|
|
85
|
+
|
|
86
|
+
### Local (no API credentials)
|
|
87
|
+
|
|
88
|
+
- `osva init <project-name> [--yes] [--json]`
|
|
89
|
+
- `osva validate [--project DIR] [--json]`
|
|
90
|
+
- `osva doctor [--json]`
|
|
91
|
+
- `osva help` / `osva version`
|
|
92
|
+
|
|
93
|
+
### Agent workflow (API credentials required)
|
|
94
|
+
|
|
95
|
+
- `osva deploy [--project DIR] [--json]` — validate, install bytes, register AgentVersion, write `.osva/deployment.json`
|
|
96
|
+
- `osva run [--project DIR] --input '<json>' | --input-file <path> [--wait] [--json]`
|
|
97
|
+
- `osva status [--project DIR] [--json]`
|
|
98
|
+
|
|
99
|
+
### Control plane (API credentials required)
|
|
100
|
+
|
|
101
|
+
- `osva agents list` / `osva agents get <id>`
|
|
102
|
+
- `osva runs create --agent-id … --agent-version-id … [--input '{}']`
|
|
103
|
+
- `osva runs get <runId>`
|
|
104
|
+
- `osva workflows …`, `osva approvals …`, `osva schedules list`
|
|
105
|
+
|
|
106
|
+
See `osva help` for the full list.
|
|
107
|
+
|
|
108
|
+
## JSON input (PowerShell, Bash, CI)
|
|
109
|
+
|
|
110
|
+
Prefer **`--input-file`** when shells mangle quotes:
|
|
111
|
+
|
|
112
|
+
```powershell
|
|
113
|
+
@'
|
|
114
|
+
{"message":"Hello OSVA"}
|
|
115
|
+
'@ | Set-Content -Encoding utf8 run-input.json
|
|
116
|
+
osva run --wait --input-file run-input.json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Inline JSON (Bash):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
osva run --wait --input '{"message":"Hello OSVA"}'
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
PowerShell inline (escape nested quotes):
|
|
126
|
+
|
|
127
|
+
```powershell
|
|
128
|
+
osva run --wait --input '{\"message\":\"Hello OSVA\"}'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## JSON output and exit codes
|
|
132
|
+
|
|
133
|
+
- With `--json`, structured results go to **stdout** as a single JSON document; diagnostics for local validation failures also use stdout for validate/deploy preflight.
|
|
134
|
+
- API/transport failures with `--json` emit `{ "error": { "kind": "api" | "transport", … } }` on stdout (no API key material).
|
|
135
|
+
- Exit code `0` on success; non-zero on validation failure, configuration errors, deploy/run failures, or `--wait` when the Run does not succeed.
|
|
136
|
+
- Human-readable errors go to **stderr** and are redacted for secret-like patterns.
|
|
137
|
+
|
|
138
|
+
## Manifest and integrity
|
|
139
|
+
|
|
140
|
+
1. `npm run build` — emits `dist/agent/<entrypoint>.js`
|
|
141
|
+
2. `npm run manifest` — writes `osva.manifest.json` with `runtime.integrity` (`sha256:…`) from the built file
|
|
142
|
+
3. `osva validate` / `osva deploy` — refuse stale or tampered artifacts when digest ≠ manifest
|
|
143
|
+
|
|
144
|
+
Changing source requires rebuild + manifest + deploy to produce a new immutable AgentVersion.
|
|
145
|
+
|
|
146
|
+
## Local state
|
|
147
|
+
|
|
148
|
+
Non-secret deployment metadata: `.osva/deployment.json` (gitignored in scaffolds). Contains agent/version IDs, integrity fingerprint, deploy target, and last run IDs — **not** API keys.
|
|
149
|
+
|
|
150
|
+
## Troubleshooting
|
|
151
|
+
|
|
152
|
+
| Symptom | Likely cause |
|
|
153
|
+
|--------|----------------|
|
|
154
|
+
| `Missing OSVA_BASE_URL` / `OSVA_API_KEY` | Export credentials before deploy/run |
|
|
155
|
+
| `Compose deploy mode requires OSVA_COMPOSE_DIR` | Set compose directory or use host mode |
|
|
156
|
+
| `No trusted-runtime Compose volume found` | Start Compose worker stack; check project name env vars |
|
|
157
|
+
| Validate `artifact_integrity` FAIL | Run `npm run build` then `npm run manifest` |
|
|
158
|
+
| `Run osva deploy before osva run` | Deploy after manifest changes |
|
|
159
|
+
| Run timeout with `--wait` | Worker not running or trusted runtime path/volume mismatch |
|
|
160
|
+
| HTTP 401/403 | Invalid or under-privileged API key |
|
|
161
|
+
|
|
162
|
+
Run `osva doctor --json` to probe `/health`, `/ready`, and `/v1/auth/context`.
|
|
163
|
+
|
|
164
|
+
## Limitations
|
|
165
|
+
|
|
166
|
+
- TRUSTED_TYPESCRIPT agents only; host or Compose trusted-runtime targets only (no remote SSH/prod push).
|
|
167
|
+
- `osva run` without `--wait` submits a Run but does not wait for terminal execution.
|
|
168
|
+
- No built-in login or credential store; use environment variables or your shell profile.
|
|
169
|
+
|
|
170
|
+
## Links
|
|
171
|
+
|
|
172
|
+
- [Community quickstart](../../docs/OSS-COMMUNITY-QUICKSTART.md)
|
|
173
|
+
- [SDK documentation](../../docs/engineering/SDK.md)
|
|
174
|
+
- M10.2E acceptance: `pnpm acceptance:m10-2e:pack` (offline), `OSVA_ACCEPTANCE_LIVE=1 pnpm acceptance:m10-2e` (live)
|
|
175
|
+
|
|
176
|
+
## License
|
|
177
|
+
|
|
178
|
+
Apache-2.0
|
package/dist/bin/osva.js
CHANGED
|
@@ -2,13 +2,88 @@
|
|
|
2
2
|
import { OsvaClient } from "@osva-ai/sdk";
|
|
3
3
|
import { runCommand } from "../commands/index.js";
|
|
4
4
|
import { loadCliConfig, parseCliArgs } from "../config.js";
|
|
5
|
+
import { runDoctorCommand } from "../doctor/index.js";
|
|
6
|
+
import { exitCli } from "../exit.js";
|
|
7
|
+
import { runInitCommand } from "../init/index.js";
|
|
5
8
|
import { printError } from "../output.js";
|
|
9
|
+
import { runDeployCommand, runRunCommand, runStatusCommand, } from "../project/index.js";
|
|
10
|
+
import { runValidateCommand } from "../validate/index.js";
|
|
6
11
|
async function main() {
|
|
7
12
|
const parsed = parseCliArgs(process.argv.slice(2));
|
|
13
|
+
const jsonOutput = parsed.flags.json === true;
|
|
8
14
|
const helpCommand = parsed.command.length === 0 ||
|
|
9
15
|
parsed.command[0] === "help" ||
|
|
10
16
|
parsed.command[0] === "--help";
|
|
11
17
|
const versionCommand = parsed.command[0] === "version";
|
|
18
|
+
const doctorCommand = parsed.command[0] === "doctor";
|
|
19
|
+
const initCommand = parsed.command[0] === "init";
|
|
20
|
+
const validateCommand = parsed.command[0] === "validate";
|
|
21
|
+
const deployCommand = parsed.command[0] === "deploy";
|
|
22
|
+
const runAgentCommand = parsed.command[0] === "run";
|
|
23
|
+
const statusCommand = parsed.command[0] === "status";
|
|
24
|
+
if (initCommand) {
|
|
25
|
+
try {
|
|
26
|
+
const exitCode = await runInitCommand(parsed.command, parsed.flags);
|
|
27
|
+
await exitCli(exitCode);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
printError(error instanceof Error ? error.message : "Init failed.");
|
|
31
|
+
await exitCli(1);
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (validateCommand) {
|
|
36
|
+
try {
|
|
37
|
+
const exitCode = await runValidateCommand(parsed.flags);
|
|
38
|
+
await exitCli(exitCode);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
printError(error instanceof Error ? error.message : "Validate failed.");
|
|
42
|
+
await exitCli(1);
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (doctorCommand) {
|
|
47
|
+
try {
|
|
48
|
+
const exitCode = await runDoctorCommand(parsed.flags);
|
|
49
|
+
await exitCli(exitCode);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
printError(error instanceof Error ? error.message : "Doctor failed.");
|
|
53
|
+
await exitCli(1);
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (deployCommand || runAgentCommand || statusCommand) {
|
|
58
|
+
let config;
|
|
59
|
+
try {
|
|
60
|
+
config = loadCliConfig(parsed.flags);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
printError(error instanceof Error ? error.message : "Invalid configuration.");
|
|
64
|
+
await exitCli(1);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
const exitCode = deployCommand
|
|
69
|
+
? await runDeployCommand(config, parsed.flags)
|
|
70
|
+
: runAgentCommand
|
|
71
|
+
? await runRunCommand(config, parsed.flags)
|
|
72
|
+
: await runStatusCommand(config, parsed.flags);
|
|
73
|
+
await exitCli(exitCode);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
printError(error instanceof Error
|
|
77
|
+
? error.message
|
|
78
|
+
: deployCommand
|
|
79
|
+
? "Deploy failed."
|
|
80
|
+
: runAgentCommand
|
|
81
|
+
? "Run failed."
|
|
82
|
+
: "Status failed.");
|
|
83
|
+
await exitCli(1);
|
|
84
|
+
}
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
12
87
|
if (helpCommand || versionCommand) {
|
|
13
88
|
const exitCode = await runCommand(new OsvaClient({
|
|
14
89
|
baseUrl: "http://127.0.0.1:9",
|
|
@@ -16,13 +91,13 @@ async function main() {
|
|
|
16
91
|
}), {
|
|
17
92
|
baseUrl: "http://127.0.0.1:9",
|
|
18
93
|
apiKey: "osva_ak_test.placeholder",
|
|
19
|
-
json:
|
|
94
|
+
json: jsonOutput,
|
|
20
95
|
}, parsed.command.length === 0
|
|
21
96
|
? ["help"]
|
|
22
97
|
: versionCommand
|
|
23
98
|
? ["version"]
|
|
24
99
|
: parsed.command, parsed.flags);
|
|
25
|
-
|
|
100
|
+
await exitCli(exitCode);
|
|
26
101
|
return;
|
|
27
102
|
}
|
|
28
103
|
let config;
|
|
@@ -31,7 +106,7 @@ async function main() {
|
|
|
31
106
|
}
|
|
32
107
|
catch (error) {
|
|
33
108
|
printError(error instanceof Error ? error.message : "Invalid configuration.");
|
|
34
|
-
|
|
109
|
+
await exitCli(1);
|
|
35
110
|
return;
|
|
36
111
|
}
|
|
37
112
|
const client = new OsvaClient({
|
|
@@ -39,7 +114,10 @@ async function main() {
|
|
|
39
114
|
apiKey: config.apiKey,
|
|
40
115
|
});
|
|
41
116
|
const exitCode = await runCommand(client, config, parsed.command, parsed.flags);
|
|
42
|
-
|
|
117
|
+
await exitCli(exitCode);
|
|
43
118
|
}
|
|
44
|
-
void main()
|
|
119
|
+
void main().catch(async (error) => {
|
|
120
|
+
printError(error instanceof Error ? error.message : "Unexpected CLI failure.");
|
|
121
|
+
await exitCli(1);
|
|
122
|
+
});
|
|
45
123
|
//# sourceMappingURL=osva.js.map
|
package/dist/bin/osva.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"osva.js","sourceRoot":"","sources":["../../src/bin/osva.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"osva.js","sourceRoot":"","sources":["../../src/bin/osva.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -183,12 +183,24 @@ Commands:
|
|
|
183
183
|
approvals approve <approvalRequestId> [--comment TEXT]
|
|
184
184
|
approvals reject <approvalRequestId> [--comment TEXT]
|
|
185
185
|
schedules list
|
|
186
|
+
init <project-name> [--yes] [--json]
|
|
187
|
+
validate [--project DIR] [--json]
|
|
188
|
+
deploy [--project DIR] [--json]
|
|
189
|
+
run [--project DIR] --input JSON | --input-file PATH [--wait] [--json]
|
|
190
|
+
status [--project DIR] [--json]
|
|
191
|
+
doctor [--json]
|
|
186
192
|
version
|
|
187
193
|
help
|
|
188
194
|
|
|
189
195
|
Environment:
|
|
190
196
|
OSVA_BASE_URL
|
|
191
|
-
|
|
197
|
+
OSVA_API_KEY
|
|
198
|
+
OSVA_WORKSPACE_ID (optional; verified against API key workspace)
|
|
199
|
+
OSVA_TRUSTED_RUNTIME_MODE (host | compose)
|
|
200
|
+
OSVA_TRUSTED_RUNTIME_ROOT (required for host mode)
|
|
201
|
+
OSVA_COMPOSE_DIR (required for compose mode)
|
|
202
|
+
OSVA_COMPOSE_PROJECT / COMPOSE_PROJECT_NAME (optional)
|
|
203
|
+
OSVA_RUN_POLL_INTERVAL_MS / OSVA_RUN_POLL_TIMEOUT_MS (optional)
|
|
192
204
|
`);
|
|
193
205
|
}
|
|
194
206
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/doctor/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAa9D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE7D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function formatDoctorHuman(report) {
|
|
2
|
+
const lines = ["OSVA Doctor", ""];
|
|
3
|
+
for (const check of report.checks) {
|
|
4
|
+
const status = check.status.padEnd(4, " ");
|
|
5
|
+
const id = check.id.padEnd(22, " ");
|
|
6
|
+
lines.push(`${status} ${id} ${check.message}`);
|
|
7
|
+
if (check.remediation !== undefined) {
|
|
8
|
+
lines.push(` → ${check.remediation}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
lines.push("");
|
|
12
|
+
lines.push(`Result: ${report.result.toUpperCase()}`);
|
|
13
|
+
return `${lines.join("\n")}\n`;
|
|
14
|
+
}
|
|
15
|
+
export function formatDoctorJson(report) {
|
|
16
|
+
return `${JSON.stringify(report, null, 2)}\n`;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/doctor/format.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,MAAM,KAAK,GAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface DoctorProbeTransport {
|
|
2
|
+
getJson(url: string, headers?: Readonly<Record<string, string>>): Promise<HttpProbeResult>;
|
|
3
|
+
}
|
|
4
|
+
export declare function createNodeProbeTransport(timeoutMs: number): DoctorProbeTransport;
|
|
5
|
+
export declare function createFetchProbeTransport(fetchImpl: typeof fetch, timeoutMs: number): DoctorProbeTransport;
|
|
6
|
+
export type HttpProbeResult = {
|
|
7
|
+
kind: "ok";
|
|
8
|
+
status: number;
|
|
9
|
+
body: unknown;
|
|
10
|
+
} | {
|
|
11
|
+
kind: "transport";
|
|
12
|
+
cause: unknown;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "timeout";
|
|
15
|
+
};
|
|
16
|
+
export declare function httpGetJson(urlString: string, timeoutMs: number, headers?: Readonly<Record<string, string>>): Promise<HttpProbeResult>;
|
|
17
|
+
//# sourceMappingURL=http-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-probe.d.ts","sourceRoot":"","sources":["../../src/doctor/http-probe.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CACL,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAItB;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,OAAO,KAAK,EACvB,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAItB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC7C,OAAO,CAAC,eAAe,CAAC,CA8D1B"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import http from "node:http";
|
|
2
|
+
import https from "node:https";
|
|
3
|
+
export function createNodeProbeTransport(timeoutMs) {
|
|
4
|
+
return {
|
|
5
|
+
getJson: (url, headers) => httpGetJson(url, timeoutMs, headers),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function createFetchProbeTransport(fetchImpl, timeoutMs) {
|
|
9
|
+
return {
|
|
10
|
+
getJson: (url, headers) => fetchGetJson(url, fetchImpl, timeoutMs, headers),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function httpGetJson(urlString, timeoutMs, headers = {}) {
|
|
14
|
+
let url;
|
|
15
|
+
try {
|
|
16
|
+
url = new URL(urlString);
|
|
17
|
+
}
|
|
18
|
+
catch (cause) {
|
|
19
|
+
return { kind: "transport", cause };
|
|
20
|
+
}
|
|
21
|
+
const transport = url.protocol === "https:" ? https : http;
|
|
22
|
+
return new Promise((resolve) => {
|
|
23
|
+
const request = transport.request(url, {
|
|
24
|
+
method: "GET",
|
|
25
|
+
headers: {
|
|
26
|
+
connection: "close",
|
|
27
|
+
accept: "application/json",
|
|
28
|
+
...headers,
|
|
29
|
+
},
|
|
30
|
+
}, (response) => {
|
|
31
|
+
const chunks = [];
|
|
32
|
+
response.on("data", (chunk) => {
|
|
33
|
+
chunks.push(chunk);
|
|
34
|
+
});
|
|
35
|
+
response.on("end", () => {
|
|
36
|
+
const text = Buffer.concat(chunks).toString("utf8");
|
|
37
|
+
let body = null;
|
|
38
|
+
if (text.length > 0) {
|
|
39
|
+
try {
|
|
40
|
+
body = JSON.parse(text);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
body = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
resolve({
|
|
47
|
+
kind: "ok",
|
|
48
|
+
status: response.statusCode ?? 0,
|
|
49
|
+
body,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
response.on("error", (cause) => {
|
|
53
|
+
resolve({ kind: "transport", cause });
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
request.setTimeout(timeoutMs, () => {
|
|
57
|
+
request.destroy(new Error("timeout"));
|
|
58
|
+
});
|
|
59
|
+
request.on("error", (cause) => {
|
|
60
|
+
if (cause instanceof Error && cause.message === "timeout") {
|
|
61
|
+
resolve({ kind: "timeout" });
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
resolve({ kind: "transport", cause });
|
|
65
|
+
});
|
|
66
|
+
request.end();
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async function fetchGetJson(url, fetchImpl, timeoutMs, headers = {}) {
|
|
70
|
+
const controller = new AbortController();
|
|
71
|
+
const timer = setTimeout(() => {
|
|
72
|
+
controller.abort();
|
|
73
|
+
}, timeoutMs);
|
|
74
|
+
try {
|
|
75
|
+
const response = await fetchImpl(url, {
|
|
76
|
+
method: "GET",
|
|
77
|
+
signal: controller.signal,
|
|
78
|
+
headers: {
|
|
79
|
+
connection: "close",
|
|
80
|
+
accept: "application/json",
|
|
81
|
+
...headers,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
let body;
|
|
85
|
+
try {
|
|
86
|
+
body = await response.json();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
body = null;
|
|
90
|
+
}
|
|
91
|
+
return { kind: "ok", status: response.status, body };
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
if (error instanceof Error &&
|
|
95
|
+
(error.name === "AbortError" || error.name === "TimeoutError")) {
|
|
96
|
+
return { kind: "timeout" };
|
|
97
|
+
}
|
|
98
|
+
return { kind: "transport", cause: error };
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
clearTimeout(timer);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=http-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-probe.js","sourceRoot":"","sources":["../../src/doctor/http-probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DoctorProbeOptions } from "./types.js";
|
|
2
|
+
export type { DoctorCheck, DoctorReport } from "./types.js";
|
|
3
|
+
export { doctorExitCode, runDoctorPipeline, REQUIRED_NODE_MAJOR, DEFAULT_PROBE_TIMEOUT_MS, } from "./run-doctor.js";
|
|
4
|
+
export { redactSecrets } from "./redact.js";
|
|
5
|
+
export { readDoctorEnv } from "./read-env.js";
|
|
6
|
+
export declare function runDoctorCommand(flags: Readonly<Record<string, string | boolean>>, processEnv?: NodeJS.ProcessEnv, options?: DoctorProbeOptions): Promise<number>;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EACjD,UAAU,GAAE,MAAM,CAAC,UAAwB,EAC3C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { writeStdout } from "../stdout.js";
|
|
2
|
+
import { formatDoctorHuman, formatDoctorJson } from "./format.js";
|
|
3
|
+
import { readDoctorEnv } from "./read-env.js";
|
|
4
|
+
import { doctorExitCode, runDoctorPipeline } from "./run-doctor.js";
|
|
5
|
+
export { doctorExitCode, runDoctorPipeline, REQUIRED_NODE_MAJOR, DEFAULT_PROBE_TIMEOUT_MS, } from "./run-doctor.js";
|
|
6
|
+
export { redactSecrets } from "./redact.js";
|
|
7
|
+
export { readDoctorEnv } from "./read-env.js";
|
|
8
|
+
export async function runDoctorCommand(flags, processEnv = process.env, options = {}) {
|
|
9
|
+
const env = readDoctorEnv(flags, processEnv);
|
|
10
|
+
const report = await runDoctorPipeline(env, options);
|
|
11
|
+
const json = flags.json === true;
|
|
12
|
+
await writeStdout(json ? formatDoctorJson(report) : formatDoctorHuman(report));
|
|
13
|
+
return doctorExitCode(report);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAiD,EACjD,aAAgC,OAAO,CAAC,GAAG,EAC3C,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IACjC,MAAM,WAAW,CACf,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAC5D,CAAC;IACF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-env.d.ts","sourceRoot":"","sources":["../../src/doctor/read-env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EACjD,UAAU,GAAE,MAAM,CAAC,UAAwB,GAC1C,SAAS,CAsBX"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function readDoctorEnv(flags, processEnv = process.env) {
|
|
2
|
+
if ("api-key" in flags) {
|
|
3
|
+
throw new Error("The --api-key flag is not supported. Set OSVA_API_KEY in the environment.");
|
|
4
|
+
}
|
|
5
|
+
const baseUrl = pickOptionalString(flags, processEnv, "base-url", "OSVA_BASE_URL");
|
|
6
|
+
const apiKey = processEnv.OSVA_API_KEY?.trim();
|
|
7
|
+
const workspaceId = processEnv.OSVA_WORKSPACE_ID?.trim();
|
|
8
|
+
return {
|
|
9
|
+
...(baseUrl !== undefined && baseUrl.length > 0 ? { baseUrl } : {}),
|
|
10
|
+
...(apiKey !== undefined && apiKey.length > 0 ? { apiKey } : {}),
|
|
11
|
+
...(workspaceId !== undefined && workspaceId.length > 0
|
|
12
|
+
? { workspaceId }
|
|
13
|
+
: {}),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function pickOptionalString(flags, env, flagName, envName) {
|
|
17
|
+
const flagValue = flags[flagName];
|
|
18
|
+
if (typeof flagValue === "string" && flagValue.length > 0) {
|
|
19
|
+
return flagValue.trim();
|
|
20
|
+
}
|
|
21
|
+
const envValue = env[envName]?.trim();
|
|
22
|
+
if (envValue !== undefined && envValue.length > 0) {
|
|
23
|
+
return envValue;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=read-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-env.js","sourceRoot":"","sources":["../../src/doctor/read-env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAC3B,KAAiD,EACjD,aAAgC,OAAO,CAAC,GAAG;IAE3C,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAChC,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,CAChB,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAEzD,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,EAAE,WAAW,EAAE;YACjB,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiD,EACjD,GAAsB,EACtB,QAAgB,EAChB,OAAe;IAEf,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/doctor/redact.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const API_KEY_PATTERN = /osva_ak_[A-Za-z0-9._-]+/g;
|
|
2
|
+
const BEARER_PATTERN = /Bearer\s+\S+/gi;
|
|
3
|
+
const URL_CREDENTIALS_PATTERN = /\/\/[^/\s:@]+:[^@\s/]+@/g;
|
|
4
|
+
export function redactSecrets(text) {
|
|
5
|
+
return text
|
|
6
|
+
.replace(URL_CREDENTIALS_PATTERN, "//***:***@")
|
|
7
|
+
.replace(BEARER_PATTERN, "Bearer ***")
|
|
8
|
+
.replace(API_KEY_PATTERN, "osva_ak_***");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/doctor/redact.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAE3D,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC9C,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC;SACrC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC"}
|