@finchtech/cli 0.2.5 → 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/README.md CHANGED
@@ -32,4 +32,28 @@ Local AgentOn HMAC generation is not a product command. `credentials material-do
32
32
 
33
33
  If the process exits after broadcasting the Vault purchase but before confirmation returns, recover with `purchase confirm <operationId> --transaction-hash <hash>`. This command never trusts the supplied hash: Finch fetches and decodes the canonical chain receipt before any Call Rights mutation.
34
34
 
35
- Task and Skill business discovery and preparation stay in the Remote MCP server. The `task` commands only fund an exact prepared Task pool, sign exact prepared awards, or submit an exact prepared reclaim. Skill purchase, conversion, price, and supply commands submit strict MCP preparations. `skill publish-submit --path <file-or-directory> --from-file <plan>` and `skill version-submit` accept either one file or one directory, then apply the plan's independent `plaintext`, `finchip_v2`, or `lit` content mode; filtering, deterministic ZIP construction, encryption, upload, and key custody remain local. `skill asset-upload --path <cover> --from-file <plan>` uploads a separately prepared public cover, and `skill presentation-submit --from-file <plan>` publishes bounded public presentation metadata without changing protected package bytes. `skill download --from-file <delivery> --out-file <new-file>` downloads IPFS content directly or signs with the entitled local wallet for protected content, verifies the plaintext package hash, and creates an owner-only file. Every transaction action uses its plan's chain, source-controlled public RPCs, and reviewed chain-level contract authority. The CLI recomputes transaction bytes locally and rejects mismatched chains, destinations, calldata, values, source commits, or envelope tags.
35
+ Task and Skill business discovery and preparation stay in the Remote MCP server. The `task` commands only fund an exact prepared Task pool, sign exact prepared awards, or submit an exact prepared reclaim. Skill purchase, conversion, price, and supply commands submit strict MCP preparations. `skill publish-submit --path <file-or-directory> --from-file <plan>` and `skill version-submit` accept either one file or one directory, then apply the plan's independent `plaintext`, `finchip_v2`, or `lit` content mode; filtering, deterministic ZIP construction, encryption, upload, and key custody remain local. `skill asset-upload --path <cover> --from-file <plan>` uploads a separately prepared public cover, and `skill presentation-submit --from-file <plan>` publishes bounded public presentation metadata without changing protected package bytes. `skill download --from-file <delivery> --out-file <new-file>` downloads IPFS content directly or signs with the entitled local wallet for protected content, verifies the SkillRoot and every file (or the plaintext ZIP hash for historical Skills), and creates an owner-only file. Every transaction action uses its plan's chain, source-controlled public RPCs, and reviewed chain-level contract authority. The CLI recomputes transaction bytes locally and rejects mismatched chains, destinations, calldata, values, source commits, or envelope tags.
36
+
37
+ ## ZIP import and SkillRoot publication
38
+
39
+ Version 0.3.0 upgrades Skill publication and encrypted delivery together. Upgrade with
40
+ `pnpm add -g @finchtech/cli@0.3.0` and verify `finch --version` before publishing new Skills
41
+ or downloading encrypted Skills from the upgraded gateway. Older CLI versions cannot use
42
+ the new encrypted delivery, including for historical Skills; 0.3.0 retains historical package support.
43
+
44
+ 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.
45
+
46
+ 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.
47
+
48
+ The [publication ADR](../../docs/adr/ADR-0064-20260908-skillroot-publication.md) specifies the pinned draft, bundle/profile format, compatibility trust boundary, and rollout order.
49
+
50
+ Finch-managed and Lit downloads use Oracle V2 device-sealed grants and a non-extractable local CryptoKey.
51
+ The updated gateway also supports historical Finch-managed and Lit ZIPs through this delivery. It refuses
52
+ old bare-key buyer requests; use the updated CLI. Both providers use the same sealed delivery. See
53
+ [ADR-0065](../../docs/adr/ADR-0065-20260908-skill-oracle-v2-delivery.md) for deployment requirements.
54
+
55
+ Publication preparation accepts an optional `summary` (up to 500 characters). It is committed in
56
+ SkillRoot exactly as supplied, matching Browser publication metadata; omission means an empty summary.
57
+ Equal public file bytes, paths, name, summary, version and history produce equal roots. Encrypted
58
+ publications use random keys/IVs and need not produce the same root. Updates send the proposed
59
+ manifest for server validation; URI intents are prepared after the new chain binding is confirmed.
@@ -68,3 +68,96 @@ POSSIBILITY OF SUCH DAMAGE.
68
68
 
69
69
  The complete fast-uri contributor list is available at:
70
70
  https://github.com/garycourt/uri-js/graphs/contributors
71
+
72
+
73
+ SkillRoot and ZIP import dependencies
74
+ =====================================
75
+
76
+ fflate 0.8.3
77
+ MIT License
78
+
79
+ Copyright (c) 2026 Arjun Barrett
80
+
81
+ Permission is hereby granted, free of charge, to any person obtaining a copy
82
+ of this software and associated documentation files (the "Software"), to deal
83
+ in the Software without restriction, including without limitation the rights
84
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
85
+ copies of the Software, and to permit persons to whom the Software is
86
+ furnished to do so, subject to the following conditions:
87
+
88
+ The above copyright notice and this permission notice shall be included in all
89
+ copies or substantial portions of the Software.
90
+
91
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
92
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
93
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
94
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
95
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
96
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
97
+ SOFTWARE.
98
+
99
+ multiformats 14.0.5
100
+ This project is dual licensed under MIT and Apache-2.0.
101
+
102
+ MIT: https://www.opensource.org/licenses/mit
103
+ Apache-2.0: https://www.apache.org/licenses/license-2.0
104
+
105
+
106
+ cborg 6.1.2
107
+ Copyright 2020 Rod Vagg
108
+
109
+ Licensed under the Apache License, Version 2.0 (the "License");
110
+ you may not use this file except in compliance with the License.
111
+ You may obtain a copy of the License at
112
+
113
+ http://www.apache.org/licenses/LICENSE-2.0
114
+
115
+ Unless required by applicable law or agreed to in writing, software
116
+ distributed under the License is distributed on an "AS IS" BASIS,
117
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
118
+ See the License for the specific language governing permissions and
119
+ limitations under the License.
120
+
121
+
122
+ @ipld/dag-cbor 10.0.2 (MIT option)
123
+ The MIT License (MIT)
124
+
125
+ Permission is hereby granted, free of charge, to any person obtaining a copy
126
+ of this software and associated documentation files (the "Software"), to deal
127
+ in the Software without restriction, including without limitation the rights
128
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
129
+ copies of the Software, and to permit persons to whom the Software is
130
+ furnished to do so, subject to the following conditions:
131
+
132
+ The above copyright notice and this permission notice shall be included in
133
+ all copies or substantial portions of the Software.
134
+
135
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
136
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
138
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
140
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
141
+ THE SOFTWARE.
142
+
143
+
144
+ multiformats 14.0.5 (MIT option)
145
+ The MIT License (MIT)
146
+
147
+ Permission is hereby granted, free of charge, to any person obtaining a copy
148
+ of this software and associated documentation files (the "Software"), to deal
149
+ in the Software without restriction, including without limitation the rights
150
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
151
+ copies of the Software, and to permit persons to whom the Software is
152
+ furnished to do so, subject to the following conditions:
153
+
154
+ The above copyright notice and this permission notice shall be included in
155
+ all copies or substantial portions of the Software.
156
+
157
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
158
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
159
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
160
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
161
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
162
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
163
+ THE SOFTWARE.