11#!/usr/bin/env bun
2- import { readdirSync , writeFileSync } from "fs" ;
2+ import { readdirSync , readFileSync , writeFileSync } from "fs" ;
33import { basename , extname } from "path" ;
44
55interface DocMetadata {
@@ -16,12 +16,14 @@ interface ExampleMetadata {
1616}
1717
1818interface ContentMetadata {
19+ version : string ;
1920 docs : DocMetadata [ ] ;
2021 examples : ExampleMetadata [ ] ;
2122}
2223
2324const DOCS_SOURCE = "node_modules/@falai/agent/docs" ;
2425const EXAMPLES_SOURCE = "node_modules/@falai/agent/examples" ;
26+ const PACKAGE_JSON = "node_modules/@falai/agent/package.json" ;
2527const OUTPUT_FILE = "src/content-metadata.json" ;
2628
2729function slugify ( filename : string ) : string {
@@ -79,10 +81,22 @@ function generateExamplesMetadata(): ExampleMetadata[] {
7981 . sort ( ( a , b ) => a . title . localeCompare ( b . title ) ) ;
8082}
8183
84+ function getPackageVersion ( ) : string {
85+ try {
86+ const packageJson = JSON . parse ( readFileSync ( PACKAGE_JSON , "utf-8" ) ) ;
87+ return packageJson . version || "unknown" ;
88+ } catch ( error ) {
89+ console . warn ( "⚠️ Could not read package version" , error ) ;
90+ return "unknown" ;
91+ }
92+ }
93+
8294function generateMetadata ( ) {
8395 console . log ( "📝 Generating content metadata..." ) ;
8496
97+ const version = getPackageVersion ( ) ;
8598 const metadata : ContentMetadata = {
99+ version,
86100 docs : generateDocsMetadata ( ) ,
87101 examples : generateExamplesMetadata ( ) ,
88102 } ;
@@ -92,6 +106,7 @@ function generateMetadata() {
92106 console . log (
93107 `✅ Generated metadata for ${ metadata . docs . length } docs and ${ metadata . examples . length } examples`
94108 ) ;
109+ console . log ( `📦 Package version: ${ version } ` ) ;
95110 console . log ( `📄 Written to ${ OUTPUT_FILE } ` ) ;
96111}
97112
0 commit comments