@everfir/az8-cli 0.3.0-preview.2 → 0.3.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/CHANGELOG.md CHANGED
@@ -5,6 +5,64 @@ it does not inherit the Web application or monorepo root version.
5
5
 
6
6
  ## Unreleased
7
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
+
8
66
  ## 0.3.0-preview.2 - 2026-07-23
9
67
 
10
68
  ### Added
package/README.md CHANGED
@@ -15,10 +15,10 @@ az8 help
15
15
  az8 guide
16
16
  ```
17
17
 
18
- For a supplied preview artifact, install the exact immutable tarball instead:
18
+ For a supplied release artifact, install the exact immutable tarball instead:
19
19
 
20
20
  ```bash
21
- npm install --global ./everfir-az8-cli-0.3.0-preview.2.tgz
21
+ npm install --global ./everfir-az8-cli-0.3.0.tgz
22
22
  az8 --version
23
23
  ```
24
24
 
@@ -114,12 +114,13 @@ az8 session query canvas.summary
114
114
 
115
115
  The Session remains selected for the current canonical working directory, so subsequent commands do
116
116
  not repeat its ID. Use `session current`, `list`, and `status` rather than guessing which Project or
117
- daemon is active. Configure semantic Interests and block on one Watch call when collaboration
118
- updates matter:
117
+ daemon is active. The visible, read-only `system.workflow-terminal` Interest automatically retains
118
+ terminal facts for locally started and remotely discovered pending Runs. Configure only additional
119
+ semantic Interests and block on one Watch call when collaboration updates matter:
119
120
 
120
121
  ```bash
121
122
  az8 session interests patch \
122
- --input-json '{"upsert":[{"key":"canvas-ambient","patch":{"kind":"canvas"}},{"key":"workflow-terminal","patch":{"kind":"workflow"}}]}'
123
+ --input-json '{"upsert":[{"key":"canvas-ambient","patch":{"kind":"canvas"}}]}'
123
124
  az8 session watch --timeout-ms 30000
124
125
  az8 session close
125
126
  ```
@@ -127,6 +128,9 @@ az8 session close
127
128
  `watch` returning `idle` is a successful empty observation window, not a connection error. Exactly
128
129
  one caller may wait on a Session. The daemon retains the authenticated connection and collaboration
129
130
  state between short CLI invocations, but it does not wake or restart an Agent that has exited.
131
+ Agents should call exactly one Watch in the foreground whenever waiting is useful, process the
132
+ result, then call it once again if needed. Do not build a shell loop, background Watch, or polling
133
+ substitute; those add scheduling delay and can consume an event before the Agent reasons about it.
130
134
 
131
135
  For a manual human–Agent interaction latency check, have the Agent report that it is ready, start
132
136
  one 60-second Watch, and only then make one recognizable Canvas change from Web:
@@ -144,12 +148,16 @@ the CLI's local observation-to-delivery delay; neither includes speech recogniti
144
148
  host's scheduling time. Repeat only a small bounded sample, keep the Session open between trials,
145
149
  and remove the temporary Interest or close the Session afterward.
146
150
 
147
- For generation, create a target with `createGenerationTarget` (including `contentType: "text"`) and
148
- call `planGeneration` with the returned View Node and a prompt. Execute its returned
151
+ For generation, create a target with `createGenerationTarget` (including `contentType: "text"`).
152
+ Creation initializes an account-eligible default Draft when available and reports
153
+ `draftInitialized`, `definitionId`, and `selectionSource`; it never starts generation. Call
154
+ `planGeneration` with the returned View Node and a prompt. Execute its returned
149
155
  `plan.operations` in order, stopping after the first failure. A
150
156
  successful `startGeneration` Receipt contains the Workflow Run identity; call `waitWorkflowRun`
151
157
  separately when a terminal output is required. Planning and starting are intentionally not one
152
- transaction.
158
+ transaction. In an active Session, prefer one foreground `session watch`: the system terminal event
159
+ includes the target View Node only when it can be mapped uniquely from authoritative launch or
160
+ Canvas History facts; unresolved or ambiguous mappings are reported rather than guessed.
153
161
 
154
162
  For media transfer, `canvas upload` places a verified local image/video/audio file through the
155
163
  server-owned Core Node path. After detail query resolves the target's `resolvedCoreNodeId`, `canvas
@@ -232,8 +240,10 @@ Project Content through a deterministic, opaque intent fingerprint in its source
232
240
  existing binding returns without another upload, while conflicting key reuse fails. Results include
233
241
  View Node/Core Node identities and reproducible file metadata but never the presigned or permanent
234
242
  file URL. The wrapper uses the standard `az8.canvas.one-shot.v1` output and exit codes and defaults
235
- to a 300-second deadline. Batch upload, replacement, text-file import, and a durable local upload
236
- cache are outside the initial slice.
243
+ to a 300-second deadline. Uploads emit rate-limited `az8.operation-progress.v1` lines to stderr for
244
+ `inspecting`, `requesting-upload`, `uploading`, `creating-content`, and `updating-canvas`; final
245
+ stdout remains one structured result and only its Receipt is authoritative. Batch upload,
246
+ replacement, text-file import, and a durable local upload cache are outside the initial slice.
237
247
 
238
248
  ## Local media download
239
249
 
@@ -262,8 +272,12 @@ Success writes one `az8.canvas.media-download.v1` document with the absolute pat
262
272
  SHA-256, detected MIME/extension, response metadata, resolved Core Node identity, and whether a file
263
273
  was replaced. It deliberately omits the media URL. Exit `0` is success; exit `1` is a definitive
264
274
  source, HTTP 4xx, or local-path failure; exit `2` is a retryable connection, HTTP 429/5xx, transfer,
265
- integrity, or timeout failure; exit `130` is caller cancellation. Downloads are never automatically
266
- retried. After any non-success, the agent must decide whether a new invocation is safe.
275
+ or timeout failure; exit `130` is caller cancellation. Retryable read/transfer phases are
276
+ automatically attempted at most three times under the original deadline; every attempt re-resolves
277
+ the source and leaves no partial destination. Definitive failures, verification mismatch, timeout,
278
+ and cancellation are not retried. Failure output includes attempts, phase, retryability, sanitized
279
+ cause when available, local commit state, and remote-state certainty. After non-success, the agent
280
+ must use those facts to decide whether a new invocation is safe.
267
281
 
268
282
  ## Lower-level persistent stdio client
269
283
 
@@ -303,7 +317,14 @@ Node hierarchy operations, and the Stage 3 Core Node creative loop. Note operati
303
317
  `addVisualReference`, `removeVisualReference`, `startGeneration`, `getWorkflowRun`, and
304
318
  `waitWorkflowRun`. Capability detail is discoverable through `capabilities.detail`; callers should
305
319
  use it instead of hard-coding input schemas. Workflow Definitions are available through
306
- `workflowDefinitions.summary` and `workflowDefinition.detail` queries.
320
+ `workflowDefinitions.summary` and `workflowDefinition.detail` queries. Summary discovery, default
321
+ Drafts, planning, and generation start use only Definitions available to the authenticated account.
322
+ Detail may retain an unavailable historical Definition for diagnosis with
323
+ `availableForAccount: false` and an `accessReason`.
324
+
325
+ Workflow tags describe classification, compatibility, access, and rollout rather than price.
326
+ `available:free` means a free-tier account may select the Workflow; it does not mean zero-credit
327
+ generation. Credit claims must come from planning/start estimates or terminal usage records.
307
328
 
308
329
  Before editing a Draft, an agent can call the read-only `planGeneration` Operation for an existing
309
330
  generation target. It recommends a Definition from the target and resolved generation-reference modalities,
@@ -323,6 +344,12 @@ creates the Text Core Node only after the estimate succeeds. The published opera
323
344
  `addVisualReference` and `removeVisualReference` are retained for compatibility and also carry these
324
345
  planned Text bindings.
325
346
 
347
+ `insertPromptReference` additionally places the platform-owned At token at `start`, `end`, or
348
+ before/after an exact text anchor such as
349
+ `{"kind":"after","anchor":{"text":"豆豆","occurrence":2}}`. Occurrence is one-based and is optional
350
+ only for a unique anchor. Missing or ambiguous anchors fail without writing. Callers never construct
351
+ At syntax, binding IDs, or slot indexes.
352
+
326
353
  ```json
327
354
  {"protocolVersion":"1.0","requestId":"plan-1","type":"operation","payload":{"name":"planGeneration","input":{"targetViewNodeId":"<target-id>","prompt":"A quiet observatory","references":[{"viewNodeId":"<reference-id>"}],"detail":"detail"}}}
328
355
  ```
package/RELEASE.md CHANGED
@@ -57,18 +57,18 @@ Before publishing, also run the test-environment acceptance checklist in the pac
57
57
  repository-wide `pnpm verify`. Publishing is an external action and requires explicit operator
58
58
  authorization:
59
59
 
60
- For a preview candidate, publish the exact retained artifact to the preview channel:
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:
61
62
 
62
63
  ```bash
63
- npm publish ./tmp/az8-cli-release/everfir-az8-cli-0.3.0-preview.2.tgz --tag preview
64
+ npm publish ./tmp/az8-cli-release/everfir-az8-cli-0.3.0.tgz --tag latest
64
65
  npm view @everfir/az8-cli dist-tags versions --json
65
66
  ```
66
67
 
67
68
  Publish only the exact retained tarball whose SHA-512 appears in its release verification record.
68
- Do not publish from an unverified source directory. A later stable promotion uses a new stable
69
- version and `--tag latest`; it never retags or republishes this immutable preview artifact. If the
70
- obsolete misspelled `prewview` tag still exists, remove that tag without unpublishing its immutable
71
- version:
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
72
 
73
73
  ```bash
74
74
  npm dist-tag rm @everfir/az8-cli prewview