@finchtech/cli 0.3.6 → 0.3.7

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.
Files changed (3) hide show
  1. package/README.md +12 -8
  2. package/dist/finch.js +1113 -806
  3. package/package.json +3 -3
package/README.md CHANGED
@@ -18,7 +18,7 @@ ZIP import failures return `AGENT_MARKET_REQUEST_INVALID`, exit code `2`, and `f
18
18
 
19
19
  Intent HTTP failures include `remotePath: "/api/skills/intents"`, `remoteStatus`, and available safe correlation IDs. `responseIssue` distinguishes `transport_failed`, `body_read_failed`, `empty_body`, `invalid_content_length`, `response_too_large`, `invalid_json`, and `schema_mismatch`. Schema failures include at most eight `schemaIssues` with known field paths and validation keywords; an empty path means the response root or an unrecognized field, whose name is withheld. No response values, arbitrary property names, URLs, or raw causes are printed. Malformed success responses are rejected during `intent`, before signing or writing a pending-send marker. Use the returned recovery command for the same publication; the CLI never automatically retries intent requests or resubmits transactions. The fingerprint identifies the local recovery journal, not a server trace; use returned remote IDs to correlate server logs.
20
20
 
21
- The CLI measures the exact final multipart request, including metadata and framing. Requests above 4,000,000 bytes emit a structured SKILL_UPLOAD_NEAR_LIMIT warning on stderr and continue; requests above 4,500,000 bytes fail before upload. Exactly 4,000,000 bytes do not warn; exactly 4,500,000 bytes warn and continue. These MB thresholds are decimal. The manifest allowance is separately 3 MiB (3,145,728 bytes) on upload and reads. Repacking a compressed source ZIP may increase its size. Passing admission does not certify production upload success or authorize replaying a previously failed publication.
21
+ The CLI measures the exact final multipart request, including metadata and framing. At or below 4,000,000 bytes it posts that request to the inline upload route. Above it the object goes through the staged transport instead: the CLI asks for a signed URL, writes the bytes straight to storage, and has the server read them back, verify them and pin them, so the platform's 4,500,000-byte request-body limit does not apply. These MB thresholds are decimal. The per-object ceilings are enforced against the final object either way: 30 MiB (31,457,280 bytes) for a package, 5 MiB for a cover, and 3 MiB (3,145,728 bytes) for a manifest. The package ceiling is one shared constant, applied by upload admission, by the retrieval route, by this client before it uploads, and by this client when it downloads, so a package that publishes is a package that reads back. Repacking a compressed source ZIP may increase its size. Passing admission does not certify production upload success or authorize replaying a previously failed publication.
22
22
 
23
23
  The command groups are `wallet`, `login/status/logout`, `site`, `mcp doctor`, `mcp authorize`, `mcp grant`, `creator`, `credentials`, `intent`, `operation show`, `purchase`, `task`, and `skill`. Run `finch --help` for the exact command list as one JSON value.
24
24
 
@@ -55,11 +55,11 @@ Version 0.3.1 fixes Skill search continuation: pass the returned `nextCursor` un
55
55
  Older clients receive an upgrade message from the Skill search API.
56
56
 
57
57
  Version 0.3.0 upgrades Skill publication and encrypted delivery together. Upgrade with
58
- `pnpm add -g @finchtech/cli@0.3.6` and verify `finch --version` before publishing new Skills
58
+ `pnpm add -g @finchtech/cli@0.3.7` and verify `finch --version` before publishing new Skills
59
59
  or downloading encrypted Skills from the upgraded gateway. Older CLI versions cannot use
60
60
  the new encrypted delivery, including for historical Skills; 0.3.0 retains historical package support.
61
61
 
62
- A single `.zip` passed to `skill publish-submit --path` or `skill version-submit --path` is expanded locally before filtering and primary-document hashing; request a `file` source plan for this input. Directory inputs keep ZIP assets as ordinary files. Imports support stored/DEFLATE ZIPs up to 10 MiB compressed and expanded, with at most 1024 entries. Unsafe paths, symbolic links, encrypted ZIPs, ZIP64, conflicting entries, and corrupt content are refused. Include `SKILL.md`, `README.md`, or one unambiguous root Markdown document.
62
+ A single `.zip` passed to `skill publish-submit --path` or `skill version-submit --path` is expanded locally before filtering and primary-document hashing; request a `file` source plan for this input. Directory inputs keep ZIP assets as ordinary files. Imports support stored/DEFLATE ZIPs up to the package ceiling compressed and expanded, with at most 1024 entries. Unsafe paths, symbolic links, encrypted ZIPs, ZIP64, conflicting entries, and corrupt content are refused. Include `SKILL.md`, `README.md`, or one unambiguous root Markdown document.
63
63
 
64
64
  New Skills publish a DAG-CBOR SkillRoot hash in one graph bundle. Existing Skill identities keep ZIP-hash updates. New Skills require this updated CLI; it verifies every object and decrypts protected files locally into an ordinary ZIP. Historical ZIP downloads and whole-package decryption remain supported. A pending publication reuses its uploaded bytes and saved root commitment on resume.
65
65
 
@@ -90,8 +90,8 @@ not a valid repair. ZIP imports also reject symbolic links.
90
90
 
91
91
  Source errors keep exit code 2 and `AGENT_MARKET_REQUEST_INVALID`. Parse the JSON string in `error.state`
92
92
  for `diagnosticCode`: `SKILL_SOURCE_SYMLINK_UNSUPPORTED`, `SKILL_SOURCE_UNREADABLE`, or
93
- `SKILL_UPLOAD_SIZE_INVALID`, `SKILL_SOURCE_ZIP_INVALID`, `SKILL_SOURCE_PRIMARY_DOCUMENT_INVALID`, `SKILL_UPLOAD_REQUEST_TOO_LARGE`, or `SKILL_MANIFEST_SIZE_INVALID`. Source diagnostics include a root-relative `path` (`.` for the selected
94
- root); size diagnostics include `actualBytes` and `maxBytes`. The 10 MiB internal packaging bound is independent of the stricter HTTP limit and applies to the final
93
+ `SKILL_UPLOAD_SIZE_INVALID`, `SKILL_SOURCE_ZIP_INVALID`, `SKILL_SOURCE_PRIMARY_DOCUMENT_INVALID`, or `SKILL_MANIFEST_SIZE_INVALID`. Source diagnostics include a root-relative `path` (`.` for the selected
94
+ root); size diagnostics include `actualBytes` and `maxBytes`. The internal packaging bound is the package ceiling and applies to the final
95
95
  upload object, including SkillRoot metadata and encryption overhead. STORE ZIP construction does not
96
96
  compress files. A size rejection occurs before that upload and before transaction submission.
97
97
 
@@ -103,17 +103,17 @@ and receipt handling. A validated remote error keeps its code, message, trace an
103
103
  precedence over a remote service's generic retry flag. Private causes, RPC URLs, credentials and
104
104
  journal contents are never printed.
105
105
 
106
- Publication failures set `retryable: false`: this is not permission to replay a paid operation.
106
+ Publication failures report `retryable` and `nextAction` according to the failure. A projection failure after confirmed transactions can be retryable; inspect `unconfirmedActions` before claiming the complete publication succeeded. This is not permission to replay a paid operation.
107
107
  `not_attempted` means no send was attempted in this invocation and no hashes were found in the
108
108
  validated journal; it is not proof about other invocations. `hash_known` includes known transaction
109
- hashes. `uncertain` means sending or durable checkpointing failed; contact support before retrying or
109
+ hashes. `uncertain` means sending or durable checkpointing failed. For creation/version/key stages, contact support before retrying or
110
110
  recovering, even when a hash is shown. A non-null `recoveryCommand` is provided only after a journal
111
111
  is validated or saved and no submission/checkpoint uncertainty was observed. Recheck CLI/MCP identity
112
112
  and use that command rather than repeating publish-submit. Cleanup failures do not claim a journal
113
113
  still exists. If source is unavailable or its excluded-path inventory changed across CLI versions,
114
114
  the fingerprint-only recovery command can use the already stored publication bytes.
115
115
 
116
- These fixes require CLI 0.3.3 or newer; npm 0.3.2 does not include them. Updating a Skill does not upgrade the installed CLI. Journal v6 saves a pending stage before signing/submitting. Missing hashes in a pending stage or a legacy v4/v5 journal block automatic resubmission; contact support. Known hashes are verified without rebroadcast. The pending marker also blocks destructive local authorization/wallet cleanup through the recovery inventory.
116
+ These fixes require CLI 0.3.3 or newer; npm 0.3.2 does not include them. Updating a Skill does not upgrade the installed CLI. Journal v6 saves a pending stage before signing/submitting. Missing hashes in creating stages of a pending or legacy v4/v5 journal block automatic resubmission; follow the reported chain-state checks and contact support. CLI 0.3.7 permits the URI assignment stage to converge through its typed recovery path. Known hashes are verified without rebroadcast. The pending marker also blocks destructive local authorization/wallet cleanup through the recovery inventory.
117
117
 
118
118
  ## Bootstrap and health reports (CLI 0.3.4+)
119
119
 
@@ -126,3 +126,7 @@ CLI 0.3.5 fixes valid WebP covers and packaged detail images being rejected when
126
126
  ## Market category compatibility (CLI 0.3.6+)
127
127
 
128
128
  Use CLI 0.3.6 or newer for the expanded market categories. Skill response display categories now accept bounded text, so future taxonomy additions do not require another CLI upgrade. Updating the website or this Skill does not upgrade an installed CLI.
129
+
130
+ ## Staged uploads and external media (CLI 0.3.7+)
131
+
132
+ CLI 0.3.7 supports authorized external-media manifests and 30 MiB final packages on both upload and download. Browser publishing still uses multipart and refuses external media. Failed staged uploads attempt ticket release and report its result in the sanitized diagnostic. Presentation submission reports progress and whether setting the same URI can safely converge; a stale plan, authorization failure or invalid input still requires correction before retrying. Read the maintained Finch Market Skill for the complete external-host and recovery boundaries.