@everfir/az8-cli 0.3.0 → 0.5.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 +74 -47
- package/dist/main.js +26066 -25165
- package/package.json +2 -4
- package/skills/az8-cli/SKILL.md +76 -37
- package/CHANGELOG.md +0 -225
- package/RELEASE.md +0 -93
package/package.json
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@everfir/az8-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Semantic Project Canvas client for AZ8 Studio agents.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
|
-
"skills"
|
|
10
|
-
"CHANGELOG.md",
|
|
11
|
-
"RELEASE.md"
|
|
9
|
+
"skills"
|
|
12
10
|
],
|
|
13
11
|
"bin": {
|
|
14
12
|
"az8": "dist/main.js"
|
package/skills/az8-cli/SKILL.md
CHANGED
|
@@ -6,7 +6,7 @@ description: Use AZ8 CLI to safely select or create Projects, inspect and author
|
|
|
6
6
|
# Use AZ8 CLI
|
|
7
7
|
|
|
8
8
|
Treat `az8` as a semantic AZ8 Studio client, not as a document editor or generic backend client.
|
|
9
|
-
Follow this guide before the first Project Canvas action in a new
|
|
9
|
+
Follow this guide before the first Project Canvas action in a new agent host. Query runtime
|
|
10
10
|
capabilities instead of guessing operation names or input shapes.
|
|
11
11
|
|
|
12
12
|
## Contract
|
|
@@ -14,7 +14,7 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
14
14
|
- Use only public `az8 projects`, `az8 session`, and `az8 canvas` commands. Never mutate backend
|
|
15
15
|
records, Yjs, Collaborative Document fields, Core Node payloads, or Project Content bindings
|
|
16
16
|
directly.
|
|
17
|
-
-
|
|
17
|
+
- Never infer authorization to write outside the user-selected Project and concrete task.
|
|
18
18
|
- Read the relevant Canvas facts before planning a write. Submit one semantic Operation at a time.
|
|
19
19
|
- Treat every accepted write as a blocker: wait for its terminal Receipt before issuing any later
|
|
20
20
|
query or Operation.
|
|
@@ -22,9 +22,10 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
22
22
|
indeterminate result; do not execute later steps.
|
|
23
23
|
- Never automatically retry a write. Retry only bounded reads when the returned error says doing so
|
|
24
24
|
is safe. An idempotency key does not authorize blind replay.
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
print, or return a token through a shell tool call, argv, stdio
|
|
25
|
+
- Prefer `az8 login` browser authorization for the current operating-system user. Externally
|
|
26
|
+
provisioned process-environment and env-file credentials remain higher-priority automation
|
|
27
|
+
inputs. Never type, read, copy, print, or return a token through a shell tool call, argv, stdio
|
|
28
|
+
frame, prompt, log, or output.
|
|
28
29
|
|
|
29
30
|
## Concepts
|
|
30
31
|
|
|
@@ -57,27 +58,48 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
57
58
|
name is always `<authenticated display name> (<client suffix>)`; the default suffix is `cli`.
|
|
58
59
|
CLI awareness does not publish selection bounds. Awareness never grants authority, changes
|
|
59
60
|
persisted authorship, or proves a business result.
|
|
60
|
-
- **Actor** is the
|
|
61
|
-
impersonate another author.
|
|
61
|
+
- **Actor** is the account selected by the active credential source. A client or awareness name
|
|
62
|
+
cannot impersonate another author.
|
|
62
63
|
|
|
63
64
|
## Bootstrap
|
|
64
65
|
|
|
65
|
-
1. Report the canonical working directory
|
|
66
|
-
|
|
67
|
-
inspecting the file or secret. Then verify the installed client without credentials:
|
|
66
|
+
1. Report the canonical working directory. Then verify the installed
|
|
67
|
+
client without credentials:
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
70
|
az8 --version
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
2.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
2. Check the active identity without inspecting credential material:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
az8 whoami
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
If no credential is available, invoke browser authorization and ask the user to approve the
|
|
80
|
+
request in the opened AZ8 Studio page:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
az8 login
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`login` emits the verification URL and User Code as structured progress while it waits. Do not
|
|
87
|
+
create a polling loop around it. If the browser cannot be opened on the agent host, use
|
|
88
|
+
`az8 login --no-open`, give the emitted URL to the user, and keep that one
|
|
89
|
+
command running until it succeeds or fails. Authorization delivery is at-most-once: a lost
|
|
90
|
+
response, cancelled CLI, or failed local save requires a completely new `az8 login`; never retry
|
|
91
|
+
the consumed exchange yourself.
|
|
92
|
+
|
|
93
|
+
The CLI stores browser-authorized credentials privately by operating-system user and AZ8 service.
|
|
94
|
+
`az8 logout` removes only that local credential and closes daemon Sessions that depend on it; it
|
|
95
|
+
is not online revocation. Do not log out automatically at task completion.
|
|
96
|
+
|
|
97
|
+
The CLI also accepts `AZ8_TOKEN` from its inherited process environment or an env file for
|
|
98
|
+
externally managed automation. A provisioned env file has this shape, but the agent must not fill
|
|
99
|
+
the placeholder with a real token in a recorded interaction:
|
|
77
100
|
|
|
78
101
|
```dotenv
|
|
79
102
|
AZ8_TOKEN=<operator-provisioned-secret>
|
|
80
|
-
AZ8_ENVIRONMENT=test
|
|
81
103
|
```
|
|
82
104
|
|
|
83
105
|
With no `--env-file`, the CLI searches for `.env.local` from the working directory upward. An
|
|
@@ -85,18 +107,19 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
85
107
|
|
|
86
108
|
```bash
|
|
87
109
|
az8 projects list --scope owned --page-size 1 \
|
|
88
|
-
--
|
|
110
|
+
--env-file /secure/path/.env.local
|
|
89
111
|
```
|
|
90
112
|
|
|
91
|
-
Use
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
113
|
+
Use `az8 whoami` as the credential check. Never verify a token with `cat`, `sed`, `grep`, `env`,
|
|
114
|
+
`printenv`, `echo`, shell tracing, or by reading the env file through another tool. Do not create,
|
|
115
|
+
edit, move, or delete a credential file unless the operator explicitly asks through a secure
|
|
116
|
+
provisioning workflow. Keep it outside version control with owner-only access.
|
|
95
117
|
|
|
96
|
-
The inherited process environment overrides env-file values
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
118
|
+
The inherited process environment overrides env-file values, and env-file values override the
|
|
119
|
+
locally saved login. `az8 login` can save a local
|
|
120
|
+
credential while an external credential remains active, so check the returned `credential.active`
|
|
121
|
+
field and use `az8 whoami` to confirm the effective Actor.
|
|
122
|
+
Never ask the user to paste a secret into chat.
|
|
100
123
|
|
|
101
124
|
3. Select an existing Project or create a bounded workspace:
|
|
102
125
|
|
|
@@ -112,9 +135,9 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
112
135
|
daemon-backed Agent Collaboration Session now and retain it through the authoring task:
|
|
113
136
|
|
|
114
137
|
```bash
|
|
115
|
-
az8 session open <project-id>
|
|
138
|
+
az8 session open <project-id>
|
|
116
139
|
az8 session query capabilities.summary
|
|
117
|
-
az8 session query capabilities.detail
|
|
140
|
+
az8 session query capabilities.detail --operation-name <operation-name>
|
|
118
141
|
az8 session query canvas.summary
|
|
119
142
|
```
|
|
120
143
|
|
|
@@ -122,13 +145,15 @@ capabilities instead of guessing operation names or input shapes.
|
|
|
122
145
|
Session merely to retain unused state:
|
|
123
146
|
|
|
124
147
|
```bash
|
|
125
|
-
az8 canvas query <project-id> capabilities.summary
|
|
126
|
-
az8 canvas query <project-id> canvas.summary
|
|
148
|
+
az8 canvas query <project-id> capabilities.summary
|
|
149
|
+
az8 canvas query <project-id> canvas.summary
|
|
127
150
|
```
|
|
128
151
|
|
|
129
|
-
`capabilities.summary` is the short menu.
|
|
130
|
-
|
|
131
|
-
|
|
152
|
+
`capabilities.summary` is the short menu. Select one Operation with `--operation-name` when
|
|
153
|
+
querying `capabilities.detail`; that focused response is authoritative for exact JSON Schema,
|
|
154
|
+
`effect`, `history`, `completion`, and `retry`. Availability is filtered by the current account,
|
|
155
|
+
Project role, upstream services, and CLI version. Do not load the full detail catalog or rely on
|
|
156
|
+
remembered schemas.
|
|
132
157
|
|
|
133
158
|
5. Use `canvas.detail` only when exact node geometry, Draft, status, or bindings are needed:
|
|
134
159
|
|
|
@@ -150,7 +175,7 @@ connection, Awareness, History, Receipts, Interests, and Watch Journal across or
|
|
|
150
175
|
calls:
|
|
151
176
|
|
|
152
177
|
```bash
|
|
153
|
-
az8 session open <project-id>
|
|
178
|
+
az8 session open <project-id>
|
|
154
179
|
az8 session current
|
|
155
180
|
az8 session status
|
|
156
181
|
```
|
|
@@ -244,7 +269,8 @@ one-shot processes.
|
|
|
244
269
|
## Canvas SOP
|
|
245
270
|
|
|
246
271
|
1. Query `canvas.summary`; query selected details only as needed.
|
|
247
|
-
2. Query `capabilities.detail
|
|
272
|
+
2. Query `capabilities.detail --operation-name <operation-name>` and validate the planned Operation
|
|
273
|
+
input against its schema.
|
|
248
274
|
3. When artifact type and placement are already clear, make the first meaningful Canvas state
|
|
249
275
|
visible before doing lengthy prompt refinement or generation planning:
|
|
250
276
|
- create the generation target first, inspect whether its eligible default Draft was
|
|
@@ -275,6 +301,9 @@ entries. Never use compensating low-level mutations to imitate undo.
|
|
|
275
301
|
|
|
276
302
|
Generation is an explicit sequence, never one transaction:
|
|
277
303
|
|
|
304
|
+
`getCoreNode` requires a non-empty unique `coreNodeIds` batch and returns `coreNodes` in request
|
|
305
|
+
order. Treat any missing requested Core Node as a failed read.
|
|
306
|
+
|
|
278
307
|
1. Create a target with `createGenerationTarget` and retain its View Node ID. It accepts `audio`,
|
|
279
308
|
`image`, `text`, or `video`; `createMediaTarget` remains a compatibility capability for non-text
|
|
280
309
|
targets when advertised. The same creation interaction initializes an account-eligible default
|
|
@@ -296,6 +325,9 @@ Generation is an explicit sequence, never one transaction:
|
|
|
296
325
|
plan.
|
|
297
326
|
4. Execute `plan.operations` exactly in order, one Operation at a time. Each step revalidates
|
|
298
327
|
current facts. Stop after the first non-success.
|
|
328
|
+
`addVisualReference` requires a non-empty unique `referenceViewNodeIds` batch, and
|
|
329
|
+
`removeVisualReference` requires a non-empty unique `referenceIds` batch. The runtime validates
|
|
330
|
+
the whole batch and writes the Draft once.
|
|
299
331
|
When a reference must also appear at a meaningful Prompt position, use
|
|
300
332
|
`insertPromptReference` with the target View Node and visible reference View Node. Use
|
|
301
333
|
`placement: "start"` or `"end"` for boundary placement, or anchor a named concept precisely:
|
|
@@ -345,7 +377,15 @@ delivers each unchanged terminal fact once. User Workflow Interests are additive
|
|
|
345
377
|
progress observations, but cannot remove or narrow the system terminal stream. This is Session
|
|
346
378
|
discovery, not an account-wide or historical Workflow event log.
|
|
347
379
|
|
|
348
|
-
Workflow Definitions change over time.
|
|
380
|
+
Workflow Definitions change over time. Start with a bounded catalog page:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
az8 session query workflowDefinitions.summary --page-size 10
|
|
384
|
+
az8 session query workflowDefinitions.summary --workflow-target image --page-size 10
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
The compact response reports `catalog.targetCounts`, filtered `pagination.total`, and an opaque
|
|
388
|
+
`pagination.nextCursor`. Continue only when more Definition identities are needed. Then query
|
|
349
389
|
`workflowDefinition.detail` only when planning detail is insufficient. Never guess a Definition,
|
|
350
390
|
configuration option, modality, cost, or media compatibility from its display name.
|
|
351
391
|
Summary discovery, defaults, planning, and start are filtered to Definitions available to the
|
|
@@ -449,14 +489,13 @@ Never:
|
|
|
449
489
|
- use one-shot as if it retained History, Receipts, replay state, observations, or presence;
|
|
450
490
|
- attempt Asset membership, arbitrary Core Node creation, 3D World editing, unsupported
|
|
451
491
|
Decoration, alignment, or automatic layout through lower-level access;
|
|
452
|
-
- write
|
|
453
|
-
action.
|
|
492
|
+
- write Project data unless the user explicitly authorized the concrete action.
|
|
454
493
|
|
|
455
494
|
## Completion
|
|
456
495
|
|
|
457
496
|
Before reporting a task complete, verify all applicable facts:
|
|
458
497
|
|
|
459
|
-
- The
|
|
498
|
+
- The configured AZ8 service, Project ID, authenticated role, and installed CLI version are known.
|
|
460
499
|
- Runtime capability discovery—not memory—authorized every Operation and input schema used.
|
|
461
500
|
- Every write has its own request ID, terminal Receipt, and sequential position; no write was
|
|
462
501
|
automatically retried.
|
package/CHANGELOG.md
DELETED
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable AZ8 CLI changes are recorded here. The CLI package has its own linear version sequence;
|
|
4
|
-
it does not inherit the Web application or monorepo root version.
|
|
5
|
-
|
|
6
|
-
## Unreleased
|
|
7
|
-
|
|
8
|
-
## 0.3.0 - 2026-07-23
|
|
9
|
-
|
|
10
|
-
### Added
|
|
11
|
-
|
|
12
|
-
- Account-aware Workflow discovery and selection, using the same free-account eligibility rule as
|
|
13
|
-
Web while keeping unavailable historical Definitions inspectable in detail.
|
|
14
|
-
- Web-equivalent default generation Drafts and private local Workflow preferences scoped by
|
|
15
|
-
environment, authenticated account, and output content type.
|
|
16
|
-
- Truthful terminal Workflow target identity derived from retained launch facts or unique Canvas
|
|
17
|
-
History, with explicit unresolved and ambiguous states when evidence is insufficient.
|
|
18
|
-
- Daemon-backed collaboration Sessions, manual and generated Text Resources, semantic Prompt
|
|
19
|
-
reference insertion, structured transfer progress, and bounded download recovery.
|
|
20
|
-
|
|
21
|
-
### Changed
|
|
22
|
-
|
|
23
|
-
- `createGenerationTarget` initializes an eligible default Draft in the same undoable interaction;
|
|
24
|
-
prompt-only `editGenerationDraft` uses the same resolver when a historical target has no Draft.
|
|
25
|
-
- Generation plans preserve their effective prompt and configuration when input modality switches
|
|
26
|
-
to another Workflow Definition and rebuilds the target Draft.
|
|
27
|
-
- Workflow summary, defaults, planning, reference edits, and generation start reject Definitions
|
|
28
|
-
unavailable to the authenticated account. `available:free` is treated only as free-tier access,
|
|
29
|
-
never as pricing evidence.
|
|
30
|
-
- Agent guidance prioritizes one foreground `session watch`, early visible targets, authoritative
|
|
31
|
-
planning, and explicit reconciliation instead of polling, guessed At syntax, or write retries.
|
|
32
|
-
|
|
33
|
-
### Safety and compatibility
|
|
34
|
-
|
|
35
|
-
- Public writes remain semantic Operations backed by internal Commands. No Workflow preference,
|
|
36
|
-
access rule, or Watch enrichment grants a raw Canvas mutation path.
|
|
37
|
-
- Local preferences contain only a Definition id and sanitized scalar config values; they never
|
|
38
|
-
contain credentials, prompts, media URLs, or Project data.
|
|
39
|
-
- Stable protocol `1.0`, sequential write blocking, no automatic write retry, and explicit
|
|
40
|
-
generation acceptance/completion boundaries remain unchanged from `0.2.0`.
|
|
41
|
-
|
|
42
|
-
## 0.3.0-preview.3 - 2026-07-23
|
|
43
|
-
|
|
44
|
-
### Added
|
|
45
|
-
|
|
46
|
-
- Every collaborative Session receives discoverable Workflow terminal events by default, including
|
|
47
|
-
the Workflow Run, target View Node, and output Core Node identities.
|
|
48
|
-
- Prompt references can be inserted before or after an exact text occurrence without exposing raw
|
|
49
|
-
Canvas data.
|
|
50
|
-
- Media uploads report structured stage, byte, and percentage progress across one-shot, persistent
|
|
51
|
-
stdio, and daemon-backed Session transports.
|
|
52
|
-
|
|
53
|
-
### Changed
|
|
54
|
-
|
|
55
|
-
- Media downloads use bounded read-only retries under one caller deadline, clean partial files, and
|
|
56
|
-
return structured, credential-safe transport diagnostics when recovery fails.
|
|
57
|
-
- The built-in agent Skill prioritizes a single foreground `session watch` call, warns against
|
|
58
|
-
background polling loops, and documents terminal reconciliation and exact Prompt placement.
|
|
59
|
-
|
|
60
|
-
### Safety and compatibility
|
|
61
|
-
|
|
62
|
-
- User Workflow Interests remain additive and cannot disable the system terminal stream.
|
|
63
|
-
- Download retries never extend the caller deadline or apply to definitive verification failures.
|
|
64
|
-
- Upload progress is provisional observability and cannot change the semantic Operation result.
|
|
65
|
-
|
|
66
|
-
## 0.3.0-preview.2 - 2026-07-23
|
|
67
|
-
|
|
68
|
-
### Added
|
|
69
|
-
|
|
70
|
-
- Cursor-only Awareness acknowledgement after a remote Canvas Watch delivery has been flushed and
|
|
71
|
-
internally acknowledged.
|
|
72
|
-
- Advisory `data.createdByCli` provenance on every View Node created through the CLI.
|
|
73
|
-
|
|
74
|
-
### Changed
|
|
75
|
-
|
|
76
|
-
- CLI-created Notes retain the authenticated Actor id and display the current client suffix in
|
|
77
|
-
their visible creator label.
|
|
78
|
-
- Ordinary Resource View Nodes no longer receive invented generic creator metadata.
|
|
79
|
-
- The built-in agent Skill recommends early visible generation targets and empty Text Resources
|
|
80
|
-
when artifact type and placement are already unambiguous.
|
|
81
|
-
|
|
82
|
-
### Safety and compatibility
|
|
83
|
-
|
|
84
|
-
- Delivery Awareness never responds to the CLI's own changes, never publishes Selection, and does
|
|
85
|
-
not represent understanding or completion.
|
|
86
|
-
- Editing an existing View Node preserves its creation provenance; duplicating stamps the new node
|
|
87
|
-
with the current client suffix.
|
|
88
|
-
|
|
89
|
-
## 0.3.0-preview.1 - 2026-07-23
|
|
90
|
-
|
|
91
|
-
### Added
|
|
92
|
-
|
|
93
|
-
- Manual Text Resources through `createTextNode` and `editTextContent`, generated Text targets
|
|
94
|
-
through `createGenerationTarget`, and Web-compatible Note accents through `setNoteColor`.
|
|
95
|
-
- Daemon-backed Agent Collaboration Sessions through `az8 session`, with one isolated local daemon
|
|
96
|
-
per Session, current-context discovery, retained authenticated Canvas lifecycle, semantic
|
|
97
|
-
Operations and queries, Interests, bounded Watch delivery, and explicit close.
|
|
98
|
-
- A single semantic collaboration Watch for Canvas, Workflow, and Session facts, with bounded recent
|
|
99
|
-
history, pending continuity inspection, at-least-once stdout delivery, and explicit
|
|
100
|
-
resynchronization after journal loss.
|
|
101
|
-
|
|
102
|
-
### Changed
|
|
103
|
-
|
|
104
|
-
- New generation references accept only visible Canvas View Node identities. Content available only
|
|
105
|
-
as a Core Node must first be placed with `placeCoreNode`, preserving Web's inferred connection
|
|
106
|
-
lines and preventing ambiguous placement selection.
|
|
107
|
-
- Agent authoring now defaults to daemon-backed Sessions. Persistent stdio remains the lower-level
|
|
108
|
-
carrier, while one-shot remains limited to isolated reads, standalone transfers, explicit caller
|
|
109
|
-
choice, or hosts that cannot retain a collaborative client.
|
|
110
|
-
- Numeric Workflow configuration enums normalize transport string values back to their declared
|
|
111
|
-
numeric domain before planning validation, matching Web behavior.
|
|
112
|
-
|
|
113
|
-
### Safety and compatibility
|
|
114
|
-
|
|
115
|
-
- Tokens remain outside command arguments, daemon descriptors, and the private daemon protocol.
|
|
116
|
-
- Session writes remain serialized and never retry automatically. Queries wait behind executing
|
|
117
|
-
writes; Watch collection remains independent.
|
|
118
|
-
- The initial local daemon transport supports macOS and Linux. Windows remains explicitly
|
|
119
|
-
unsupported until the same private Session carrier is hosted through a named pipe.
|
|
120
|
-
|
|
121
|
-
## 0.2.0 - 2026-07-22
|
|
122
|
-
|
|
123
|
-
First stable semantic Project Canvas client for agents.
|
|
124
|
-
|
|
125
|
-
### Added
|
|
126
|
-
|
|
127
|
-
- Project management, persistent NDJSON Canvas collaboration, one-shot compatibility wrappers,
|
|
128
|
-
semantic note and hierarchy authoring, Core Node generation, Workflow observation, and safe local
|
|
129
|
-
media upload/download.
|
|
130
|
-
- A runtime-discoverable built-in agent Skill covering platform concepts, capability discovery,
|
|
131
|
-
persistent request/process lifecycle, generation sequencing, recovery, and prohibited bypasses.
|
|
132
|
-
- Commander 15 command routing and generated help, with Zod 4 schemas for typed option and
|
|
133
|
-
cross-option validation.
|
|
134
|
-
|
|
135
|
-
### Changed
|
|
136
|
-
|
|
137
|
-
- Source is grouped into `src/cli`, `src/commands`, `src/canvas`, `src/media`, `src/integrations`,
|
|
138
|
-
`src/guide`, `src/schemas`, `src/errors`, and `src/utils`; tests remain colocated and domain
|
|
139
|
-
modules remain framework-independent.
|
|
140
|
-
- The CLI and repository development contract now require Node.js 22.12 or newer.
|
|
141
|
-
|
|
142
|
-
### Stability contract
|
|
143
|
-
|
|
144
|
-
- Public Canvas writes remain available only through semantic Operations and internal Commands;
|
|
145
|
-
callers cannot write raw backend, Yjs, Core Node, or Project Content data.
|
|
146
|
-
- Protocol `1.0`, ordered request/Receipt behavior, authenticated presence, no automatic write retry,
|
|
147
|
-
and explicit deferred scopes form the initial stable compatibility boundary.
|
|
148
|
-
- 3D World, Asset aggregate management, automatic layout, media replacement, and batch upload remain
|
|
149
|
-
intentionally deferred rather than partially exposed.
|
|
150
|
-
|
|
151
|
-
## 0.2.0-preview.5 - 2026-07-22
|
|
152
|
-
|
|
153
|
-
### Changed
|
|
154
|
-
|
|
155
|
-
- Canvas awareness names now preserve the authenticated user's Web-equivalent display name first
|
|
156
|
-
and append a CLI-owned parenthesized client suffix, defaulting to `(cli)`.
|
|
157
|
-
- `--client-name <suffix>` may override the client suffix for persistent and one-shot lifecycles,
|
|
158
|
-
but caller-provided parentheses are rejected so presence cannot obscure the name boundary.
|
|
159
|
-
- CLI attention awareness now publishes only the semantic cursor and omits selection bounds.
|
|
160
|
-
- `startGeneration` now carries valid Workflow execution-time estimates into the View Node's
|
|
161
|
-
generation history as Web-compatible median and maximum completion timestamps.
|
|
162
|
-
|
|
163
|
-
## 0.2.0-preview.4 - 2026-07-22
|
|
164
|
-
|
|
165
|
-
### Changed
|
|
166
|
-
|
|
167
|
-
- Persistent NDJSON stdio is now the default interaction mode for every Canvas authoring task,
|
|
168
|
-
including a plan containing only one write.
|
|
169
|
-
- One-shot is limited to isolated reads, standalone transfers, explicit caller choice, or hosts that
|
|
170
|
-
genuinely cannot retain a child process; fewer tool calls alone is not a valid reason to use it.
|
|
171
|
-
- The outer repository Skill now requires preview.4 so a newly triggered agent receives this mode
|
|
172
|
-
selection policy.
|
|
173
|
-
|
|
174
|
-
## 0.2.0-preview.3 - 2026-07-21
|
|
175
|
-
|
|
176
|
-
### Changed
|
|
177
|
-
|
|
178
|
-
- The built-in Skill now treats credentials as an operator or agent-host provisioning precondition
|
|
179
|
-
and explains inherited environment, default `.env.local`, and explicit `--env-file` resolution.
|
|
180
|
-
- Authentication is verified with a bounded Project read without inspecting, printing, copying, or
|
|
181
|
-
editing the token source.
|
|
182
|
-
- The shell example that could encourage an agent to type a real token into a recorded interaction
|
|
183
|
-
has been removed, and missing or invalid credentials now direct the agent back to secure external
|
|
184
|
-
provisioning.
|
|
185
|
-
|
|
186
|
-
## 0.2.0-preview.2 - 2026-07-21
|
|
187
|
-
|
|
188
|
-
### Added
|
|
189
|
-
|
|
190
|
-
- A platform-neutral built-in agent Skill available through `az8 guide` without credentials or a
|
|
191
|
-
network connection.
|
|
192
|
-
- Section-level Markdown and versioned JSON guide output for progressive discovery.
|
|
193
|
-
- Agent onboarding for platform concepts, runtime capability discovery, first-session, Canvas,
|
|
194
|
-
generation and media SOPs, failure recovery, prohibited actions, and completion checks.
|
|
195
|
-
|
|
196
|
-
### Safety and compatibility
|
|
197
|
-
|
|
198
|
-
- The Skill never replaces Project-scoped `capabilities.detail` or Workflow Definition discovery;
|
|
199
|
-
dynamic schemas, permissions, completion, History, and retry policy remain runtime-authoritative.
|
|
200
|
-
- Existing semantic Operations and protocol version `1.0` are unchanged.
|
|
201
|
-
|
|
202
|
-
## 0.2.0-preview.1 - 2026-07-21
|
|
203
|
-
|
|
204
|
-
First installable internal preview.
|
|
205
|
-
|
|
206
|
-
### Added
|
|
207
|
-
|
|
208
|
-
- Project list, detail, create, and rename commands.
|
|
209
|
-
- Persistent NDJSON stdio Canvas client with lifecycle, awareness, observations, Receipts,
|
|
210
|
-
reconnect, explicit shutdown, backpressure, and authenticated actor identity.
|
|
211
|
-
- One-shot wrappers over the same Canvas Client and semantic Operation Registry.
|
|
212
|
-
- Note lifecycle, non-World hierarchy, History, summary/detail inspection, and Core Node placement.
|
|
213
|
-
- Generation Planning, Draft editing, Visual References, Workflow start, status query, and bounded
|
|
214
|
-
wait semantics with credit-usage information.
|
|
215
|
-
- Public media URL import and safe local image/video/audio upload and download.
|
|
216
|
-
|
|
217
|
-
### Safety and compatibility
|
|
218
|
-
|
|
219
|
-
- Canvas writes are available only through semantic Operations and Commands.
|
|
220
|
-
- Writes are serialized, never automatically retried, and isolate the Canvas context after an
|
|
221
|
-
indeterminate result. Read retry remains bounded.
|
|
222
|
-
- Tokens are accepted only through environment variables or env files and are redacted from
|
|
223
|
-
program interaction and diagnostics.
|
|
224
|
-
- 3D World, Asset aggregate management, automatic layout, media replacement, and batch upload are
|
|
225
|
-
intentionally not part of this preview.
|
package/RELEASE.md
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# AZ8 CLI release
|
|
2
|
-
|
|
3
|
-
`latest` is the stable release channel. Preview versions remain immutable historical artifacts and
|
|
4
|
-
must not be republished or renamed into a stable version.
|
|
5
|
-
|
|
6
|
-
## Release gate
|
|
7
|
-
|
|
8
|
-
From the repository root:
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
pnpm release:az8-cli
|
|
12
|
-
pnpm release:pack:az8-cli
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The first command rebuilds the CLI's classified workspace dependencies, runs CLI tests and type
|
|
16
|
-
checking, builds a real npm tarball, installs that tarball in a clean temporary directory, and
|
|
17
|
-
verifies the installed `az8` executable. The second repeats the dependency-aware prepack and
|
|
18
|
-
preserves the verified tarball and clean installation under `tmp/az8-cli-release/` for live
|
|
19
|
-
acceptance. Never bundle against pre-existing workspace `dist/` output.
|
|
20
|
-
|
|
21
|
-
Run the live smoke only against the test environment. It creates one Project unless `--project-id`
|
|
22
|
-
reuses an explicit test Project, starts one visible-reference image generation, and uploads one
|
|
23
|
-
generated 512×512 PNG:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
node apps/az8-cli/scripts/smoke-test.js \
|
|
27
|
-
--bin ./tmp/az8-cli-release/install/node_modules/.bin/az8 \
|
|
28
|
-
--env-file ./.env.local
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
The smoke report must show authenticated persistent stdio, ordered shutdown, a completed Workflow
|
|
32
|
-
Run whose target resolves its output Core Node, upload replay without another transfer, and matching
|
|
33
|
-
download SHA-256. `--skip-generation` is only for diagnosing unrelated media or transport checks;
|
|
34
|
-
it cannot satisfy full release acceptance. When the release changes generation-time projection,
|
|
35
|
-
select a timing-enabled test Definition and require its persisted Web estimate:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
node apps/az8-cli/scripts/smoke-test.js \
|
|
39
|
-
--bin ./tmp/az8-cli-release/install/node_modules/.bin/az8 \
|
|
40
|
-
--env-file ./.env.local \
|
|
41
|
-
--generation-definition-id <timing-enabled-test-definition-id> \
|
|
42
|
-
--require-generation-estimate
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
When a release changes Text generation, add one bounded Text Workflow to the smoke with a known
|
|
46
|
-
test Definition. This is additive to the image acceptance unless the image path is being diagnosed
|
|
47
|
-
separately:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
node apps/az8-cli/scripts/smoke-test.js \
|
|
51
|
-
--bin ./tmp/az8-cli-release/install/node_modules/.bin/az8 \
|
|
52
|
-
--env-file ./.env.local \
|
|
53
|
-
--text-generation-definition-id <test-text-definition-id>
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Before publishing, also run the test-environment acceptance checklist in the packaged README and the
|
|
57
|
-
repository-wide `pnpm verify`. Publishing is an external action and requires explicit operator
|
|
58
|
-
authorization:
|
|
59
|
-
|
|
60
|
-
For the `0.3.0` stable candidate, publish the exact retained artifact to the stable channel only
|
|
61
|
-
after its test-environment acceptance succeeds:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npm publish ./tmp/az8-cli-release/everfir-az8-cli-0.3.0.tgz --tag latest
|
|
65
|
-
npm view @everfir/az8-cli dist-tags versions --json
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Publish only the exact retained tarball whose SHA-512 appears in its release verification record.
|
|
69
|
-
Do not publish from an unverified source directory, retag a preview artifact as stable, or rebuild
|
|
70
|
-
after acceptance. If the obsolete misspelled `prewview` tag still exists, remove that tag without
|
|
71
|
-
unpublishing its immutable version:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npm dist-tag rm @everfir/az8-cli prewview
|
|
75
|
-
npm view @everfir/az8-cli dist-tags --json
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Rollback
|
|
79
|
-
|
|
80
|
-
Published versions are immutable. Rollback moves `latest` to a previously verified stable version
|
|
81
|
-
instead of unpublishing or overwriting a package:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
npm dist-tag add @everfir/az8-cli@<previous-stable-version> latest
|
|
85
|
-
npm view @everfir/az8-cli dist-tags --json
|
|
86
|
-
npm install --global @everfir/az8-cli
|
|
87
|
-
az8 --version
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
For tarball distribution, retain every verified `.tgz`; reinstall the previous tarball and confirm
|
|
91
|
-
`az8 --version`. A rollback changes only the installed client. It never reverses already
|
|
92
|
-
acknowledged Project or Canvas effects; agents must use semantic compensation or Canvas History for
|
|
93
|
-
product data.
|