scripts/primitives-map.node.test.ts
scripts/primitives-map.node.test.tsBrowse 6 files
832 tokens
3,055 bytes
Token encoding: o200k_base
Snapshot 8beb6cd
← Back to SKILL.md
1import { expect, test } from 'vitest'2import {3 checkPrimitivesMapPaths,4 classifyPaths,5 loadPrimitivesMap,6 parsePrimitivesMap,7 pathMatchesRoot,8} from './primitives-map.mjs'9 10test('parsePrimitivesMap reads taxonomy fields and oxfmt-folded summaries', () => {11 const map = parsePrimitivesMap(`12version: 113groups:14 - id: auth15 name: Identity & auth16primitives:17 - id: app-sessions18 group: auth19 name: Browser sessions20 summary: Cookie sessions and signup.21 code:22 - packages/worker/src/app/handlers/auth.ts23 docs:24 - docs/contributing/architecture/authentication.md25 - id: folded26 group: auth27 name: Folded28 summary:29 Folded onto the next indented line.30invariants:31 - id: per-user-isolation32 summary: userId scopes every path.33`)34 expect(map.version).toBe(1)35 expect(map.groups).toEqual([{ id: 'auth', name: 'Identity & auth' }])36 expect(map.primitives).toHaveLength(2)37 expect(map.primitives[0]).toMatchObject({38 id: 'app-sessions',39 group: 'auth',40 name: 'Browser sessions',41 summary: 'Cookie sessions and signup.',42 code: ['packages/worker/src/app/handlers/auth.ts'],43 docs: ['docs/contributing/architecture/authentication.md'],44 })45 expect(map.primitives[1]?.summary).toBe('Folded onto the next indented line.')46 expect(map.invariants[0]?.id).toBe('per-user-isolation')47})48 49test('classifyPaths longest-prefix match respects directory and prefix roots', () => {50 expect(51 pathMatchesRoot(52 'packages/worker/src/app/handlers/auth.ts',53 'packages/worker/src/app/',54 ),55 ).toBe(true)56 expect(57 pathMatchesRoot('packages/worker/src/apple.ts', 'packages/worker/src/app/'),58 ).toBe(false)59 expect(60 pathMatchesRoot(61 'packages/worker/src/app/oauth-providers.ts',62 'packages/worker/src/app/oauth-',63 ),64 ).toBe(true)65 expect(66 pathMatchesRoot(67 'packages/worker/src/mcp-auth.ts',68 'packages/worker/src/mcp/',69 ),70 ).toBe(false)71 72 const map = parsePrimitivesMap(`73version: 174groups:75 - id: surfaces76 name: Entry points77 - id: assistant78 name: Assistant79primitives:80 - id: mcp-server81 group: surfaces82 name: MCP endpoint83 summary: MCP server.84 code:85 - packages/worker/src/mcp/86 - id: saved-packages87 group: assistant88 name: Saved packages89 summary: Packages.90 code:91 - packages/worker/src/mcp/capabilities/packages/92`)93 const { matched, unmatched } = classifyPaths(94 [95 'packages/worker/src/mcp/capabilities/packages/save.ts',96 'packages/worker/src/mcp/index.ts',97 'README.md',98 ],99 map,100 )101 expect(unmatched).toEqual(['README.md'])102 expect(matched.map((entry) => entry.primitive.id).sort()).toEqual([103 'mcp-server',104 'saved-packages',105 ])106 const packages = matched.find(107 (entry) => entry.primitive.id === 'saved-packages',108 )109 expect(packages?.files).toEqual([110 'packages/worker/src/mcp/capabilities/packages/save.ts',111 ])112})113 114test('committed primitives map passes path checks', () => {115 const map = loadPrimitivesMap()116 expect(map.primitives.length).toBeGreaterThan(10)117 expect(checkPrimitivesMapPaths(map)).toEqual([])118})119