inamprotocol 0.7.0 → 0.8.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/dist/client.d.ts CHANGED
@@ -133,4 +133,41 @@ export declare class InamClient {
133
133
  listReceiptVerifications(receiptId: string): Promise<{
134
134
  verifications: VerificationRecord[];
135
135
  }>;
136
+ /** Current tree size + root hash. Unsigned: the registry holds no signing
137
+ * keypair of its own (only verifies operator-signed *requests*) — the
138
+ * tamper-evidence guarantee comes from consistency proofs between two
139
+ * client-observed STHs, not a signature on any single one. */
140
+ getTransparencySTH(): Promise<{
141
+ treeSize: number;
142
+ rootHash: string;
143
+ timestamp: string;
144
+ }>;
145
+ getTransparencyEntries(query?: {
146
+ limit?: number;
147
+ offset?: number;
148
+ }): Promise<{
149
+ entries: {
150
+ leafIndex: number;
151
+ entryType: string;
152
+ refId: string;
153
+ createdAt: string;
154
+ data: string;
155
+ leafHash: string;
156
+ }[];
157
+ hasMore: boolean;
158
+ }>;
159
+ getInclusionProof(leafIndex: number, treeSize?: number): Promise<{
160
+ leafIndex: number;
161
+ treeSize: number;
162
+ leafHash: string;
163
+ rootHash: string;
164
+ proof: string[];
165
+ }>;
166
+ getConsistencyProof(first: number, second?: number): Promise<{
167
+ firstSize: number;
168
+ firstRootHash: string;
169
+ secondSize: number;
170
+ secondRootHash: string;
171
+ proof: string[];
172
+ }>;
136
173
  }
package/dist/client.js CHANGED
@@ -259,5 +259,37 @@ export class InamClient {
259
259
  listReceiptVerifications(receiptId) {
260
260
  return this.request("GET", `/v1/receipts/${encodeURIComponent(receiptId)}/verifications`);
261
261
  }
262
+ // ---- Transparency log (audit round-2 item 6) — RFC 6962-style Merkle log
263
+ // of receipt-lifecycle events. Fetch-only here; verifyInclusion/
264
+ // verifyConsistency (exported from this package's core/merkleLog.js) are
265
+ // the pure functions a caller runs itself against what these return,
266
+ // rather than trusting the registry's own arithmetic. ----
267
+ /** Current tree size + root hash. Unsigned: the registry holds no signing
268
+ * keypair of its own (only verifies operator-signed *requests*) — the
269
+ * tamper-evidence guarantee comes from consistency proofs between two
270
+ * client-observed STHs, not a signature on any single one. */
271
+ getTransparencySTH() {
272
+ return this.request("GET", "/v1/transparency/sth");
273
+ }
274
+ getTransparencyEntries(query) {
275
+ const params = new URLSearchParams();
276
+ if (query?.limit !== undefined)
277
+ params.set("limit", String(query.limit));
278
+ if (query?.offset !== undefined)
279
+ params.set("offset", String(query.offset));
280
+ return this.request("GET", `/v1/transparency/entries?${params.toString()}`);
281
+ }
282
+ getInclusionProof(leafIndex, treeSize) {
283
+ const params = new URLSearchParams({ leafIndex: String(leafIndex) });
284
+ if (treeSize !== undefined)
285
+ params.set("treeSize", String(treeSize));
286
+ return this.request("GET", `/v1/transparency/proof/inclusion?${params.toString()}`);
287
+ }
288
+ getConsistencyProof(first, second) {
289
+ const params = new URLSearchParams({ first: String(first) });
290
+ if (second !== undefined)
291
+ params.set("second", String(second));
292
+ return this.request("GET", `/v1/transparency/proof/consistency?${params.toString()}`);
293
+ }
262
294
  }
263
295
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** RFC 6962 leaf hash: SHA256(0x00 || entry). `entry` is the exact bytes
2
+ * being logged (canonical JSON of the event record). */
3
+ export declare function leafHash(entry: Uint8Array): string;
4
+ /** RFC 6962 MTH(D[0:n]): the root hash over the given leaf hashes. */
5
+ export declare function rootHash(leafHashes: string[]): string;
6
+ /** RFC 6962 PATH(m, D[0:n]): the audit path proving leafHashes[m] is
7
+ * included in the tree over leafHashes[0:n], leaf-to-root order. */
8
+ export declare function inclusionProof(leafHashes: string[], m: number, n?: number): string[];
9
+ /** Verifies an inclusion proof against a claimed root, without needing the
10
+ * full leaf list. Mirrors pathRec's own recursive split so the proof
11
+ * array is consumed in exactly the order it was produced. */
12
+ export declare function verifyInclusion(leafHashHex: string, index: number, treeSize: number, proof: string[], expectedRootHex: string): boolean;
13
+ /** RFC 6962 PROOF(m, D[0:n]): proves the tree at size m is a prefix of the
14
+ * tree at size n (0 < m < n). m === 0 or m === n need no proof (the empty
15
+ * tree is trivially a prefix of anything; a tree is trivially consistent
16
+ * with itself). */
17
+ export declare function consistencyProof(leafHashes: string[], m: number, n?: number): string[];
18
+ /**
19
+ * RFC 6962 §2.1.2 consistency-proof verification (iterative form): proves
20
+ * `oldRoot` (tree of size m) and `newRoot` (tree of size n) describe the
21
+ * same append-only history, i.e. the first m leaves of the n-leaf tree are
22
+ * exactly the m-leaf tree's leaves in the same order -- catching any
23
+ * retroactive edit, reorder, or deletion of a past entry between the two
24
+ * observed roots.
25
+ */
26
+ export declare function verifyConsistency(m: number, oldRootHex: string, n: number, newRootHex: string, proof: string[]): boolean;
@@ -0,0 +1,190 @@
1
+ import { sha256 } from "@noble/hashes/sha256";
2
+ /**
3
+ * RFC 6962-style append-only Merkle tree (audit round-2 item 6, SPEC.md
4
+ * v0.30, §13). Pure functions over an ordered array of leaf hashes -- no
5
+ * persisted node structure. Both runtimes store one row per logged event
6
+ * (finalize, dispute opened/resolved, non-performance report) and hand the
7
+ * ordered leaf-hash list to these functions on every read; root/proof
8
+ * computation is O(n) per request over this registry's own event volume.
9
+ * ponytail: recompute-on-demand, not a persisted frontier -- upgrade path
10
+ * if a registry's log ever grows large enough to make that measurably slow.
11
+ *
12
+ * Domain separation per RFC 6962 §2.1: a leaf hash and an internal node
13
+ * hash can never collide, because they're prefixed with different single
14
+ * bytes before hashing -- otherwise a malicious log operator could pass off
15
+ * an internal node as if it were a leaf (or vice versa) to fabricate a
16
+ * fraudulent inclusion/consistency proof.
17
+ */
18
+ const LEAF_PREFIX = Uint8Array.of(0x00);
19
+ const NODE_PREFIX = Uint8Array.of(0x01);
20
+ function concatBytes(...parts) {
21
+ const total = parts.reduce((n, p) => n + p.length, 0);
22
+ const out = new Uint8Array(total);
23
+ let offset = 0;
24
+ for (const p of parts) {
25
+ out.set(p, offset);
26
+ offset += p.length;
27
+ }
28
+ return out;
29
+ }
30
+ function hexToBytes(hex) {
31
+ return Uint8Array.from(Buffer.from(hex, "hex"));
32
+ }
33
+ function bytesToHex(bytes) {
34
+ return Buffer.from(bytes).toString("hex");
35
+ }
36
+ function nodeHashBytes(left, right) {
37
+ return sha256(concatBytes(NODE_PREFIX, left, right));
38
+ }
39
+ /** RFC 6962 leaf hash: SHA256(0x00 || entry). `entry` is the exact bytes
40
+ * being logged (canonical JSON of the event record). */
41
+ export function leafHash(entry) {
42
+ return bytesToHex(sha256(concatBytes(LEAF_PREFIX, entry)));
43
+ }
44
+ /** Largest power of two strictly less than n (n > 1). RFC 6962's split
45
+ * point for dividing a subtree of size n into a left power-of-two half
46
+ * and a right remainder. */
47
+ function splitPoint(n) {
48
+ let k = 1;
49
+ while (k * 2 < n)
50
+ k *= 2;
51
+ return k;
52
+ }
53
+ function subtreeHash(leafHashes, start, end) {
54
+ const n = end - start;
55
+ if (n === 1)
56
+ return hexToBytes(leafHashes[start]);
57
+ const k = splitPoint(n);
58
+ return nodeHashBytes(subtreeHash(leafHashes, start, start + k), subtreeHash(leafHashes, start + k, end));
59
+ }
60
+ /** RFC 6962 MTH(D[0:n]): the root hash over the given leaf hashes. */
61
+ export function rootHash(leafHashes) {
62
+ if (leafHashes.length === 0)
63
+ return bytesToHex(sha256(new Uint8Array(0)));
64
+ return bytesToHex(subtreeHash(leafHashes, 0, leafHashes.length));
65
+ }
66
+ /** RFC 6962 PATH(m, D[0:n]): the audit path proving leafHashes[m] is
67
+ * included in the tree over leafHashes[0:n], leaf-to-root order. */
68
+ export function inclusionProof(leafHashes, m, n = leafHashes.length) {
69
+ if (n < 1 || n > leafHashes.length)
70
+ throw new Error("tree size out of range");
71
+ if (m < 0 || m >= n)
72
+ throw new Error("leaf index out of range");
73
+ return pathRec(leafHashes, m, 0, n);
74
+ }
75
+ function pathRec(leafHashes, m, start, end) {
76
+ const n = end - start;
77
+ if (n === 1)
78
+ return [];
79
+ const k = splitPoint(n);
80
+ if (m - start < k) {
81
+ return [...pathRec(leafHashes, m, start, start + k), bytesToHex(subtreeHash(leafHashes, start + k, end))];
82
+ }
83
+ return [...pathRec(leafHashes, m, start + k, end), bytesToHex(subtreeHash(leafHashes, start, start + k))];
84
+ }
85
+ /** Verifies an inclusion proof against a claimed root, without needing the
86
+ * full leaf list. Mirrors pathRec's own recursive split so the proof
87
+ * array is consumed in exactly the order it was produced. */
88
+ export function verifyInclusion(leafHashHex, index, treeSize, proof, expectedRootHex) {
89
+ if (index < 0 || index >= treeSize || treeSize < 1)
90
+ return false;
91
+ const result = verifyPathRec(hexToBytes(leafHashHex), index, 0, treeSize, proof, 0);
92
+ if (!result || result.nextIdx !== proof.length)
93
+ return false;
94
+ return bytesToHex(result.hash) === expectedRootHex;
95
+ }
96
+ function verifyPathRec(leaf, m, start, end, proof, idx) {
97
+ const n = end - start;
98
+ if (n === 1)
99
+ return { hash: leaf, nextIdx: idx };
100
+ const k = splitPoint(n);
101
+ if (m - start < k) {
102
+ const inner = verifyPathRec(leaf, m, start, start + k, proof, idx);
103
+ if (!inner || inner.nextIdx >= proof.length)
104
+ return undefined;
105
+ const sibling = hexToBytes(proof[inner.nextIdx]);
106
+ return { hash: nodeHashBytes(inner.hash, sibling), nextIdx: inner.nextIdx + 1 };
107
+ }
108
+ const inner = verifyPathRec(leaf, m, start + k, end, proof, idx);
109
+ if (!inner || inner.nextIdx >= proof.length)
110
+ return undefined;
111
+ const sibling = hexToBytes(proof[inner.nextIdx]);
112
+ return { hash: nodeHashBytes(sibling, inner.hash), nextIdx: inner.nextIdx + 1 };
113
+ }
114
+ /** RFC 6962 PROOF(m, D[0:n]): proves the tree at size m is a prefix of the
115
+ * tree at size n (0 < m < n). m === 0 or m === n need no proof (the empty
116
+ * tree is trivially a prefix of anything; a tree is trivially consistent
117
+ * with itself). */
118
+ export function consistencyProof(leafHashes, m, n = leafHashes.length) {
119
+ if (n < 0 || n > leafHashes.length || m < 0 || m > n)
120
+ throw new Error("range out of bounds");
121
+ if (m === 0 || m === n)
122
+ return [];
123
+ return subProofRec(leafHashes, m, 0, n, true);
124
+ }
125
+ function subProofRec(leafHashes, m, start, end, b) {
126
+ const n = end - start;
127
+ if (m === n) {
128
+ return b ? [] : [bytesToHex(subtreeHash(leafHashes, start, end))];
129
+ }
130
+ const k = splitPoint(n);
131
+ if (m <= k) {
132
+ return [...subProofRec(leafHashes, m, start, start + k, b), bytesToHex(subtreeHash(leafHashes, start + k, end))];
133
+ }
134
+ return [...subProofRec(leafHashes, m - k, start + k, end, false), bytesToHex(subtreeHash(leafHashes, start, start + k))];
135
+ }
136
+ /**
137
+ * RFC 6962 §2.1.2 consistency-proof verification (iterative form): proves
138
+ * `oldRoot` (tree of size m) and `newRoot` (tree of size n) describe the
139
+ * same append-only history, i.e. the first m leaves of the n-leaf tree are
140
+ * exactly the m-leaf tree's leaves in the same order -- catching any
141
+ * retroactive edit, reorder, or deletion of a past entry between the two
142
+ * observed roots.
143
+ */
144
+ export function verifyConsistency(m, oldRootHex, n, newRootHex, proof) {
145
+ if (m < 0 || n < 0 || m > n)
146
+ return false;
147
+ if (m === n)
148
+ return proof.length === 0 && oldRootHex === newRootHex;
149
+ if (m === 0)
150
+ return true; // the empty tree is consistent with any tree
151
+ if (proof.length === 0)
152
+ return false;
153
+ let fn = m - 1;
154
+ let sn = n - 1;
155
+ while (fn % 2 === 1) {
156
+ fn = Math.floor(fn / 2);
157
+ sn = Math.floor(sn / 2);
158
+ }
159
+ let idx = 0;
160
+ let oldFr;
161
+ let newFr;
162
+ if (fn > 0) {
163
+ if (idx >= proof.length)
164
+ return false;
165
+ oldFr = newFr = hexToBytes(proof[idx++]);
166
+ }
167
+ else {
168
+ oldFr = newFr = hexToBytes(oldRootHex);
169
+ }
170
+ while (sn > 0) {
171
+ if (idx >= proof.length)
172
+ return false;
173
+ const p = hexToBytes(proof[idx++]);
174
+ if (fn % 2 === 1 || fn === sn) {
175
+ oldFr = nodeHashBytes(p, oldFr);
176
+ newFr = nodeHashBytes(p, newFr);
177
+ while (fn % 2 === 0 && fn !== 0) {
178
+ fn = Math.floor(fn / 2);
179
+ sn = Math.floor(sn / 2);
180
+ }
181
+ }
182
+ else {
183
+ newFr = nodeHashBytes(newFr, p);
184
+ }
185
+ fn = Math.floor(fn / 2);
186
+ sn = Math.floor(sn / 2);
187
+ }
188
+ return idx === proof.length && bytesToHex(oldFr) === oldRootHex && bytesToHex(newFr) === newRootHex;
189
+ }
190
+ //# sourceMappingURL=merkleLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkleLog.js","sourceRoot":"","sources":["../../src/core/merkleLog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Append-only transparency log (audit round-2 item 6, SPEC.md v0.30, §13).
3
+ * One entry per receipt-lifecycle event that changes what a receipt or job
4
+ * asserts happened: finalize, dispute open/resolve, non-performance report.
5
+ * Not job postings/offers -- receipts are the trust-bearing artifact (§4).
6
+ *
7
+ * The entry's canonical JSON bytes ARE what gets hashed into the log (via
8
+ * merkleLog.ts's leafHash), so the same event logged by either runtime
9
+ * produces byte-identical leaves -- the same "one source of truth across
10
+ * runtimes" discipline as every other shared core module.
11
+ */
12
+ export type TransparencyEntryType = "receipt_finalized" | "dispute_opened" | "dispute_resolved" | "nonperformance_reported";
13
+ export interface TransparencyEntryInput {
14
+ entryType: TransparencyEntryType;
15
+ refId: string;
16
+ timestamp: string;
17
+ data: unknown;
18
+ }
19
+ export declare function buildLogEntry(input: TransparencyEntryInput): {
20
+ canonicalEntry: string;
21
+ leafHash: string;
22
+ };
@@ -0,0 +1,7 @@
1
+ import { canonicalize } from "../crypto/canonical.js";
2
+ import { leafHash } from "./merkleLog.js";
3
+ export function buildLogEntry(input) {
4
+ const canonicalEntry = canonicalize(input);
5
+ return { canonicalEntry, leafHash: leafHash(new TextEncoder().encode(canonicalEntry)) };
6
+ }
7
+ //# sourceMappingURL=transparencyLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transparencyLog.js","sourceRoot":"","sources":["../../src/core/transparencyLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB1C,MAAM,UAAU,aAAa,CAAC,KAA6B;IACzD,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;AAC1F,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,5 +5,7 @@ export { generateSecp256k1Keypair, secp256k1Sign, secp256k1Verify, ethAddressFro
5
5
  export { canonicalize } from "./crypto/canonical.js";
6
6
  export { computeReceiptId, buildSignableContent, type ReceiptContentInput } from "./core/receiptContent.js";
7
7
  export { computeVerificationId, buildSignableVerificationContent, type VerificationContentInput } from "./core/verificationContent.js";
8
+ export { verifyInclusion, verifyConsistency } from "./core/merkleLog.js";
9
+ export { type TransparencyEntryType } from "./core/transparencyLog.js";
8
10
  export { registerAgentSchema, linkChallengeSchema, linkSchema, postJobSchema, offerSchema, acceptOfferSchema, draftReceiptSchema, countersignSchema, disputeSchema, submitVerificationSchema, setVerifierStatusSchema, } from "./core/schemas.js";
9
11
  export type { LinkedIdentities, ExternalKeyType, LinkChallenge, AgentRecord, VerificationMethod, ReceiptOutcome, ReceiptStatus, DisputeStatus, ExecutionReceipt, SignableReceiptContent, ReputationComponents, ReputationRoleBreakdown, ReputationResult, JobStatus, JobOffer, JobRecord, IndependentVerificationMethod, VerificationResult, VerificationRecord, } from "./types.js";
package/dist/index.js CHANGED
@@ -5,6 +5,11 @@ export { generateSecp256k1Keypair, secp256k1Sign, secp256k1Verify, ethAddressFro
5
5
  export { canonicalize } from "./crypto/canonical.js";
6
6
  export { computeReceiptId, buildSignableContent } from "./core/receiptContent.js";
7
7
  export { computeVerificationId, buildSignableVerificationContent } from "./core/verificationContent.js";
8
+ // Transparency log (audit round-2 item 6, RFC 6962-style Merkle log): pure
9
+ // verification functions, so a caller can verify an inclusion/consistency
10
+ // proof returned by InamClient's transparency methods itself, without
11
+ // trusting the registry's own arithmetic.
12
+ export { verifyInclusion, verifyConsistency } from "./core/merkleLog.js";
8
13
  // Request-body validation schemas — shared by the Node reference server and
9
14
  // the Cloudflare Worker so both accept/reject the exact same requests (see
10
15
  // core/schemas.ts's own header comment for why this exists). Exported
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inamprotocol",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Reference TypeScript/JavaScript SDK for the INAM Protocol — agent identity, execution receipts, jobs, and reputation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",