@lynx-js/genui 0.0.1-rc.0 → 0.0.1

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 (78) hide show
  1. package/a2ui/README.md +777 -100
  2. package/a2ui/dist/catalog/ChoicePicker/catalog.json +265 -0
  3. package/a2ui/dist/catalog/ChoicePicker/index.d.ts +56 -0
  4. package/a2ui/dist/catalog/ChoicePicker/index.js +66 -0
  5. package/a2ui/dist/catalog/ChoicePicker/index.js.map +1 -0
  6. package/a2ui/dist/catalog/ChoicePicker/utils.d.ts +13 -0
  7. package/a2ui/dist/catalog/ChoicePicker/utils.js +80 -0
  8. package/a2ui/dist/catalog/ChoicePicker/utils.js.map +1 -0
  9. package/a2ui/dist/catalog/Column/index.js +3 -7
  10. package/a2ui/dist/catalog/Column/index.js.map +1 -1
  11. package/a2ui/dist/catalog/DateTimeInput/catalog.json +165 -0
  12. package/a2ui/dist/catalog/DateTimeInput/index.d.ts +43 -0
  13. package/a2ui/dist/catalog/DateTimeInput/index.js +147 -0
  14. package/a2ui/dist/catalog/DateTimeInput/index.js.map +1 -0
  15. package/a2ui/dist/catalog/DateTimeInput/utils.d.ts +53 -0
  16. package/a2ui/dist/catalog/DateTimeInput/utils.js +248 -0
  17. package/a2ui/dist/catalog/DateTimeInput/utils.js.map +1 -0
  18. package/a2ui/dist/catalog/Icon/catalog.json +173 -2
  19. package/a2ui/dist/catalog/Icon/index.d.ts +2 -2
  20. package/a2ui/dist/catalog/Icon/index.js.map +1 -1
  21. package/a2ui/dist/catalog/Image/catalog.json +1 -17
  22. package/a2ui/dist/catalog/Image/index.d.ts +1 -3
  23. package/a2ui/dist/catalog/Image/index.js +3 -11
  24. package/a2ui/dist/catalog/Image/index.js.map +1 -1
  25. package/a2ui/dist/catalog/LineChart/index.js +3 -3
  26. package/a2ui/dist/catalog/LineChart/index.js.map +1 -1
  27. package/a2ui/dist/catalog/Modal/index.js +1 -1
  28. package/a2ui/dist/catalog/Modal/index.js.map +1 -1
  29. package/a2ui/dist/catalog/index.d.ts +4 -0
  30. package/a2ui/dist/catalog/index.js +2046 -3
  31. package/a2ui/dist/catalog/index.js.map +1 -1
  32. package/a2ui/dist/index.d.ts +1 -1
  33. package/a2ui/dist/index.js +1 -1
  34. package/a2ui/dist/index.js.map +1 -1
  35. package/a2ui/dist/react/A2UIRenderer.d.ts +1 -0
  36. package/a2ui/dist/react/A2UIRenderer.js +8 -6
  37. package/a2ui/dist/react/A2UIRenderer.js.map +1 -1
  38. package/a2ui/dist/react/useAction.js +2 -1
  39. package/a2ui/dist/react/useAction.js.map +1 -1
  40. package/a2ui/dist/react/useChecks.js +7 -2
  41. package/a2ui/dist/react/useChecks.js.map +1 -1
  42. package/a2ui/dist/react/useDataBinding.d.ts +1 -1
  43. package/a2ui/dist/react/useDataBinding.js +24 -48
  44. package/a2ui/dist/react/useDataBinding.js.map +1 -1
  45. package/a2ui/dist/store/MessageProcessor.js +7 -19
  46. package/a2ui/dist/store/MessageProcessor.js.map +1 -1
  47. package/a2ui/dist/store/SignalStore.d.ts +2 -0
  48. package/a2ui/dist/store/SignalStore.js +5 -0
  49. package/a2ui/dist/store/SignalStore.js.map +1 -1
  50. package/a2ui/dist/store/index.d.ts +3 -1
  51. package/a2ui/dist/store/index.js +3 -1
  52. package/a2ui/dist/store/index.js.map +1 -1
  53. package/a2ui/dist/store/resolveDynamic.d.ts +9 -0
  54. package/a2ui/dist/store/resolveDynamic.js +88 -0
  55. package/a2ui/dist/store/resolveDynamic.js.map +1 -0
  56. package/a2ui/dist/store/resolveFunctionCall.d.ts +2 -4
  57. package/a2ui/dist/store/resolveFunctionCall.js +24 -82
  58. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -1
  59. package/a2ui/dist/store/signalResolution.d.ts +4 -0
  60. package/a2ui/dist/store/signalResolution.js +25 -0
  61. package/a2ui/dist/store/signalResolution.js.map +1 -0
  62. package/a2ui/dist/store/utils.d.ts +7 -0
  63. package/a2ui/dist/store/utils.js +24 -0
  64. package/a2ui/dist/store/utils.js.map +1 -0
  65. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -1
  66. package/a2ui/styles/catalog/ChoicePicker.css +157 -0
  67. package/a2ui/styles/catalog/DateTimeInput.css +375 -0
  68. package/a2ui/styles/catalog/Icon.css +1 -1
  69. package/a2ui/styles/catalog/Text.css +11 -11
  70. package/a2ui/styles/theme.css +2 -1
  71. package/a2ui-catalog-extractor/README.md +23 -15
  72. package/a2ui-catalog-extractor/bin/a2ui-catalog-extractor.js +0 -1
  73. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -1
  74. package/a2ui-prompt/README.md +1 -2
  75. package/a2ui-prompt/dist/index.js +65 -31
  76. package/cli/bin/cli.js +5 -2
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/package.json +8 -1
@@ -2,12 +2,16 @@
2
2
 
3
3
  English | [简体中文](./readme.zh_cn.md)
4
4
 
5
- `@lynx-js/genui/a2ui-catalog-extractor` turns TypeScript component
6
- interfaces into A2UI component catalog JSON. You write the public
7
- component contract once as a TypeScript `interface`, describe it with
8
- normal TypeDoc comments, and let this package generate the JSON Schema
5
+ `@lynx-js/genui/a2ui-catalog-extractor` is the internal TypeDoc-powered extraction
6
+ engine behind `genui a2ui generate catalog`. It turns TypeScript component
7
+ interfaces into A2UI component catalog JSON. You write the public component
8
+ contract once as a TypeScript `interface`, describe it with normal TypeDoc
9
+ comments, and run the public `genui a2ui` command to generate the JSON Schema
9
10
  that an A2UI agent can read.
10
11
 
12
+ For user-facing scripts, use `genui a2ui generate catalog`. Treat
13
+ this package as the implementation layer for extraction behavior and tests.
14
+
11
15
  ## What It Does
12
16
 
13
17
  A2UI catalogs describe what components a renderer supports. For each
@@ -54,10 +58,10 @@ the marked interface.
54
58
 
55
59
  ### Package manager
56
60
 
57
- Install the extractor as a development dependency:
61
+ Run the public CLI after installing `@lynx-js/genui`:
58
62
 
59
63
  ```bash
60
- pnpm add -D @lynx-js/genui
64
+ genui a2ui --help
61
65
  ```
62
66
 
63
67
  Then add a script to your package:
@@ -65,7 +69,7 @@ Then add a script to your package:
65
69
  ```json
66
70
  {
67
71
  "scripts": {
68
- "build:catalog": "a2ui-catalog-extractor --catalog-dir src/catalog --out-dir dist/catalog"
72
+ "build:catalog": "genui a2ui generate catalog --catalog-dir src/catalog --out-dir dist/catalog"
69
73
  }
70
74
  }
71
75
  ```
@@ -128,7 +132,7 @@ extractor that this interface should become a catalog component named
128
132
  Run:
129
133
 
130
134
  ```bash
131
- a2ui-catalog-extractor --catalog-dir src/catalog --out-dir dist/catalog
135
+ genui a2ui generate catalog --catalog-dir src/catalog --out-dir dist/catalog
132
136
  ```
133
137
 
134
138
  The extractor scans the catalog directory, finds interfaces marked with
@@ -386,15 +390,13 @@ export interface CardProps {
386
390
 
387
391
  ## CLI Reference
388
392
 
389
- The package exposes the standalone `a2ui-catalog-extractor` binary. The
390
- `@lynx-js/genui-cli` also exposes this flow as
391
- `genui a2ui generate catalog`.
393
+ The public CLI entry point is
394
+ `genui a2ui generate catalog`. It delegates to this package
395
+ internally.
392
396
 
393
397
  ### Generate catalog artifacts
394
398
 
395
399
  ```bash
396
- a2ui-catalog-extractor [options]
397
- # or
398
400
  genui a2ui generate catalog [options]
399
401
  ```
400
402
 
@@ -413,7 +415,13 @@ all inputs, removes duplicates, sorts them, and then runs TypeDoc.
413
415
  The scanner accepts `.ts`, `.tsx`, `.js`, `.jsx`, `.mts`, and `.cts`
414
416
  files. It ignores `.d.ts`, `node_modules`, `dist`, and `.turbo`.
415
417
 
416
- ## Programmatic API
418
+ ## Repository-internal Programmatic API
419
+
420
+ These exports are documented for maintainers of `@lynx-js/genui-cli`, extractor
421
+ tests, and repository-internal tooling. They are not the external integration
422
+ surface for product code. Product build scripts should call
423
+ `genui a2ui generate catalog` instead of importing this package
424
+ directly.
417
425
 
418
426
  ### Generate components from source files
419
427
 
@@ -479,7 +487,7 @@ writeCatalogComponents(components, {
479
487
  The equivalent CLI command is:
480
488
 
481
489
  ```bash
482
- a2ui-catalog-extractor --typedoc-json typedoc.json --out-dir dist/catalog
490
+ genui a2ui generate catalog --typedoc-json typedoc.json --out-dir dist/catalog
483
491
  ```
484
492
 
485
493
  ### Create a full A2UI catalog object
@@ -2,5 +2,4 @@
2
2
  // Copyright 2026 The Lynx Authors. All rights reserved.
3
3
  // Licensed under the Apache License Version 2.0 that can be found in the
4
4
  // LICENSE file in the root directory of this source tree.
5
- // eslint-disable-next-line import/no-unresolved -- Generated by the package build.
6
5
  import '../dist/cli.js';