wawesome 0.14.1 → 0.14.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 +15 -14
- package/dist/index.mjs +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -329,10 +329,14 @@ npx wawesome credentials mint ci -c deploy,domains:attach -a prod
|
|
|
329
329
|
| `-a, --app` | Restrict to these Apps, by slug. Repeatable. Default: every App in the workspace |
|
|
330
330
|
| `--expires` | Days, or `never`. Default: 90 |
|
|
331
331
|
|
|
332
|
+
`deploy` reaches the reads of what it writes, so a credential minted with it carries `read` as well:
|
|
333
|
+
it lists the workspace, the Apps in it, the Functions in an App and their versions. The command
|
|
334
|
+
prints the words the credential ended up with.
|
|
335
|
+
|
|
332
336
|
An App named in a restriction does not have to exist yet. A pipeline whose first deploy creates the
|
|
333
|
-
App it was minted for is the ordinary case. A restriction bounds what a credential
|
|
334
|
-
what it
|
|
335
|
-
runtime.
|
|
337
|
+
App it was minted for is the ordinary case. A restriction bounds what a credential reads as well as
|
|
338
|
+
what it disturbs, and `deploy` is the hole in it: a Function deployed into an App the credential does
|
|
339
|
+
reach still reads the whole workspace's environment at runtime.
|
|
336
340
|
|
|
337
341
|
### List them
|
|
338
342
|
|
|
@@ -468,7 +472,7 @@ concluding the platform cannot do it.
|
|
|
468
472
|
|:---------------------------|:------------------------------------------------------------------------|:--------------|
|
|
469
473
|
| `list_templates` | The template catalogue, with what each one is for | nothing |
|
|
470
474
|
| `get_template` | One template's files, environment contract and outbound providers | nothing |
|
|
471
|
-
| `list_apps` | The Apps
|
|
475
|
+
| `list_apps` | The Apps the credential reaches, with the slug each is addressed by | `read` |
|
|
472
476
|
| `list_functions` | The Functions in one App, and what their live version carries | `read` |
|
|
473
477
|
| `list_versions` | A Function's Versions, and which one is live | `read` |
|
|
474
478
|
| `get_usage` | The Tenant's usage and headroom | `read` |
|
|
@@ -501,18 +505,14 @@ is all the platform permits, and an agent taking it would end yours.
|
|
|
501
505
|
A credential carries the words its job needs and stops there. They are the same words
|
|
502
506
|
[Deploy credentials](#mint-one) mints with.
|
|
503
507
|
|
|
504
|
-
**Read and investigate, without the ability to ship.** The agent
|
|
505
|
-
Invocations and log bodies, diagnoses a failure, checks usage, and browses
|
|
506
|
-
ships code or runs it refuses:
|
|
508
|
+
**Read and investigate, without the ability to ship.** The agent enumerates your Apps, reads
|
|
509
|
+
Functions, Versions, Invocations and log bodies, diagnoses a failure, checks usage, and browses
|
|
510
|
+
templates. Every tool that ships code or runs it refuses:
|
|
507
511
|
|
|
508
512
|
```bash
|
|
509
513
|
npx wawesome credentials mint investigator -c read,logs:read -a prod
|
|
510
514
|
```
|
|
511
515
|
|
|
512
|
-
One thing to know before you hand it over: `list_apps` sits behind `deploy`, the same word the HTTP
|
|
513
|
-
route behind it asks for, so an investigation credential cannot enumerate your Apps. Name the App in
|
|
514
|
-
the task and every other read works.
|
|
515
|
-
|
|
516
516
|
**Read, investigate and run.** The same, plus `invoke_function`, so the agent can exercise a Function
|
|
517
517
|
and read what it did. It still cannot deploy, roll back, or set a variable:
|
|
518
518
|
|
|
@@ -532,9 +532,10 @@ closed to every credential, whatever it carries.
|
|
|
532
532
|
|
|
533
533
|
Keep `-a` on all three. A credential restricted to one App is refused on every tool that names
|
|
534
534
|
another, which is what stops an agent working on one client's project from touching another's.
|
|
535
|
-
`get_invocation` and `read_invocation_logs` take an Invocation id rather than an App, and
|
|
536
|
-
|
|
537
|
-
|
|
535
|
+
`get_invocation` and `read_invocation_logs` take an Invocation id rather than an App, and an id
|
|
536
|
+
belonging to an App the credential cannot reach is answered as an id naming nothing. `list_apps`
|
|
537
|
+
answers a set rather than one App, so it is narrowed instead of refused: the credential is listed the
|
|
538
|
+
Apps it reaches and told nothing about the rest.
|
|
538
539
|
|
|
539
540
|
### When a tool refuses
|
|
540
541
|
|
package/dist/index.mjs
CHANGED
|
@@ -883,7 +883,7 @@ async function buildJs(entryInput, options) {
|
|
|
883
883
|
* that has to name this version — `--version`, the dependency a scaffolded
|
|
884
884
|
* project pins — reads it here, so a release bumps one file.
|
|
885
885
|
*/
|
|
886
|
-
const CLI_VERSION = "0.14.
|
|
886
|
+
const CLI_VERSION = "0.14.2";
|
|
887
887
|
//#endregion
|
|
888
888
|
//#region src/prompt.ts
|
|
889
889
|
/**
|
|
@@ -5527,8 +5527,8 @@ cli.command("credentials [action] [target]", "Mint, list, regenerate, revoke and
|
|
|
5527
5527
|
wawesome credentials regenerate ci --expires never --yes
|
|
5528
5528
|
wawesome credentials revoke ci-pipeline
|
|
5529
5529
|
wawesome credentials revoke wawe_ab3k9x --yes
|
|
5530
|
-
wawesome credentials delete ci-pipeline`).option("-c, --capability <capability>", "Capability to grant: deploy, read, logs:read, invoke, domains:attach (repeatable or comma-separated, default: deploy)").option("-a, --app <app>", "Restrict the credential to this App (repeatable or comma-separated, default: every App)").option("--expires <days|never>", "Days until the credential expires, or 'never' (default: 90)").option("-y, --yes", "Skip the confirmation a regenerate, revoke or delete asks for").option("-v, --verbose", "Enable verbose debug output").action((action, target, options) => credentialsCommand(action, target, options));
|
|
5531
|
-
cli.command("credentials mint <name>", "Mint a deploy credential, printing its secret exactly once").option("-c, --capability <capability>", "Capability to grant: deploy, read, logs:read, invoke, domains:attach (repeatable or comma-separated)").option("-a, --app <app>", "Restrict the credential to this App (repeatable or comma-separated)").option("--expires <days|never>", "Days until the credential expires, or 'never' (default: 90)").option("-v, --verbose", "Enable verbose debug output").action((name, options) => mintCredentialCommand(name, options));
|
|
5530
|
+
wawesome credentials delete ci-pipeline`).option("-c, --capability <capability>", "Capability to grant: deploy, read, logs:read, invoke, domains:attach (repeatable or comma-separated, default: deploy, which carries read)").option("-a, --app <app>", "Restrict the credential to this App (repeatable or comma-separated, default: every App)").option("--expires <days|never>", "Days until the credential expires, or 'never' (default: 90)").option("-y, --yes", "Skip the confirmation a regenerate, revoke or delete asks for").option("-v, --verbose", "Enable verbose debug output").action((action, target, options) => credentialsCommand(action, target, options));
|
|
5531
|
+
cli.command("credentials mint <name>", "Mint a deploy credential, printing its secret exactly once").option("-c, --capability <capability>", "Capability to grant: deploy, read, logs:read, invoke, domains:attach (repeatable or comma-separated; deploy carries read)").option("-a, --app <app>", "Restrict the credential to this App (repeatable or comma-separated)").option("--expires <days|never>", "Days until the credential expires, or 'never' (default: 90)").option("-v, --verbose", "Enable verbose debug output").action((name, options) => mintCredentialCommand(name, options));
|
|
5532
5532
|
cli.command("credentials list", "List deploy credentials, never their secrets").alias("credentials ls").option("-v, --verbose", "Enable verbose debug output").action((options) => listCredentialsCommand(options));
|
|
5533
5533
|
cli.command("credentials regenerate <name-or-prefix>", "Replace a deploy credential's secret, keeping its name, capabilities and Apps").option("--expires <days|never>", "Days until the regenerated credential expires, or 'never' (default: 90)").option("-y, --yes", "Regenerate without being asked to confirm").option("-v, --verbose", "Enable verbose debug output").action((target, options) => regenerateCredentialCommand(target, options));
|
|
5534
5534
|
cli.command("credentials revoke <name-or-prefix>", "Revoke a deploy credential, immediately and for good").option("-y, --yes", "Revoke without being asked to confirm").option("-v, --verbose", "Enable verbose debug output").action((target, options) => revokeCredentialCommand(target, options));
|