@lynx-js/genui 0.0.2 → 0.0.4

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 (292) hide show
  1. package/README.md +5 -9
  2. package/a2ui/AGENTS.md +167 -0
  3. package/a2ui/README.md +76 -780
  4. package/a2ui/README_zh.md +103 -0
  5. package/a2ui/dist/catalog/Button/catalog.json +2 -1
  6. package/a2ui/dist/catalog/Button/index.d.ts +5 -0
  7. package/a2ui/dist/catalog/Button/index.jsx +3 -0
  8. package/a2ui/dist/catalog/Button/index.jsx.map +1 -1
  9. package/a2ui/dist/catalog/Card/catalog.json +2 -1
  10. package/a2ui/dist/catalog/Card/index.d.ts +5 -0
  11. package/a2ui/dist/catalog/Card/index.jsx +3 -0
  12. package/a2ui/dist/catalog/Card/index.jsx.map +1 -1
  13. package/a2ui/dist/catalog/CheckBox/catalog.json +2 -1
  14. package/a2ui/dist/catalog/CheckBox/index.d.ts +5 -0
  15. package/a2ui/dist/catalog/CheckBox/index.jsx +3 -0
  16. package/a2ui/dist/catalog/CheckBox/index.jsx.map +1 -1
  17. package/a2ui/dist/catalog/ChoicePicker/catalog.json +2 -1
  18. package/a2ui/dist/catalog/ChoicePicker/index.d.ts +5 -0
  19. package/a2ui/dist/catalog/ChoicePicker/index.jsx +3 -0
  20. package/a2ui/dist/catalog/ChoicePicker/index.jsx.map +1 -1
  21. package/a2ui/dist/catalog/Column/catalog.json +2 -1
  22. package/a2ui/dist/catalog/Column/index.d.ts +5 -0
  23. package/a2ui/dist/catalog/Column/index.jsx +3 -0
  24. package/a2ui/dist/catalog/Column/index.jsx.map +1 -1
  25. package/a2ui/dist/catalog/DateTimeInput/catalog.json +2 -1
  26. package/a2ui/dist/catalog/DateTimeInput/index.d.ts +5 -0
  27. package/a2ui/dist/catalog/DateTimeInput/index.jsx +4 -10
  28. package/a2ui/dist/catalog/DateTimeInput/index.jsx.map +1 -1
  29. package/a2ui/dist/catalog/DateTimeInput/utils.d.ts +0 -1
  30. package/a2ui/dist/catalog/DateTimeInput/utils.js +0 -3
  31. package/a2ui/dist/catalog/DateTimeInput/utils.js.map +1 -1
  32. package/a2ui/dist/catalog/Divider/catalog.json +2 -1
  33. package/a2ui/dist/catalog/Divider/index.d.ts +5 -0
  34. package/a2ui/dist/catalog/Divider/index.jsx +3 -0
  35. package/a2ui/dist/catalog/Divider/index.jsx.map +1 -1
  36. package/a2ui/dist/catalog/Icon/catalog.json +2 -1
  37. package/a2ui/dist/catalog/Icon/index.d.ts +5 -0
  38. package/a2ui/dist/catalog/Icon/index.jsx +3 -0
  39. package/a2ui/dist/catalog/Icon/index.jsx.map +1 -1
  40. package/a2ui/dist/catalog/Image/catalog.json +2 -1
  41. package/a2ui/dist/catalog/Image/index.d.ts +5 -0
  42. package/a2ui/dist/catalog/Image/index.jsx +3 -0
  43. package/a2ui/dist/catalog/Image/index.jsx.map +1 -1
  44. package/a2ui/dist/catalog/LazyComponent/catalog.json +37 -0
  45. package/a2ui/dist/catalog/LazyComponent/index.d.ts +27 -0
  46. package/a2ui/dist/catalog/LazyComponent/index.jsx +39 -0
  47. package/a2ui/dist/catalog/LazyComponent/index.jsx.map +1 -0
  48. package/a2ui/dist/catalog/LineChart/catalog.json +2 -1
  49. package/a2ui/dist/catalog/LineChart/index.d.ts +8 -0
  50. package/a2ui/dist/catalog/LineChart/index.jsx +3 -0
  51. package/a2ui/dist/catalog/LineChart/index.jsx.map +1 -1
  52. package/a2ui/dist/catalog/List/catalog.json +2 -1
  53. package/a2ui/dist/catalog/List/index.d.ts +5 -0
  54. package/a2ui/dist/catalog/List/index.jsx +3 -0
  55. package/a2ui/dist/catalog/List/index.jsx.map +1 -1
  56. package/a2ui/dist/catalog/Loading/catalog.json +16 -0
  57. package/a2ui/dist/catalog/Loading/index.d.ts +15 -0
  58. package/a2ui/dist/catalog/Loading/index.jsx +14 -0
  59. package/a2ui/dist/catalog/Loading/index.jsx.map +1 -0
  60. package/a2ui/dist/catalog/Modal/catalog.json +2 -1
  61. package/a2ui/dist/catalog/Modal/index.d.ts +5 -0
  62. package/a2ui/dist/catalog/Modal/index.jsx +3 -0
  63. package/a2ui/dist/catalog/Modal/index.jsx.map +1 -1
  64. package/a2ui/dist/catalog/PieChart/catalog.json +2 -1
  65. package/a2ui/dist/catalog/PieChart/index.d.ts +8 -0
  66. package/a2ui/dist/catalog/PieChart/index.jsx +3 -0
  67. package/a2ui/dist/catalog/PieChart/index.jsx.map +1 -1
  68. package/a2ui/dist/catalog/RadioGroup/catalog.json +2 -1
  69. package/a2ui/dist/catalog/RadioGroup/index.d.ts +5 -0
  70. package/a2ui/dist/catalog/RadioGroup/index.jsx +3 -0
  71. package/a2ui/dist/catalog/RadioGroup/index.jsx.map +1 -1
  72. package/a2ui/dist/catalog/Row/catalog.json +2 -1
  73. package/a2ui/dist/catalog/Row/index.d.ts +5 -0
  74. package/a2ui/dist/catalog/Row/index.jsx +3 -0
  75. package/a2ui/dist/catalog/Row/index.jsx.map +1 -1
  76. package/a2ui/dist/catalog/Slider/catalog.json +2 -1
  77. package/a2ui/dist/catalog/Slider/index.d.ts +5 -0
  78. package/a2ui/dist/catalog/Slider/index.jsx +3 -0
  79. package/a2ui/dist/catalog/Slider/index.jsx.map +1 -1
  80. package/a2ui/dist/catalog/Tabs/catalog.json +2 -1
  81. package/a2ui/dist/catalog/Tabs/index.d.ts +5 -0
  82. package/a2ui/dist/catalog/Tabs/index.jsx +3 -0
  83. package/a2ui/dist/catalog/Tabs/index.jsx.map +1 -1
  84. package/a2ui/dist/catalog/Text/catalog.json +2 -1
  85. package/a2ui/dist/catalog/Text/index.d.ts +5 -0
  86. package/a2ui/dist/catalog/Text/index.jsx +3 -0
  87. package/a2ui/dist/catalog/Text/index.jsx.map +1 -1
  88. package/a2ui/dist/catalog/TextField/catalog.json +2 -1
  89. package/a2ui/dist/catalog/TextField/index.d.ts +5 -0
  90. package/a2ui/dist/catalog/TextField/index.jsx +3 -0
  91. package/a2ui/dist/catalog/TextField/index.jsx.map +1 -1
  92. package/a2ui/dist/catalog/defineCatalog.d.ts +4 -4
  93. package/a2ui/dist/catalog/defineCatalog.js.map +1 -1
  94. package/a2ui/dist/catalog/index.d.ts +2 -0
  95. package/a2ui/dist/catalog/index.js +92 -18
  96. package/a2ui/dist/catalog/index.js.map +1 -1
  97. package/a2ui/dist/catalog.json +2603 -0
  98. package/a2ui/dist/index.d.ts +1 -1
  99. package/a2ui/dist/index.js +2 -2
  100. package/a2ui/dist/index.js.map +1 -1
  101. package/a2ui/dist/react/A2UI.d.ts +3 -0
  102. package/a2ui/dist/react/A2UI.jsx.map +1 -1
  103. package/a2ui/dist/react/A2UIRenderer.d.ts +5 -18
  104. package/a2ui/dist/react/A2UIRenderer.jsx +3 -13
  105. package/a2ui/dist/react/A2UIRenderer.jsx.map +1 -1
  106. package/a2ui/dist/react/useAction.d.ts +7 -0
  107. package/a2ui/dist/react/useAction.js +4 -0
  108. package/a2ui/dist/react/useAction.js.map +1 -1
  109. package/a2ui/dist/react/useDataBinding.d.ts +7 -5
  110. package/a2ui/dist/react/useDataBinding.js +18 -0
  111. package/a2ui/dist/react/useDataBinding.js.map +1 -1
  112. package/a2ui/dist/store/FunctionRegistry.d.ts +7 -0
  113. package/a2ui/dist/store/FunctionRegistry.js +4 -0
  114. package/a2ui/dist/store/FunctionRegistry.js.map +1 -1
  115. package/a2ui/dist/store/MessageProcessor.d.ts +7 -0
  116. package/a2ui/dist/store/MessageProcessor.js +4 -0
  117. package/a2ui/dist/store/MessageProcessor.js.map +1 -1
  118. package/a2ui/dist/store/MessageStore.d.ts +6 -0
  119. package/a2ui/dist/store/MessageStore.js +3 -0
  120. package/a2ui/dist/store/MessageStore.js.map +1 -1
  121. package/a2ui/dist/store/Resource.d.ts +8 -0
  122. package/a2ui/dist/store/Resource.js +4 -0
  123. package/a2ui/dist/store/Resource.js.map +1 -1
  124. package/a2ui/dist/store/SignalStore.d.ts +3 -2
  125. package/a2ui/dist/store/SignalStore.js +9 -0
  126. package/a2ui/dist/store/SignalStore.js.map +1 -1
  127. package/a2ui/dist/store/resolveDynamic.d.ts +4 -3
  128. package/a2ui/dist/store/resolveDynamic.js +19 -0
  129. package/a2ui/dist/store/resolveDynamic.js.map +1 -1
  130. package/a2ui/dist/store/resolveFunctionCall.d.ts +7 -0
  131. package/a2ui/dist/store/resolveFunctionCall.js +4 -0
  132. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -1
  133. package/a2ui/dist/store/types.d.ts +13 -0
  134. package/a2ui/dist/store/utils.d.ts +6 -4
  135. package/a2ui/dist/store/utils.js +26 -0
  136. package/a2ui/dist/store/utils.js.map +1 -1
  137. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -1
  138. package/a2ui/docs/catalog-guide.md +407 -0
  139. package/a2ui/docs/catalog-guide_zh.md +379 -0
  140. package/a2ui/docs/overview.md +312 -0
  141. package/a2ui/docs/overview_zh.md +289 -0
  142. package/a2ui/docs/system-prompts.md +187 -0
  143. package/a2ui/docs/system-prompts_zh.md +187 -0
  144. package/a2ui/src/catalog/README.md +12 -0
  145. package/a2ui/src/catalog/index.ts +52 -0
  146. package/a2ui/src/catalog/readme_zh.md +11 -0
  147. package/a2ui/src/index.ts +116 -0
  148. package/a2ui/styles/catalog/Button.css +5 -5
  149. package/a2ui/styles/catalog/DateTimeInput.css +22 -30
  150. package/a2ui/styles/catalog/Loading.css +61 -0
  151. package/a2ui-catalog-extractor/README.md +14 -7
  152. package/a2ui-catalog-extractor/dist/cli.d.ts +1 -0
  153. package/a2ui-catalog-extractor/dist/cli.js +15 -6
  154. package/a2ui-catalog-extractor/dist/cli.js.map +1 -1
  155. package/a2ui-catalog-extractor/dist/index.d.ts +97 -2
  156. package/a2ui-catalog-extractor/dist/index.js +91 -6
  157. package/a2ui-catalog-extractor/dist/index.js.map +1 -1
  158. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -1
  159. package/a2ui-catalog-extractor/skills/a2ui-catalog-extractor/SKILL.md +1 -1
  160. package/a2ui-prompt/README.md +3 -2
  161. package/a2ui-prompt/dist/index.d.ts +41 -0
  162. package/a2ui-prompt/dist/index.js +159 -84
  163. package/cli/README.md +26 -0
  164. package/cli/bin/cli.js +7 -265
  165. package/cli/dist/a2ui/create.d.ts +5 -0
  166. package/cli/dist/a2ui/create.js +178 -0
  167. package/cli/dist/a2ui/create.js.map +1 -0
  168. package/cli/dist/a2ui/index.d.ts +5 -0
  169. package/cli/dist/a2ui/index.js +170 -0
  170. package/cli/dist/a2ui/index.js.map +1 -0
  171. package/cli/dist/cli.d.ts +4 -0
  172. package/cli/dist/cli.js +40 -0
  173. package/cli/dist/cli.js.map +1 -0
  174. package/cli/dist/openui.d.ts +1 -0
  175. package/cli/dist/openui.js +21 -0
  176. package/cli/dist/openui.js.map +1 -0
  177. package/cli/dist/tsconfig.build.tsbuildinfo +1 -0
  178. package/cli/dist/utils.d.ts +2 -0
  179. package/cli/dist/utils.js +17 -0
  180. package/cli/dist/utils.js.map +1 -0
  181. package/cli/templates/default/lynx.config.ts +13 -0
  182. package/cli/templates/default/package.json +27 -0
  183. package/cli/templates/default/src/App.css +88 -0
  184. package/cli/templates/default/src/App.tsx +100 -0
  185. package/cli/templates/default/src/index.tsx +10 -0
  186. package/cli/templates/default/src/messages.ts +158 -0
  187. package/cli/templates/default/src/rspeedy-env.d.ts +14 -0
  188. package/cli/templates/default/src/tsconfig.json +17 -0
  189. package/cli/templates/default/tsconfig.json +15 -0
  190. package/cli/templates/default/tsconfig.node.json +16 -0
  191. package/dist/index.d.ts +2 -0
  192. package/dist/index.js +1 -0
  193. package/dist/index.js.map +1 -1
  194. package/dist/tsconfig.build.tsbuildinfo +1 -1
  195. package/index.ts +12 -0
  196. package/openui/README.md +50 -46
  197. package/openui/dist/catalog/Action/{index.js → index.jsx} +1 -1
  198. package/openui/dist/catalog/Action/index.jsx.map +1 -0
  199. package/openui/dist/catalog/Button/index.d.ts +8 -8
  200. package/openui/dist/catalog/Button/{index.js → index.jsx} +28 -14
  201. package/openui/dist/catalog/Button/index.jsx.map +1 -0
  202. package/openui/dist/catalog/Card/index.d.ts +1 -1
  203. package/openui/dist/catalog/Card/{index.js → index.jsx} +5 -4
  204. package/openui/dist/catalog/Card/{index.js.map → index.jsx.map} +1 -1
  205. package/openui/dist/catalog/CardHeader/index.d.ts +1 -1
  206. package/openui/dist/catalog/CardHeader/index.jsx +20 -0
  207. package/openui/dist/catalog/CardHeader/index.jsx.map +1 -0
  208. package/openui/dist/catalog/CheckBox/index.d.ts +16 -0
  209. package/openui/dist/catalog/CheckBox/index.jsx +82 -0
  210. package/openui/dist/catalog/CheckBox/index.jsx.map +1 -0
  211. package/openui/dist/catalog/Icon/index.d.ts +44 -0
  212. package/openui/dist/catalog/Icon/index.jsx +66 -0
  213. package/openui/dist/catalog/Icon/index.jsx.map +1 -0
  214. package/openui/dist/catalog/Image/index.d.ts +19 -0
  215. package/openui/dist/catalog/Image/index.jsx +40 -0
  216. package/openui/dist/catalog/Image/index.jsx.map +1 -0
  217. package/openui/dist/catalog/Loading/index.d.ts +7 -0
  218. package/openui/dist/catalog/Loading/index.jsx +25 -0
  219. package/openui/dist/catalog/Loading/index.jsx.map +1 -0
  220. package/openui/dist/catalog/RadioGroup/index.d.ts +21 -0
  221. package/openui/dist/catalog/RadioGroup/index.jsx +99 -0
  222. package/openui/dist/catalog/RadioGroup/index.jsx.map +1 -0
  223. package/openui/dist/catalog/Separator/index.d.ts +1 -1
  224. package/openui/dist/catalog/Separator/{index.js → index.jsx} +3 -4
  225. package/openui/dist/catalog/Separator/index.jsx.map +1 -0
  226. package/openui/dist/catalog/Slider/index.d.ts +19 -0
  227. package/openui/dist/catalog/Slider/index.jsx +139 -0
  228. package/openui/dist/catalog/Slider/index.jsx.map +1 -0
  229. package/openui/dist/catalog/Stack/index.d.ts +1 -1
  230. package/openui/dist/catalog/Stack/{index.js → index.jsx} +3 -4
  231. package/openui/dist/catalog/Stack/{index.js.map → index.jsx.map} +1 -1
  232. package/openui/dist/catalog/Tag/index.d.ts +1 -1
  233. package/openui/dist/catalog/Tag/{index.js → index.jsx} +5 -4
  234. package/openui/dist/catalog/Tag/index.jsx.map +1 -0
  235. package/openui/dist/catalog/TextContent/index.d.ts +1 -1
  236. package/openui/dist/catalog/TextContent/{index.js → index.jsx} +5 -4
  237. package/openui/dist/catalog/TextContent/{index.js.map → index.jsx.map} +1 -1
  238. package/openui/dist/catalog/TextField/index.d.ts +23 -0
  239. package/openui/dist/catalog/TextField/index.jsx +132 -0
  240. package/openui/dist/catalog/TextField/index.jsx.map +1 -0
  241. package/openui/dist/catalog/index.d.ts +14 -7
  242. package/openui/dist/catalog/index.js +14 -7
  243. package/openui/dist/catalog/index.js.map +1 -1
  244. package/openui/dist/core/context.d.ts +22 -8
  245. package/openui/dist/core/{context.js → context.jsx} +10 -3
  246. package/openui/dist/core/context.jsx.map +1 -0
  247. package/openui/dist/core/createLibrary.d.ts +8 -1
  248. package/openui/dist/core/{createLibrary.js → createLibrary.jsx} +18 -3
  249. package/openui/dist/core/createLibrary.jsx.map +1 -0
  250. package/openui/dist/core/hooks/index.d.ts +1 -0
  251. package/openui/dist/core/hooks/index.js +1 -0
  252. package/openui/dist/core/hooks/index.js.map +1 -1
  253. package/openui/dist/core/hooks/useFormValidation.d.ts +9 -0
  254. package/openui/dist/core/hooks/useFormValidation.js +6 -0
  255. package/openui/dist/core/hooks/useFormValidation.js.map +1 -1
  256. package/openui/dist/core/hooks/useOpenUIState.d.ts +8 -2
  257. package/openui/dist/core/hooks/useOpenUIState.js +3 -1
  258. package/openui/dist/core/hooks/useOpenUIState.js.map +1 -1
  259. package/openui/dist/core/hooks/useStateField.d.ts +3 -0
  260. package/openui/dist/core/hooks/useStateField.js +4 -1
  261. package/openui/dist/core/hooks/useStateField.js.map +1 -1
  262. package/openui/dist/core/index.d.ts +13 -7
  263. package/openui/dist/core/index.js +7 -4
  264. package/openui/dist/core/index.js.map +1 -1
  265. package/openui/dist/core/library.d.ts +6 -1
  266. package/openui/dist/core/{library.js → library.jsx} +9 -1
  267. package/openui/dist/core/library.jsx.map +1 -0
  268. package/openui/dist/core/renderer.css +527 -0
  269. package/openui/dist/core/renderer.d.ts +41 -4
  270. package/openui/dist/core/renderer.jsx +284 -0
  271. package/openui/dist/core/renderer.jsx.map +1 -0
  272. package/openui/dist/core/runtime/index.d.ts +1 -0
  273. package/openui/dist/core/runtime/index.js +5 -0
  274. package/openui/dist/core/runtime/index.js.map +1 -0
  275. package/openui/dist/core/runtime/reactive.d.ts +7 -0
  276. package/openui/dist/core/runtime/reactive.js +10 -0
  277. package/openui/dist/core/runtime/reactive.js.map +1 -0
  278. package/openui/dist/openui-prompt/index.d.ts +47 -0
  279. package/openui/dist/openui-prompt/index.js +321 -0
  280. package/openui/dist/openui-prompt/index.js.map +1 -0
  281. package/package.json +20 -8
  282. package/openui/dist/catalog/Action/index.js.map +0 -1
  283. package/openui/dist/catalog/Button/index.js.map +0 -1
  284. package/openui/dist/catalog/CardHeader/index.js +0 -18
  285. package/openui/dist/catalog/CardHeader/index.js.map +0 -1
  286. package/openui/dist/catalog/Separator/index.js.map +0 -1
  287. package/openui/dist/catalog/Tag/index.js.map +0 -1
  288. package/openui/dist/core/context.js.map +0 -1
  289. package/openui/dist/core/createLibrary.js.map +0 -1
  290. package/openui/dist/core/library.js.map +0 -1
  291. package/openui/dist/core/renderer.js +0 -139
  292. package/openui/dist/core/renderer.js.map +0 -1
@@ -12,6 +12,9 @@ const supportedSourceExtensions = new Set([
12
12
  '.ts',
13
13
  '.tsx',
14
14
  ]);
15
+ /**
16
+ * Find supported source files under a file or directory path.
17
+ */
15
18
  export function findCatalogSourceFiles(inputPath) {
16
19
  const absoluteInputPath = path.resolve(inputPath);
17
20
  if (!fs.existsSync(absoluteInputPath)) {
@@ -25,10 +28,16 @@ export function findCatalogSourceFiles(inputPath) {
25
28
  collectSourceFiles(absoluteInputPath, files);
26
29
  return files.sort((left, right) => left.localeCompare(right));
27
30
  }
31
+ /**
32
+ * Run TypeDoc over source files and extract A2UI component schemas.
33
+ */
28
34
  export async function extractCatalogComponents(options) {
29
35
  const project = await createTypeDocProject(options);
30
36
  return extractCatalogComponentsFromTypeDocProject(project, options.cwd ? { cwd: options.cwd } : {});
31
37
  }
38
+ /**
39
+ * Extract A2UI component schemas from an already converted TypeDoc project.
40
+ */
32
41
  export function extractCatalogComponentsFromTypeDocProject(project, options = {}) {
33
42
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
34
43
  const components = [];
@@ -49,13 +58,22 @@ export function extractCatalogComponentsFromTypeDocProject(project, options = {}
49
58
  }
50
59
  return components;
51
60
  }
61
+ /**
62
+ * Extract A2UI component schemas from a serialized TypeDoc JSON project.
63
+ */
52
64
  export function extractCatalogComponentsFromTypeDocJson(project, options = {}) {
53
65
  return extractCatalogComponentsFromTypeDocProject(project, options);
54
66
  }
67
+ /**
68
+ * Run TypeDoc over source files and extract A2UI function definitions.
69
+ */
55
70
  export async function extractCatalogFunctions(options) {
56
71
  const project = await createTypeDocProject(options);
57
72
  return extractCatalogFunctionsFromTypeDocProject(project, options.cwd ? { cwd: options.cwd } : {});
58
73
  }
74
+ /**
75
+ * Extract A2UI function definitions from an already converted TypeDoc project.
76
+ */
59
77
  export function extractCatalogFunctionsFromTypeDocProject(project, options = {}) {
60
78
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
61
79
  const functions = [];
@@ -85,30 +103,42 @@ export function extractCatalogFunctionsFromTypeDocProject(project, options = {})
85
103
  }
86
104
  return functions;
87
105
  }
106
+ /**
107
+ * Extract A2UI function definitions from a serialized TypeDoc JSON project.
108
+ */
88
109
  export function extractCatalogFunctionsFromTypeDocJson(project, options = {}) {
89
110
  return extractCatalogFunctionsFromTypeDocProject(project, options);
90
111
  }
112
+ /**
113
+ * Extract component schemas and write one `catalog.json` per component.
114
+ */
91
115
  export async function writeComponentCatalogs(options) {
92
116
  const components = await extractCatalogComponents(options);
93
117
  writeCatalogComponents(components, options);
94
118
  return components;
95
119
  }
120
+ /**
121
+ * Write component schema artifacts that were already extracted.
122
+ */
96
123
  export function writeCatalogComponents(components, options) {
97
124
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
98
- const outDir = path.resolve(cwd, options.outDir);
125
+ const catalogDir = getComponentCatalogDir(path.resolve(cwd, options.outDir));
99
126
  for (const component of components) {
100
- const componentOutDir = path.join(outDir, component.name);
127
+ const componentOutDir = path.join(catalogDir, component.name);
101
128
  fs.mkdirSync(componentOutDir, { recursive: true });
102
129
  fs.writeFileSync(path.join(componentOutDir, 'catalog.json'), `${JSON.stringify({ [component.name]: component.schema }, null, 2)}\n`);
103
130
  }
104
131
  }
132
+ /**
133
+ * Extract A2UI function definitions and write one JSON artifact per function.
134
+ */
105
135
  export async function writeCatalogFunctionDefinitions(options) {
106
136
  const functions = await extractCatalogFunctions(options);
107
137
  writeCatalogFunctions(functions, options);
108
138
  return functions;
109
139
  }
110
140
  /**
111
- * Bootstrap TypeDoc once and emit both component and function catalog files.
141
+ * Bootstrap TypeDoc once and emit component manifests plus the full catalog.
112
142
  * Preferred entry point for the CLI — running the conversion twice doubles
113
143
  * cold-start latency on large catalogs.
114
144
  */
@@ -118,18 +148,25 @@ export async function writeCatalogArtifacts(options) {
118
148
  const components = extractCatalogComponentsFromTypeDocProject(project, cwdOptions);
119
149
  const functions = extractCatalogFunctionsFromTypeDocProject(project, cwdOptions);
120
150
  writeCatalogComponents(components, options);
121
- writeCatalogFunctions(functions, options);
151
+ writeA2UICatalog(createA2UICatalog({
152
+ catalogId: options.catalogId ?? 'catalog.json',
153
+ components,
154
+ functions,
155
+ }), options);
122
156
  return { components, functions };
123
157
  }
124
158
  // Function names must be valid JavaScript identifiers so they're safe to
125
159
  // (a) use as filesystem paths without escaping `..` or path separators and
126
160
  // (b) survive A2UI 0.9's wire format (`FunctionCall.call` is a bare name).
127
161
  const FUNCTION_NAME_RE = /^[a-z_$][\w$]*$/i;
162
+ /**
163
+ * Write function definition artifacts that were already extracted.
164
+ */
128
165
  export function writeCatalogFunctions(functions, options) {
129
166
  if (functions.length === 0)
130
167
  return;
131
168
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
132
- const functionsDir = path.join(path.resolve(cwd, options.outDir), 'functions');
169
+ const functionsDir = path.join(getComponentCatalogDir(path.resolve(cwd, options.outDir)), 'functions');
133
170
  fs.mkdirSync(functionsDir, { recursive: true });
134
171
  for (const fn of functions) {
135
172
  if (!FUNCTION_NAME_RE.test(fn.name)) {
@@ -141,6 +178,9 @@ export function writeCatalogFunctions(functions, options) {
141
178
  fs.writeFileSync(path.join(functionsDir, `${fn.name}.json`), `${JSON.stringify({ [fn.name]: definition }, null, 2)}\n`);
142
179
  }
143
180
  }
181
+ /**
182
+ * Build a full A2UI catalog manifest from component and function artifacts.
183
+ */
144
184
  export function createA2UICatalog(options) {
145
185
  const catalogComponents = Array.isArray(options.components)
146
186
  ? Object.fromEntries(options.components.map(component => [component.name, component.schema]))
@@ -148,10 +188,55 @@ export function createA2UICatalog(options) {
148
188
  return {
149
189
  catalogId: options.catalogId,
150
190
  components: catalogComponents,
151
- ...(options.functions ? { functions: options.functions } : {}),
191
+ ...(options.functions
192
+ ? { functions: createFunctionSchemas(options.functions) }
193
+ : {}),
152
194
  ...(options.theme ? { theme: options.theme } : {}),
153
195
  };
154
196
  }
197
+ function createFunctionSchemas(functions) {
198
+ const seenNames = new Set();
199
+ const duplicateNames = new Set();
200
+ for (const fn of functions) {
201
+ if (seenNames.has(fn.name)) {
202
+ duplicateNames.add(fn.name);
203
+ }
204
+ seenNames.add(fn.name);
205
+ }
206
+ if (duplicateNames.size > 0) {
207
+ throw new Error(`[a2ui-catalog-extractor] Duplicate A2UI function name(s): ${[...duplicateNames].join(', ')}. Function names must be unique in a catalog.`);
208
+ }
209
+ return Object.fromEntries(functions.map(({ description, name, parameters, returnType }) => [
210
+ name,
211
+ {
212
+ type: 'object',
213
+ ...(description ? { description } : {}),
214
+ properties: {
215
+ call: { const: name },
216
+ args: stripSchemaDialect(parameters),
217
+ returnType: { const: returnType },
218
+ },
219
+ required: ['call', 'args'],
220
+ unevaluatedProperties: false,
221
+ },
222
+ ]));
223
+ }
224
+ function stripSchemaDialect(schema) {
225
+ const { $schema: _schema, ...rest } = schema;
226
+ return rest;
227
+ }
228
+ /**
229
+ * Write a full A2UI catalog manifest as `catalog.json`.
230
+ */
231
+ export function writeA2UICatalog(catalog, options) {
232
+ const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
233
+ const outDir = path.resolve(cwd, options.outDir);
234
+ fs.mkdirSync(outDir, { recursive: true });
235
+ fs.writeFileSync(path.join(outDir, 'catalog.json'), `${JSON.stringify(catalog, null, 2)}\n`);
236
+ }
237
+ function getComponentCatalogDir(outDir) {
238
+ return path.join(outDir, 'catalog');
239
+ }
155
240
  async function createTypeDocProject(options) {
156
241
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
157
242
  // TypeDoc treats `entryPoints` as glob patterns and rejects Windows
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}