@vxil/cli 0.26.3 → 0.28.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.
package/README.md CHANGED
@@ -48,7 +48,7 @@ Verbs: `init templates quickstart try login link keys account logout invites mem
48
48
 
49
49
  - `vxil plan --explain` — the config plan with every leaf tagged *declared* or *default*.
50
50
  - `vxil push [--skip-functions]` — apply schema → config → functions; a project below the functions plan is stopped *before anything is pushed*, and `--skip-functions` pushes the rest.
51
- - `vxil diff [--against <target>] [--ignore <k,…>] [--strict-secrets]` — the CI drift gate; secrets compared by name only, and a referenced-but-unstored name is informational unless `--strict-secrets`.
51
+ - `vxil diff [--against <target>] [--ignore <k,…>] [--strict-secrets] [--strict-runtime]` — the CI drift gate; secrets compared by name only, and a referenced-but-unstored name is informational unless `--strict-secrets`. A function whose only difference is a platform setting — the functions runtime (compatibility date/flags) or the plan's CPU limit — is listed with `reason: runtime <old> → <new>` / `reason: cpu-limit <old> ms → <new> ms` and is informational under the gate (`--exit-code` / `--against`: exit 0) unless `--strict-runtime` — a plain `vxil diff` still counts it; `vxil plan` shows the same reason, and `vxil push` redeploys it under the new settings.
52
52
  - `vxil doctor` — preflight: secrets referenced-vs-stored (advisory, names only) plus a served / published / local hash verdict per function. Under `--json` stdout is one JSON document; notices go to stderr.
53
53
  - `vxil link <slug>` — reuses the key already stored for the slug on this machine; `--mint` for a fresh one, `--key` to hand one in.
54
54
  - `vxil keys mint --name <name> --scopes <a,b,c> [--env live|test] [--store]` — mint a **narrow** key for a server (scopes validated locally; `admin` refused); the key prints **once** to stdout (`--json` → `{ api_key, key_id, scopes }`) and is never stored unless `--store`. `vxil keys list` shows names, ids, scopes, created and last-used (never secrets); `vxil keys revoke <key_id> [--yes]` asks you to type the id, and refuses the key the CLI itself is using unless `--yes`. Needs a dashboard session (`vxil login`, or it prompts at a terminal; a piped / `--json` run fails with that remedy instead — pass `--email`/`--password` to script it, which never stores the session).
@@ -234,6 +234,7 @@ declare const OidcProviderSchema: import("@sinclair/typebox").TObject<{
234
234
  }>>;
235
235
  allowedDomains: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
236
236
  autoLink: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
237
+ linkOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
237
238
  }>;
238
239
  export declare const REDIRECT_ORIGIN_PATTERN = "^(https://[^/?#\\s]+|http://(localhost|127\\.0\\.0\\.1)(:[0-9]{1,5})?)$";
239
240
  /** THE scheme rule for a redirect/return URL: https anywhere, http on loopback
@@ -292,6 +293,7 @@ export declare const AuthConfigSchema: import("@sinclair/typebox").TObject<{
292
293
  }>>;
293
294
  allowedDomains: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
294
295
  autoLink: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
296
+ linkOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
295
297
  }>>;
296
298
  }>>;
297
299
  session: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
@@ -330,11 +332,13 @@ export declare const AuthConfigSchema: import("@sinclair/typebox").TObject<{
330
332
  maxFailures: import("@sinclair/typebox").TInteger;
331
333
  windowMinutes: import("@sinclair/typebox").TInteger;
332
334
  lockMinutes: import("@sinclair/typebox").TInteger;
335
+ countOtp: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
333
336
  }>>;
334
337
  breachedPasswords: import("@sinclair/typebox").TBoolean;
335
338
  captchaSecretRef: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
336
339
  captchaOnReset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
337
340
  emailChangeStepUp: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
341
+ canarySessions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
338
342
  allowedRedirectOrigins: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
339
343
  inviteOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
340
344
  verifyLinkEvicts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -798,6 +802,8 @@ export declare const PaymentsConfigSchema: import("@sinclair/typebox").TObject<{
798
802
  slackHours: import("@sinclair/typebox").TInteger;
799
803
  }>>;
800
804
  unmappedProduct: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"error">, import("@sinclair/typebox").TLiteral<"ignore">]>>;
805
+ deferDowngrades: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
806
+ subPeriodGrants: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
801
807
  }>>;
802
808
  }>;
803
809
  export type PaymentsConfig = Static<typeof PaymentsConfigSchema>;