@lynx-js/genui 0.0.3 → 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 (169) hide show
  1. package/a2ui/dist/catalog/Button/catalog.json +2 -1
  2. package/a2ui/dist/catalog/Button/index.d.ts +5 -0
  3. package/a2ui/dist/catalog/Button/index.jsx +3 -0
  4. package/a2ui/dist/catalog/Button/index.jsx.map +1 -1
  5. package/a2ui/dist/catalog/Card/catalog.json +2 -1
  6. package/a2ui/dist/catalog/Card/index.d.ts +5 -0
  7. package/a2ui/dist/catalog/Card/index.jsx +3 -0
  8. package/a2ui/dist/catalog/Card/index.jsx.map +1 -1
  9. package/a2ui/dist/catalog/CheckBox/catalog.json +2 -1
  10. package/a2ui/dist/catalog/CheckBox/index.d.ts +5 -0
  11. package/a2ui/dist/catalog/CheckBox/index.jsx +3 -0
  12. package/a2ui/dist/catalog/CheckBox/index.jsx.map +1 -1
  13. package/a2ui/dist/catalog/ChoicePicker/catalog.json +2 -1
  14. package/a2ui/dist/catalog/ChoicePicker/index.d.ts +5 -0
  15. package/a2ui/dist/catalog/ChoicePicker/index.jsx +3 -0
  16. package/a2ui/dist/catalog/ChoicePicker/index.jsx.map +1 -1
  17. package/a2ui/dist/catalog/Column/catalog.json +2 -1
  18. package/a2ui/dist/catalog/Column/index.d.ts +5 -0
  19. package/a2ui/dist/catalog/Column/index.jsx +3 -0
  20. package/a2ui/dist/catalog/Column/index.jsx.map +1 -1
  21. package/a2ui/dist/catalog/DateTimeInput/catalog.json +2 -1
  22. package/a2ui/dist/catalog/DateTimeInput/index.d.ts +5 -0
  23. package/a2ui/dist/catalog/DateTimeInput/index.jsx +3 -0
  24. package/a2ui/dist/catalog/DateTimeInput/index.jsx.map +1 -1
  25. package/a2ui/dist/catalog/Divider/catalog.json +2 -1
  26. package/a2ui/dist/catalog/Divider/index.d.ts +5 -0
  27. package/a2ui/dist/catalog/Divider/index.jsx +3 -0
  28. package/a2ui/dist/catalog/Divider/index.jsx.map +1 -1
  29. package/a2ui/dist/catalog/Icon/catalog.json +2 -1
  30. package/a2ui/dist/catalog/Icon/index.d.ts +5 -0
  31. package/a2ui/dist/catalog/Icon/index.jsx +3 -0
  32. package/a2ui/dist/catalog/Icon/index.jsx.map +1 -1
  33. package/a2ui/dist/catalog/Image/catalog.json +2 -1
  34. package/a2ui/dist/catalog/Image/index.d.ts +5 -0
  35. package/a2ui/dist/catalog/Image/index.jsx +3 -0
  36. package/a2ui/dist/catalog/Image/index.jsx.map +1 -1
  37. package/a2ui/dist/catalog/LazyComponent/catalog.json +37 -0
  38. package/a2ui/dist/catalog/LazyComponent/index.d.ts +27 -0
  39. package/a2ui/dist/catalog/LazyComponent/index.jsx +39 -0
  40. package/a2ui/dist/catalog/LazyComponent/index.jsx.map +1 -0
  41. package/a2ui/dist/catalog/LineChart/catalog.json +2 -1
  42. package/a2ui/dist/catalog/LineChart/index.d.ts +8 -0
  43. package/a2ui/dist/catalog/LineChart/index.jsx +3 -0
  44. package/a2ui/dist/catalog/LineChart/index.jsx.map +1 -1
  45. package/a2ui/dist/catalog/List/catalog.json +2 -1
  46. package/a2ui/dist/catalog/List/index.d.ts +5 -0
  47. package/a2ui/dist/catalog/List/index.jsx +3 -0
  48. package/a2ui/dist/catalog/List/index.jsx.map +1 -1
  49. package/a2ui/dist/catalog/Loading/catalog.json +2 -1
  50. package/a2ui/dist/catalog/Loading/index.d.ts +5 -0
  51. package/a2ui/dist/catalog/Loading/index.jsx +3 -0
  52. package/a2ui/dist/catalog/Loading/index.jsx.map +1 -1
  53. package/a2ui/dist/catalog/Modal/catalog.json +2 -1
  54. package/a2ui/dist/catalog/Modal/index.d.ts +5 -0
  55. package/a2ui/dist/catalog/Modal/index.jsx +3 -0
  56. package/a2ui/dist/catalog/Modal/index.jsx.map +1 -1
  57. package/a2ui/dist/catalog/PieChart/catalog.json +2 -1
  58. package/a2ui/dist/catalog/PieChart/index.d.ts +8 -0
  59. package/a2ui/dist/catalog/PieChart/index.jsx +3 -0
  60. package/a2ui/dist/catalog/PieChart/index.jsx.map +1 -1
  61. package/a2ui/dist/catalog/RadioGroup/catalog.json +2 -1
  62. package/a2ui/dist/catalog/RadioGroup/index.d.ts +5 -0
  63. package/a2ui/dist/catalog/RadioGroup/index.jsx +3 -0
  64. package/a2ui/dist/catalog/RadioGroup/index.jsx.map +1 -1
  65. package/a2ui/dist/catalog/Row/catalog.json +2 -1
  66. package/a2ui/dist/catalog/Row/index.d.ts +5 -0
  67. package/a2ui/dist/catalog/Row/index.jsx +3 -0
  68. package/a2ui/dist/catalog/Row/index.jsx.map +1 -1
  69. package/a2ui/dist/catalog/Slider/catalog.json +2 -1
  70. package/a2ui/dist/catalog/Slider/index.d.ts +5 -0
  71. package/a2ui/dist/catalog/Slider/index.jsx +3 -0
  72. package/a2ui/dist/catalog/Slider/index.jsx.map +1 -1
  73. package/a2ui/dist/catalog/Tabs/catalog.json +2 -1
  74. package/a2ui/dist/catalog/Tabs/index.d.ts +5 -0
  75. package/a2ui/dist/catalog/Tabs/index.jsx +3 -0
  76. package/a2ui/dist/catalog/Tabs/index.jsx.map +1 -1
  77. package/a2ui/dist/catalog/Text/catalog.json +2 -1
  78. package/a2ui/dist/catalog/Text/index.d.ts +5 -0
  79. package/a2ui/dist/catalog/Text/index.jsx +3 -0
  80. package/a2ui/dist/catalog/Text/index.jsx.map +1 -1
  81. package/a2ui/dist/catalog/TextField/catalog.json +2 -1
  82. package/a2ui/dist/catalog/TextField/index.d.ts +5 -0
  83. package/a2ui/dist/catalog/TextField/index.jsx +3 -0
  84. package/a2ui/dist/catalog/TextField/index.jsx.map +1 -1
  85. package/a2ui/dist/catalog/defineCatalog.d.ts +4 -0
  86. package/a2ui/dist/catalog/defineCatalog.js.map +1 -1
  87. package/a2ui/dist/catalog/index.d.ts +1 -0
  88. package/a2ui/dist/catalog/index.js +77 -19
  89. package/a2ui/dist/catalog/index.js.map +1 -1
  90. package/a2ui/dist/catalog.json +74 -19
  91. package/a2ui/dist/index.d.ts +1 -1
  92. package/a2ui/dist/index.js +1 -1
  93. package/a2ui/dist/index.js.map +1 -1
  94. package/a2ui/dist/react/A2UI.d.ts +3 -0
  95. package/a2ui/dist/react/A2UI.jsx.map +1 -1
  96. package/a2ui/dist/react/A2UIRenderer.d.ts +5 -18
  97. package/a2ui/dist/react/A2UIRenderer.jsx.map +1 -1
  98. package/a2ui/dist/react/useAction.d.ts +7 -0
  99. package/a2ui/dist/react/useAction.js +4 -0
  100. package/a2ui/dist/react/useAction.js.map +1 -1
  101. package/a2ui/dist/react/useDataBinding.d.ts +7 -5
  102. package/a2ui/dist/react/useDataBinding.js +18 -0
  103. package/a2ui/dist/react/useDataBinding.js.map +1 -1
  104. package/a2ui/dist/store/FunctionRegistry.d.ts +7 -0
  105. package/a2ui/dist/store/FunctionRegistry.js +4 -0
  106. package/a2ui/dist/store/FunctionRegistry.js.map +1 -1
  107. package/a2ui/dist/store/MessageProcessor.d.ts +7 -0
  108. package/a2ui/dist/store/MessageProcessor.js +4 -0
  109. package/a2ui/dist/store/MessageProcessor.js.map +1 -1
  110. package/a2ui/dist/store/MessageStore.d.ts +6 -0
  111. package/a2ui/dist/store/MessageStore.js +3 -0
  112. package/a2ui/dist/store/MessageStore.js.map +1 -1
  113. package/a2ui/dist/store/Resource.d.ts +8 -0
  114. package/a2ui/dist/store/Resource.js +4 -0
  115. package/a2ui/dist/store/Resource.js.map +1 -1
  116. package/a2ui/dist/store/SignalStore.d.ts +3 -2
  117. package/a2ui/dist/store/SignalStore.js +9 -0
  118. package/a2ui/dist/store/SignalStore.js.map +1 -1
  119. package/a2ui/dist/store/resolveDynamic.d.ts +4 -3
  120. package/a2ui/dist/store/resolveDynamic.js +19 -0
  121. package/a2ui/dist/store/resolveDynamic.js.map +1 -1
  122. package/a2ui/dist/store/resolveFunctionCall.d.ts +7 -0
  123. package/a2ui/dist/store/resolveFunctionCall.js +4 -0
  124. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -1
  125. package/a2ui/dist/store/types.d.ts +13 -0
  126. package/a2ui/dist/store/utils.d.ts +6 -4
  127. package/a2ui/dist/store/utils.js +26 -0
  128. package/a2ui/dist/store/utils.js.map +1 -1
  129. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -1
  130. package/a2ui/docs/catalog-guide.md +12 -6
  131. package/a2ui/docs/catalog-guide_zh.md +12 -6
  132. package/a2ui/src/catalog/index.ts +1 -0
  133. package/a2ui/src/index.ts +1 -0
  134. package/a2ui-catalog-extractor/dist/index.d.ts +88 -0
  135. package/a2ui-catalog-extractor/dist/index.js +39 -0
  136. package/a2ui-catalog-extractor/dist/index.js.map +1 -1
  137. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -1
  138. package/a2ui-prompt/dist/index.d.ts +39 -0
  139. package/a2ui-prompt/dist/index.js +1 -1
  140. package/cli/dist/tsconfig.build.tsbuildinfo +1 -1
  141. package/dist/index.d.ts +2 -0
  142. package/dist/index.js +1 -0
  143. package/dist/index.js.map +1 -1
  144. package/dist/tsconfig.build.tsbuildinfo +1 -1
  145. package/index.ts +12 -0
  146. package/openui/dist/core/context.d.ts +5 -1
  147. package/openui/dist/core/context.jsx +2 -1
  148. package/openui/dist/core/context.jsx.map +1 -1
  149. package/openui/dist/core/createLibrary.d.ts +7 -0
  150. package/openui/dist/core/createLibrary.jsx +4 -0
  151. package/openui/dist/core/createLibrary.jsx.map +1 -1
  152. package/openui/dist/core/hooks/useFormValidation.d.ts +9 -0
  153. package/openui/dist/core/hooks/useFormValidation.js +6 -0
  154. package/openui/dist/core/hooks/useFormValidation.js.map +1 -1
  155. package/openui/dist/core/hooks/useOpenUIState.d.ts +6 -0
  156. package/openui/dist/core/hooks/useOpenUIState.js.map +1 -1
  157. package/openui/dist/core/hooks/useStateField.d.ts +3 -0
  158. package/openui/dist/core/hooks/useStateField.js +3 -0
  159. package/openui/dist/core/hooks/useStateField.js.map +1 -1
  160. package/openui/dist/core/library.d.ts +6 -1
  161. package/openui/dist/core/library.jsx +8 -0
  162. package/openui/dist/core/library.jsx.map +1 -1
  163. package/openui/dist/core/renderer.d.ts +10 -0
  164. package/openui/dist/core/renderer.jsx +3 -0
  165. package/openui/dist/core/renderer.jsx.map +1 -1
  166. package/openui/dist/openui-prompt/index.d.ts +47 -0
  167. package/openui/dist/openui-prompt/index.js +321 -0
  168. package/openui/dist/openui-prompt/index.js.map +1 -0
  169. package/package.json +10 -8
@@ -59,7 +59,7 @@ Bundlers tree-shake unused components: pulling in `Text` does **not** drag
59
59
 
60
60
  ## The built-in components
61
61
 
62
- The package ships 20 A2UI v0.9 basic-catalog renderers. Each is an
62
+ The package ships 21 A2UI v0.9 basic-catalog renderers. Each is an
63
63
  independent, tree-shakeable export, available from the root or from
64
64
  `@lynx-js/genui/a2ui/catalog/<Name>`.
65
65
 
@@ -77,11 +77,12 @@ independent, tree-shakeable export, available from the root or from
77
77
 
78
78
  **Content**
79
79
 
80
- | Component | What it renders |
81
- | --------- | -------------------------------------------------------------- |
82
- | `Text` | A string of text, with a `variant` such as `body` for styling. |
83
- | `Image` | An image from a source URL. |
84
- | `Icon` | A named icon glyph. |
80
+ | Component | What it renders |
81
+ | --------------- | -------------------------------------------------------------- |
82
+ | `Text` | A string of text, with a `variant` such as `body` for styling. |
83
+ | `Image` | An image from a source URL. |
84
+ | `Icon` | A named icon glyph. |
85
+ | `LazyComponent` | A ReactLynx lazy bundle loaded from a resource URL. |
85
86
 
86
87
  **Input and actions**
87
88
 
@@ -199,6 +200,7 @@ import {
199
200
  Column,
200
201
  DateTimeInput,
201
202
  Divider,
203
+ LazyComponent,
202
204
  Icon,
203
205
  Image,
204
206
  LineChart,
@@ -234,6 +236,9 @@ import dateTimeInputManifest from '@lynx-js/genui/a2ui/catalog/DateTimeInput/cat
234
236
  import dividerManifest from '@lynx-js/genui/a2ui/catalog/Divider/catalog.json' with {
235
237
  type: 'json',
236
238
  };
239
+ import lazyComponentManifest from '@lynx-js/genui/a2ui/catalog/LazyComponent/catalog.json' with {
240
+ type: 'json',
241
+ };
237
242
  import iconManifest from '@lynx-js/genui/a2ui/catalog/Icon/catalog.json' with {
238
243
  type: 'json',
239
244
  };
@@ -284,6 +289,7 @@ export const allBuiltins = defineCatalog([
284
289
  [Modal, modalManifest],
285
290
  [Button, buttonManifest],
286
291
  [Divider, dividerManifest],
292
+ [LazyComponent, lazyComponentManifest],
287
293
  [LineChart, lineChartManifest],
288
294
  [PieChart, pieChartManifest],
289
295
  [TextField, textFieldManifest],
@@ -52,7 +52,7 @@ const catalog = defineCatalog([Text, Button]);
52
52
 
53
53
  ## 内置组件
54
54
 
55
- 这个包提供 20 个 A2UI v0.9 basic-catalog renderer。每个都是独立、可 tree-shake
55
+ 这个包提供 21 个 A2UI v0.9 basic-catalog renderer。每个都是独立、可 tree-shake
56
56
  的导出,既可从根导入,也可从 `@lynx-js/genui/a2ui/catalog/<Name>` 导入。
57
57
 
58
58
  **布局与容器**
@@ -69,11 +69,12 @@ const catalog = defineCatalog([Text, Button]);
69
69
 
70
70
  **内容**
71
71
 
72
- | 组件 | 渲染什么 |
73
- | ------- | --------------------------------------------- |
74
- | `Text` | 一段文本,带 `variant`(如 `body`)控制样式。 |
75
- | `Image` | 来自 source URL 的图片。 |
76
- | `Icon` | 一个具名 icon 字形。 |
72
+ | 组件 | 渲染什么 |
73
+ | --------------- | --------------------------------------------- |
74
+ | `Text` | 一段文本,带 `variant`(如 `body`)控制样式。 |
75
+ | `Image` | 来自 source URL 的图片。 |
76
+ | `Icon` | 一个具名 icon 字形。 |
77
+ | `LazyComponent` | 从资源 URL 加载的 ReactLynx lazy bundle。 |
77
78
 
78
79
  **输入与动作**
79
80
 
@@ -183,6 +184,7 @@ import {
183
184
  Column,
184
185
  DateTimeInput,
185
186
  Divider,
187
+ LazyComponent,
186
188
  Icon,
187
189
  Image,
188
190
  LineChart,
@@ -218,6 +220,9 @@ import dateTimeInputManifest from '@lynx-js/genui/a2ui/catalog/DateTimeInput/cat
218
220
  import dividerManifest from '@lynx-js/genui/a2ui/catalog/Divider/catalog.json' with {
219
221
  type: 'json',
220
222
  };
223
+ import lazyComponentManifest from '@lynx-js/genui/a2ui/catalog/LazyComponent/catalog.json' with {
224
+ type: 'json',
225
+ };
221
226
  import iconManifest from '@lynx-js/genui/a2ui/catalog/Icon/catalog.json' with {
222
227
  type: 'json',
223
228
  };
@@ -268,6 +273,7 @@ export const allBuiltins = defineCatalog([
268
273
  [Modal, modalManifest],
269
274
  [Button, buttonManifest],
270
275
  [Divider, dividerManifest],
276
+ [LazyComponent, lazyComponentManifest],
271
277
  [LineChart, lineChartManifest],
272
278
  [PieChart, pieChartManifest],
273
279
  [TextField, textFieldManifest],
@@ -37,6 +37,7 @@ export { LineChart } from './LineChart/index.jsx';
37
37
  export { PieChart } from './PieChart/index.jsx';
38
38
  export { Column } from './Column/index.jsx';
39
39
  export { Divider } from './Divider/index.jsx';
40
+ export { LazyComponent } from './LazyComponent/index.jsx';
40
41
  export { Icon } from './Icon/index.jsx';
41
42
  export { Image } from './Image/index.jsx';
42
43
  export { List } from './List/index.jsx';
package/a2ui/src/index.ts CHANGED
@@ -93,6 +93,7 @@ export {
93
93
  DateTimeInput,
94
94
  Column,
95
95
  Divider,
96
+ LazyComponent,
96
97
  Image,
97
98
  LineChart,
98
99
  PieChart,
@@ -1,4 +1,7 @@
1
1
  import type { ProjectReflection } from 'typedoc';
2
+ /**
3
+ * JSON Schema subset emitted for A2UI component props and function arguments.
4
+ */
2
5
  export interface JsonSchema {
3
6
  $ref?: string;
4
7
  additionalProperties?: boolean | JsonSchema;
@@ -14,30 +17,49 @@ export interface JsonSchema {
14
17
  type?: string;
15
18
  unevaluatedProperties?: boolean | JsonSchema;
16
19
  }
20
+ /**
21
+ * Component schema discovered from an interface annotated with `@a2uiCatalog`.
22
+ */
17
23
  export interface CatalogComponent {
18
24
  filePath: string;
19
25
  interfaceName: string;
20
26
  name: string;
21
27
  schema: JsonSchema;
22
28
  }
29
+ /**
30
+ * Source and compiler inputs used when extracting catalog metadata.
31
+ */
23
32
  export interface ExtractCatalogOptions {
24
33
  cwd?: string;
25
34
  sourceFiles: string[];
26
35
  tsconfig?: string;
27
36
  }
37
+ /**
38
+ * Options used when extracting catalog metadata from an existing TypeDoc
39
+ * project reflection.
40
+ */
28
41
  export interface ExtractCatalogFromTypeDocOptions {
29
42
  cwd?: string;
30
43
  }
44
+ /**
45
+ * Options for writing extracted catalog artifacts to disk.
46
+ */
31
47
  export interface WriteComponentCatalogOptions extends ExtractCatalogOptions {
32
48
  catalogId?: string;
33
49
  outDir: string;
34
50
  }
51
+ /**
52
+ * Full catalog manifest consumed by A2UI agents and renderers.
53
+ */
35
54
  export interface A2UICatalog {
36
55
  catalogId: string;
37
56
  components?: Record<string, JsonSchema>;
38
57
  functions?: Record<string, JsonSchema>;
39
58
  theme?: Record<string, JsonSchema>;
40
59
  }
60
+ /**
61
+ * Serializable definition for a client-side function exposed to an agent.
62
+ */
41
63
  export interface FunctionDefinition {
42
64
  description?: string;
43
65
  name: string;
@@ -48,9 +70,15 @@ export interface FunctionDefinition {
48
70
  export interface CatalogFunction extends FunctionDefinition {
49
71
  filePath: string;
50
72
  }
73
+ /**
74
+ * Minimal TypeDoc project shape accepted by the extractor.
75
+ */
51
76
  export interface TypeDocProject {
52
77
  children?: TypeDocReflection[];
53
78
  }
79
+ /**
80
+ * Minimal TypeDoc reflection shape used while walking declarations.
81
+ */
54
82
  export interface TypeDocReflection {
55
83
  children?: TypeDocReflection[];
56
84
  comment?: TypeDocComment;
@@ -66,6 +94,9 @@ export interface TypeDocReflection {
66
94
  sources?: TypeDocSource[];
67
95
  type?: TypeDocType;
68
96
  }
97
+ /**
98
+ * Minimal TypeDoc function or method signature shape used by the extractor.
99
+ */
69
100
  export interface TypeDocSignature {
70
101
  comment?: TypeDocComment;
71
102
  kind?: number;
@@ -74,21 +105,33 @@ export interface TypeDocSignature {
74
105
  parameters?: TypeDocReflection[];
75
106
  type?: TypeDocType;
76
107
  }
108
+ /**
109
+ * Source location metadata supplied by TypeDoc.
110
+ */
77
111
  export interface TypeDocSource {
78
112
  character?: number;
79
113
  fileName?: string;
80
114
  fullFileName?: string;
81
115
  line?: number;
82
116
  }
117
+ /**
118
+ * TypeDoc comment shape used to read summary text and custom tags.
119
+ */
83
120
  export interface TypeDocComment {
84
121
  blockTags?: TypeDocCommentTag[];
85
122
  modifierTags?: Iterable<string> | Record<string, boolean>;
86
123
  summary?: TypeDocCommentDisplayPart[];
87
124
  }
125
+ /**
126
+ * Custom or standard block tag parsed from a TypeDoc comment.
127
+ */
88
128
  export interface TypeDocCommentTag {
89
129
  content?: TypeDocCommentDisplayPart[];
90
130
  tag: string;
91
131
  }
132
+ /**
133
+ * Text, code, or link fragment inside a TypeDoc comment.
134
+ */
92
135
  export interface TypeDocCommentDisplayPart {
93
136
  code?: string;
94
137
  content?: TypeDocCommentDisplayPart[];
@@ -97,6 +140,9 @@ export interface TypeDocCommentDisplayPart {
97
140
  target?: unknown;
98
141
  text?: string;
99
142
  }
143
+ /**
144
+ * Minimal TypeDoc type node shape used for schema conversion.
145
+ */
100
146
  export interface TypeDocType {
101
147
  declaration?: TypeDocReflection;
102
148
  elementType?: TypeDocType;
@@ -108,19 +154,52 @@ export interface TypeDocType {
108
154
  types?: TypeDocType[];
109
155
  value?: bigint | boolean | number | string | null;
110
156
  }
157
+ /**
158
+ * Find supported source files under a file or directory path.
159
+ */
111
160
  export declare function findCatalogSourceFiles(inputPath: string): string[];
161
+ /**
162
+ * Run TypeDoc over source files and extract A2UI component schemas.
163
+ */
112
164
  export declare function extractCatalogComponents(options: ExtractCatalogOptions): Promise<CatalogComponent[]>;
165
+ /**
166
+ * Extract A2UI component schemas from an already converted TypeDoc project.
167
+ */
113
168
  export declare function extractCatalogComponentsFromTypeDocProject(project: ProjectReflection | TypeDocProject, options?: ExtractCatalogFromTypeDocOptions): CatalogComponent[];
169
+ /**
170
+ * Extract A2UI component schemas from a serialized TypeDoc JSON project.
171
+ */
114
172
  export declare function extractCatalogComponentsFromTypeDocJson(project: TypeDocProject, options?: ExtractCatalogFromTypeDocOptions): CatalogComponent[];
173
+ /**
174
+ * Run TypeDoc over source files and extract A2UI function definitions.
175
+ */
115
176
  export declare function extractCatalogFunctions(options: ExtractCatalogOptions): Promise<CatalogFunction[]>;
177
+ /**
178
+ * Extract A2UI function definitions from an already converted TypeDoc project.
179
+ */
116
180
  export declare function extractCatalogFunctionsFromTypeDocProject(project: ProjectReflection | TypeDocProject, options?: ExtractCatalogFromTypeDocOptions): CatalogFunction[];
181
+ /**
182
+ * Extract A2UI function definitions from a serialized TypeDoc JSON project.
183
+ */
117
184
  export declare function extractCatalogFunctionsFromTypeDocJson(project: TypeDocProject, options?: ExtractCatalogFromTypeDocOptions): CatalogFunction[];
185
+ /**
186
+ * Extract component schemas and write one `catalog.json` per component.
187
+ */
118
188
  export declare function writeComponentCatalogs(options: WriteComponentCatalogOptions): Promise<CatalogComponent[]>;
189
+ /**
190
+ * Write component schema artifacts that were already extracted.
191
+ */
119
192
  export declare function writeCatalogComponents(components: CatalogComponent[], options: {
120
193
  cwd?: string;
121
194
  outDir: string;
122
195
  }): void;
196
+ /**
197
+ * Extract A2UI function definitions and write one JSON artifact per function.
198
+ */
123
199
  export declare function writeCatalogFunctionDefinitions(options: WriteComponentCatalogOptions): Promise<CatalogFunction[]>;
200
+ /**
201
+ * Component and function artifacts produced by a single extraction pass.
202
+ */
124
203
  export interface CatalogArtifacts {
125
204
  components: CatalogComponent[];
126
205
  functions: CatalogFunction[];
@@ -131,16 +210,25 @@ export interface CatalogArtifacts {
131
210
  * cold-start latency on large catalogs.
132
211
  */
133
212
  export declare function writeCatalogArtifacts(options: WriteComponentCatalogOptions): Promise<CatalogArtifacts>;
213
+ /**
214
+ * Write function definition artifacts that were already extracted.
215
+ */
134
216
  export declare function writeCatalogFunctions(functions: CatalogFunction[], options: {
135
217
  cwd?: string;
136
218
  outDir: string;
137
219
  }): void;
220
+ /**
221
+ * Build a full A2UI catalog manifest from component and function artifacts.
222
+ */
138
223
  export declare function createA2UICatalog(options: {
139
224
  catalogId: string;
140
225
  components: CatalogComponent[] | Record<string, JsonSchema>;
141
226
  functions?: FunctionDefinition[];
142
227
  theme?: Record<string, JsonSchema>;
143
228
  }): A2UICatalog;
229
+ /**
230
+ * Write a full A2UI catalog manifest as `catalog.json`.
231
+ */
144
232
  export declare function writeA2UICatalog(catalog: A2UICatalog, options: {
145
233
  cwd?: string;
146
234
  outDir: string;
@@ -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,14 +103,23 @@ 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
125
  const catalogDir = getComponentCatalogDir(path.resolve(cwd, options.outDir));
@@ -102,6 +129,9 @@ export function writeCatalogComponents(components, options) {
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);
@@ -129,6 +159,9 @@ export async function writeCatalogArtifacts(options) {
129
159
  // (a) use as filesystem paths without escaping `..` or path separators and
130
160
  // (b) survive A2UI 0.9's wire format (`FunctionCall.call` is a bare name).
131
161
  const FUNCTION_NAME_RE = /^[a-z_$][\w$]*$/i;
162
+ /**
163
+ * Write function definition artifacts that were already extracted.
164
+ */
132
165
  export function writeCatalogFunctions(functions, options) {
133
166
  if (functions.length === 0)
134
167
  return;
@@ -145,6 +178,9 @@ export function writeCatalogFunctions(functions, options) {
145
178
  fs.writeFileSync(path.join(functionsDir, `${fn.name}.json`), `${JSON.stringify({ [fn.name]: definition }, null, 2)}\n`);
146
179
  }
147
180
  }
181
+ /**
182
+ * Build a full A2UI catalog manifest from component and function artifacts.
183
+ */
148
184
  export function createA2UICatalog(options) {
149
185
  const catalogComponents = Array.isArray(options.components)
150
186
  ? Object.fromEntries(options.components.map(component => [component.name, component.schema]))
@@ -189,6 +225,9 @@ function stripSchemaDialect(schema) {
189
225
  const { $schema: _schema, ...rest } = schema;
190
226
  return rest;
191
227
  }
228
+ /**
229
+ * Write a full A2UI catalog manifest as `catalog.json`.
230
+ */
192
231
  export function writeA2UICatalog(catalog, options) {
193
232
  const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
194
233
  const outDir = path.resolve(cwd, options.outDir);
@@ -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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"}