@ainize/core 0.1.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.
Files changed (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/ain-ledger.d.ts +191 -0
  4. package/dist/ain-ledger.d.ts.map +1 -0
  5. package/dist/ain-ledger.js +714 -0
  6. package/dist/ain-ledger.js.map +1 -0
  7. package/dist/browser.d.ts +15 -0
  8. package/dist/browser.d.ts.map +1 -0
  9. package/dist/browser.js +16 -0
  10. package/dist/browser.js.map +1 -0
  11. package/dist/bytes.d.ts +3 -0
  12. package/dist/bytes.d.ts.map +1 -0
  13. package/dist/bytes.js +14 -0
  14. package/dist/bytes.js.map +1 -0
  15. package/dist/canonical.d.ts +5 -0
  16. package/dist/canonical.d.ts.map +1 -0
  17. package/dist/canonical.js +70 -0
  18. package/dist/canonical.js.map +1 -0
  19. package/dist/catalog.d.ts +181 -0
  20. package/dist/catalog.d.ts.map +1 -0
  21. package/dist/catalog.js +496 -0
  22. package/dist/catalog.js.map +1 -0
  23. package/dist/config-schema.d.ts +222 -0
  24. package/dist/config-schema.d.ts.map +1 -0
  25. package/dist/config-schema.js +302 -0
  26. package/dist/config-schema.js.map +1 -0
  27. package/dist/config.d.ts +128 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +330 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/events.d.ts +14 -0
  32. package/dist/events.d.ts.map +1 -0
  33. package/dist/events.js +20 -0
  34. package/dist/events.js.map +1 -0
  35. package/dist/identity.d.ts +15 -0
  36. package/dist/identity.d.ts.map +1 -0
  37. package/dist/identity.js +59 -0
  38. package/dist/identity.js.map +1 -0
  39. package/dist/index.d.ts +17 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +17 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/ledger.d.ts +134 -0
  44. package/dist/ledger.d.ts.map +1 -0
  45. package/dist/ledger.js +2 -0
  46. package/dist/ledger.js.map +1 -0
  47. package/dist/lineage.d.ts +63 -0
  48. package/dist/lineage.d.ts.map +1 -0
  49. package/dist/lineage.js +156 -0
  50. package/dist/lineage.js.map +1 -0
  51. package/dist/local-ledger.d.ts +74 -0
  52. package/dist/local-ledger.d.ts.map +1 -0
  53. package/dist/local-ledger.js +229 -0
  54. package/dist/local-ledger.js.map +1 -0
  55. package/dist/npz.d.ts +107 -0
  56. package/dist/npz.d.ts.map +1 -0
  57. package/dist/npz.js +502 -0
  58. package/dist/npz.js.map +1 -0
  59. package/dist/ops.d.ts +65 -0
  60. package/dist/ops.d.ts.map +1 -0
  61. package/dist/ops.js +9 -0
  62. package/dist/ops.js.map +1 -0
  63. package/dist/teach-auth.d.ts +19 -0
  64. package/dist/teach-auth.d.ts.map +1 -0
  65. package/dist/teach-auth.js +33 -0
  66. package/dist/teach-auth.js.map +1 -0
  67. package/dist/types.d.ts +1096 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +98 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/x402.d.ts +35 -0
  72. package/dist/x402.d.ts.map +1 -0
  73. package/dist/x402.js +84 -0
  74. package/dist/x402.js.map +1 -0
  75. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ain-ledger.js","sourceRoot":"","sources":["../src/ain-ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Everything a browser may import from core — and nothing that could drag ain-js into a bundle.
3
+ *
4
+ * `index.js` is the barrel, and it reaches identity, the ledgers and `node:module`'s createRequire through
5
+ * them. A browser chunk that touched it shipped "(0 , C.createRequire) is not a function" and rendered an
6
+ * empty #root. This module is the boundary that makes that unrepresentable rather than merely discouraged:
7
+ * `types.js` imports nothing, and the ledger shapes below are re-exported with `export type`, so no runtime
8
+ * import of `ledger.js` is emitted at all.
9
+ *
10
+ * Adding a runtime value here is how the guarantee gets lost. Types are free; values are not.
11
+ */
12
+ export * from './types.js';
13
+ export { verificationCount } from './catalog.js';
14
+ export type { Ledger, LedgerEvents, LedgerInfo, PayoutRecord, PriceRecord, RecordBody, RetireRecord, SubscriptionRecord, SupersedeRecord, } from './ledger.js';
15
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EACV,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EACvE,YAAY,EAAE,kBAAkB,EAAE,eAAe,GAClD,MAAM,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Everything a browser may import from core — and nothing that could drag ain-js into a bundle.
3
+ *
4
+ * `index.js` is the barrel, and it reaches identity, the ledgers and `node:module`'s createRequire through
5
+ * them. A browser chunk that touched it shipped "(0 , C.createRequire) is not a function" and rendered an
6
+ * empty #root. This module is the boundary that makes that unrepresentable rather than merely discouraged:
7
+ * `types.js` imports nothing, and the ledger shapes below are re-exported with `export type`, so no runtime
8
+ * import of `ledger.js` is emitted at all.
9
+ *
10
+ * Adding a runtime value here is how the guarantee gets lost. Types are free; values are not.
11
+ */
12
+ export * from './types.js';
13
+ // Pure, and it imports nothing but types.js — so the web can show a verification count the same way the CLI does
14
+ // instead of reimplementing `Math.min(passed, quorum)` in four places and dropping the `extra` it returns.
15
+ export { verificationCount } from './catalog.js';
16
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,YAAY,CAAC;AAC3B,iHAAiH;AACjH,2GAA2G;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Bytes as a person reads them. Decimal units, because disk vendors and `df` both use them. */
2
+ export declare function humanBytes(n: number): string;
3
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C"}
package/dist/bytes.js ADDED
@@ -0,0 +1,14 @@
1
+ /** Bytes as a person reads them. Decimal units, because disk vendors and `df` both use them. */
2
+ export function humanBytes(n) {
3
+ if (!Number.isFinite(n))
4
+ return '—';
5
+ const units = ['B', 'kB', 'MB', 'GB', 'TB'];
6
+ let v = Math.abs(n);
7
+ let i = 0;
8
+ while (v >= 1000 && i < units.length - 1) {
9
+ v /= 1000;
10
+ i++;
11
+ }
12
+ return `${v < 10 && i > 0 ? v.toFixed(1) : Math.round(v)} ${units[i]}`;
13
+ }
14
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAAC,CAAC,IAAI,IAAI,CAAC;QAAC,CAAC,EAAE,CAAC;IAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function canonicalJson(value: unknown): string;
2
+ export declare function pythonJson(value: unknown): string;
3
+ export declare function sha256Hex(data: string | Uint8Array): string;
4
+ export declare function hashCanonical(value: unknown): string;
5
+ //# sourceMappingURL=canonical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AA6BA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AA0BD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEjD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Canonical JSON — deterministic serialization used for hashing and signing.
3
+ *
4
+ * Two flavours:
5
+ * - `canonicalJson`: compact, sorted keys (our native format).
6
+ * - `pythonJson`: reproduces Python's `json.dumps(obj, sort_keys=True, ensure_ascii=False)`
7
+ * (", " and ": " separators) so records imported from the reference prototype's
8
+ * ledger.jsonl re-hash to the same values.
9
+ */
10
+ import { createHash } from 'node:crypto';
11
+ function sortKeysDeep(value) {
12
+ if (value === null || value === undefined)
13
+ return null;
14
+ if (Array.isArray(value))
15
+ return value.map(sortKeysDeep);
16
+ if (typeof value === 'object') {
17
+ const out = {};
18
+ for (const k of Object.keys(value).sort()) {
19
+ const v = value[k];
20
+ if (v === undefined)
21
+ continue;
22
+ out[k] = sortKeysDeep(v);
23
+ }
24
+ return out;
25
+ }
26
+ if (typeof value === 'number' && !Number.isFinite(value))
27
+ return null;
28
+ return value;
29
+ }
30
+ export function canonicalJson(value) {
31
+ return JSON.stringify(sortKeysDeep(value));
32
+ }
33
+ function pyFloat(n) {
34
+ if (Number.isInteger(n))
35
+ return String(n);
36
+ // JS shortest round-trip repr matches Python's repr for doubles except exponent formatting.
37
+ let s = String(n);
38
+ if (s.includes('e')) {
39
+ // Python: 1e-07 style (two-digit exponent, explicit sign)
40
+ const [m, e] = s.split('e');
41
+ const sign = e.startsWith('-') ? '-' : '+';
42
+ const digits = e.replace(/^[-+]/, '').padStart(2, '0');
43
+ s = `${m}e${sign}${digits}`;
44
+ }
45
+ return s;
46
+ }
47
+ function pyDump(value) {
48
+ if (value === null)
49
+ return 'null';
50
+ if (typeof value === 'boolean')
51
+ return value ? 'true' : 'false';
52
+ if (typeof value === 'number')
53
+ return pyFloat(value);
54
+ if (typeof value === 'string')
55
+ return JSON.stringify(value);
56
+ if (Array.isArray(value))
57
+ return `[${value.map(pyDump).join(', ')}]`;
58
+ const keys = Object.keys(value).sort();
59
+ return `{${keys.map((k) => `${JSON.stringify(k)}: ${pyDump(value[k])}`).join(', ')}}`;
60
+ }
61
+ export function pythonJson(value) {
62
+ return pyDump(sortKeysDeep(value));
63
+ }
64
+ export function sha256Hex(data) {
65
+ return createHash('sha256').update(data).digest('hex');
66
+ }
67
+ export function hashCanonical(value) {
68
+ return sha256Hex(canonicalJson(value));
69
+ }
70
+ //# sourceMappingURL=canonical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ import type { Attestation, Challenge, Contributor, LedgerRecord, PatchAnchor, PatchStatus, Settlement } from './types.js';
2
+ import type { SupersedeRecord } from './ledger.js';
3
+ export interface CatalogEntry {
4
+ anchor: PatchAnchor & {
5
+ entry_id?: string;
6
+ node_id?: string;
7
+ gateway_url?: string;
8
+ };
9
+ status: PatchStatus;
10
+ attestations: Attestation[];
11
+ /** Attestations that actually executed the benchmark on a compatible runtime (count toward quorum). */
12
+ passed: number;
13
+ /** Integrity-only (hash-only) attestations — shown, but never sufficient for LISTED when the patch declares benchmark samples. */
14
+ integrity_checks: number;
15
+ /**
16
+ * Attestations written by the anchor's own author that were EXCLUDED from the counts above (the shipped
17
+ * `verifier.allowSelfAttest: false`). They stay in `attestations` — the record is permanent — but count for nothing.
18
+ * 0 on a node configured to allow self-attestation, where they were counted like any other.
19
+ */
20
+ self_checks: number;
21
+ quorum: number;
22
+ quorum_ok: boolean;
23
+ /** Quorum met AND nothing blocks the sale. CHALLENGED clears it — every buy gate reads this, not `quorum_ok`. */
24
+ sellable: boolean;
25
+ /**
26
+ * The challenge nobody has answered yet: the newest challenge written after the newest attestation that counts.
27
+ * Set on ANNOUNCED / VERIFYING / REJECTED entries too, not only on LISTED ones (item 242) — a challenge is a
28
+ * question addressed to the verifiers, and an item stuck at 1/2 with one FAIL is exactly the case where the
29
+ * publisher needs one re-run and the product told them to file a challenge to get it.
30
+ */
31
+ open_challenge?: Challenge;
32
+ /** Every challenge on this entry and what the verifiers said about it afterwards (item 328). */
33
+ challenge_log: {
34
+ challenge: Challenge;
35
+ state: 'open' | 'upheld' | 'dismissed';
36
+ answered_at?: number;
37
+ answered_by?: string;
38
+ }[];
39
+ /** Addresses of the attestations that COUNT toward the quorum — who is paid the verification share (item 325). */
40
+ verifiers: string[];
41
+ /**
42
+ * Distinct model-server fingerprints behind those counted attestations (item 329): `2/2` with one entry here is
43
+ * two verifier processes on ONE engine, which is not two independent verifications.
44
+ */
45
+ executors: string[];
46
+ /** Counted attestations that carry no executor fingerprint (written before the field) — independence unknown. */
47
+ executors_unknown: number;
48
+ /** Counted attestations that ran without an un-patched baseline of their own — recorded, never counted (item 329). */
49
+ no_baseline: number;
50
+ /**
51
+ * Attestations written BEFORE the open challenge, which therefore answer nothing and do not count (item 330).
52
+ * Shown on the verification tab as what they are, so "2/2" can never be made of one fresh run plus one record its
53
+ * own author has publicly disputed.
54
+ */
55
+ stale_attestations: number;
56
+ settlements: Settlement[];
57
+ /**
58
+ * Sales to somebody else. A settlement whose buyer IS the seller is not demand and is not counted here (item
59
+ * 365): three self-buys used to read SOLD 5 on every peer and lift the item up the "Most popular" row that the
60
+ * landing page shows, for the price of nothing at all on a free item.
61
+ */
62
+ downloads: number;
63
+ /** Distinct buyers behind those sales — what a ranking should read, since one buyer is one vote. */
64
+ buyers: number;
65
+ /** Gross: what buyers paid. Still the sum of the settlement amounts, minus self-purchases. */
66
+ revenue: string;
67
+ /**
68
+ * What the anchor's author actually received, from the royalty map on each settlement (item 194): a derivative
69
+ * that pays 65 % upstream showed "revenue 10 CREDIT" on a sale that put 3.5 in its author's pocket, and no
70
+ * surface anywhere printed the difference. `revenue` remains the gross figure every older client reads.
71
+ */
72
+ revenue_net: string;
73
+ /** Gross − net: the creator share these sales owed other people. */
74
+ revenue_shared: string;
75
+ /** Self-purchases excluded from every figure above, so an inflated history can still be seen for what it was. */
76
+ self_purchases: number;
77
+ challenges: Challenge[];
78
+ superseded_by: string[];
79
+ supersedes: string[];
80
+ children: string[];
81
+ record_hash: string;
82
+ listed_at?: number;
83
+ }
84
+ /**
85
+ * Which of one verifier's attestations counts for an entry.
86
+ * - after a challenge: the newest attestation written after it (re-verification answers the challenge and replaces
87
+ * the pre-challenge result — otherwise a challenged patch could never return to LISTED, since every verifier has
88
+ * already attested it);
89
+ * - otherwise: the first one, upgraded to the first attestation that actually executed the benchmark
90
+ * (a real run beats an earlier hash-only check by the same node).
91
+ */
92
+ export declare function effectiveAttestation(list: Attestation[], challengedAt?: number): Attestation;
93
+ /**
94
+ * How a verification count is written for a human: the numerator never exceeds the quorum (`3/2` is arithmetic no
95
+ * reader can interpret), and any attestations beyond it are reported as a separate, honest count.
96
+ */
97
+ export declare function verificationCount(e: {
98
+ passed: number;
99
+ quorum: number;
100
+ }): {
101
+ shown: number;
102
+ fraction: string;
103
+ extra: number;
104
+ };
105
+ export declare function deriveCatalog(anchors: LedgerRecord<PatchAnchor>[], attestations: LedgerRecord<Attestation>[], settlements: LedgerRecord<Settlement>[], challenges: LedgerRecord<Challenge>[], supersedes: LedgerRecord<SupersedeRecord>[], quorum: number, localDrafts?: PatchAnchor[],
106
+ /** Dev/single-node setting (`verifier.allowSelfAttest`): when true, an author's attestation of its own anchor counts. Default false — the shipped behaviour. */
107
+ allowSelfAttest?: boolean): CatalogEntry[];
108
+ /** A caller-supplied value was malformed (HTTP layers map it to 400 instead of 500). */
109
+ export declare class ValidationError extends Error {
110
+ constructor(message: string);
111
+ }
112
+ /** Anchor price: a non-negative decimal string (`'0'`, `'0.1'`, `'25'`); negative or non-numeric prices would produce negative royalties. */
113
+ export declare const PRICE_RE: RegExp;
114
+ export declare function validatePrice(price: unknown, label?: string): string;
115
+ /**
116
+ * Validate an anchor's contributor list (createDraft / updateDraft / publish). Returns a normalised copy.
117
+ * Rules: ≤ MAX_CONTRIBUTORS entries, unique addresses, 0 ≤ share ≤ 1 each and Σ share ≤ 1, role 'data_provider',
118
+ * proof 'signed' | 'declared', name ≤ 40 chars. Throws ValidationError(<message>) on the first violation.
119
+ */
120
+ export declare function validateContributors(list: unknown): Contributor[];
121
+ /**
122
+ * Non-throwing variant for anchors we did not write (peer gossip, chain reads): a malformed contributor list is treated as
123
+ * "no contributors" so a hostile peer anchor (share 5, 40 entries, junk addresses) can never inflate a payout here.
124
+ */
125
+ export declare function sanitizeContributors(list: unknown): Contributor[] | undefined;
126
+ /**
127
+ * Royalty plan for one sale of `amount` (청구항 11, 16-3, 21) — the arithmetic that decides who is paid what. It is
128
+ * computed from the ANCHOR, never from the selling node's config (item 191): a derivative's seller could otherwise
129
+ * set `market.royaltyShare` to 0 and keep the base creator's share while her page still promised 30 %.
130
+ *
131
+ * pass 1 — lineage pool = amount × share, divided equally among the unique ancestor AUTHORS OTHER THAN THE SELLER.
132
+ * A version chain of the seller's own bakes no longer dilutes outside creators (item 192): before this,
133
+ * listing yesterday's version as a parent — which the design's own worked example recommends — halved
134
+ * every outside creator's share on day 2 and, past the old depth-16 cut, dropped them to zero.
135
+ * pass 1b — an outside ancestor author's slice is divided equally among that author's ancestor anchors, and each
136
+ * anchor slice is shared with that anchor's `contributors[]` by their shares (a data provider keeps
137
+ * earning when someone builds on their lesson).
138
+ * pass 1c — an ancestor the seller's ledger cannot resolve is NOT silently dropped (item 310): the anchor that
139
+ * names it carries `parent_authors[i]`, so the slice is still paid to that author; only when nothing
140
+ * names an author does the slice go to `unresolved` — held back and written onto the settle record,
141
+ * never quietly folded into the seller's own line.
142
+ * pass 2 — the seller side (amount − pool) pays, in this order:
143
+ * · the verification fee (item 325): sellerSide × verifier_share, divided equally among the
144
+ * attestations that count toward this entry's quorum. Verifying costs a GPU minute and a gigabyte of
145
+ * someone else's body per item and earned nothing anywhere in this product before it;
146
+ * · the data providers: `c.share` of what is left, for the contributors credited on the sold anchor
147
+ * AND on the seller's own ancestor anchors (one carve per address, the largest share they hold), so
148
+ * the promise "your share of this node's take" survives the seller re-baking on top of itself;
149
+ * · the seller keeps the remainder.
150
+ *
151
+ * Addresses are summed case-insensitively under their first-seen spelling (item 309): the same person credited once
152
+ * as a contributor (as typed) and once as an ancestor author (checksummed) was paid twice into two keys, and a local
153
+ * wallet that compares exactly could see neither.
154
+ *
155
+ * Amounts are decimal strings (6 dp, trailing zeros trimmed); zero-valued payouts are omitted except the seller's own line.
156
+ */
157
+ export interface RoyaltyPlan {
158
+ /** address → amount. What the settle record carries and what payouts / credit balances are derived from. */
159
+ royalty: Record<string, string>;
160
+ /** parent id → amount owed to an ancestor this node could not name. Held back, and written onto the settlement. */
161
+ unresolved: Record<string, string>;
162
+ /** The verifier lines inside `royalty` (address → amount), so a wallet can say what was earned by verifying. */
163
+ verification: Record<string, string>;
164
+ /** Ancestor ids that resolved but whose walk was cut at MAX_LINEAGE_ANCHORS. */
165
+ truncated: boolean;
166
+ /** The shares actually used — the anchor's promise, floored at the network minimum. */
167
+ share: number;
168
+ verifier_share: number;
169
+ }
170
+ /** Cycle-safe ceiling on the lineage walk. Replaces the old `depth > 16` cut, which paid an 18-hop ancestor nothing. */
171
+ export declare const MAX_LINEAGE_ANCHORS = 4096;
172
+ export declare function royaltyPlan(entry: CatalogEntry, all: Map<string, CatalogEntry>, amount: number, share: number, opts?: {
173
+ verifierShare?: number;
174
+ verifiers?: string[];
175
+ }): RoyaltyPlan;
176
+ /** The payout map alone — the shape every caller before the lineage/verifier work expected. */
177
+ export declare function royaltySplit(entry: CatalogEntry, all: Map<string, CatalogEntry>, amount: number, share: number, opts?: {
178
+ verifierShare?: number;
179
+ verifiers?: string[];
180
+ }): Record<string, string>;
181
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}