@owlmeans/basic-ids 0.1.18-rc.35 → 0.1.18-rc.37

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 (43) hide show
  1. package/README.md +5 -5
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/basic-ids/SKILL.md +17 -15
  4. package/build/helper/types.d.ts +25 -0
  5. package/build/helper/types.d.ts.map +1 -0
  6. package/build/helper/types.js +2 -0
  7. package/build/helper/types.js.map +1 -0
  8. package/build/helper.d.ts +6 -20
  9. package/build/helper.d.ts.map +1 -1
  10. package/build/helper.js +30 -52
  11. package/build/helper.js.map +1 -1
  12. package/build/index.d.ts +3 -2
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +2 -2
  15. package/build/index.js.map +1 -1
  16. package/build/random.d.ts +4 -0
  17. package/build/random.d.ts.map +1 -0
  18. package/build/random.js +17 -0
  19. package/build/random.js.map +1 -0
  20. package/build/wordlists/consts.d.ts +25 -0
  21. package/build/wordlists/consts.d.ts.map +1 -0
  22. package/build/wordlists/{list-a.js → consts.js} +270 -1
  23. package/build/wordlists/consts.js.map +1 -0
  24. package/package.json +4 -5
  25. package/scripts/curate-wordlists.ts +30 -4
  26. package/src/helper/types.ts +24 -0
  27. package/src/helper.ts +35 -54
  28. package/src/index.ts +3 -2
  29. package/src/random.ts +18 -0
  30. package/src/wordlists/{list-a.ts → consts.ts} +270 -0
  31. package/tests/word-slug.spec.ts +8 -9
  32. package/build/wordlists/list-a.d.ts +0 -13
  33. package/build/wordlists/list-a.d.ts.map +0 -1
  34. package/build/wordlists/list-a.js.map +0 -1
  35. package/build/wordlists/list-b.d.ts +0 -13
  36. package/build/wordlists/list-b.d.ts.map +0 -1
  37. package/build/wordlists/list-b.js +0 -270
  38. package/build/wordlists/list-b.js.map +0 -1
  39. package/scripts/curate-wordlists.d.ts +0 -2
  40. package/scripts/curate-wordlists.d.ts.map +0 -1
  41. package/scripts/curate-wordlists.js +0 -145
  42. package/scripts/curate-wordlists.js.map +0 -1
  43. package/src/wordlists/list-b.ts +0 -269
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
+ export type * from './helper/types.js'
2
3
  export * from './helper.js'
4
+ export * from './random.js'
3
5
  export * from './consts.js'
4
- export * from './wordlists/list-a.js'
5
- export * from './wordlists/list-b.js'
6
+ export * from './wordlists/consts.js'
package/src/random.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { randomBytes } from '@noble/hashes/utils.js'
2
+ import { base58, base64urlnopad } from '@scure/base'
3
+ import { IdStyle } from './consts.js'
4
+
5
+ export const createRandomPrefix = (length: number = 6, format: IdStyle = IdStyle.Base58): string => {
6
+ const rand = randomBytes(length)
7
+ switch (format) {
8
+ case IdStyle.Base64:
9
+ return base64urlnopad.encode(rand)
10
+ case IdStyle.Base58:
11
+ default:
12
+ return base58.encode(rand)
13
+ }
14
+ }
15
+
16
+ export const createIdOfLength = (length: number = 6, format: IdStyle = IdStyle.Base58): string => {
17
+ return createRandomPrefix(length * 2, format).slice(0, length)
18
+ }
@@ -267,3 +267,273 @@ export const WORDLIST_A: string[] = [
267
267
  'mirrored', 'palpable', 'oiled', 'beady', 'geared', 'unending', 'cohesive', 'trifling',
268
268
  'justly', 'sizeable', 'ajar', 'writhing', 'iffy', 'unveiled', 'choral', 'scaled',
269
269
  ]
270
+
271
+ /**
272
+ * Subject half of a word slug — verbs and nouns.
273
+ *
274
+ * Exactly 2048 words (11 bits of entropy per pick), each lowercase ASCII, 3-8 characters, and
275
+ * unique within this list. The two lists share no word, so the halves of a slug can never repeat.
276
+ *
277
+ * Curated by `scripts/curate-wordlists.ts` from the Moby part-of-speech list, screened against
278
+ * profanity, stopword, negative-sentiment and proper-noun sources. Regenerate with that script
279
+ * rather than editing by hand: `tests/word-slug.spec.ts` enforces the invariants above, and a
280
+ * hand-edit that breaks the 2048 count silently biases slug generation.
281
+ */
282
+ export const WORDLIST_B: string[] = [
283
+ 'search', 'time', 'news', 'contact', 'business', 'view', 'services', 'service',
284
+ 'price', 'people', 'list', 'day', 'email', 'health', 'music', 'data',
285
+ 'product', 'post', 'city', 'add', 'policy', 'support', 'message', 'jan',
286
+ 'video', 'info', 'rights', 'school', 'review', 'privacy', 'book', 'company',
287
+ 'read', 'user', 'set', 'january', 'mail', 'map', 'program', 'life',
288
+ 'hotel', 'item', 'center', 'store', 'travel', 'report', 'details', 'send',
289
+ 'type', 'office', 'car', 'design', 'internet', 'address', 'phone', 'shipping',
290
+ 'subject', 'forum', 'family', 'based', 'code', 'check', 'women', 'sign',
291
+ 'file', 'link', 'south', 'project', 'version', 'sports', 'house', 'security',
292
+ 'county', 'american', 'photo', 'game', 'power', 'care', 'network', 'total',
293
+ 'download', 'access', 'north', 'media', 'law', 'control', 'water', 'history',
294
+ 'size', 'art', 'guide', 'shop', 'board', 'location', 'change', 'rating',
295
+ 'rate', 'children', 'usa', 'return', 'shopping', 'account', 'times', 'profile',
296
+ 'form', 'love', 'john', 'image', 'title', 'property', 'class', 'money',
297
+ 'quality', 'listing', 'content', 'country', 'visit', 'save', 'reply', 'customer',
298
+ 'december', 'compare', 'include', 'college', 'article', 'york', 'card', 'provide',
299
+ 'food', 'source', 'author', 'press', 'learn', 'sale', 'print', 'job',
300
+ 'canada', 'process', 'stock', 'training', 'credit', 'science', 'west', 'sales',
301
+ 'english', 'team', 'estate', 'box', 'select', 'thread', 'week', 'category',
302
+ 'note', 'live', 'gallery', 'table', 'register', 'june', 'october', 'november',
303
+ 'market', 'library', 'action', 'start', 'series', 'model', 'air', 'industry',
304
+ 'plan', 'required', 'cost', 'movie', 'march', 'july', 'yahoo', 'friend',
305
+ 'dec', 'server', 'study', 'cart', 'staff', 'feedback', 'play', 'april',
306
+ 'street', 'topic', 'comment', 'standard', 'tax', 'person', 'party', 'payment',
307
+ 'login', 'student', 'park', 'red', 'memory', 'quote', 'language', 'story',
308
+ 'sell', 'create', 'key', 'body', 'america', 'field', 'east', 'paper',
309
+ 'age', 'club', 'password', 'road', 'gift', 'question', 'night', 'texas',
310
+ 'oct', 'pay', 'poker', 'status', 'browse', 'range', 'building', 'seller',
311
+ 'court', 'february', 'result', 'audio', 'light', 'write', 'nov', 'offer',
312
+ 'blue', 'event', 'release', 'analysis', 'request', 'fax', 'china', 'picture',
313
+ 'month', 'major', 'star', 'future', 'space', 'hand', 'sun', 'cards',
314
+ 'london', 'meeting', 'child', 'enter', 'share', 'garden', 'baby', 'learning',
315
+ 'energy', 'delivery', 'term', 'film', 'journal', 'notice', 'god', 'head',
316
+ 'radio', 'cell', 'color', 'council', 'track', 'archive', 'format', 'society',
317
+ 'log', 'safety', 'trade', 'edition', 'updated', 'david', 'fun', 'green',
318
+ 'close', 'drive', 'gold', 'feb', 'sep', 'display', 'director', 'beach',
319
+ 'period', 'planning', 'database', 'weather', 'land', 'average', 'window', 'france',
320
+ 'region', 'island', 'record', 'direct', 'district', 'calendar', 'costs', 'style',
321
+ 'update', 'aug', 'sound', 'resource', 'document', 'word', 'material', 'apr',
322
+ 'written', 'talk', 'centre', 'finance', 'mark', 'rock', 'europe', 'reading',
323
+ 'auto', 'cover', 'edit', 'percent', 'function', 'unit', 'tech', 'meet',
324
+ 'player', 'submit', 'germany', 'watch', 'feel', 'bank', 'james', 'weight',
325
+ 'town', 'heart', 'received', 'choose', 'magazine', 'camera', 'girl', 'golf',
326
+ 'receive', 'domain', 'chapter', 'loan', 'beauty', 'manager', 'india', 'position',
327
+ 'sort', 'step', 'florida', 'wireless', 'license', 'paul', 'friday', 'lake',
328
+ 'church', 'method', 'purchase', 'response', 'practice', 'figure', 'holiday', 'chat',
329
+ 'writing', 'speed', 'brand', 'discount', 'created', 'remember', 'oil', 'bit',
330
+ 'yellow', 'increase', 'kingdom', 'base', 'stuff', 'french', 'storage', 'japan',
331
+ 'entry', 'stay', 'nature', 'africa', 'summary', 'growth', 'agency', 'king',
332
+ 'monday', 'european', 'activity', 'income', 'force', 'cash', 'bay', 'river',
333
+ 'package', 'contents', 'engine', 'port', 'album', 'supplies', 'bar', 'dog',
334
+ 'build', 'screen', 'exchange', 'continue', 'season', 'apply', 'held', 'printer',
335
+ 'mind', 'sunday', 'tour', 'menu', 'volume', 'cross', 'mortgage', 'hope',
336
+ 'silver', 'solution', 'role', 'addition', 'supply', 'union', 'jewelry', 'clothing',
337
+ 'mon', 'fine', 'names', 'hour', 'gas', 'bush', 'advice', 'career',
338
+ 'rental', 'decision', 'leave', 'british', 'sat', 'woman', 'zip', 'bid',
339
+ 'cable', 'values', 'division', 'tuesday', 'lesbian', 'machine', 'logo', 'score',
340
+ 'client', 'capital', 'follow', 'sample', 'saturday', 'england', 'culture', 'band',
341
+ 'flash', 'lead', 'george', 'choice', 'starting', 'fri', 'thursday', 'consumer',
342
+ 'airport', 'artist', 'channel', 'letter', 'mode', 'fund', 'summer', 'degree',
343
+ 'contract', 'button', 'matter', 'custom', 'virginia', 'located', 'asian', 'editor',
344
+ 'inn', 'song', 'focus', 'featured', 'idea', 'win', 'thomas', 'reason',
345
+ 'tool', 'browser', 'spring', 'answer', 'voice', 'schedule', 'purpose', 'feature',
346
+ 'bed', 'police', 'approach', 'brown', 'hill', 'medicine', 'deal', 'hold',
347
+ 'chicago', 'glass', 'smith', 'survey', 'sport', 'feed', 'animal', 'mexico',
348
+ 'evidence', 'station', 'favorite', 'option', 'master', 'valley', 'sea', 'built',
349
+ 'blood', 'cut', 'improve', 'hall', 'earth', 'impact', 'transfer', 'kitchen',
350
+ 'wedding', 'hospital', 'ground', 'overview', 'ship', 'disease', 'paid', 'italy',
351
+ 'hair', 'kit', 'basis', 'command', 'express', 'distance', 'tree', 'peter',
352
+ 'ensure', 'wall', 'budget', 'rated', 'success', 'maximum', 'boy', 'amazon',
353
+ 'wine', 'horse', 'vote', 'owner', 'retail', 'est', 'son', 'rule',
354
+ 'mac', 'housing', 'iii', 'bring', 'catalog', 'max', 'mother', 'told',
355
+ 'traffic', 'input', 'strategy', 'feet', 'agent', 'bin', 'ireland', 'teaching',
356
+ 'door', 'testing', 'trial', 'charge', 'canadian', 'wrote', 'metal', 'fitness',
357
+ 'chinese', 'opinion', 'asia', 'football', 'output', 'develop', 'java', 'guest',
358
+ 'trust', 'van', 'session', 'republic', 'vacation', 'century', 'skin', 'graphics',
359
+ 'indian', 'ads', 'mary', 'grade', 'dating', 'mountain', 'pop', 'filter',
360
+ 'mailing', 'vehicle', 'panel', 'floor', 'german', 'buying', 'match', 'default',
361
+ 'require', 'iraq', 'morning', 'rest', 'protein', 'plant', 'pool', 'politics',
362
+ 'partner', 'authors', 'boards', 'faculty', 'fish', 'mission', 'eye', 'string',
363
+ 'sense', 'modified', 'pack', 'released', 'stage', 'born', 'japanese', 'race',
364
+ 'approved', 'target', 'ability', 'spain', 'winter', 'battery', 'youth', 'pressure',
365
+ 'boston', 'core', 'dance', 'wood', 'defined', 'papers', 'playing', 'fee',
366
+ 'studio', 'reader', 'device', 'rent', 'apple', 'min', 'theory', 'enjoy',
367
+ 'remove', 'aid', 'surface', 'minimum', 'host', 'variety', 'martin', 'block',
368
+ 'repair', 'steel', 'hands', 'desktop', 'paris', 'ohio', 'sector', 'capacity',
369
+ 'jersey', 'father', 'officer', 'driver', 'respect', 'mike', 'trip', 'pst',
370
+ 'teacher', 'farm', 'georgia', 'peace', 'campus', 'tom', 'coast', 'benefit',
371
+ 'progress', 'funding', 'devices', 'lord', 'grant', 'agree', 'hear', 'led',
372
+ 'museum', 'fan', 'wife', 'zone', 'cat', 'jack', 'flow', 'parent',
373
+ 'spanish', 'michigan', 'columbia', 'setting', 'scale', 'stand', 'economy', 'frame',
374
+ 'path', 'employee', 'chief', 'laws', 'changed', 'pet', 'heard', 'switch',
375
+ 'russian', 'african', 'guy', 'justice', 'connect', 'bible', 'cup', 'basket',
376
+ 'demand', 'suite', 'square', 'advance', 'skip', 'army', 'auction', 'gear',
377
+ 'lee', 'correct', 'charles', 'nation', 'selling', 'piece', 'sheet', 'illinois',
378
+ 'elements', 'species', 'jump', 'module', 'resort', 'facility', 'pricing', 'minister',
379
+ 'motion', 'fashion', 'monitor', 'trading', 'forest', 'coverage', 'couple', 'chance',
380
+ 'vision', 'ball', 'listen', 'discuss', 'accept', 'goal', 'sold', 'wind',
381
+ 'lives', 'currency', 'leather', 'palm', 'stone', 'bob', 'commerce', 'fit',
382
+ 'village', 'amateur', 'met', 'coffee', 'buyer', 'ford', 'poster', 'edge',
383
+ 'root', 'ice', 'pink', 'zealand', 'balance', 'graduate', 'shot', 'label',
384
+ 'thinking', 'canon', 'league', 'minute', 'bus', 'provider', 'chair', 'fishing',
385
+ 'effort', 'phase', 'bag', 'fantasy', 'letters', 'motor', 'context', 'install',
386
+ 'shirt', 'apparel', 'foot', 'mass', 'count', 'johnson', 'religion', 'claim',
387
+ 'surgery', 'patch', 'heat', 'kansas', 'chemical', 'doctor', 'task', 'reduce',
388
+ 'brought', 'enable', 'exercise', 'leader', 'diamond', 'israel', 'arizona', 'keyword',
389
+ 'flight', 'congress', 'fuel', 'walk', 'produced', 'italian', 'wait', 'pocket',
390
+ 'saint', 'rose', 'freedom', 'argument', 'creating', 'jim', 'joint', 'premium',
391
+ 'attorney', 'upgrade', 'factor', 'stream', 'pick', 'hearing', 'therapy', 'louis',
392
+ 'steps', 'del', 'creek', 'quantity', 'platform', 'load', 'labor', 'admin',
393
+ 'nursing', 'defense', 'recovery', 'joe', 'merchant', 'expert', 'protect', 'drop',
394
+ 'orange', 'prevent', 'theme', 'campaign', 'guitar', 'finding', 'spirit', 'hire',
395
+ 'election', 'branch', 'serve', 'magic', 'mount', 'talking', 'latin', 'avoid',
396
+ 'manage', 'corner', 'rank', 'oregon', 'element', 'birth', 'separate', 'quarter',
397
+ 'define', 'column', 'faith', 'chain', 'identify', 'avenue', 'moved', 'houston',
398
+ 'reach', 'moment', 'sequence', 'inch', 'lab', 'reserve', 'gamma', 'plastic',
399
+ 'produce', 'snow', 'truth', 'counter', 'weekend', 'dollar', 'camp', 'ontario',
400
+ 'bridge', 'movement', 'printing', 'baseball', 'approval', 'draft', 'chart', 'jesus',
401
+ 'lcd', 'jackson', 'offering', 'profit', 'leaders', 'expect', 'parking', 'compared',
402
+ 'workshop', 'russia', 'seattle', 'fort', 'lighting', 'senate', 'brother', 'gene',
403
+ 'disc', 'pattern', 'boat', 'named', 'theatre', 'laser', 'sponsor', 'icon',
404
+ 'indiana', 'harry', 'delete', 'evening', 'assembly', 'mouse', 'signal', 'issued',
405
+ 'brain', 'dream', 'cast', 'flower', 'supplied', 'pic', 'soul', 'aids',
406
+ 'promote', 'hawaii', 'carry', 'flag', 'covers', 'maintain', 'tourism', 'priority',
407
+ 'savings', 'atom', 'binding', 'iron', 'script', 'served', 'dining', 'atlanta',
408
+ 'dakota', 'tag', 'mix', 'disk', 'queen', 'handle', 'desk', 'hong',
409
+ 'truck', 'behavior', 'enlarge', 'ray', 'revenue', 'measure', 'changing', 'duty',
410
+ 'bear', 'gain', 'festival', 'ocean', 'depth', 'iowa', 'logged', 'laptop',
411
+ 'vintage', 'train', 'explore', 'maryland', 'spa', 'concept', 'checkout', 'reality',
412
+ 'forgot', 'handling', 'origin', 'gaming', 'scotland', 'dallas', 'bought', 'route',
413
+ 'alaska', 'zoom', 'battle', 'anime', 'speak', 'protocol', 'query', 'clip',
414
+ 'equity', 'speech', 'wire', 'tape', 'judge', 'spam', 'acid', 'cent',
415
+ 'fight', 'height', 'speaker', 'filed', 'designer', 'remain', 'managed', 'marriage',
416
+ 'roll', 'korea', 'bath', 'kelly', 'austin', 'toronto', 'theater', 'missouri',
417
+ 'andrew', 'var', 'perform', 'font', 'joseph', 'ministry', 'lawyer', 'proposal',
418
+ 'sharing', 'portal', 'waiting', 'birthday', 'beta', 'banking', 'brian', 'assist',
419
+ 'conduct', 'lingerie', 'calling', 'jazz', 'serving', 'miami', 'doc', 'wear',
420
+ 'combined', 'wales', 'finish', 'mom', 'physics', 'spent', 'daniel', 'bars',
421
+ 'row', 'forecast', 'cycle', 'accuracy', 'rise', 'sleep', 'bird', 'pharmacy',
422
+ 'brazil', 'creation', 'scene', 'hunter', 'lady', 'crystal', 'writer', 'chairman',
423
+ 'violence', 'oklahoma', 'drink', 'academy', 'gender', 'eat', 'dell', 'cleaning',
424
+ 'seat', 'vendor', 'aim', 'referred', 'cape', 'ann', 'meaning', 'henry',
425
+ 'ticket', 'guess', 'ski', 'soccer', 'math', 'import', 'posting', 'presence',
426
+ 'instant', 'viewing', 'majority', 'christ', 'dan', 'austria', 'moon', 'scheme',
427
+ 'utility', 'preview', 'fly', 'manner', 'matrix', 'devel', 'strength', 'turkey',
428
+ 'delta', 'seeking', 'phoenix', 'daughter', 'standing', 'comfort', 'cisco', 'alpha',
429
+ 'appeal', 'cruise', 'bonus', 'bookmark', 'beat', 'adobe', 'smoking', 'alabama',
430
+ 'tea', 'improved', 'avg', 'achieve', 'dress', 'dealer', 'sky', 'utah',
431
+ 'rom', 'carried', 'happen', 'exposure', 'hide', 'gambling', 'refer', 'miller',
432
+ 'caused', 'luxury', 'frames', 'toy', 'circuit', 'layer', 'removal', 'hip',
433
+ 'kentucky', 'eric', 'spot', 'taylor', 'spend', 'factory', 'interior', 'revised',
434
+ 'grow', 'clock', 'dot', 'hiv', 'identity', 'feeling', 'hidden', 'victoria',
435
+ 'serial', 'relief', 'revision', 'ratio', 'rain', 'planet', 'recipe', 'permit',
436
+ 'proof', 'dna', 'diff', 'tennis', 'bass', 'bedroom', 'instance', 'hole',
437
+ 'ride', 'licensed', 'orlando', 'bureau', 'maine', 'pair', 'ideal', 'dinner',
438
+ 'sydney', 'cream', 'discover', 'advisor', 'wilson', 'shape', 'irish', 'gps',
439
+ 'acc', 'operator', 'usage', 'cap', 'ink', 'census', 'peak', 'exist',
440
+ 'wheel', 'transit', 'salt', 'poetry', 'tracking', 'angel', 'bell', 'keeping',
441
+ 'attempt', 'forget', 'array', 'climate', 'pin', 'alcohol', 'greek', 'sister',
442
+ 'explain', 'gnu', 'extent', 'ben', 'lane', 'export', 'aircraft', 'sweden',
443
+ 'employer', 'occur', 'backup', 'heritage', 'holding', 'spread', 'coach', 'expand',
444
+ 'jordan', 'plug', 'cook', 'affect', 'hat', 'helping', 'lib', 'bike',
445
+ 'plate', 'blonde', 'utc', 'der', 'seek', 'nevada', 'thailand', 'agenda',
446
+ 'cam', 'logic', 'template', 'prince', 'circle', 'soil', 'atlantic', 'investor',
447
+ 'ram', 'leaving', 'wildlife', 'cooking', 'fox', 'respond', 'exit', 'iran',
448
+ 'arm', 'launch', 'wave', 'costa', 'belgium', 'acts', 'guidance', 'mesh',
449
+ 'trail', 'symbol', 'highway', 'buddy', 'observed', 'dean', 'setup', 'poll',
450
+ 'booking', 'glossary', 'denver', 'unix', 'bond', 'channels', 'appendix', 'notify',
451
+ 'pub', 'portion', 'scope', 'supplier', 'cotton', 'biology', 'border', 'debate',
452
+ 'arkansas', 'leisure', 'notebook', 'explorer', 'husband', 'britain', 'concert', 'scores',
453
+ 'comedy', 'jean', 'hop', 'carrier', 'visa', 'mouth', 'meter', 'portland',
454
+ 'reflect', 'deliver', 'fruit', 'reform', 'lens', 'draw', 'relating', 'assume',
455
+ 'alliance', 'confirm', 'lewis', 'leaves', 'engineer', 'replace', 'babe', 'safari',
456
+ 'sugar', 'crew', 'sam', 'stick', 'relation', 'enabled', 'genre', 'slide',
457
+ 'montana', 'rear', 'enhance', 'bound', 'adapter', 'node', 'lock', 'hockey',
458
+ 'storm', 'mile', 'threads', 'bowl', 'estimate', 'navy', 'kid', 'cancel',
459
+ 'paint', 'pilot', 'outlet', 'czech', 'winner', 'idaho', 'episode', 'potter',
460
+ 'dish', 'bulletin', 'modify', 'oxford', 'adam', 'painting', 'universe', 'patent',
461
+ 'slot', 'eating', 'planned', 'watching', 'lodge', 'mirror', 'sterling', 'kernel',
462
+ 'taiwan', 'chosen', 'demo', 'greece', 'swiss', 'behalf', 'liquid', 'rice',
463
+ 'nebraska', 'loop', 'salary', 'gourmet', 'guard', 'orleans', 'empire', 'resume',
464
+ 'raise', 'prepare', 'avatar', 'vary', 'rome', 'arab', 'lincoln', 'helped',
465
+ 'premier', 'tomorrow', 'milk', 'decide', 'consent', 'drama', 'visiting', 'downtown',
466
+ 'keyboard', 'contest', 'boot', 'millions', 'lunch', 'audit', 'push', 'chamber',
467
+ 'guinea', 'muscle', 'polls', 'tower', 'sum', 'misc', 'chicken', 'attend',
468
+ 'shower', 'sending', 'jason', 'tonight', 'province', 'oak', 'vat', 'governor',
469
+ 'beer', 'swimming', 'formula', 'catch', 'jane', 'pakistan', 'sir', 'earn',
470
+ 'finder', 'visitor', 'insert', 'gateway', 'drawing', 'fighting', 'spy', 'romance',
471
+ 'bruce', 'heaven', 'focused', 'egypt', 'bargain', 'norway', 'vermont', 'hunting',
472
+ 'diabetes', 'suit', 'shift', 'chip', 'res', 'sit', 'cutting', 'loved',
473
+ 'mapping', 'char', 'saved', 'paying', 'cartoon', 'carbon', 'spending', 'registry',
474
+ 'outlook', 'denmark', 'treat', 'header', 'piano', 'echo', 'grid', 'patrick',
475
+ 'plasma', 'journey', 'bidding', 'banner', 'charter', 'fig', 'teach', 'occurred',
476
+ 'pull', 'reverse', 'deposit', 'seminar', 'nasa', 'dutch', 'tab', 'boots',
477
+ 'router', 'concrete', 'editing', 'poland', 'folder', 'upload', 'pulse', 'voting',
478
+ 'detroit', 'metro', 'strip', 'pearl', 'accident', 'nick', 'resident', 'airline',
479
+ 'regard', 'pump', 'flashing', 'sitting', 'putting', 'vietnam', 'trailer', 'castle',
480
+ 'malaysia', 'antique', 'stored', 'exam', 'logos', 'density', 'mention', 'honda',
481
+ 'operate', 'bathroom', 'stable', 'opera', 'lesson', 'cinema', 'asset', 'scan',
482
+ 'reaction', 'entitled', 'generate', 'humor', 'duration', 'bulk', 'sci', 'fabric',
483
+ 'contrast', 'berlin', 'para', 'siemens', 'adoption', 'meant', 'capture', 'buffalo',
484
+ 'plane', 'seed', 'desire', 'camping', 'welfare', 'peer', 'caught', 'driven',
485
+ 'bottle', 'marshall', 'massage', 'rubber', 'closing', 'tampa', 'meat', 'legend',
486
+ 'grace', 'adams', 'python', 'bang', 'villa', 'bone', 'hamilton', 'ftp',
487
+ 'tutorial', 'med', 'entity', 'gate', 'holder', 'portugal', 'tone', 'ethics',
488
+ 'dragon', 'captain', 'imagine', 'heating', 'leg', 'neck', 'wing', 'abc',
489
+ 'taste', 'dealing', 'commit', 'jay', 'gap', 'tube', 'cache', 'belt',
490
+ 'jacket', 'oracle', 'matthew', 'lease', 'aviation', 'excess', 'console', 'giant',
491
+ 'achieved', 'shipped', 'seats', 'biz', 'voltage', 'loading', 'franklin', 'angle',
492
+ 'rob', 'vinyl', 'mining', 'imaging', 'betting', 'liberty', 'wyoming', 'era',
493
+ 'convert', 'analyst', 'garage', 'finland', 'morgan', 'derived', 'pleasure', 'honor',
494
+ 'asp', 'eagle', 'columbus', 'nurse', 'prayer', 'luck', 'postage', 'producer',
495
+ 'dial', 'cheese', 'jet', 'crown', 'par', 'maker', 'gang', 'semester',
496
+ 'fetish', 'apache', 'craft', 'cake', 'fellow', 'lounge', 'semi', 'cafe',
497
+ 'ken', 'horror', 'exp', 'pen', 'shoe', 'carrying', 'victory', 'sand',
498
+ 'madison', 'joy', 'cpu', 'actor', 'seal', 'citizen', 'prize', 'pipe',
499
+ 'guardian', 'lecture', 'layout', 'classics', 'lay', 'deck', 'donate', 'taught',
500
+ 'worker', 'temple', 'prove', 'wings', 'waters', 'promise', 'prefer', 'ridge',
501
+ 'cabinet', 'modem', 'mph', 'bringing', 'dose', 'evaluate', 'tiffany', 'collect',
502
+ 'bet', 'vector', 'shaved', 'buffer', 'purple', 'larry', 'def', 'pipeline',
503
+ 'syntax', 'inquiry', 'ethernet', 'exhibit', 'throw', 'trend', 'sierra', 'mercury',
504
+ 'handbook', 'navigate', 'summit', 'epa', 'escape', 'receiver', 'glance', 'scottish',
505
+ 'arcade', 'richmond', 'ron', 'russell', 'fiber', 'graph', 'covering', 'platinum',
506
+ 'judgment', 'talks', 'filing', 'foster', 'modeling', 'tissue', 'clinton', 'alberta',
507
+ 'folk', 'commons', 'spectrum', 'arrival', 'pottery', 'emphasis', 'aspect', 'mexican',
508
+ 'priced', 'lift', 'inter', 'closer', 'heights', 'shadow', 'riding', 'expense',
509
+ 'grove', 'venture', 'clinic', 'korean', 'princess', 'mall', 'entering', 'packet',
510
+ 'spray', 'dad', 'buttons', 'extend', 'roads', 'pat', 'dublin', 'yard',
511
+ 'nelson', 'arrived', 'tourist', 'mayor', 'senator', 'yield', 'pour', 'digest',
512
+ 'lodging', 'replaced', 'radar', 'rescue', 'reducing', 'diary', 'shooting', 'kent',
513
+ 'ear', 'pci', 'baker', 'ebony', 'tie', 'arthur', 'roof', 'walker',
514
+ 'kiss', 'beast', 'dodge', 'counsel', 'pizza', 'invited', 'rush', 'ukraine',
515
+ 'cluster', 'yoga', 'surprise', 'lamp', 'phil', 'cst', 'ceo', 'simpson',
516
+ 'palace', 'verify', 'globe', 'copper', 'rack', 'rep', 'kerry', 'receipt',
517
+ 'applying', 'boss', 'pride', 'reporter', 'champion', 'ross', 'chile', 'anna',
518
+ 'plenty', 'solo', 'sentence', 'throat', 'maria', 'uniform', 'wealth', 'vacuum',
519
+ 'dancing', 'brass', 'plaza', 'survival', 'quest', 'publish', 'sri', 'toe',
520
+ 'trans', 'jonathan', 'nova', 'lifetime', 'pioneer', 'booty', 'acrobat', 'acres',
521
+ 'venue', 'charity', 'excel', 'wake', 'harbor', 'hungary', 'traveler', 'segment',
522
+ 'realize', 'lan', 'puzzle', 'rising', 'aluminum', 'insight', 'repeat', 'drum',
523
+ 'iraqi', 'builder', 'vista', 'terry', 'flood', 'ease', 'arena', 'outcome',
524
+ 'polish', 'jerry', 'clause', 'smile', 'troops', 'bulgaria', 'broker', 'charger',
525
+ 'believed', 'pine', 'cooling', 'tend', 'gulf', 'rick', 'laura', 'shopper',
526
+ 'tokyo', 'candy', 'tiger', 'folks', 'sensor', 'hunt', 'deputy', 'sealed',
527
+ 'thai', 'boost', 'spanking', 'den', 'catering', 'aud', 'finger', 'pound',
528
+ 'locate', 'bread', 'tobacco', 'roberts', 'incident', 'gonna', 'dynamics', 'decrease',
529
+ 'chest', 'pension', 'billy', 'emerging', 'worship', 'reserves', 'solve', 'minority',
530
+ 'amp', 'johnny', 'recorder', 'facing', 'nancy', 'passion', 'sight', 'laid',
531
+ 'clay', 'defence', 'refund', 'blvd', 'cyprus', 'insider', 'hearts', 'eve',
532
+ 'carter', 'legacy', 'marc', 'vitamin', 'phrase', 'raising', 'paradise', 'hybrid',
533
+ 'leaf', 'pad', 'glory', 'billing', 'combine', 'exceed', 'rod', 'saudi',
534
+ 'cuba', 'hrs', 'silk', 'karen', 'compiled', 'albert', 'examine', 'jimmy',
535
+ 'graham', 'bristol', 'wolf', 'rugby', 'cal', 'infant', 'fluid', 'grounds',
536
+ 'kick', 'meal', 'equation', 'pot', 'wright', 'proven', 'cached', 'slip',
537
+ 'reviewer', 'rpm', 'profits', 'grass', 'comply', 'florist', 'cherry', 'kenya',
538
+ 'charlie', 'quebec', 'mars', 'noticed', 'socket', 'egg', 'mhz', 'caps',
539
+ ]
@@ -1,7 +1,6 @@
1
1
  import { describe, test, expect } from 'bun:test'
2
- import { WORDLIST_A } from '../src/wordlists/list-a.js'
3
- import { WORDLIST_B } from '../src/wordlists/list-b.js'
4
- import { generateWordSlug, nextSlugCandidate } from '../src/helper.js'
2
+ import { WORDLIST_A, WORDLIST_B } from '../src/wordlists/consts.js'
3
+ import { idHelper } from '../src/helper.js'
5
4
  import { WORDLIST_SIZE } from '../src/consts.js'
6
5
 
7
6
  const WORD = /^[a-z]{3,8}$/
@@ -37,20 +36,20 @@ test('the lists are disjoint, so a slug never repeats its own word', () => {
37
36
  describe('generateWordSlug', () => {
38
37
  test('produces a two-word slug that is a valid DNS label', () => {
39
38
  for (let i = 0; i < 200; ++i) {
40
- const slug = generateWordSlug()
39
+ const slug = idHelper.generateWordSlug()
41
40
  expect(slug).toMatch(/^[a-z]{3,8}-[a-z]{3,8}$/)
42
41
  expect(slug.length).toBeLessThanOrEqual(63)
43
42
  }
44
43
  })
45
44
 
46
45
  test('draws from both lists, in order', () => {
47
- const [first, second] = generateWordSlug().split('-')
46
+ const [first, second] = idHelper.generateWordSlug().split('-')
48
47
  expect(WORDLIST_A).toContain(first)
49
48
  expect(WORDLIST_B).toContain(second)
50
49
  })
51
50
 
52
51
  test('spreads across the space rather than repeating one pair', () => {
53
- const seen = new Set(Array.from({ length: 200 }, () => generateWordSlug()))
52
+ const seen = new Set(Array.from({ length: 200 }, () => idHelper.generateWordSlug()))
54
53
  // 22 bits of entropy: 200 draws colliding more than a handful of times means the index
55
54
  // masking is broken, not that we got unlucky.
56
55
  expect(seen.size).toBeGreaterThan(190)
@@ -59,8 +58,8 @@ describe('generateWordSlug', () => {
59
58
 
60
59
  describe('nextSlugCandidate', () => {
61
60
  test('leaves the first attempt bare and numbers the rest', () => {
62
- expect(nextSlugCandidate('brisk-otter', 1)).toBe('brisk-otter')
63
- expect(nextSlugCandidate('brisk-otter', 2)).toBe('brisk-otter-2')
64
- expect(nextSlugCandidate('brisk-otter', 5)).toBe('brisk-otter-5')
61
+ expect(idHelper.nextSlugCandidate('brisk-otter', 1)).toBe('brisk-otter')
62
+ expect(idHelper.nextSlugCandidate('brisk-otter', 2)).toBe('brisk-otter-2')
63
+ expect(idHelper.nextSlugCandidate('brisk-otter', 5)).toBe('brisk-otter-5')
65
64
  })
66
65
  })
@@ -1,13 +0,0 @@
1
- /**
2
- * Descriptive half of a word slug — adjectives and adverbs.
3
- *
4
- * Exactly 2048 words (11 bits of entropy per pick), each lowercase ASCII, 3-8 characters, and
5
- * unique within this list. The two lists share no word, so the halves of a slug can never repeat.
6
- *
7
- * Curated by `scripts/curate-wordlists.ts` from the Moby part-of-speech list, screened against
8
- * profanity, stopword, negative-sentiment and proper-noun sources. Regenerate with that script
9
- * rather than editing by hand: `tests/word-slug.spec.ts` enforces the invariants above, and a
10
- * hand-edit that breaks the 2048 count silently biases slug generation.
11
- */
12
- export declare const WORDLIST_A: string[];
13
- //# sourceMappingURL=list-a.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-a.d.ts","sourceRoot":"","sources":["../../src/wordlists/list-a.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAiQ9B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-a.js","sourceRoot":"","sources":["../../src/wordlists/list-a.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Subject half of a word slug — verbs and nouns.
3
- *
4
- * Exactly 2048 words (11 bits of entropy per pick), each lowercase ASCII, 3-8 characters, and
5
- * unique within this list. The two lists share no word, so the halves of a slug can never repeat.
6
- *
7
- * Curated by `scripts/curate-wordlists.ts` from the Moby part-of-speech list, screened against
8
- * profanity, stopword, negative-sentiment and proper-noun sources. Regenerate with that script
9
- * rather than editing by hand: `tests/word-slug.spec.ts` enforces the invariants above, and a
10
- * hand-edit that breaks the 2048 count silently biases slug generation.
11
- */
12
- export declare const WORDLIST_B: string[];
13
- //# sourceMappingURL=list-b.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-b.d.ts","sourceRoot":"","sources":["../../src/wordlists/list-b.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAiQ9B,CAAA"}