@inquir/compute-cli 0.1.0 → 0.1.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 (121) hide show
  1. package/README.md +117 -19
  2. package/dist/commands/codegen.d.ts.map +1 -1
  3. package/dist/commands/codegen.js +3 -0
  4. package/dist/commands/codegen.js.map +1 -1
  5. package/dist/commands/config.d.ts +2 -0
  6. package/dist/commands/config.d.ts.map +1 -0
  7. package/dist/commands/config.js +99 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/debug.d.ts.map +1 -1
  10. package/dist/commands/debug.js +2 -10
  11. package/dist/commands/debug.js.map +1 -1
  12. package/dist/commands/delete.d.ts +2 -0
  13. package/dist/commands/delete.d.ts.map +1 -0
  14. package/dist/commands/delete.js +50 -0
  15. package/dist/commands/delete.js.map +1 -0
  16. package/dist/commands/deploy.d.ts.map +1 -1
  17. package/dist/commands/deploy.js +122 -16
  18. package/dist/commands/deploy.js.map +1 -1
  19. package/dist/commands/deploys.d.ts.map +1 -1
  20. package/dist/commands/deploys.js +10 -4
  21. package/dist/commands/deploys.js.map +1 -1
  22. package/dist/commands/doctor.d.ts +2 -0
  23. package/dist/commands/doctor.d.ts.map +1 -0
  24. package/dist/commands/doctor.js +137 -0
  25. package/dist/commands/doctor.js.map +1 -0
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +44 -17
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/invoke.d.ts.map +1 -1
  30. package/dist/commands/invoke.js +13 -6
  31. package/dist/commands/invoke.js.map +1 -1
  32. package/dist/commands/list.d.ts.map +1 -1
  33. package/dist/commands/list.js +32 -1
  34. package/dist/commands/list.js.map +1 -1
  35. package/dist/commands/login.d.ts.map +1 -1
  36. package/dist/commands/login.js +15 -2
  37. package/dist/commands/login.js.map +1 -1
  38. package/dist/commands/logout.d.ts.map +1 -1
  39. package/dist/commands/logout.js +3 -0
  40. package/dist/commands/logout.js.map +1 -1
  41. package/dist/commands/logs.d.ts.map +1 -1
  42. package/dist/commands/logs.js +11 -7
  43. package/dist/commands/logs.js.map +1 -1
  44. package/dist/commands/rollback.d.ts.map +1 -1
  45. package/dist/commands/rollback.js +12 -6
  46. package/dist/commands/rollback.js.map +1 -1
  47. package/dist/commands/run.d.ts.map +1 -1
  48. package/dist/commands/run.js +12 -5
  49. package/dist/commands/run.js.map +1 -1
  50. package/dist/commands/status.d.ts.map +1 -1
  51. package/dist/commands/status.js +11 -4
  52. package/dist/commands/status.js.map +1 -1
  53. package/dist/commands/sync-status.d.ts.map +1 -1
  54. package/dist/commands/sync-status.js +12 -6
  55. package/dist/commands/sync-status.js.map +1 -1
  56. package/dist/commands/use.d.ts.map +1 -1
  57. package/dist/commands/use.js +44 -5
  58. package/dist/commands/use.js.map +1 -1
  59. package/dist/commands/whoami.d.ts.map +1 -1
  60. package/dist/commands/whoami.js +28 -6
  61. package/dist/commands/whoami.js.map +1 -1
  62. package/dist/commands/workspaces.d.ts.map +1 -1
  63. package/dist/commands/workspaces.js +10 -5
  64. package/dist/commands/workspaces.js.map +1 -1
  65. package/dist/index.js +94 -65
  66. package/dist/index.js.map +1 -1
  67. package/dist/utils/api.d.ts +17 -0
  68. package/dist/utils/api.d.ts.map +1 -1
  69. package/dist/utils/api.js +21 -3
  70. package/dist/utils/api.js.map +1 -1
  71. package/dist/utils/args.d.ts +6 -0
  72. package/dist/utils/args.d.ts.map +1 -1
  73. package/dist/utils/args.js +101 -12
  74. package/dist/utils/args.js.map +1 -1
  75. package/dist/utils/assets.d.ts +7 -0
  76. package/dist/utils/assets.d.ts.map +1 -1
  77. package/dist/utils/assets.js +18 -0
  78. package/dist/utils/assets.js.map +1 -1
  79. package/dist/utils/auth.d.ts +3 -0
  80. package/dist/utils/auth.d.ts.map +1 -1
  81. package/dist/utils/auth.js +42 -13
  82. package/dist/utils/auth.js.map +1 -1
  83. package/dist/utils/context.d.ts +29 -0
  84. package/dist/utils/context.d.ts.map +1 -0
  85. package/dist/utils/context.js +76 -0
  86. package/dist/utils/context.js.map +1 -0
  87. package/dist/utils/deploy-follow.d.ts.map +1 -1
  88. package/dist/utils/deploy-follow.js +7 -1
  89. package/dist/utils/deploy-follow.js.map +1 -1
  90. package/dist/utils/ensure-auth.d.ts +8 -0
  91. package/dist/utils/ensure-auth.d.ts.map +1 -0
  92. package/dist/utils/ensure-auth.js +27 -0
  93. package/dist/utils/ensure-auth.js.map +1 -0
  94. package/dist/utils/errors.d.ts +54 -0
  95. package/dist/utils/errors.d.ts.map +1 -0
  96. package/dist/utils/errors.js +221 -0
  97. package/dist/utils/errors.js.map +1 -0
  98. package/dist/utils/output.d.ts +11 -1
  99. package/dist/utils/output.d.ts.map +1 -1
  100. package/dist/utils/output.js +51 -7
  101. package/dist/utils/output.js.map +1 -1
  102. package/dist/utils/package-metadata.d.ts +3 -0
  103. package/dist/utils/package-metadata.d.ts.map +1 -0
  104. package/dist/utils/package-metadata.js +22 -0
  105. package/dist/utils/package-metadata.js.map +1 -0
  106. package/dist/utils/payload.d.ts.map +1 -1
  107. package/dist/utils/payload.js +4 -4
  108. package/dist/utils/payload.js.map +1 -1
  109. package/dist/utils/prompt.d.ts +22 -0
  110. package/dist/utils/prompt.d.ts.map +1 -0
  111. package/dist/utils/prompt.js +67 -0
  112. package/dist/utils/prompt.js.map +1 -0
  113. package/dist/utils/redact.d.ts +14 -0
  114. package/dist/utils/redact.d.ts.map +1 -0
  115. package/dist/utils/redact.js +45 -0
  116. package/dist/utils/redact.js.map +1 -0
  117. package/dist/utils/version.d.ts +8 -0
  118. package/dist/utils/version.d.ts.map +1 -0
  119. package/dist/utils/version.js +21 -0
  120. package/dist/utils/version.js.map +1 -0
  121. package/package.json +6 -4
package/README.md CHANGED
@@ -107,51 +107,112 @@ OIDC auth), or run `inquir deploy --ci`.
107
107
 
108
108
  ## Commands
109
109
 
110
- - `inquir init [--skip-install]` - scaffold `inquir.config.json`, folders, and sample function.
110
+ **Project & local dev**
111
+
112
+ - `inquir init [--name <name>] [--skip-install]` - scaffold `inquir.config.json`, folders, and a sample function. Interactive on a TTY (prompts for the project name); guides you to `login`/`run`/`deploy` afterward.
111
113
  - `inquir codegen` - discover assets and generate `.inquir/generated/client.ts` + `registry.json`.
112
- - `inquir list` - list discovered local assets.
114
+ - `inquir list [--remote]` - list local assets, or deployed remote functions with `--remote`.
113
115
  - `inquir run <asset>` - run a local asset.
114
116
  - `inquir debug <asset>` - run locally with inspector enabled.
117
+ - `inquir sync status` - compare local hashes with remote hashes (`in-sync`, `drift`, `missing`).
118
+
119
+ **Auth & workspaces**
120
+
115
121
  - `inquir login` - authenticate the CLI (browser pairing, `--browserless`, or `--token`).
116
122
  - `inquir logout` - remove the stored token + active workspace for the current environment.
117
123
  - `inquir whoami` - show the signed-in user, active workspace, and role.
118
124
  - `inquir workspaces` - list the workspaces you belong to.
119
- - `inquir use <slug|id>` - set the active workspace for subsequent commands.
120
- - `inquir invoke <asset>` - invoke remote function by name / linked local name.
125
+ - `inquir use <slug|id> [--local]` - set the active workspace; `--local` links *this project* by writing `workspace` into `inquir.config.json`.
126
+
127
+ **Deploy & run remotely**
128
+
121
129
  - `inquir deploy <asset>` - package, upload, and deploy a function (async; streams build logs).
130
+ - `inquir invoke <asset>` - invoke remote function by name / linked local name.
131
+ - `inquir logs <asset>` - show recent remote invocation history.
122
132
  - `inquir deploys <function>` - list deploy history for a remote function.
123
133
  - `inquir status <deployId>` - show a deploy's status (`--follow` to stream logs).
124
134
  - `inquir rollback <function> [deployId]` - roll back to a previous successful deploy.
125
- - `inquir logs <asset>` - show recent remote invocation history.
126
- - `inquir sync status` - compare local hashes with remote hashes (`in-sync`, `drift`, `missing`).
135
+ - `inquir delete <function>` - delete a remote function (asks for confirmation; `--yes` to skip).
136
+
137
+ **Diagnostics & config**
138
+
139
+ - `inquir doctor` - diagnose environment, credentials, and API connectivity (`--json` for a report).
140
+ - `inquir config [show|get <key>|set <key> <value>|path]` - view/edit CLI configuration.
141
+ - `inquir help [command]` - show grouped help, or help for one command.
127
142
 
128
143
  ### `deploy` flags
129
144
 
130
145
  ```bash
131
146
  inquir deploy hello # package + async deploy, stream build logs
132
- inquir deploy hello --environment staging
147
+ inquir deploy hello --stage staging # target a deploy stage (alias: --environment)
148
+ inquir deploy hello --set KEY=val --set OTHER=val # set environment variables (repeatable)
149
+ inquir deploy hello --env-file .env.production # load env vars from a dotenv file
150
+ inquir deploy hello --memory 512 --timeout 60000 # memory (MB) / timeout (ms)
151
+ inquir deploy hello --layer <layerId> --layer <id2> # attach layers (repeatable)
133
152
  inquir deploy hello --no-logs # queue and wait for completion without streaming
134
153
  inquir deploy hello --ci # plain output, non-zero exit on failure (for CI)
135
154
  inquir deploy hello --dry-run # validate + package only; no create/deploy
136
155
  inquir deploy hello --json # machine-readable result
137
156
  ```
138
157
 
139
- Exit codes: `0` success, `1` deploy/validation error, `3` network/timeout error.
158
+ > Note: `--env` selects a named **credential environment** from your config; `--stage`
159
+ > (alias `--environment`) selects the **deploy stage** (production/staging/preview). They
160
+ > are different — don't confuse them.
140
161
 
141
162
  ## Global Flags
142
163
 
143
- - `--config <path>` - config file path or workspace directory.
144
- - `--json` - machine-readable output when supported.
145
- - `--env <name>` - select environment from auth config.
164
+ Global flags work in **any position** (before or after the command) and accept both
165
+ `--flag value` and `--flag=value`:
166
+
167
+ - `--json` - machine-readable output (implies no color).
168
+ - `--debug` - verbose diagnostics + stack traces (also `INQUIR_DEBUG=1`).
169
+ - `--quiet` - suppress status chatter (errors + requested results only).
170
+ - `--no-color` - disable ANSI color (also honoured: `NO_COLOR`, `FORCE_COLOR`).
171
+ - `--yes`, `-y` - assume "yes" for confirmations (required for destructive ops in CI).
172
+ - `--cwd <path>` - run as if from this directory (alias: `--config`, which also accepts a config file path).
173
+ - `--env <name>` - select a named credential environment from the config.
146
174
  - `--workspace <slug|id>` - target a specific workspace for this command (user-scoped login).
175
+ - `--api-url <url>` - override the API base URL.
176
+ - `--token <pat>` - use a Personal Access Token (non-interactive / CI).
177
+
178
+ ```bash
179
+ inquir run hello --cwd ./services/api
180
+ inquir --workspace acme-prod deploy hello
181
+ ```
182
+
183
+ ## Exit codes
184
+
185
+ | Code | Meaning |
186
+ |------|---------|
187
+ | `0` | success |
188
+ | `1` | runtime error (build failed, not found, server error) |
189
+ | `2` | usage / validation error (bad flags, missing args) |
190
+ | `3` | network / timeout |
191
+ | `4` | authentication required / forbidden |
192
+ | `130` | interrupted (Ctrl+C / SIGINT) |
147
193
 
148
- Global flags work in any position, for example both are valid:
194
+ A bare `Ctrl+C` aborts cleanly — the CLI prints `Aborted (SIGINT).` to stderr and
195
+ exits `130`, leaving stdout untouched (safe for piping) and no stack trace.
196
+
197
+ With `--json`, errors are emitted as a structured envelope on stdout:
198
+
199
+ ```json
200
+ { "ok": false, "error": { "code": "AUTH_REQUIRED", "title": "You are not logged in", "message": "…", "requestId": "…" } }
201
+ ```
202
+
203
+ ## CI usage
204
+
205
+ In CI / non-TTY, the CLI never prompts; supply credentials via env and use `--ci`/`--yes`:
149
206
 
150
207
  ```bash
151
- inquir run hello --config ./inquir.config.json
152
- inquir --config ./inquir.config.json run hello
208
+ export INQUIR_TOKEN="$INQUIR_PAT" # or INQUIR_API_KEY for a workspace key
209
+ export INQUIR_WORKSPACE="acme-prod" # optional: target workspace
210
+ inquir deploy hello --ci --json
153
211
  ```
154
212
 
213
+ For GitHub Actions, prefer the [`@inquir/deploy-action`](../deploy-action) GitHub Action
214
+ (supports keyless OIDC auth).
215
+
155
216
  ## Payload Input
156
217
 
157
218
  `run` and `invoke` support:
@@ -160,20 +221,41 @@ inquir --config ./inquir.config.json run hello
160
221
  - `--payload-file ./payload.json`
161
222
  - stdin piping
162
223
 
224
+ Shell quoting differs by platform. To pass inline JSON:
225
+
226
+ ```bash
227
+ # macOS / Linux (bash, zsh) — single-quote the JSON:
228
+ inquir invoke hello --payload '{"name":"World"}'
229
+ ```
230
+
231
+ ```powershell
232
+ # Windows PowerShell — single-quote the JSON:
233
+ inquir invoke hello --payload '{"name":"World"}'
234
+ ```
235
+
236
+ ```bat
237
+ :: Windows cmd.exe — escape the inner double quotes:
238
+ inquir invoke hello --payload "{\"name\":\"World\"}"
239
+ ```
240
+
241
+ When quoting gets awkward (especially on Windows), prefer `--payload-file ./payload.json`
242
+ or pipe via stdin: `type payload.json | inquir invoke hello`.
243
+
163
244
  ## Remote Auth / Environment
164
245
 
165
246
  The CLI resolves each credential field independently, in this order (first match
166
247
  wins):
167
248
 
168
- 1. CLI flags / `--env <name>` selection (and `--workspace` for the workspace)
249
+ 1. CLI flags (`--api-url`, `--token`, `--workspace`) / `--env <name>` selection
169
250
  2. Environment variables (`LAMBDA_*` are legacy fallbacks):
170
251
  - `INQUIR_API_URL`, `INQUIR_API_KEY`
171
252
  - `INQUIR_TOKEN` — a Personal Access Token (takes precedence over `apiKey`)
172
253
  - `INQUIR_WORKSPACE` — active workspace (slug or id)
173
254
  - `INQUIR_ENV` — pick a named environment
174
255
  3. Selected environment in the config file
175
- 4. Top-level config file values
176
- 5. Default `apiUrl` of `https://api.inquir.org` (override with env/config for local dev)
256
+ 4. Project link — `workspace` in the local `inquir.config.json` (set by `inquir use --local`); applies to the workspace only, below flags/env
257
+ 5. Top-level config file values
258
+ 6. Default `apiUrl` of `https://api.inquir.org` (override with env/config for local dev)
177
259
 
178
260
  When both a `token` (PAT) and an `apiKey` are present, the PAT wins. The active
179
261
  `workspaceId` is only applied to user-scoped credentials (PAT/session); for a
@@ -181,8 +263,8 @@ workspace-scoped API key it is ignored unless you pass `--workspace` explicitly.
181
263
 
182
264
  Config file locations:
183
265
 
184
- - `~/.inquir/config.json` (preferred, written by `inquir login` / `use`)
185
- - `~/.lambda-cli/config.json` (legacy fallback)
266
+ - `~/.inquir/config.json` (preferred, written by `inquir login` / `use`; saved with `0600` permissions)
267
+ - `~/.lambda-cli/config.json` (legacy fallback — **credentials only**; the legacy `apiUrl` is intentionally ignored so you aren't silently pinned to `localhost`)
186
268
 
187
269
  Example (written/managed by `inquir login`, `inquir use`, `inquir logout`):
188
270
 
@@ -201,6 +283,22 @@ Example (written/managed by `inquir login`, `inquir use`, `inquir logout`):
201
283
  }
202
284
  ```
203
285
 
286
+ ## Troubleshooting
287
+
288
+ Start with `inquir doctor` — it checks the CLI/Node version, config file, credential,
289
+ API connectivity + latency, active workspace, and local project, and prints a fix for any
290
+ failing check.
291
+
292
+ | Symptom | Likely cause / fix |
293
+ |---------|--------------------|
294
+ | `You are not logged in` (exit 4) | No credential resolved. Run `inquir login`, or set `INQUIR_TOKEN`/`INQUIR_API_KEY` in CI. |
295
+ | `Permission denied` (exit 4) | Wrong workspace or insufficient role. Check `inquir whoami`; switch with `inquir use`. |
296
+ | `Not found` for a function | Wrong name or workspace. `inquir list --remote` to see what exists in the active workspace. |
297
+ | Commands hit `localhost` unexpectedly | A stale `apiUrl` in config/env. Check `inquir config show`; override with `--api-url` or `INQUIR_API_URL`. |
298
+ | Network error (exit 3) | Can't reach the API. Verify connectivity and `--api-url`; re-run `inquir doctor`. |
299
+ | Garbled output in logs/CI | Disable color with `--no-color` or `NO_COLOR=1` (color auto-disables when not a TTY and in `--json`). |
300
+ | Need raw detail for a failure | Re-run with `--debug` for stack traces and the response body (secrets are redacted). |
301
+
204
302
  ## Publishing to npm (maintainers)
205
303
 
206
304
  The CLI (`@inquir/compute-cli`) depends on the SDK (`@inquir/compute`), so the
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClE"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqClE"}
@@ -7,6 +7,9 @@ export async function codegenCommand(args) {
7
7
  printCommandHelp('codegen', 'codegen [options]', [
8
8
  '--config <path> Path to workspace or config file',
9
9
  '--json Machine-readable JSON output',
10
+ ], [
11
+ 'inquir codegen',
12
+ 'inquir codegen --cwd ./services/api',
10
13
  ]);
11
14
  return;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5G,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE;YAC/C,mDAAmD;YACnD,+CAA+C;SAChD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,gCAAgC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEjF,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IAED,YAAY,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,YAAY,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjG,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACpF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAChC,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5G,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE;YAC/C,mDAAmD;YACnD,+CAA+C;SAChD,EAAE;YACD,gBAAgB;YAChB,qCAAqC;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,gCAAgC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEjF,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IAED,YAAY,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,YAAY,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjG,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACpF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAChC,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAcA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FjE"}
@@ -0,0 +1,99 @@
1
+ import { hasFlag, readEnvironmentFlag, readJsonFlag, readPositionalArgs } from '../utils/args.js';
2
+ import { getConfigFilePath, resolveAuthConfig, updateEnvironmentConfig } from '../utils/auth.js';
3
+ import { buildApiOptions } from '../utils/context.js';
4
+ import { usageError } from '../utils/errors.js';
5
+ import { bold, dim, printCommandHelp, printLine, printSuccess } from '../utils/output.js';
6
+ import { maskToken } from '../utils/redact.js';
7
+ const SETTABLE_KEYS = ['apiUrl', 'workspace', 'token', 'apiKey'];
8
+ function isSettableKey(key) {
9
+ return SETTABLE_KEYS.includes(key);
10
+ }
11
+ export async function configCommand(args) {
12
+ if (hasFlag(args, '--help') || hasFlag(args, '-h')) {
13
+ printCommandHelp('config', 'config [show|get <key>|set <key> <value>|path]', [
14
+ 'show Show resolved configuration (default)',
15
+ 'get <key> Print a single value (apiUrl|workspace|token|apiKey)',
16
+ 'set <key> <value> Persist a value (writes to the active --env slice)',
17
+ 'path Print the config file path',
18
+ '--env <name> Operate on a named credential environment',
19
+ '--json Machine-readable output (show/get)',
20
+ ], [
21
+ 'inquir config show',
22
+ 'inquir config get apiUrl',
23
+ 'inquir config set apiUrl https://api.inquir.org',
24
+ 'inquir config path',
25
+ ]);
26
+ return;
27
+ }
28
+ const positionals = readPositionalArgs(args);
29
+ const sub = positionals[0] ?? 'show';
30
+ const json = readJsonFlag(args);
31
+ const environment = readEnvironmentFlag(args);
32
+ if (sub === 'path') {
33
+ printLine(getConfigFilePath());
34
+ return;
35
+ }
36
+ if (sub === 'set') {
37
+ const key = positionals[1];
38
+ const value = positionals[2];
39
+ if (!key || value === undefined) {
40
+ throw usageError('Usage: inquir config set <key> <value>', 'inquir config set apiUrl https://api.inquir.org');
41
+ }
42
+ if (!isSettableKey(key)) {
43
+ throw usageError(`Unknown config key: ${key}. Settable: ${SETTABLE_KEYS.join(', ')}`);
44
+ }
45
+ await updateEnvironmentConfig(environment, (slice) => {
46
+ if (key === 'workspace')
47
+ slice.workspaceId = value;
48
+ else
49
+ slice[key] = value;
50
+ });
51
+ printSuccess(`Set ${key}${environment ? ` (env: ${environment})` : ''}.`);
52
+ return;
53
+ }
54
+ if (sub === 'get') {
55
+ const key = positionals[1];
56
+ if (!key || !isSettableKey(key)) {
57
+ throw usageError(`Usage: inquir config get <${SETTABLE_KEYS.join('|')}>`);
58
+ }
59
+ const resolved = await resolveAuthConfig(buildApiOptions(args));
60
+ const value = key === 'apiUrl' ? resolved.apiUrl
61
+ : key === 'workspace' ? resolved.workspaceId
62
+ : key === 'token' ? (resolved.token ? maskToken(resolved.token) : undefined)
63
+ : resolved.apiKey ? maskToken(resolved.apiKey) : undefined;
64
+ if (json) {
65
+ printLine(JSON.stringify({ [key]: value ?? null }, null, 2));
66
+ }
67
+ else {
68
+ printLine(value ?? '(not set)');
69
+ }
70
+ return;
71
+ }
72
+ if (sub !== 'show') {
73
+ throw usageError(`Unknown config subcommand: ${sub}`, 'inquir config show');
74
+ }
75
+ // show
76
+ const resolved = await resolveAuthConfig(buildApiOptions(args));
77
+ const credentialKind = resolved.token ? 'token' : resolved.apiKey ? 'apiKey' : null;
78
+ const view = {
79
+ configPath: getConfigFilePath(),
80
+ apiUrl: resolved.apiUrl,
81
+ workspace: resolved.workspaceId ?? null,
82
+ credential: credentialKind
83
+ ? { kind: credentialKind, value: maskToken(resolved.token ?? resolved.apiKey) }
84
+ : null,
85
+ user: resolved.user ?? null,
86
+ };
87
+ if (json) {
88
+ printLine(JSON.stringify(view, null, 2));
89
+ return;
90
+ }
91
+ printLine(`${bold('Config file:')} ${view.configPath}`);
92
+ printLine(`${bold('API URL:')} ${view.apiUrl}`);
93
+ printLine(`${bold('Workspace:')} ${view.workspace ?? dim('(none)')}`);
94
+ printLine(`${bold('Credential:')} ${view.credential ? `${view.credential.kind} ${dim(view.credential.value)}` : dim('(none — run `inquir login`)')}`);
95
+ if (view.user) {
96
+ printLine(`${bold('User:')} ${view.user.name ?? ''} ${dim(`<${view.user.email ?? view.user.id}>`)}`.trimStart());
97
+ }
98
+ }
99
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE"}
@@ -1,15 +1,7 @@
1
- import { hasFlag } from '../utils/args.js';
2
- import { printCommandHelp } from '../utils/output.js';
3
1
  import { runCommand } from './run.js';
4
2
  export async function debugCommand(args) {
5
- if (hasFlag(args, '--help') || hasFlag(args, '-h')) {
6
- printCommandHelp('debug', 'debug <asset> [options]', [
7
- '--payload <json> JSON payload string',
8
- '--payload-file <path> Path to JSON payload file',
9
- '--config <path> Path to workspace or config file',
10
- ]);
11
- return;
12
- }
3
+ // `debug` is `run` with the inspector enabled; runCommand renders the matching
4
+ // `--help` output (titled "debug") so the two stay in sync.
13
5
  await runCommand(args, true);
14
6
  }
15
7
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,EAAE;YACnD,4CAA4C;YAC5C,kDAAkD;YAClD,yDAAyD;SAC1D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,+EAA+E;IAC/E,4DAA4D;IAC5D,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function deleteCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAOA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDjE"}
@@ -0,0 +1,50 @@
1
+ import { hasFlag, readJsonFlag, readPositionalArgs } from '../utils/args.js';
2
+ import { deleteRemoteFunction, requireAuth, resolveRemoteFunction } from '../utils/api.js';
3
+ import { buildApiOptions, runtime } from '../utils/context.js';
4
+ import { CliError, ExitCode, usageError } from '../utils/errors.js';
5
+ import { printCommandHelp, printLine, printSuccess } from '../utils/output.js';
6
+ import { canPrompt, confirm } from '../utils/prompt.js';
7
+ export async function deleteCommand(args) {
8
+ if (hasFlag(args, '--help') || hasFlag(args, '-h')) {
9
+ printCommandHelp('delete', 'delete <function> [options]', [
10
+ '--yes, -y Skip the confirmation prompt (required in CI/non-TTY)',
11
+ '--workspace Target workspace (slug or id)',
12
+ '--json Machine-readable JSON output',
13
+ ], [
14
+ 'inquir delete hello',
15
+ 'inquir delete hello --yes # skip confirmation (CI/non-TTY)',
16
+ ]);
17
+ return;
18
+ }
19
+ const [identifier] = readPositionalArgs(args);
20
+ if (!identifier) {
21
+ throw usageError('Missing function name or id', 'inquir delete <name|id>');
22
+ }
23
+ const apiOptions = buildApiOptions(args);
24
+ await requireAuth(apiOptions);
25
+ const fn = await resolveRemoteFunction(identifier, apiOptions);
26
+ const json = readJsonFlag(args);
27
+ if (!runtime().yes) {
28
+ if (!canPrompt()) {
29
+ throw new CliError('Refusing to delete without confirmation', {
30
+ code: 'CONFIRMATION_REQUIRED',
31
+ exitCode: ExitCode.USAGE,
32
+ explanation: `Deleting "${fn.name}" is irreversible.`,
33
+ fix: 'Re-run with --yes to confirm in non-interactive mode.',
34
+ command: `inquir delete ${identifier} --yes`,
35
+ });
36
+ }
37
+ const ok = await confirm(`Delete remote function "${fn.name}" (${fn.id})? This cannot be undone.`, false);
38
+ if (!ok) {
39
+ printLine('Aborted.');
40
+ return;
41
+ }
42
+ }
43
+ await deleteRemoteFunction(fn.id, apiOptions);
44
+ if (json) {
45
+ printLine(JSON.stringify({ ok: true, deleted: { id: fn.id, name: fn.name } }, null, 2));
46
+ return;
47
+ }
48
+ printSuccess(`Deleted function ${fn.name} (${fn.id}).`);
49
+ }
50
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,gBAAgB,CAAC,QAAQ,EAAE,6BAA6B,EAAE;YACxD,sEAAsE;YACtE,8CAA8C;YAC9C,6CAA6C;SAC9C,EAAE;YACD,qBAAqB;YACrB,+DAA+D;SAChE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,6BAA6B,EAAE,yBAAyB,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,QAAQ,CAAC,yCAAyC,EAAE;gBAC5D,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,WAAW,EAAE,aAAa,EAAE,CAAC,IAAI,oBAAoB;gBACrD,GAAG,EAAE,uDAAuD;gBAC5D,OAAO,EAAE,iBAAiB,UAAU,QAAQ;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,2BAA2B,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1G,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAE9C,IAAI,IAAI,EAAE,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IACD,YAAY,CAAC,oBAAoB,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAwCA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHjE"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAyFA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgLjE"}