@fungi.computer/prints 0.4.0 → 0.6.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
@@ -18,12 +18,28 @@ Container.
18
18
  otherwise, MP4 for video.
19
19
  - Add your own images as style references, on models that accept them.
20
20
  - Upload files into the same folder, or choose another folder for the gallery.
21
- - Browse the gallery newest first, open a picture in
22
- [Inkcap](https://github.com/fungi-computer/inkcap), or open its **Image info**
23
- panel (press **I**).
24
- - **Download** an image from Image info. The download drops the prompt and
25
- lineage and keeps the AI marker and the print's id; the file on the Computer
26
- stays as it is.
21
+ - Browse the gallery newest first. Click a picture to see it fitted inside
22
+ Prints; **Left** and **Right** step through the loaded wall, and **Esc**
23
+ returns to the last-viewed tile. **Open in Inkcap** is an explicit editing
24
+ action for files on a Computer.
25
+ - Open a video to play with sound and native playback controls; stepping away
26
+ stops it. If the browser refuses autoplay, press Play. Video-focused arrow
27
+ keys seek rather than changing prints. Hub and Oyster permit App-window
28
+ fullscreen.
29
+ - Step into a loading file or a pending generation without leaving the viewer.
30
+ Video jobs show their live elapsed time; a video that finishes while you are
31
+ watching its placeholder stays paused. A fresh visit to the ready video plays
32
+ it. Retry a failed file read/preview or retry and dismiss a failed job in
33
+ place. Changing the folder, Computer or connection closes the viewer.
34
+ - Open **Image info** in the viewer or from a focused gallery tile (press
35
+ **I**).
36
+ - Toggle **Actual size** to see an image at its natural pixel dimensions. Scroll
37
+ the image with the browser's native scrolling; focused scroll-viewport arrows
38
+ pan instead of stepping prints. Toggle it off to fit again. Stepping to
39
+ another print or reopening the viewer starts fitted.
40
+ - **Download** an image from the viewer or Image info. The download drops the
41
+ prompt and lineage and keeps the AI marker and the print's id; the file on the
42
+ Computer stays as it is.
27
43
  - Retry a failed attempt from its tile or from **Activity**, the key in the
28
44
  window's status bar. A retry resumes the same attempt instead of generating
29
45
  again, and **Resume** picks up an unfinished image after a reload.
@@ -90,9 +106,30 @@ Agents call Prints through Oyster's MCP endpoint, or at
90
106
 
91
107
  Each generation carries a request id (`media_request_` and 21 lowercase letters
92
108
  or digits). Retrying with the same id and inputs recovers the same generation
93
- instead of paying for another. References are paths on the Computer, such as
94
- `[{ path: "/canon/style.png" }]`; callers never pass image bytes, URLs or a
95
- Computer id.
109
+ instead of paying for another. References are file paths, such as
110
+ `[{ path: "/canon/style.png" }]`. In a host with Agent Computer attachments,
111
+ `{ computerId: "computer-b", path: "/canon/style.png" }` reads from any attached
112
+ Computer using that Computer's own read authorization. Omit `computerId` for the
113
+ selected Computer; the output still saves there. Revoked or denied reads stop
114
+ generation before provider dispatch. Callers never pass image bytes or URLs.
115
+ Reference reads are not confined to the App's library folder: the Computer grant
116
+ is the boundary.
117
+
118
+ `listModels` includes a labelled `priceEstimate` for its stated default settings
119
+ (including the example prompt and no references). `basis: "team-price"` includes
120
+ the host's current Team markup; `"provider-cost"` is an unmarked provider
121
+ estimate. The image result's `costMilliunits` and human-readable `receipt` use
122
+ Media's admitted charge, not the catalogue hint. The receipt states that charge
123
+ plainly; only `priceEstimate` is an estimate. Changing dimensions, steps, prompt
124
+ or references can change the charge.
125
+
126
+ Set optional `settings.steps` only for models whose `input.steps` is not
127
+ `"fixed"`; obey `input.maxSteps` where present. Omission uses the model default.
128
+ Refusals retain Media's bounded provider diagnostic. The typed
129
+ `provider.reason === "credits_exhausted"` means Cloudflare AI Gateway couldn't
130
+ fund the request, not a Team credit refusal. Check the account's credits and
131
+ billing in the Cloudflare dashboard under AI Gateway or choose a Workers AI
132
+ model; do not retry a `retryable: false` result.
96
133
 
97
134
  ## Build and check
98
135