agent-passport-system 3.0.0 → 3.2.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 (168) hide show
  1. package/README.md +7 -4
  2. package/dist/src/adapters/governance-hook.d.ts.map +1 -1
  3. package/dist/src/adapters/ibac-cedar.d.ts.map +1 -1
  4. package/dist/src/adapters/ibac-cedar.js +22 -4
  5. package/dist/src/adapters/ibac-cedar.js.map +1 -1
  6. package/dist/src/adapters/langchain.d.ts +1 -1
  7. package/dist/src/adapters/langchain.d.ts.map +1 -1
  8. package/dist/src/adapters/mcp.d.ts.map +1 -1
  9. package/dist/src/adapters/oauth-id-jag/index.js.map +1 -1
  10. package/dist/src/adapters/oauth-id-jag/types.d.ts.map +1 -1
  11. package/dist/src/adapters/oauth-id-jag/types.js.map +1 -1
  12. package/dist/src/adapters/oauth-rfc8693/types.d.ts +7 -7
  13. package/dist/src/adapters/oauth-rfc8693/types.d.ts.map +1 -1
  14. package/dist/src/adapters/remote-signer/handle-signer.d.ts.map +1 -1
  15. package/dist/src/adapters/remote-signer/local-signer.d.ts.map +1 -1
  16. package/dist/src/adapters/remote-signer/types.d.ts.map +1 -1
  17. package/dist/src/cli/index.js +12 -5
  18. package/dist/src/cli/index.js.map +1 -1
  19. package/dist/src/core/anchor-state.js.map +1 -1
  20. package/dist/src/core/aps-txt.js.map +1 -1
  21. package/dist/src/core/attestation.js.map +1 -1
  22. package/dist/src/core/canonical-jcs.js.map +1 -1
  23. package/dist/src/core/commerce.d.ts +1 -1
  24. package/dist/src/core/commerce.d.ts.map +1 -1
  25. package/dist/src/core/context.d.ts.map +1 -1
  26. package/dist/src/core/cross-chain.js.map +1 -1
  27. package/dist/src/core/data-enforcement.d.ts.map +1 -1
  28. package/dist/src/core/data-gateway.d.ts.map +1 -1
  29. package/dist/src/core/data-lifecycle.js.map +1 -1
  30. package/dist/src/core/data-source-attribution.js.map +1 -1
  31. package/dist/src/core/did-interop.d.ts.map +1 -1
  32. package/dist/src/core/did-interop.js +63 -0
  33. package/dist/src/core/did-interop.js.map +1 -1
  34. package/dist/src/core/execution-attestation.js.map +1 -1
  35. package/dist/src/core/gateway.d.ts.map +1 -1
  36. package/dist/src/core/governance.js.map +1 -1
  37. package/dist/src/core/obligations.js.map +1 -1
  38. package/dist/src/core/passport.js.map +1 -1
  39. package/dist/src/core/policy.d.ts.map +1 -1
  40. package/dist/src/core/principal.js.map +1 -1
  41. package/dist/src/core/reputation-authority.js.map +1 -1
  42. package/dist/src/core/time.js.map +1 -1
  43. package/dist/src/core/values.js.map +1 -1
  44. package/dist/src/crypto/key-storage.d.ts.map +1 -1
  45. package/dist/src/crypto/keys.js +1 -1
  46. package/dist/src/crypto/keys.js.map +1 -1
  47. package/dist/src/decisionReceipt.d.ts +3 -3
  48. package/dist/src/errors/identity-composition-error.d.ts.map +1 -1
  49. package/dist/src/errors/identity-composition-error.js.map +1 -1
  50. package/dist/src/interop/qntm-bridge.d.ts.map +1 -1
  51. package/dist/src/interop/qntm-bridge.js +36 -4
  52. package/dist/src/interop/qntm-bridge.js.map +1 -1
  53. package/dist/src/storage/volatile-backend.d.ts.map +1 -1
  54. package/dist/src/v2/accountability/__tests__/bundle.test.js.map +1 -1
  55. package/dist/src/v2/accountability/__tests__/contestability.test.js.map +1 -1
  56. package/dist/src/v2/accountability/__tests__/custody.test.js.map +1 -1
  57. package/dist/src/v2/accountability/__tests__/fixtures.test.js.map +1 -1
  58. package/dist/src/v2/assurance/descriptor.js.map +1 -1
  59. package/dist/src/v2/attribution-primitive/canonical.js.map +1 -1
  60. package/dist/src/v2/attribution-primitive/merkle.js.map +1 -1
  61. package/dist/src/v2/attribution-primitive/residual.js.map +1 -1
  62. package/dist/src/v2/attribution-weights/compute-axis.js.map +1 -1
  63. package/dist/src/v2/audience-binding/types.d.ts +1 -1
  64. package/dist/src/v2/bridge.js.map +1 -1
  65. package/dist/src/v2/claim-evidence-types.d.ts +5 -5
  66. package/dist/src/v2/claim-evidence-types.d.ts.map +1 -1
  67. package/dist/src/v2/composition-check/types.d.ts +2 -2
  68. package/dist/src/v2/context-provenance/__tests__/cross-lang-parity.test.js.map +1 -1
  69. package/dist/src/v2/context-provenance/vectors/generate-vectors.js.map +1 -1
  70. package/dist/src/v2/cross_issuer_attestation/__tests__/cross_issuer_attestation.test.js.map +1 -1
  71. package/dist/src/v2/delegation-v2.js.map +1 -1
  72. package/dist/src/v2/feasibility/__tests__/feasibility.test.js.map +1 -1
  73. package/dist/src/v2/feasibility/compiler.js.map +1 -1
  74. package/dist/src/v2/hash-pointer/profile.js.map +1 -1
  75. package/dist/src/v2/hash-pointer/types.d.ts +1 -1
  76. package/dist/src/v2/human-escalation.js.map +1 -1
  77. package/dist/src/v2/instruction-provenance/canonicalize.d.ts.map +1 -1
  78. package/dist/src/v2/instruction-provenance/canonicalize.js.map +1 -1
  79. package/dist/src/v2/instruction-provenance/envelope.d.ts.map +1 -1
  80. package/dist/src/v2/instruction-provenance/envelope.js.map +1 -1
  81. package/dist/src/v2/key-resolution/resolver.d.ts.map +1 -1
  82. package/dist/src/v2/key-resolution/resolver.js.map +1 -1
  83. package/dist/src/v2/memory_provenance/__tests__/memory_provenance.test.js.map +1 -1
  84. package/dist/src/v2/mutual-auth/certificate.js.map +1 -1
  85. package/dist/src/v2/offline-verifier/middleware.js.map +1 -1
  86. package/dist/src/v2/offline-verifier/verify.js.map +1 -1
  87. package/dist/src/v2/outcome-v2.js.map +1 -1
  88. package/dist/src/v2/payment-rails/acp/index.js.map +1 -1
  89. package/dist/src/v2/payment-rails/acp/types.d.ts +1 -1
  90. package/dist/src/v2/payment-rails/ap2/fixtures/_generate.js.map +1 -1
  91. package/dist/src/v2/payment-rails/ap2/index.js.map +1 -1
  92. package/dist/src/v2/payment-rails/conformance/binding-harness.js.map +1 -1
  93. package/dist/src/v2/payment-rails/conformance/fixtures/_generate.js.map +1 -1
  94. package/dist/src/v2/payment-rails/conformance/harness.js.map +1 -1
  95. package/dist/src/v2/payment-rails/cycles/evidence-resolution.js.map +1 -1
  96. package/dist/src/v2/payment-rails/cycles/index.js.map +1 -1
  97. package/dist/src/v2/payment-rails/cycles/types.d.ts +5 -5
  98. package/dist/src/v2/payment-rails/fixtures/_generate.js.map +1 -1
  99. package/dist/src/v2/payment-rails/hooks.js.map +1 -1
  100. package/dist/src/v2/payment-rails/mpp/index.js.map +1 -1
  101. package/dist/src/v2/payment-rails/mpp/types.d.ts +1 -1
  102. package/dist/src/v2/payment-rails/nano.d.ts.map +1 -1
  103. package/dist/src/v2/payment-rails/scope-resolution.js.map +1 -1
  104. package/dist/src/v2/payment-rails/stripe-issuing/fixtures/_generate-cross-rail.js.map +1 -1
  105. package/dist/src/v2/payment-rails/stripe-issuing/fixtures/_generate.js.map +1 -1
  106. package/dist/src/v2/payment-rails/stripe-issuing/primitives.js.map +1 -1
  107. package/dist/src/v2/payment-rails/x402/fixtures/_generate.js.map +1 -1
  108. package/dist/src/v2/payment-rails/x402/index.d.ts.map +1 -1
  109. package/dist/src/v2/policy-bundle/bundle.js.map +1 -1
  110. package/dist/src/v2/provisional-statement/promote.js.map +1 -1
  111. package/dist/src/v2/read_fidelity_receipt/__tests__/read_fidelity_receipt.test.d.ts +2 -0
  112. package/dist/src/v2/read_fidelity_receipt/__tests__/read_fidelity_receipt.test.d.ts.map +1 -0
  113. package/dist/src/v2/read_fidelity_receipt/__tests__/read_fidelity_receipt.test.js +392 -0
  114. package/dist/src/v2/read_fidelity_receipt/__tests__/read_fidelity_receipt.test.js.map +1 -0
  115. package/dist/src/v2/read_fidelity_receipt/index.d.ts +4 -0
  116. package/dist/src/v2/read_fidelity_receipt/index.d.ts.map +1 -0
  117. package/dist/src/v2/read_fidelity_receipt/index.js +16 -0
  118. package/dist/src/v2/read_fidelity_receipt/index.js.map +1 -0
  119. package/dist/src/v2/read_fidelity_receipt/receipt.d.ts +45 -0
  120. package/dist/src/v2/read_fidelity_receipt/receipt.d.ts.map +1 -0
  121. package/dist/src/v2/read_fidelity_receipt/receipt.js +283 -0
  122. package/dist/src/v2/read_fidelity_receipt/receipt.js.map +1 -0
  123. package/dist/src/v2/read_fidelity_receipt/sampler.d.ts +35 -0
  124. package/dist/src/v2/read_fidelity_receipt/sampler.d.ts.map +1 -0
  125. package/dist/src/v2/read_fidelity_receipt/sampler.js +110 -0
  126. package/dist/src/v2/read_fidelity_receipt/sampler.js.map +1 -0
  127. package/dist/src/v2/read_fidelity_receipt/types.d.ts +139 -0
  128. package/dist/src/v2/read_fidelity_receipt/types.d.ts.map +1 -0
  129. package/dist/src/v2/read_fidelity_receipt/types.js +17 -0
  130. package/dist/src/v2/read_fidelity_receipt/types.js.map +1 -0
  131. package/dist/src/v2/read_fidelity_receipt/vectors/generate.d.ts +2 -0
  132. package/dist/src/v2/read_fidelity_receipt/vectors/generate.d.ts.map +1 -0
  133. package/dist/src/v2/read_fidelity_receipt/vectors/generate.js +261 -0
  134. package/dist/src/v2/read_fidelity_receipt/vectors/generate.js.map +1 -0
  135. package/dist/src/v2/regulated-action/types.d.ts +7 -7
  136. package/dist/src/v2/regulated-action/types.d.ts.map +1 -1
  137. package/dist/src/v2/scope-registry/registry.js.map +1 -1
  138. package/dist/src/v2/semantic-scoping.js.map +1 -1
  139. package/dist/src/v2/transport/rfc9421/profile.d.ts +1 -1
  140. package/dist/src/v2/transport/rfc9421/profile.d.ts.map +1 -1
  141. package/dist/src/v2/transport/rfc9421/signature-base.js.map +1 -1
  142. package/dist/src/v2/trust-policy/types.d.ts +1 -1
  143. package/dist/src/v2/trust-policy/well-known.d.ts +2 -2
  144. package/dist/src/v2/verifier-hardening/index.d.ts.map +1 -1
  145. package/dist/src/v2/word_handles/__tests__/word_handles.test.d.ts +2 -0
  146. package/dist/src/v2/word_handles/__tests__/word_handles.test.d.ts.map +1 -0
  147. package/dist/src/v2/word_handles/__tests__/word_handles.test.js +312 -0
  148. package/dist/src/v2/word_handles/__tests__/word_handles.test.js.map +1 -0
  149. package/dist/src/v2/word_handles/codec.d.ts +54 -0
  150. package/dist/src/v2/word_handles/codec.d.ts.map +1 -0
  151. package/dist/src/v2/word_handles/codec.js +334 -0
  152. package/dist/src/v2/word_handles/codec.js.map +1 -0
  153. package/dist/src/v2/word_handles/index.d.ts +4 -0
  154. package/dist/src/v2/word_handles/index.d.ts.map +1 -0
  155. package/dist/src/v2/word_handles/index.js +13 -0
  156. package/dist/src/v2/word_handles/index.js.map +1 -0
  157. package/dist/src/v2/word_handles/lexicon.d.ts +7 -0
  158. package/dist/src/v2/word_handles/lexicon.d.ts.map +1 -0
  159. package/dist/src/v2/word_handles/lexicon.js +276 -0
  160. package/dist/src/v2/word_handles/lexicon.js.map +1 -0
  161. package/dist/src/v2/word_handles/types.d.ts +58 -0
  162. package/dist/src/v2/word_handles/types.d.ts.map +1 -0
  163. package/dist/src/v2/word_handles/types.js +13 -0
  164. package/dist/src/v2/word_handles/types.js.map +1 -0
  165. package/dist/src/verification/verify.d.ts.map +1 -1
  166. package/dist/src/verification/verify.js +6 -1
  167. package/dist/src/verification/verify.js.map +1 -1
  168. package/package.json +11 -12
@@ -0,0 +1,276 @@
1
+ // Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
2
+ // ==================================================================
3
+ // Word handles: aps-handle-en-v1 lexicon (2048 words), generated data file
4
+ // ==================================================================
5
+ // Contains words derived from the EFF Long Wordlist (https://www.eff.org/dice), Copyright Electronic Frontier Foundation, licensed CC-BY 3.0.
6
+ // Generated by lexicon-source/generate_lexicon.py; the pipeline, inputs,
7
+ // and constraints (disjoint from BIP39 English, unique 4-letter prefixes,
8
+ // glyph-confusability and near-homoglyph filtering, lowercase ascii 4-8)
9
+ // are documented there. Do not edit this file by hand; regenerate instead.
10
+ // The lexicon is versioned and swappable: records pin lexicon_id.
11
+ export const LEXICON_NAME = 'aps-handle-en-v1';
12
+ /** sha256 of the canonical word list text (one word per line, trailing newline). */
13
+ export const LEXICON_ID = 'sha256:2a9c4de3b5457154e6bde9d40af0da552c2556d8e80a2dec8b82dee4bca74510';
14
+ export const WORDS = [
15
+ 'abacus', 'abdomen', 'abiding', 'ablaze', 'abnormal', 'abrasion', 'abreast', 'abroad',
16
+ 'absence', 'absinthe', 'abstain', 'accent', 'acclaim', 'acetone', 'aching', 'acquaint',
17
+ 'acre', 'acrobat', 'acts', 'acutely', 'aeration', 'afar', 'affected', 'affix',
18
+ 'affluent', 'affront', 'aflame', 'afloat', 'aflutter', 'afoot', 'aged', 'ageless',
19
+ 'agency', 'aghast', 'agile', 'agnostic', 'agony', 'ahoy', 'aide', 'alfalfa',
20
+ 'algebra', 'alias', 'alibi', 'aliens', 'alkaline', 'almanac', 'almighty', 'aloe',
21
+ 'aloft', 'aloof', 'alphabet', 'alright', 'although', 'altitude', 'alumni', 'amaretto',
22
+ 'ambush', 'amends', 'amid', 'amigo', 'amnesty', 'amulet', 'amuser', 'anaconda',
23
+ 'anagram', 'anatomy', 'anchovy', 'anemia', 'angelic', 'angled', 'angrily', 'angular',
24
+ 'anime', 'annex', 'annotate', 'annuity', 'anointer', 'antacid', 'anteater', 'anthem',
25
+ 'antics', 'antonym', 'antsy', 'anyhow', 'anymore', 'anyone', 'anyplace', 'anyway',
26
+ 'aorta', 'apostle', 'apply', 'approach', 'apricot', 'apron', 'aqua', 'aqueduct',
27
+ 'ardently', 'arguable', 'armchair', 'armful', 'armhole', 'armless', 'arose', 'arousal',
28
+ 'array', 'arrival', 'arrogant', 'arson', 'ascend', 'ashamed', 'ashen', 'askew',
29
+ 'asleep', 'aspire', 'astound', 'astute', 'atonable', 'atop', 'atrium', 'atrophy',
30
+ 'attest', 'attic', 'atypical', 'audio', 'autism', 'avatar', 'avenge', 'avert',
31
+ 'aviator', 'await', 'awaken', 'award', 'awhile', 'awoke', 'awry', 'babble',
32
+ 'baboon', 'backer', 'bacteria', 'badass', 'badly', 'badness', 'baffle', 'bagel',
33
+ 'bagful', 'baggy', 'bagpipe', 'baked', 'baking', 'balmy', 'banish', 'banjo',
34
+ 'bankable', 'banshee', 'banter', 'barbed', 'barcode', 'barge', 'barista', 'barley',
35
+ 'barn', 'barrack', 'barstool', 'barterer', 'bash', 'basil', 'batch', 'baton',
36
+ 'battery', 'bazooka', 'blabber', 'bladder', 'blah', 'blaming', 'blank', 'blatancy',
37
+ 'bleach', 'bleep', 'blemish', 'blend', 'blighted', 'bling', 'blissful', 'blitz',
38
+ 'blizzard', 'bloated', 'blooper', 'bluff', 'bluish', 'blurb', 'blustery', 'boaster',
39
+ 'bobbed', 'bobcat', 'bobsled', 'boggle', 'bogus', 'bolt', 'bonanza', 'bonding',
40
+ 'bonfire', 'bonnet', 'bony', 'borax', 'borough', 'borrower', 'botany', 'both',
41
+ 'bottle', 'bovine', 'boxcar', 'boxing', 'breath', 'breezy', 'brethren', 'brewery',
42
+ 'briar', 'bribe', 'bridged', 'brigade', 'brim', 'brink', 'broaden', 'broiler',
43
+ 'broker', 'bronco', 'brook', 'browse', 'bruising', 'brunette', 'brussels', 'bubbly',
44
+ 'bucked', 'buffed', 'bulge', 'bully', 'bunkbed', 'bunt', 'busily', 'cabana',
45
+ 'cabbie', 'cache', 'cackle', 'cacti', 'caddy', 'cadet', 'cadillac', 'cadmium',
46
+ 'cahoots', 'calcium', 'caliber', 'caloric', 'cameo', 'camper', 'candle', 'cane',
47
+ 'canine', 'canteen', 'capably', 'capitol', 'capped', 'capsize', 'caption', 'carat',
48
+ 'caress', 'caring', 'carrot', 'cartel', 'carve', 'carwash', 'cascade', 'casket',
49
+ 'catacomb', 'catfish', 'catlike', 'catnap', 'catwalk', 'caucus', 'causal', 'cavalry',
50
+ 'caviar', 'cedar', 'ceramics', 'chain', 'chamber', 'chaste', 'cheating', 'cheddar',
51
+ 'chemo', 'cherub', 'chess', 'chevy', 'chili', 'chip', 'chitchat', 'chive',
52
+ 'chloride', 'chomp', 'chosen', 'chowder', 'chubby', 'chuck', 'chug', 'chute',
53
+ 'cider', 'cinch', 'circus', 'citable', 'civic', 'clad', 'clamp', 'clang',
54
+ 'clapper', 'clarinet', 'clash', 'clear', 'cleft', 'clerical', 'clicker', 'clique',
55
+ 'clone', 'closure', 'clubbing', 'clumsy', 'clunky', 'coastal', 'coauthor', 'cobalt',
56
+ 'cobbler', 'cobweb', 'cocoa', 'coeditor', 'coerce', 'cogwheel', 'coherent', 'coke',
57
+ 'cola', 'coleslaw', 'coliseum', 'collar', 'colony', 'comfy', 'coming', 'compel',
58
+ 'condone', 'confess', 'conical', 'convene', 'copied', 'cork', 'corny', 'corral',
59
+ 'cortex', 'cosigner', 'cosmic', 'cough', 'could', 'county', 'courier', 'coveted',
60
+ 'crabbing', 'cradling', 'crank', 'crate', 'crawfish', 'crayon', 'crazed', 'crease',
61
+ 'creed', 'creme', 'creole', 'crept', 'crested', 'crevice', 'crib', 'crimp',
62
+ 'cringe', 'crock', 'croon', 'crouton', 'crowbar', 'crudely', 'cruelly', 'crumb',
63
+ 'crunchy', 'crushed', 'crux', 'crying', 'cryptic', 'cubical', 'cuddle', 'cufflink',
64
+ 'culinary', 'culprit', 'cultural', 'cupcake', 'cupid', 'curable', 'cure', 'curfew',
65
+ 'curly', 'cursor', 'curtsy', 'cushy', 'cusp', 'cussed', 'custard', 'cylinder',
66
+ 'cymbal', 'daffodil', 'dagger', 'dainty', 'dallying', 'dancing', 'dandy', 'dangle',
67
+ 'dares', 'daringly', 'dart', 'data', 'dating', 'daunting', 'dawdler', 'daybed',
68
+ 'daydream', 'daylong', 'dayroom', 'daytime', 'dazzler', 'dealt', 'dean', 'debating',
69
+ 'debit', 'debrief', 'debtor', 'debug', 'decaf', 'deceit', 'decibel', 'deck',
70
+ 'declared', 'decoy', 'decree', 'dedicate', 'deduct', 'deed', 'deepen', 'defeat',
71
+ 'defile', 'deflate', 'defraud', 'deftly', 'defuse', 'degraded', 'dejected', 'delete',
72
+ 'delouse', 'delta', 'deluge', 'demeanor', 'democrat', 'denim', 'denote', 'dense',
73
+ 'dental', 'departed', 'depict', 'deploy', 'deport', 'depress', 'deputize', 'derail',
74
+ 'derby', 'derived', 'deserve', 'designed', 'destiny', 'detest', 'detonate', 'detract',
75
+ 'devalue', 'devotee', 'diabetes', 'diameter', 'diaper', 'diffused', 'dilation', 'diligent',
76
+ 'dilute', 'diminish', 'dimly', 'dimmed', 'dimness', 'diner', 'dining', 'diocese',
77
+ 'diploma', 'directed', 'disarm', 'disband', 'disdain', 'disjoin', 'disk', 'disown',
78
+ 'dispose', 'disrupt', 'dissuade', 'distant', 'ditto', 'ditzy', 'divided', 'divorcee',
79
+ 'doable', 'docile', 'doctrine', 'dodge', 'doing', 'dollop', 'domelike', 'dominion',
80
+ 'donut', 'doorman', 'dorsal', 'dosage', 'dotted', 'douche', 'dowry', 'drab',
81
+ 'dragging', 'dramatic', 'drapery', 'drench', 'drew', 'dried', 'driller', 'drinking',
82
+ 'driven', 'drizzle', 'drone', 'dropbox', 'drowsily', 'drudge', 'dubbed', 'duchess',
83
+ 'ducky', 'duct', 'dude', 'dugout', 'duller', 'dumping', 'duplex', 'durably',
84
+ 'duress', 'dutiful', 'duvet', 'dweeb', 'dwelled', 'dwindle', 'dynasty', 'dyslexia',
85
+ 'earlobe', 'earmark', 'earphone', 'earring', 'earshot', 'earthy', 'easel', 'easing',
86
+ 'eatable', 'eaten', 'ebay', 'ebook', 'ecard', 'edging', 'educated', 'effects',
87
+ 'eggnog', 'eggplant', 'eggshell', 'egotism', 'eject', 'elastic', 'elated', 'eldest',
88
+ 'election', 'eleven', 'eligible', 'elitism', 'elixir', 'elliptic', 'elope', 'eloquent',
89
+ 'elusive', 'elves', 'email', 'embargo', 'embezzle', 'emblem', 'emcee', 'emerald',
90
+ 'emission', 'emit', 'emote', 'emperor', 'employed', 'emporium', 'emptier', 'enamel',
91
+ 'enclose', 'encrust', 'endanger', 'endnote', 'energize', 'enforced', 'engaged', 'engorge',
92
+ 'engross', 'engulf', 'enjoyer', 'enlarged', 'enlisted', 'enquirer', 'enrage', 'entail',
93
+ 'entering', 'entity', 'entomb', 'envious', 'envy', 'enzyme', 'epic', 'epidemic',
94
+ 'epilepsy', 'epiphany', 'equate', 'equity', 'erased', 'errand', 'escalate', 'eskimo',
95
+ 'espresso', 'esteemed', 'estimate', 'estrogen', 'etching', 'eternity', 'ethanol', 'ether',
96
+ 'evacuee', 'even', 'everyday', 'evident', 'exalted', 'excavate', 'exciting', 'exclaim',
97
+ 'exert', 'exes', 'exhale', 'exhume', 'existing', 'exodus', 'expel', 'explode',
98
+ 'exponent', 'extent', 'extinct', 'extras', 'fabulous', 'faceted', 'facial', 'factor',
99
+ 'falsify', 'famine', 'fanatic', 'fancied', 'fanfare', 'fang', 'fascism', 'fasting',
100
+ 'faucet', 'favored', 'feast', 'fedora', 'feeble', 'fencing', 'fender', 'fernlike',
101
+ 'ferocity', 'ferry', 'fervor', 'fester', 'fetal', 'fiddle', 'fidelity', 'fidgety',
102
+ 'fifth', 'figment', 'filing', 'filled', 'finale', 'fineness', 'finite', 'fiscally',
103
+ 'five', 'flagman', 'flaky', 'flap', 'flaring', 'flask', 'flatly', 'flaxseed',
104
+ 'fled', 'fleshed', 'flier', 'flint', 'flogging', 'floral', 'flyable', 'flyover',
105
+ 'flypaper', 'follicle', 'fondly', 'font', 'fool', 'founder', 'foyer', 'fracture',
106
+ 'framing', 'frantic', 'frays', 'freckled', 'freely', 'freight', 'frenzy', 'fretful',
107
+ 'friction', 'friday', 'frill', 'frisk', 'fructose', 'frugally', 'gaffe', 'galley',
108
+ 'galore', 'gambling', 'gangly', 'gargle', 'garland', 'garnet', 'gatherer', 'gauging',
109
+ 'gauze', 'gawk', 'gecko', 'geek', 'geiger', 'generic', 'gents', 'geology',
110
+ 'geometry', 'gerbil', 'germless', 'gestate', 'getaway', 'getting', 'getup', 'giddy',
111
+ 'gigabyte', 'giggly', 'gigolo', 'gimmick', 'girdle', 'given', 'giving', 'gizzard',
112
+ 'glamour', 'glancing', 'glazing', 'gleaming', 'gleeful', 'glider', 'glisten', 'glitch',
113
+ 'gloater', 'gloomy', 'glucose', 'gluten', 'gnarly', 'gnat', 'goal', 'goatskin',
114
+ 'goes', 'goggles', 'goldfish', 'goliath', 'gonad', 'gondola', 'gone', 'goofball',
115
+ 'google', 'gorged', 'gory', 'gosling', 'gothic', 'gout', 'graceful', 'graded',
116
+ 'granny', 'graph', 'grasp', 'gratify', 'gravel', 'gray', 'greasily', 'grieving',
117
+ 'grime', 'grinch', 'groom', 'grope', 'ground', 'growl', 'grub', 'grudging',
118
+ 'grueling', 'gruffly', 'grumble', 'gullible', 'gulp', 'gumball', 'gumdrop', 'guru',
119
+ 'gush', 'gusto', 'gutless', 'guts', 'gutter', 'gyration', 'hacked', 'haggler',
120
+ 'halt', 'hammock', 'handed', 'hanky', 'happier', 'hardy', 'harmony', 'harness',
121
+ 'harpist', 'hasty', 'hatbox', 'hatchet', 'hate', 'hatless', 'hatred', 'haunt',
122
+ 'haven', 'hazily', 'hazy', 'heap', 'heave', 'hedge', 'hefty', 'helium',
123
+ 'helper', 'hemlock', 'hence', 'henna', 'herald', 'herbs', 'heritage', 'hermit',
124
+ 'heroics', 'herring', 'herself', 'hertz', 'hesitant', 'hexagon', 'hubcap', 'huddling',
125
+ 'huff', 'hula', 'humbly', 'humid', 'hummus', 'humorist', 'humped', 'humvee',
126
+ 'hunger', 'hunk', 'hunting', 'hurler', 'hurray', 'husked', 'hydrant', 'hyphen',
127
+ 'hypnoses', 'icky', 'ideally', 'identity', 'ideology', 'idiom', 'idly', 'igloo',
128
+ 'ignition', 'iguana', 'imaging', 'immature', 'immerse', 'immobile', 'immunity', 'impale',
129
+ 'impeach', 'impish', 'imply', 'impound', 'iodine', 'ipad', 'iphone', 'irrigate',
130
+ 'isolated', 'isotope', 'issuing', 'italics', 'itunes', 'jackal', 'jailer', 'jalapeno',
131
+ 'janitor', 'january', 'jargon', 'jaundice', 'java', 'jawed', 'jaws', 'jaybird',
132
+ 'jersey', 'jiffy', 'jigsaw', 'jingle', 'jinx', 'jitters', 'john', 'joining',
133
+ 'jokester', 'jokingly', 'joyride', 'jubilant', 'judicial', 'judo', 'juggle', 'juicy',
134
+ 'jujitsu', 'jumbo', 'junction', 'june', 'juniper', 'junkie', 'jurist', 'jury',
135
+ 'justly', 'juvenile', 'kabob', 'karate', 'karma', 'kebab', 'keenly', 'kelp',
136
+ 'kerchief', 'kerosene', 'kiln', 'kilobyte', 'kimono', 'kindle', 'kinfolk', 'king',
137
+ 'kinship', 'kisser', 'kleenex', 'knapsack', 'knickers', 'knoll', 'koala', 'kooky',
138
+ 'kosher', 'krypton', 'kudos', 'labored', 'ladies', 'ladle', 'ladybug', 'lagoon',
139
+ 'lair', 'lance', 'landing', 'lantern', 'lapel', 'lapping', 'lard', 'last',
140
+ 'latrine', 'launch', 'laurel', 'lavender', 'laxative', 'legacy', 'legible', 'legroom',
141
+ 'legume', 'legwork', 'leotard', 'lesser', 'lethargy', 'lettuce', 'levers', 'liable',
142
+ 'licorice', 'liking', 'lily', 'limes', 'limping', 'line', 'linguini', 'linked',
143
+ 'linoleum', 'linseed', 'liquefy', 'lisp', 'litmus', 'lived', 'lividly', 'luckily',
144
+ 'lukewarm', 'lullaby', 'lumpish', 'lunacy', 'lurch', 'lurk', 'lusty', 'lying',
145
+ 'lyricism', 'macaw', 'magazine', 'magenta', 'maggot', 'magnify', 'maimed', 'majesty',
146
+ 'maker', 'mama', 'manger', 'manhole', 'manila', 'mankind', 'manlike', 'manmade',
147
+ 'manor', 'mantis', 'marathon', 'marbled', 'mardi', 'marina', 'marlin', 'marshy',
148
+ 'marxism', 'mascot', 'mashed', 'masses', 'matador', 'matchbox', 'maternal', 'matron',
149
+ 'matted', 'mauve', 'maverick', 'maximize', 'maybe', 'moaner', 'mobility', 'mobster',
150
+ 'mocha', 'modified', 'module', 'moisten', 'molecule', 'mollusk', 'monetary', 'mongrel',
151
+ 'monkhood', 'monogamy', 'monthly', 'monument', 'moocher', 'moody', 'mooned', 'morale',
152
+ 'morphine', 'morse', 'mortify', 'mossy', 'most', 'mothball', 'motive', 'motto',
153
+ 'mouth', 'movable', 'mower', 'muck', 'mulberry', 'mulch', 'mulled', 'multiple',
154
+ 'mummify', 'mumps', 'munchkin', 'mundane', 'muppet', 'mural', 'murky', 'muscular',
155
+ 'musket', 'mustang', 'mutate', 'mute', 'mutiny', 'myspace', 'mystify', 'nacho',
156
+ 'nail', 'nape', 'nappy', 'native', 'natural', 'nearby', 'neatly', 'nebula',
157
+ 'nectar', 'negate', 'negligee', 'nemeses', 'neon', 'nerd', 'neuron', 'neuter',
158
+ 'nibble', 'nickname', 'nicotine', 'niece', 'nifty', 'nimbly', 'nineteen', 'ninth',
159
+ 'nuclei', 'nullify', 'numbing', 'numeral', 'nuptials', 'nursery', 'nurture', 'nutcase',
160
+ 'nutlike', 'nutrient', 'nutshell', 'nutty', 'nylon', 'obedient', 'obliged', 'oblong',
161
+ 'oboe', 'observer', 'obsolete', 'obstacle', 'obtuse', 'occupy', 'octopus', 'ogle',
162
+ 'oink', 'olympics', 'omega', 'omen', 'ominous', 'omnivore', 'onboard', 'ongoing',
163
+ 'onlooker', 'onscreen', 'onset', 'onshore', 'onstage', 'onto', 'onward', 'onyx',
164
+ 'oops', 'opal', 'opium', 'osmosis', 'otter', 'ouch', 'ought', 'outage',
165
+ 'outbid', 'outcast', 'outdated', 'outfit', 'outgrow', 'outhouse', 'outing', 'outlet',
166
+ 'outmatch', 'outpost', 'outrank', 'outsell', 'outtakes', 'outward', 'overact', 'oxford',
167
+ 'oxidant', 'paced', 'pacify', 'padded', 'padlock', 'pager', 'pajamas', 'pampers',
168
+ 'panama', 'pandemic', 'pants', 'papaya', 'paprika', 'papyrus', 'paradox', 'parcel',
169
+ 'pardon', 'parish', 'parka', 'parole', 'parted', 'passage', 'patio', 'patriot',
170
+ 'pauper', 'pavement', 'paving', 'payback', 'paycheck', 'pebble', 'pecan', 'pectin',
171
+ 'peculiar', 'peddling', 'pellet', 'penalize', 'pendant', 'penknife', 'penny', 'penpal',
172
+ 'pension', 'pentagon', 'perch', 'perfume', 'perjury', 'perky', 'perm', 'peroxide',
173
+ 'peso', 'petite', 'petty', 'petunia', 'phantom', 'phobia', 'phoenix', 'phrasing',
174
+ 'placard', 'plant', 'plating', 'player', 'plaza', 'pleat', 'plenty', 'plethora',
175
+ 'plod', 'plunder', 'plural', 'plus', 'plywood', 'poach', 'pogo', 'pointy',
176
+ 'poise', 'polio', 'poncho', 'popcorn', 'pope', 'poplar', 'poppy', 'popsicle',
177
+ 'populace', 'porous', 'porridge', 'posh', 'possum', 'posted', 'pouring', 'powdery',
178
+ 'powwow', 'praising', 'prance', 'praying', 'preachy', 'precut', 'prefix', 'premium',
179
+ 'prepay', 'press', 'preteen', 'prevail', 'prewar', 'prideful', 'primal', 'prior',
180
+ 'prism', 'privacy', 'probing', 'proclaim', 'prodigy', 'profane', 'progeny', 'prologue',
181
+ 'prong', 'proofs', 'props', 'prorate', 'proton', 'prude', 'pruning', 'psychic',
182
+ 'pucker', 'pulsate', 'puma', 'pumice', 'pummel', 'pungent', 'punisher', 'purely',
183
+ 'purge', 'purify', 'pursuit', 'purveyor', 'pusher', 'putdown', 'puzzling', 'python',
184
+ 'quadrant', 'quake', 'qualm', 'quench', 'query', 'quicken', 'quiet', 'quill',
185
+ 'quintet', 'quirk', 'quiver', 'rabid', 'racoon', 'raft', 'ragweed', 'raider',
186
+ 'railcar', 'raisin', 'ramble', 'ranged', 'ransack', 'rascal', 'rasping', 'ravage',
187
+ 'ravine', 'reaffirm', 'reapply', 'rearview', 'reattach', 'reawake', 'rebirth', 'recant',
188
+ 'recite', 'reckless', 'recoil', 'recycled', 'reenact', 'referee', 'reflex', 'refund',
189
+ 'regain', 'regime', 'regress', 'regulate', 'rehab', 'reheat', 'rehire', 'reissue',
190
+ 'rejoin', 'rekindle', 'relay', 'relearn', 'reload', 'remedy', 'remix', 'remnant',
191
+ 'remorse', 'rename', 'renderer', 'renewal', 'rented', 'reoccur', 'reorder', 'repave',
192
+ 'repeal', 'rephrase', 'reply', 'reprise', 'reps', 'reptile', 'request', 'reroute',
193
+ 'rerun', 'resale', 'rescuer', 'resort', 'respect', 'resume', 'retail', 'rethink',
194
+ 'retinal', 'retool', 'retry', 'retype', 'reunite', 'reuse', 'revise', 'rewash',
195
+ 'rewind', 'reword', 'rhyme', 'ribcage', 'rickety', 'ricotta', 'riding', 'rifling',
196
+ 'rigging', 'rimless', 'rind', 'rinsing', 'ripcord', 'ripeness', 'riptide', 'rise',
197
+ 'risotto', 'ritalin', 'riveter', 'roamer', 'robe', 'robin', 'robotics', 'rogue',
198
+ 'romp', 'roping', 'roster', 'rosy', 'rotting', 'roulette', 'roundup', 'rover',
199
+ 'rubdown', 'ruckus', 'ruined', 'runner', 'rupture', 'rust', 'sabbath', 'sacred',
200
+ 'sadden', 'safely', 'saffron', 'saga', 'saint', 'saloon', 'salsa', 'salutary',
201
+ 'salvage', 'sanction', 'sandal', 'sanitary', 'sapling', 'sarcasm', 'sardine', 'sassy',
202
+ 'satchel', 'satin', 'saturate', 'savanna', 'savings', 'savor', 'scabby', 'scalded',
203
+ 'scam', 'scarf', 'scenic', 'schedule', 'scholar', 'scion', 'scolding', 'scone',
204
+ 'scoop', 'scorch', 'scowling', 'scratch', 'scribe', 'scroll', 'scruffy', 'scuba',
205
+ 'sculptor', 'scurvy', 'scuttle', 'secrecy', 'sector', 'secular', 'sedan', 'sediment',
206
+ 'seduce', 'seismic', 'seldom', 'selected', 'self', 'seltzer', 'semantic', 'semester',
207
+ 'semisoft', 'senator', 'send', 'senorita', 'sensuous', 'sepia', 'septic', 'sequel',
208
+ 'sermon', 'serpent', 'serve', 'sesame', 'sessions', 'setback', 'settling', 'shack',
209
+ 'shady', 'shakable', 'shale', 'shampoo', 'shanty', 'sharper', 'shawl', 'sheath',
210
+ 'sheep', 'shelve', 'sherry', 'shimmy', 'shirt', 'shopper', 'shore', 'shout',
211
+ 'shown', 'shrank', 'shredder', 'shriek', 'shrouded', 'shrubs', 'shucking', 'shudder',
212
+ 'shun', 'shush', 'siamese', 'siberian', 'siesta', 'silenced', 'silica', 'silo',
213
+ 'simile', 'simplify', 'sinister', 'sitcom', 'sitter', 'sixfold', 'sixth', 'sizable',
214
+ 'sizzle', 'skater', 'skewed', 'skied', 'skiing', 'skilled', 'skimmed', 'skinny',
215
+ 'skype', 'skyward', 'slacks', 'slain', 'slander', 'slashed', 'slate', 'slaw',
216
+ 'sleek', 'slept', 'sliced', 'slimy', 'slinky', 'sliver', 'slobbery', 'sloped',
217
+ 'slouchy', 'sludge', 'slug', 'slurp', 'smasher', 'smirk', 'smite', 'smock',
218
+ 'smog', 'smoky', 'smother', 'smudgy', 'snagged', 'snaking', 'snare', 'sneak',
219
+ 'sneer', 'snitch', 'snort', 'snowy', 'snuff', 'snuggle', 'spearman', 'spent',
220
+ 'spew', 'sphinx', 'spill', 'spirits', 'splashy', 'spleen', 'splotchy', 'splurge',
221
+ 'spoils', 'spoken', 'spoof', 'sporty', 'spotted', 'spouse', 'sprain', 'spree',
222
+ 'sprig', 'sprout', 'spruce', 'spry', 'spud', 'sputter', 'spyglass', 'squad',
223
+ 'squeak', 'squint', 'staging', 'stained', 'stalling', 'stamina', 'staple', 'stark',
224
+ 'stash', 'static', 'staunch', 'steam', 'steed', 'stench', 'sterile', 'stilt',
225
+ 'stimuli', 'stipend', 'stir', 'stoke', 'stomp', 'stood', 'stopped', 'storm',
226
+ 'straw', 'strep', 'strict', 'strobe', 'stubbed', 'stuck', 'study', 'stuffy',
227
+ 'stung', 'subfloor', 'subgroup', 'sublet', 'suburb', 'subzero', 'sudoku', 'suds',
228
+ 'suffix', 'suing', 'sulfur', 'sulk', 'sullen', 'sulphate', 'sultry', 'superior',
229
+ 'supper', 'surfer', 'surname', 'surreal', 'sushi', 'swab', 'swagger', 'swapping',
230
+ 'swiftly', 'swimsuit', 'swirl', 'swivel', 'swoosh', 'sycamore', 'synapse', 'syndrome',
231
+ 'synergy', 'synopses', 'tabasco', 'tabby', 'taco', 'tactful', 'tadpole', 'tainted',
232
+ 'talcum', 'talisman', 'tall', 'talon', 'tamale', 'tamer', 'tantrum', 'tapioca',
233
+ 'taps', 'tarmac', 'tarot', 'tassel', 'tattle', 'thaw', 'theater', 'theft',
234
+ 'theology', 'thermal', 'thesis', 'thicken', 'thieving', 'thimble', 'think', 'thirty',
235
+ 'thong', 'thorn', 'those', 'thread', 'thrift', 'throat', 'thud', 'thumping',
236
+ 'thursday', 'thyself', 'tiara', 'tibia', 'tidal', 'tidbit', 'tidings', 'tidy',
237
+ 'tighten', 'tigress', 'timid', 'tinfoil', 'tingly', 'tinker', 'tinsel', 'tint',
238
+ 'tinwork', 'tipoff', 'tipper', 'tiptop', 'tragedy', 'tranquil', 'trapeze', 'traverse',
239
+ 'treason', 'treble', 'trekker', 'tremor', 'trespass', 'tribune', 'tricky', 'trident',
240
+ 'trifle', 'trilogy', 'trimmer', 'trio', 'trivial', 'trolling', 'trombone', 'tropics',
241
+ 'trout', 'trowel', 'truffle', 'trump', 'trunks', 'trustee', 'tubeless', 'tubular',
242
+ 'tuesday', 'tulip', 'turf', 'turmoil', 'turret', 'tutor', 'tutu', 'tweak',
243
+ 'tweed', 'twiddle', 'twig', 'twilight', 'twine', 'twisty', 'tycoon', 'tyke',
244
+ 'udder', 'ultimate', 'unafraid', 'unawake', 'unbend', 'unbiased', 'unblock', 'unboxed',
245
+ 'uncanny', 'unclad', 'uncross', 'uncut', 'undead', 'undress', 'unease', 'unedited',
246
+ 'unending', 'unequal', 'uneven', 'unflawed', 'unframed', 'unfunded', 'unglue', 'ungodly',
247
+ 'unguided', 'unharmed', 'unheard', 'unhinge', 'unholy', 'unify', 'union', 'uniquely',
248
+ 'unissued', 'unjustly', 'unkempt', 'unlaced', 'unless', 'unlit', 'unloved', 'unlucky',
249
+ 'unmade', 'unmixed', 'unnamed', 'unnerve', 'unpack', 'unpeeled', 'unpicked', 'unplug',
250
+ 'unquote', 'unranked', 'unreal', 'unripe', 'unroll', 'unruly', 'unscrew', 'unseen',
251
+ 'unshaken', 'unsigned', 'unsliced', 'unsmooth', 'unsnap', 'unsold', 'unspoken', 'unstuck',
252
+ 'unsure', 'untaken', 'unthawed', 'untie', 'untrue', 'untwist', 'untying', 'unused',
253
+ 'unveiled', 'unvocal', 'unwary', 'unwed', 'unwieldy', 'unworn', 'upbeat', 'upchuck',
254
+ 'upcoming', 'upfront', 'upheld', 'uphill', 'uplifted', 'upload', 'upright', 'uproar',
255
+ 'upscale', 'upstage', 'upswing', 'uptake', 'uptown', 'upturned', 'upward', 'upwind',
256
+ 'urethane', 'urgent', 'urging', 'urology', 'usable', 'utilize', 'utmost', 'vacate',
257
+ 'vagabond', 'valium', 'value', 'vanity', 'vantage', 'varmint', 'varsity', 'varying',
258
+ 'vascular', 'vaseline', 'vastly', 'vegan', 'velocity', 'vendetta', 'vengeful', 'venomous',
259
+ 'venus', 'verbose', 'verdict', 'verse', 'vertigo', 'vest', 'veto', 'vexingly',
260
+ 'vibes', 'vice', 'vicinity', 'viewer', 'vigorous', 'villain', 'violet', 'viper',
261
+ 'viral', 'virtuous', 'viscous', 'viselike', 'vision', 'visor', 'vitally', 'vixen',
262
+ 'vocally', 'voicing', 'volatile', 'volley', 'voltage', 'volumes', 'voting', 'voucher',
263
+ 'vowed', 'wafer', 'wages', 'waggle', 'walmart', 'walrus', 'waltz', 'wand',
264
+ 'wasabi', 'washer', 'waviness', 'whacky', 'wham', 'wharf', 'whenever', 'whinny',
265
+ 'whisking', 'whoever', 'whoops', 'wick', 'widen', 'widget', 'wifi', 'wilder',
266
+ 'wilt', 'wimp', 'wince', 'winnings', 'wipe', 'wiring', 'wiry', 'wispy',
267
+ 'wistful', 'wizard', 'womanly', 'womb', 'woof', 'worst', 'woven', 'wrangle',
268
+ 'wrath', 'wrecker', 'wriggle', 'wronged', 'xbox', 'xerox', 'yahoo', 'yanking',
269
+ 'yeah', 'yearly', 'yelling', 'yield', 'yippee', 'yoga', 'yogurt', 'yoyo',
270
+ 'zealous', 'zeppelin', 'zipfile', 'zippy', 'zips', 'zoning', 'zoology', 'zoom',
271
+ ];
272
+ /** Canonical text form of the lexicon; sha256 of this string equals LEXICON_ID. */
273
+ export function canonicalWordlistText() {
274
+ return WORDS.join('\n') + '\n';
275
+ }
276
+ //# sourceMappingURL=lexicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexicon.js","sourceRoot":"","sources":["../../../../src/v2/word_handles/lexicon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /** Names of the built-in word handle profiles. */
2
+ export type WordHandleProfileName = 'compact' | 'default' | 'high_assurance';
3
+ /**
4
+ * A word handle profile: a fixed (data words, checksum words) shape.
5
+ *
6
+ * - compact: 4 data + 1 checksum (44 bits). Set-scoped display
7
+ * only; render-time uniqueness plus lengthening is mandatory
8
+ * (minUniquePrefixBits is the tool).
9
+ * - default: 6 data + 1 checksum (66 bits). Minimum for any
10
+ * cross-set reference.
11
+ * - high_assurance: 8 data + 2 checksum (88 bits). Archival and
12
+ * adversarial contexts.
13
+ */
14
+ export interface WordHandleProfile {
15
+ readonly name: WordHandleProfileName;
16
+ readonly dataWords: number;
17
+ readonly checksumWords: 1 | 2;
18
+ readonly prefixBits: number;
19
+ }
20
+ /**
21
+ * Result of decoding a word handle back into a digest prefix.
22
+ *
23
+ * Field semantics:
24
+ * - `outOfLexicon`: 0-based indices of input words that are not
25
+ * exactly equal (code-unit equality, no trim, no unicode
26
+ * normalization) to a lexicon word. When non-empty, no decoding is
27
+ * attempted: `prefixHex` and `prefixBits` are null, `checksumOk`
28
+ * is false, and `failedWordIndex` is null.
29
+ * - `prefixHex`: lowercase hex of the packed prefix, exactly
30
+ * 2*ceil(prefixBits/8) characters. Trailing pad bits (bit
31
+ * positions >= prefixBits) are zero. Consumers must compare
32
+ * BIT-scoped using `prefixBits`, never by raw string beyond
33
+ * prefixBits. Null when `outOfLexicon` is non-empty.
34
+ * - `prefixBits`: 11 times the data word count (word count minus
35
+ * checksumWords). Null when `outOfLexicon` is non-empty.
36
+ * - `checksumOk`: whether ALL given checksum words equal the
37
+ * recomputed checksum words for the recovered prefix.
38
+ * - `failedWordIndex`: best-effort localization of a single bad
39
+ * word, populated only when `checksumOk` is false and
40
+ * `outOfLexicon` is empty. A data position is "fixable" if some
41
+ * other lexicon word at that position validates ALL checksum
42
+ * words. Exactly one fixable position: that index. No fixable
43
+ * position: if exactly one given checksum word differs from the
44
+ * recomputed one, that absolute index; otherwise null. More than
45
+ * one fixable position: null (ambiguous). With one checksum word,
46
+ * a wrong position is coincidentally fixable with probability
47
+ * about 0.63, so 44-bit localization is frequently ambiguous;
48
+ * detection itself misses only with probability 2^-11 (2^-22 with
49
+ * two checksum words). See the module README for the math.
50
+ */
51
+ export interface DecodeResult {
52
+ readonly prefixHex: string | null;
53
+ readonly prefixBits: number | null;
54
+ readonly checksumOk: boolean;
55
+ readonly failedWordIndex: number | null;
56
+ readonly outOfLexicon: readonly number[];
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/v2/word_handles/types.ts"],"names":[],"mappings":"AAYA,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC"}
@@ -0,0 +1,13 @@
1
+ // Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
2
+ // ══════════════════════════════════════════════════════════════════
3
+ // word_handles codec (v2): TypeScript types
4
+ // ══════════════════════════════════════════════════════════════════
5
+ // A word_digest_handle renders the leading prefixBits bits of a digest
6
+ // as words from a versioned 2048-word lexicon (11 bits per word)
7
+ // followed by one or two checksum words. Handles are a transcription
8
+ // aid, not a cryptographic proof: they carry only prefixBits of the
9
+ // underlying digest and must be resolved against a full digest or a
10
+ // collision-checked set.
11
+ // ══════════════════════════════════════════════════════════════════
12
+ export {};
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v2/word_handles/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,4CAA4C;AAC5C,qEAAqE;AACrE,uEAAuE;AACvE,iEAAiE;AACjE,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,yBAAyB;AACzB,qEAAqE"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/verification/verify.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAIhE;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE;IACL,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;;0EAIsE;IACtE,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B,GACA,kBAAkB,CA4FpB;AAED,wBAAgB,eAAe,CAAC,gBAAgB,SAAM,GAAG,SAAS,CAOjE;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAKT"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/verification/verify.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAIhE;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE;IACL,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;;0EAIsE;IACtE,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B,GACA,kBAAkB,CAiGpB;AAED,wBAAgB,eAAe,CAAC,gBAAgB,SAAM,GAAG,SAAS,CAOjE;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAKT"}
@@ -84,7 +84,12 @@ export function verifyPassport(signed, opts) {
84
84
  warnings.push('No capabilities declared');
85
85
  }
86
86
  // Check delegations
87
- for (const delegation of passport.delegations || []) {
87
+ // Array.isArray guard, not just `|| []`: a present-but-non-array
88
+ // delegations field (an object, a number, a string) is truthy, so the
89
+ // old `passport.delegations || []` let it straight into a for...of and
90
+ // threw TypeError instead of this function's documented contract of
91
+ // always returning {valid: false, errors: [...]} for malformed input.
92
+ for (const delegation of Array.isArray(passport.delegations) ? passport.delegations : []) {
88
93
  if (new Date(delegation.expiresAt) < new Date()) {
89
94
  warnings.push(`Delegation to ${delegation.delegatedTo} has expired`);
90
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/verification/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/verification/verify.ts"],"names":[],"mappings":"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"}