@everfir/az8-cli 0.2.0-preview.2 → 0.2.0-preview.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable AZ8 CLI changes are recorded here. The CLI package has its own linear version sequence;
4
4
  it does not inherit the Web application or monorepo root version.
5
5
 
6
+ ## 0.2.0-preview.3 - 2026-07-21
7
+
8
+ ### Changed
9
+
10
+ - The built-in Skill now treats credentials as an operator or agent-host provisioning precondition
11
+ and explains inherited environment, default `.env.local`, and explicit `--env-file` resolution.
12
+ - Authentication is verified with a bounded Project read without inspecting, printing, copying, or
13
+ editing the token source.
14
+ - The shell example that could encourage an agent to type a real token into a recorded interaction
15
+ has been removed, and missing or invalid credentials now direct the agent back to secure external
16
+ provisioning.
17
+
6
18
  ## 0.2.0-preview.2 - 2026-07-21
7
19
 
8
20
  ### Added
package/README.md CHANGED
@@ -17,7 +17,7 @@ az8 guide
17
17
  For a supplied release artifact, install the exact immutable tarball instead:
18
18
 
19
19
  ```bash
20
- npm install --global ./everfir-az8-cli-0.2.0-preview.2.tgz
20
+ npm install --global ./everfir-az8-cli-0.2.0-preview.3.tgz
21
21
  az8 --version
22
22
  ```
23
23
 
@@ -46,15 +46,20 @@ generation inputs.
46
46
 
47
47
  ## Credentials and environment
48
48
 
49
- Use an ignored `.env.local` or process environment:
49
+ Credentials must be provisioned outside the agent's recorded interaction. Use an ignored
50
+ `.env.local`, an explicit env-file path, or an inherited process environment:
50
51
 
51
52
  ```dotenv
52
- AZ8_TOKEN=...
53
+ AZ8_TOKEN=<operator-provisioned-secret>
53
54
  AZ8_ENVIRONMENT=test
54
55
  ```
55
56
 
56
57
  `AZ8_ENVIRONMENT` accepts `test` or `production`. Command-line `--environment` overrides the env
57
- value. Tokens must not be passed through argv or stdio protocol payloads.
58
+ value. Without `--env-file`, the CLI searches from the working directory upward for `.env.local`.
59
+ An explicit file is selected by path, for example
60
+ `--environment test --env-file /secure/path/.env.local`. Agents must not read, print, edit, or ask
61
+ users to paste credential contents; verify authentication with a bounded `projects list` read.
62
+ Tokens must not be passed through argv or stdio protocol payloads.
58
63
 
59
64
  ## Project Management
60
65
 
package/RELEASE.md CHANGED
@@ -35,7 +35,7 @@ repository-wide `pnpm verify`. Publishing is an external action and requires exp
35
35
  authorization:
36
36
 
37
37
  ```bash
38
- npm publish ./tmp/az8-cli-release/everfir-az8-cli-0.2.0-preview.2.tgz --tag preview
38
+ npm publish ./tmp/az8-cli-release/everfir-az8-cli-0.2.0-preview.3.tgz --tag preview
39
39
  npm view @everfir/az8-cli dist-tags versions --json
40
40
  ```
41
41
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everfir/az8-cli",
3
- "version": "0.2.0-preview.2",
3
+ "version": "0.2.0-preview.3",
4
4
  "description": "Semantic Project Canvas client for AZ8 Studio agents.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -21,8 +21,9 @@ capabilities instead of guessing operation names or input shapes.
21
21
  indeterminate result; do not execute later steps.
22
22
  - Never automatically retry a write. Retry only bounded reads when the returned error says doing so
23
23
  is safe. An idempotency key does not authorize blind replay.
24
- - Keep tokens in the process environment or an ignored env file. Never put a token in argv, an
25
- stdio frame, a prompt, a log, or output.
24
+ - Require the operator or agent host to provision credentials outside the recorded interaction.
25
+ Keep tokens in the inherited process environment or an ignored env file. Never type, read, copy,
26
+ print, or return a token through a shell tool call, argv, stdio frame, prompt, log, or output.
26
27
 
27
28
  ## Concepts
28
29
 
@@ -52,18 +53,41 @@ capabilities instead of guessing operation names or input shapes.
52
53
 
53
54
  ## Bootstrap
54
55
 
55
- 1. Verify the installed client and explicitly choose an environment:
56
+ 1. Verify the installed client without credentials:
56
57
 
57
58
  ```bash
58
59
  az8 --version
59
- export AZ8_ENVIRONMENT=test
60
- export AZ8_TOKEN=...
61
60
  ```
62
61
 
63
- Prefer an ignored `.env.local` when the shell environment is not appropriate. Never print the
64
- token to confirm it.
62
+ 2. Require credentials to be provisioned by the operator or agent host before authenticating. The
63
+ CLI accepts `AZ8_TOKEN` from its inherited process environment or an env file. A provisioned env
64
+ file has this shape, but the agent must not fill the placeholder with a real token in a recorded
65
+ interaction:
65
66
 
66
- 2. Select an existing Project or create a bounded workspace:
67
+ ```dotenv
68
+ AZ8_TOKEN=<operator-provisioned-secret>
69
+ AZ8_ENVIRONMENT=test
70
+ ```
71
+
72
+ With no `--env-file`, the CLI searches for `.env.local` from the working directory upward. An
73
+ explicit file may live elsewhere and is selected only by path:
74
+
75
+ ```bash
76
+ az8 projects list --scope owned --page-size 1 \
77
+ --environment test --env-file /secure/path/.env.local
78
+ ```
79
+
80
+ Use the authenticated read as the credential check. Never verify a token with `cat`, `sed`,
81
+ `grep`, `env`, `printenv`, `echo`, shell tracing, or by reading the env file through another
82
+ tool. Do not create, edit, move, or delete a credential file unless the operator explicitly asks
83
+ through a secure provisioning workflow. Keep it outside version control with owner-only access.
84
+
85
+ The inherited process environment overrides env-file values; `--environment` overrides
86
+ `AZ8_ENVIRONMENT`. Always pass or provision the intended environment explicitly. If the CLI
87
+ reports a missing token or authentication failure, stop and ask the operator to provision or
88
+ replace it outside the conversation. Never ask them to paste the secret into chat.
89
+
90
+ 3. Select an existing Project or create a bounded workspace:
67
91
 
68
92
  ```bash
69
93
  az8 projects list --scope owned
@@ -73,7 +97,7 @@ capabilities instead of guessing operation names or input shapes.
73
97
 
74
98
  Retain the returned Project ID. Confirm the authenticated role before assuming write access.
75
99
 
76
- 3. Discover the effective surface for that Project:
100
+ 4. Discover the effective surface for that Project:
77
101
 
78
102
  ```bash
79
103
  az8 canvas query <project-id> capabilities.summary
@@ -85,13 +109,13 @@ capabilities instead of guessing operation names or input shapes.
85
109
  Schema, `effect`, `history`, `completion`, and `retry`. Availability is filtered by the current
86
110
  account, Project role, upstream services, and CLI version. Do not rely on remembered schemas.
87
111
 
88
- 4. Use `canvas.detail` only when exact node geometry, Draft, status, or bindings are needed:
112
+ 5. Use `canvas.detail` only when exact node geometry, Draft, status, or bindings are needed:
89
113
 
90
114
  ```bash
91
115
  az8 canvas query <project-id> canvas.detail --view-node-id <view-node-id>
92
116
  ```
93
117
 
94
- 5. Choose one-shot for independent tasks and persistent stdio for a collaborative session. Finish
118
+ 6. Choose one-shot for independent tasks and persistent stdio for a collaborative session. Finish
95
119
  by inspecting the affected View Nodes or Workflow Run rather than trusting visual assumptions.
96
120
 
97
121
  ## Interaction modes
@@ -248,6 +272,8 @@ Never:
248
272
  conclude that an Awareness event persisted data;
249
273
  - expose a token, presigned URL, permanent media URL, env-file contents, or private output in logs
250
274
  or protocol payloads;
275
+ - inspect, print, or edit an operator-provisioned credential source merely to check whether it
276
+ exists; authenticate with a bounded read instead;
251
277
  - use awareness client names to impersonate persisted authors or treat Attention Cursor position as
252
278
  authority;
253
279
  - use one-shot as if it retained History, Receipts, replay state, observations, or presence;