@loom-framework/core 0.1.0-alpha.19 → 0.1.0-alpha.191

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 (815) hide show
  1. package/builtin-skills/antd/SKILL.md +266 -0
  2. package/builtin-skills/antv-g2-chart/SKILL.md +1067 -0
  3. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-intro.md +176 -0
  4. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-keyframe.md +149 -0
  5. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-types.md +253 -0
  6. package/builtin-skills/antv-g2-chart/references/components/g2-comp-annotation.md +237 -0
  7. package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-config.md +648 -0
  8. package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-radar.md +219 -0
  9. package/builtin-skills/antv-g2-chart/references/components/g2-comp-label-config.md +174 -0
  10. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-category.md +278 -0
  11. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-config.md +363 -0
  12. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-continuous.md +264 -0
  13. package/builtin-skills/antv-g2-chart/references/components/g2-comp-scrollbar.md +276 -0
  14. package/builtin-skills/antv-g2-chart/references/components/g2-comp-slider.md +333 -0
  15. package/builtin-skills/antv-g2-chart/references/components/g2-comp-title.md +149 -0
  16. package/builtin-skills/antv-g2-chart/references/components/g2-comp-tooltip-config.md +358 -0
  17. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-circle.md +97 -0
  18. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-rect.md +241 -0
  19. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geo-map.md +210 -0
  20. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geoview.md +143 -0
  21. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-repeat-matrix.md +171 -0
  22. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-flex.md +142 -0
  23. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-layer.md +149 -0
  24. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-timing-keyframe.md +91 -0
  25. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-view.md +309 -0
  26. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-chart-selection.md +235 -0
  27. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-color-theory.md +287 -0
  28. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-visual-channels.md +180 -0
  29. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-cartesian.md +131 -0
  30. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-fisheye.md +131 -0
  31. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-helix.md +141 -0
  32. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-parallel.md +129 -0
  33. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-polar.md +143 -0
  34. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-radial.md +214 -0
  35. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-theta.md +171 -0
  36. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-transpose.md +195 -0
  37. package/builtin-skills/antv-g2-chart/references/core/g2-core-chart-init.md +266 -0
  38. package/builtin-skills/antv-g2-chart/references/core/g2-core-encode-channel.md +197 -0
  39. package/builtin-skills/antv-g2-chart/references/core/g2-core-view-composition.md +224 -0
  40. package/builtin-skills/antv-g2-chart/references/data/g2-data-ema.md +190 -0
  41. package/builtin-skills/antv-g2-chart/references/data/g2-data-fetch.md +167 -0
  42. package/builtin-skills/antv-g2-chart/references/data/g2-data-filter.md +212 -0
  43. package/builtin-skills/antv-g2-chart/references/data/g2-data-fold.md +260 -0
  44. package/builtin-skills/antv-g2-chart/references/data/g2-data-format-tabular.md +280 -0
  45. package/builtin-skills/antv-g2-chart/references/data/g2-data-kde.md +426 -0
  46. package/builtin-skills/antv-g2-chart/references/data/g2-data-log.md +140 -0
  47. package/builtin-skills/antv-g2-chart/references/data/g2-data-slice.md +147 -0
  48. package/builtin-skills/antv-g2-chart/references/data/g2-data-sort.md +251 -0
  49. package/builtin-skills/antv-g2-chart/references/data/g2-data-sortby.md +183 -0
  50. package/builtin-skills/antv-g2-chart/references/data/g2-data-transform-patterns.md +394 -0
  51. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-adaptive-filter.md +118 -0
  52. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-axis.md +112 -0
  53. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-filter.md +122 -0
  54. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-x-y-highlight.md +127 -0
  55. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-xy.md +118 -0
  56. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush.md +184 -0
  57. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-filter.md +170 -0
  58. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-highlight.md +186 -0
  59. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-filter.md +170 -0
  60. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-highlight.md +185 -0
  61. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-chart-index.md +127 -0
  62. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-drilldown.md +149 -0
  63. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight-by.md +125 -0
  64. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight.md +235 -0
  65. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-hover-scale.md +109 -0
  66. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-point-move.md +152 -0
  67. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select-by.md +133 -0
  68. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select.md +249 -0
  69. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-fisheye.md +117 -0
  70. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-filter.md +130 -0
  71. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-highlight.md +130 -0
  72. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-poptip.md +105 -0
  73. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-scrollbar-filter.md +144 -0
  74. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-filter.md +231 -0
  75. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-wheel.md +138 -0
  76. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-tooltip.md +192 -0
  77. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-treemap-drilldown.md +152 -0
  78. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-contrast-reverse.md +170 -0
  79. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-exceed-adjust.md +146 -0
  80. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-hide.md +185 -0
  81. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-stroke.md +147 -0
  82. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-dodge-y.md +225 -0
  83. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-hide.md +213 -0
  84. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-diagram.md +196 -0
  85. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-donut.md +148 -0
  86. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-pie.md +212 -0
  87. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-basic.md +168 -0
  88. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-stacked.md +150 -0
  89. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-beeswarm.md +134 -0
  90. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bi-directional-bar.md +297 -0
  91. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-box-boxplot.md +163 -0
  92. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-boxplot.md +340 -0
  93. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bullet.md +203 -0
  94. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-cell-heatmap.md +370 -0
  95. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-chord.md +341 -0
  96. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-connector.md +126 -0
  97. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-contourline.md +243 -0
  98. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-density.md +457 -0
  99. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-distribution-curve.md +298 -0
  100. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-funnel.md +329 -0
  101. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gantt.md +208 -0
  102. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gauge.md +247 -0
  103. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-heatmap.md +130 -0
  104. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-histogram.md +186 -0
  105. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-image.md +129 -0
  106. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-basic.md +528 -0
  107. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-grouped.md +161 -0
  108. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-normalized.md +147 -0
  109. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-stacked.md +183 -0
  110. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-k-chart.md +237 -0
  111. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-basic.md +353 -0
  112. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-multi.md +156 -0
  113. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-linex-liney.md +176 -0
  114. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-link.md +134 -0
  115. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-liquid.md +125 -0
  116. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-mosaic.md +257 -0
  117. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-pack.md +424 -0
  118. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-parallel.md +195 -0
  119. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-partition.md +275 -0
  120. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-path.md +135 -0
  121. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-bubble.md +138 -0
  122. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-scatter.md +177 -0
  123. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-polygon.md +130 -0
  124. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radar.md +231 -0
  125. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radial-bar.md +226 -0
  126. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-range-rangey.md +253 -0
  127. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rangex.md +293 -0
  128. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rect.md +115 -0
  129. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-regression-curve.md +276 -0
  130. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rose.md +182 -0
  131. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sankey.md +217 -0
  132. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-shape.md +160 -0
  133. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-spiral.md +257 -0
  134. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sunburst.md +327 -0
  135. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-text.md +309 -0
  136. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-tree.md +235 -0
  137. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-treemap.md +426 -0
  138. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-vector.md +108 -0
  139. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-venn.md +204 -0
  140. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-violin.md +307 -0
  141. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-wordcloud.md +155 -0
  142. package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category10.md +196 -0
  143. package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category20.md +238 -0
  144. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-performance.md +181 -0
  145. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-responsive.md +232 -0
  146. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-v4-to-v5.md +223 -0
  147. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-band.md +127 -0
  148. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-linear.md +259 -0
  149. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-log.md +226 -0
  150. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-ordinal.md +135 -0
  151. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-point.md +242 -0
  152. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-pow-sqrt.md +124 -0
  153. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-quantile-quantize.md +119 -0
  154. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-sequential.md +267 -0
  155. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-threshold.md +133 -0
  156. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-time.md +159 -0
  157. package/builtin-skills/antv-g2-chart/references/themes/g2-theme-builtin.md +192 -0
  158. package/builtin-skills/antv-g2-chart/references/themes/g2-theme-custom.md +183 -0
  159. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-bin.md +153 -0
  160. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-binx.md +133 -0
  161. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-diffy.md +130 -0
  162. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-dodgex.md +90 -0
  163. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-flexx.md +115 -0
  164. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-group.md +233 -0
  165. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupcolor.md +182 -0
  166. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupx.md +265 -0
  167. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupy.md +167 -0
  168. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitter.md +149 -0
  169. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitterx.md +177 -0
  170. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jittery.md +177 -0
  171. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-normalizey.md +83 -0
  172. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-pack.md +164 -0
  173. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sample.md +143 -0
  174. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-select.md +147 -0
  175. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selectx.md +179 -0
  176. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selecty.md +179 -0
  177. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sort-color.md +115 -0
  178. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sortx.md +285 -0
  179. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sorty.md +117 -0
  180. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stack-enter.md +158 -0
  181. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stacky.md +218 -0
  182. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-symmetryy.md +122 -0
  183. package/builtin-skills/app-skill/SKILL.md +47 -0
  184. package/builtin-skills/app-skill/references/auth.md +180 -0
  185. package/builtin-skills/app-skill/references/data-semantics.md +44 -0
  186. package/builtin-skills/app-skill/references/events.md +365 -0
  187. package/builtin-skills/app-skill/references/evolution.md +90 -0
  188. package/builtin-skills/app-skill/references/feeder.md +184 -0
  189. package/builtin-skills/app-skill/references/model.md +124 -0
  190. package/builtin-skills/app-skill/references/models.md +59 -0
  191. package/builtin-skills/app-skill/references/notification.md +123 -0
  192. package/builtin-skills/app-skill/references/process-builder.md +420 -0
  193. package/builtin-skills/app-skill/references/process.md +458 -0
  194. package/builtin-skills/chart-visualization/SKILL.md +101 -0
  195. package/builtin-skills/loom/SKILL.md +308 -0
  196. package/builtin-skills/loom/references/README.md +285 -0
  197. package/builtin-skills/loom/references/dashboard.md +259 -0
  198. package/builtin-skills/loom/references/data-model.md +306 -0
  199. package/builtin-skills/loom/references/eject.md +111 -0
  200. package/builtin-skills/yuque-reader/SKILL.md +43 -0
  201. package/builtin-skills/yuque-reader/references/config.md +52 -0
  202. package/builtin-skills/yuque-reader/scripts/fetch_doc.py +121 -0
  203. package/dist/adapter-base.d.ts +31 -0
  204. package/dist/adapter-base.d.ts.map +1 -0
  205. package/dist/adapter-base.js +69 -0
  206. package/dist/adapter-base.js.map +1 -0
  207. package/dist/adapter-factory.d.ts +8 -0
  208. package/dist/adapter-factory.d.ts.map +1 -0
  209. package/dist/adapter-factory.js +25 -0
  210. package/dist/adapter-factory.js.map +1 -0
  211. package/dist/adapter-filesystem.d.ts +25 -11
  212. package/dist/adapter-filesystem.d.ts.map +1 -1
  213. package/dist/adapter-filesystem.js +230 -52
  214. package/dist/adapter-filesystem.js.map +1 -1
  215. package/dist/adapter-sqlite.d.ts +9 -23
  216. package/dist/adapter-sqlite.d.ts.map +1 -1
  217. package/dist/adapter-sqlite.js +94 -55
  218. package/dist/adapter-sqlite.js.map +1 -1
  219. package/dist/adapters/base.d.ts +31 -0
  220. package/dist/adapters/base.d.ts.map +1 -0
  221. package/dist/adapters/base.js +69 -0
  222. package/dist/adapters/base.js.map +1 -0
  223. package/dist/adapters/factory.d.ts +8 -0
  224. package/dist/adapters/factory.d.ts.map +1 -0
  225. package/dist/adapters/factory.js +25 -0
  226. package/dist/adapters/factory.js.map +1 -0
  227. package/dist/adapters/filesystem.d.ts +46 -0
  228. package/dist/adapters/filesystem.d.ts.map +1 -0
  229. package/dist/adapters/filesystem.js +321 -0
  230. package/dist/adapters/filesystem.js.map +1 -0
  231. package/dist/adapters/index.d.ts +10 -0
  232. package/dist/adapters/index.d.ts.map +1 -0
  233. package/dist/adapters/index.js +8 -0
  234. package/dist/adapters/index.js.map +1 -0
  235. package/dist/adapters/sqlite.d.ts +37 -0
  236. package/dist/adapters/sqlite.d.ts.map +1 -0
  237. package/dist/adapters/sqlite.js +264 -0
  238. package/dist/adapters/sqlite.js.map +1 -0
  239. package/dist/backend/ai/button-resolver.d.ts +18 -0
  240. package/dist/backend/ai/button-resolver.d.ts.map +1 -0
  241. package/dist/backend/ai/button-resolver.js +58 -0
  242. package/dist/backend/ai/button-resolver.js.map +1 -0
  243. package/dist/backend/ai/content-blocks.d.ts +18 -0
  244. package/dist/backend/ai/content-blocks.d.ts.map +1 -0
  245. package/dist/backend/ai/content-blocks.js +66 -0
  246. package/dist/backend/ai/content-blocks.js.map +1 -0
  247. package/dist/backend/ai/engine.d.ts +65 -0
  248. package/dist/backend/ai/engine.d.ts.map +1 -0
  249. package/dist/backend/ai/engine.js +238 -0
  250. package/dist/backend/ai/engine.js.map +1 -0
  251. package/dist/backend/ai/index.d.ts +11 -0
  252. package/dist/backend/ai/index.d.ts.map +1 -0
  253. package/dist/backend/ai/index.js +8 -0
  254. package/dist/backend/ai/index.js.map +1 -0
  255. package/dist/backend/ai/output-parser.d.ts +36 -0
  256. package/dist/backend/ai/output-parser.d.ts.map +1 -0
  257. package/dist/backend/ai/output-parser.js +264 -0
  258. package/dist/backend/ai/output-parser.js.map +1 -0
  259. package/dist/backend/ai/session-manager.d.ts +106 -0
  260. package/dist/backend/ai/session-manager.d.ts.map +1 -0
  261. package/dist/backend/ai/session-manager.js +304 -0
  262. package/dist/backend/ai/session-manager.js.map +1 -0
  263. package/dist/backend/auth/jwt.d.ts +16 -0
  264. package/dist/backend/auth/jwt.d.ts.map +1 -0
  265. package/dist/backend/auth/jwt.js +57 -0
  266. package/dist/backend/auth/jwt.js.map +1 -0
  267. package/dist/backend/auth/password.d.ts +10 -0
  268. package/dist/backend/auth/password.d.ts.map +1 -0
  269. package/dist/backend/auth/password.js +19 -0
  270. package/dist/backend/auth/password.js.map +1 -0
  271. package/dist/backend/auth/rbac.d.ts +36 -0
  272. package/dist/backend/auth/rbac.d.ts.map +1 -0
  273. package/dist/backend/auth/rbac.js +130 -0
  274. package/dist/backend/auth/rbac.js.map +1 -0
  275. package/dist/backend/auth/request-context.d.ts +15 -0
  276. package/dist/backend/auth/request-context.d.ts.map +1 -0
  277. package/dist/backend/auth/request-context.js +17 -0
  278. package/dist/backend/auth/request-context.js.map +1 -0
  279. package/dist/backend/auth/service-token.d.ts +11 -0
  280. package/dist/backend/auth/service-token.d.ts.map +1 -0
  281. package/dist/backend/auth/service-token.js +13 -0
  282. package/dist/backend/auth/service-token.js.map +1 -0
  283. package/dist/backend/auth/token-store.d.ts +28 -0
  284. package/dist/backend/auth/token-store.d.ts.map +1 -0
  285. package/dist/backend/auth/token-store.js +84 -0
  286. package/dist/backend/auth/token-store.js.map +1 -0
  287. package/dist/backend/auth/user-store.d.ts +42 -0
  288. package/dist/backend/auth/user-store.d.ts.map +1 -0
  289. package/dist/backend/auth/user-store.js +112 -0
  290. package/dist/backend/auth/user-store.js.map +1 -0
  291. package/dist/backend/events/event-bus.d.ts +39 -0
  292. package/dist/backend/events/event-bus.d.ts.map +1 -0
  293. package/dist/backend/events/event-bus.js +182 -0
  294. package/dist/backend/events/event-bus.js.map +1 -0
  295. package/dist/backend/events/event-emitting-adapter.d.ts +31 -0
  296. package/dist/backend/events/event-emitting-adapter.d.ts.map +1 -0
  297. package/dist/backend/events/event-emitting-adapter.js +70 -0
  298. package/dist/backend/events/event-emitting-adapter.js.map +1 -0
  299. package/dist/backend/events/event-registry.d.ts +22 -0
  300. package/dist/backend/events/event-registry.d.ts.map +1 -0
  301. package/dist/backend/events/event-registry.js +35 -0
  302. package/dist/backend/events/event-registry.js.map +1 -0
  303. package/dist/backend/events/index.d.ts +7 -0
  304. package/dist/backend/events/index.d.ts.map +1 -0
  305. package/dist/backend/events/index.js +7 -0
  306. package/dist/backend/events/index.js.map +1 -0
  307. package/dist/backend/events/subscription-service.d.ts +46 -0
  308. package/dist/backend/events/subscription-service.d.ts.map +1 -0
  309. package/dist/backend/events/subscription-service.js +220 -0
  310. package/dist/backend/events/subscription-service.js.map +1 -0
  311. package/dist/backend/index.d.ts +93 -0
  312. package/dist/backend/index.d.ts.map +1 -0
  313. package/dist/backend/index.js +481 -0
  314. package/dist/backend/index.js.map +1 -0
  315. package/dist/backend/lifecycle/index.d.ts +2 -0
  316. package/dist/backend/lifecycle/index.d.ts.map +1 -0
  317. package/dist/backend/lifecycle/index.js +2 -0
  318. package/dist/backend/lifecycle/index.js.map +1 -0
  319. package/dist/backend/lifecycle/manager.d.ts +73 -0
  320. package/dist/backend/lifecycle/manager.d.ts.map +1 -0
  321. package/dist/backend/lifecycle/manager.js +684 -0
  322. package/dist/backend/lifecycle/manager.js.map +1 -0
  323. package/dist/backend/loom-paths.d.ts +30 -0
  324. package/dist/backend/loom-paths.d.ts.map +1 -0
  325. package/dist/backend/loom-paths.js +49 -0
  326. package/dist/backend/loom-paths.js.map +1 -0
  327. package/dist/backend/notifications/interpolate.d.ts +6 -0
  328. package/dist/backend/notifications/interpolate.d.ts.map +1 -0
  329. package/dist/backend/notifications/interpolate.js +11 -0
  330. package/dist/backend/notifications/interpolate.js.map +1 -0
  331. package/dist/backend/notifications/notification-storage.d.ts +27 -0
  332. package/dist/backend/notifications/notification-storage.d.ts.map +1 -0
  333. package/dist/backend/notifications/notification-storage.js +160 -0
  334. package/dist/backend/notifications/notification-storage.js.map +1 -0
  335. package/dist/backend/observe/index.d.ts +6 -0
  336. package/dist/backend/observe/index.d.ts.map +1 -0
  337. package/dist/backend/observe/index.js +5 -0
  338. package/dist/backend/observe/index.js.map +1 -0
  339. package/dist/backend/observe/logger.d.ts +26 -0
  340. package/dist/backend/observe/logger.d.ts.map +1 -0
  341. package/dist/backend/observe/logger.js +68 -0
  342. package/dist/backend/observe/logger.js.map +1 -0
  343. package/dist/backend/observe/types.d.ts +26 -0
  344. package/dist/backend/observe/types.d.ts.map +1 -0
  345. package/dist/backend/observe/types.js +7 -0
  346. package/dist/backend/observe/types.js.map +1 -0
  347. package/dist/backend/process/engine.d.ts +127 -0
  348. package/dist/backend/process/engine.d.ts.map +1 -0
  349. package/dist/backend/process/engine.js +668 -0
  350. package/dist/backend/process/engine.js.map +1 -0
  351. package/dist/backend/process/index.d.ts +8 -0
  352. package/dist/backend/process/index.d.ts.map +1 -0
  353. package/dist/backend/process/index.js +7 -0
  354. package/dist/backend/process/index.js.map +1 -0
  355. package/dist/backend/process/logger.d.ts +38 -0
  356. package/dist/backend/process/logger.d.ts.map +1 -0
  357. package/dist/backend/process/logger.js +198 -0
  358. package/dist/backend/process/logger.js.map +1 -0
  359. package/dist/backend/process/metrics-store.d.ts +32 -0
  360. package/dist/backend/process/metrics-store.d.ts.map +1 -0
  361. package/dist/backend/process/metrics-store.js +108 -0
  362. package/dist/backend/process/metrics-store.js.map +1 -0
  363. package/dist/backend/process/migrate.d.ts +12 -0
  364. package/dist/backend/process/migrate.d.ts.map +1 -0
  365. package/dist/backend/process/migrate.js +145 -0
  366. package/dist/backend/process/migrate.js.map +1 -0
  367. package/dist/backend/process/process-helpers.d.ts +13 -0
  368. package/dist/backend/process/process-helpers.d.ts.map +1 -0
  369. package/dist/backend/process/process-helpers.js +23 -0
  370. package/dist/backend/process/process-helpers.js.map +1 -0
  371. package/dist/backend/process/queue.d.ts +33 -0
  372. package/dist/backend/process/queue.d.ts.map +1 -0
  373. package/dist/backend/process/queue.js +94 -0
  374. package/dist/backend/process/queue.js.map +1 -0
  375. package/dist/backend/process/registry.d.ts +64 -0
  376. package/dist/backend/process/registry.d.ts.map +1 -0
  377. package/dist/backend/process/registry.js +277 -0
  378. package/dist/backend/process/registry.js.map +1 -0
  379. package/dist/backend/process/trigger.d.ts +39 -0
  380. package/dist/backend/process/trigger.d.ts.map +1 -0
  381. package/dist/backend/process/trigger.js +162 -0
  382. package/dist/backend/process/trigger.js.map +1 -0
  383. package/dist/backend/routes/ai-config.d.ts +18 -0
  384. package/dist/backend/routes/ai-config.d.ts.map +1 -0
  385. package/dist/backend/routes/ai-config.js +227 -0
  386. package/dist/backend/routes/ai-config.js.map +1 -0
  387. package/dist/backend/routes/auth-routes.d.ts +33 -0
  388. package/dist/backend/routes/auth-routes.d.ts.map +1 -0
  389. package/dist/backend/routes/auth-routes.js +528 -0
  390. package/dist/backend/routes/auth-routes.js.map +1 -0
  391. package/dist/backend/routes/chat-sse.d.ts +17 -0
  392. package/dist/backend/routes/chat-sse.d.ts.map +1 -0
  393. package/dist/backend/routes/chat-sse.js +60 -0
  394. package/dist/backend/routes/chat-sse.js.map +1 -0
  395. package/dist/backend/routes/chat.d.ts +30 -0
  396. package/dist/backend/routes/chat.d.ts.map +1 -0
  397. package/dist/backend/routes/chat.js +258 -0
  398. package/dist/backend/routes/chat.js.map +1 -0
  399. package/dist/backend/routes/config-writer.d.ts +94 -0
  400. package/dist/backend/routes/config-writer.d.ts.map +1 -0
  401. package/dist/backend/routes/config-writer.js +538 -0
  402. package/dist/backend/routes/config-writer.js.map +1 -0
  403. package/dist/backend/routes/data.d.ts +16 -0
  404. package/dist/backend/routes/data.d.ts.map +1 -0
  405. package/dist/backend/routes/data.js +371 -0
  406. package/dist/backend/routes/data.js.map +1 -0
  407. package/dist/backend/routes/event-routes.d.ts +22 -0
  408. package/dist/backend/routes/event-routes.d.ts.map +1 -0
  409. package/dist/backend/routes/event-routes.js +153 -0
  410. package/dist/backend/routes/event-routes.js.map +1 -0
  411. package/dist/backend/routes/health.d.ts +7 -0
  412. package/dist/backend/routes/health.d.ts.map +1 -0
  413. package/dist/backend/routes/health.js +15 -0
  414. package/dist/backend/routes/health.js.map +1 -0
  415. package/dist/backend/routes/index.d.ts +24 -0
  416. package/dist/backend/routes/index.d.ts.map +1 -0
  417. package/dist/backend/routes/index.js +16 -0
  418. package/dist/backend/routes/index.js.map +1 -0
  419. package/dist/backend/routes/lifecycle-routes.d.ts +10 -0
  420. package/dist/backend/routes/lifecycle-routes.d.ts.map +1 -0
  421. package/dist/backend/routes/lifecycle-routes.js +54 -0
  422. package/dist/backend/routes/lifecycle-routes.js.map +1 -0
  423. package/dist/backend/routes/notification-routes.d.ts +22 -0
  424. package/dist/backend/routes/notification-routes.d.ts.map +1 -0
  425. package/dist/backend/routes/notification-routes.js +129 -0
  426. package/dist/backend/routes/notification-routes.js.map +1 -0
  427. package/dist/backend/routes/process-routes.d.ts +22 -0
  428. package/dist/backend/routes/process-routes.d.ts.map +1 -0
  429. package/dist/backend/routes/process-routes.js +542 -0
  430. package/dist/backend/routes/process-routes.js.map +1 -0
  431. package/dist/backend/routes/session-routes.d.ts +22 -0
  432. package/dist/backend/routes/session-routes.d.ts.map +1 -0
  433. package/dist/backend/routes/session-routes.js +97 -0
  434. package/dist/backend/routes/session-routes.js.map +1 -0
  435. package/dist/backend/routes/skill-archive.d.ts +13 -0
  436. package/dist/backend/routes/skill-archive.d.ts.map +1 -0
  437. package/dist/backend/routes/skill-archive.js +84 -0
  438. package/dist/backend/routes/skill-archive.js.map +1 -0
  439. package/dist/backend/routes/skill-parser.d.ts +41 -0
  440. package/dist/backend/routes/skill-parser.d.ts.map +1 -0
  441. package/dist/backend/routes/skill-parser.js +184 -0
  442. package/dist/backend/routes/skill-parser.js.map +1 -0
  443. package/dist/backend/routes/skill-service.d.ts +113 -0
  444. package/dist/backend/routes/skill-service.d.ts.map +1 -0
  445. package/dist/backend/routes/skill-service.js +265 -0
  446. package/dist/backend/routes/skill-service.js.map +1 -0
  447. package/dist/backend/routes/skills.d.ts +18 -0
  448. package/dist/backend/routes/skills.d.ts.map +1 -0
  449. package/dist/backend/routes/skills.js +168 -0
  450. package/dist/backend/routes/skills.js.map +1 -0
  451. package/dist/backend/routes/upload.d.ts +25 -0
  452. package/dist/backend/routes/upload.d.ts.map +1 -0
  453. package/dist/backend/routes/upload.js +100 -0
  454. package/dist/backend/routes/upload.js.map +1 -0
  455. package/dist/backend/services/skill-archive.d.ts +13 -0
  456. package/dist/backend/services/skill-archive.d.ts.map +1 -0
  457. package/dist/backend/services/skill-archive.js +84 -0
  458. package/dist/backend/services/skill-archive.js.map +1 -0
  459. package/dist/backend/services/skill-parser.d.ts +41 -0
  460. package/dist/backend/services/skill-parser.d.ts.map +1 -0
  461. package/dist/backend/services/skill-parser.js +184 -0
  462. package/dist/backend/services/skill-parser.js.map +1 -0
  463. package/dist/backend/services/skill-service.d.ts +113 -0
  464. package/dist/backend/services/skill-service.d.ts.map +1 -0
  465. package/dist/backend/services/skill-service.js +265 -0
  466. package/dist/backend/services/skill-service.js.map +1 -0
  467. package/dist/bin.d.ts +8 -0
  468. package/dist/bin.d.ts.map +1 -0
  469. package/dist/bin.js +12 -0
  470. package/dist/bin.js.map +1 -0
  471. package/dist/capability-generator.d.ts +21 -6
  472. package/dist/capability-generator.d.ts.map +1 -1
  473. package/dist/capability-generator.js +88 -261
  474. package/dist/capability-generator.js.map +1 -1
  475. package/dist/cli/commands/auth.d.ts +11 -0
  476. package/dist/cli/commands/auth.d.ts.map +1 -0
  477. package/dist/cli/commands/auth.js +211 -0
  478. package/dist/cli/commands/auth.js.map +1 -0
  479. package/dist/cli/commands/build.d.ts +11 -0
  480. package/dist/cli/commands/build.d.ts.map +1 -0
  481. package/dist/cli/commands/build.js +170 -0
  482. package/dist/cli/commands/build.js.map +1 -0
  483. package/dist/cli/commands/data.d.ts +15 -0
  484. package/dist/cli/commands/data.d.ts.map +1 -0
  485. package/dist/cli/commands/data.js +220 -0
  486. package/dist/cli/commands/data.js.map +1 -0
  487. package/dist/cli/commands/dev.d.ts +8 -0
  488. package/dist/cli/commands/dev.d.ts.map +1 -0
  489. package/dist/cli/commands/dev.js +114 -0
  490. package/dist/cli/commands/dev.js.map +1 -0
  491. package/dist/cli/commands/eject.d.ts +12 -0
  492. package/dist/cli/commands/eject.d.ts.map +1 -0
  493. package/dist/cli/commands/eject.js +280 -0
  494. package/dist/cli/commands/eject.js.map +1 -0
  495. package/dist/cli/commands/event.d.ts +13 -0
  496. package/dist/cli/commands/event.d.ts.map +1 -0
  497. package/dist/cli/commands/event.js +379 -0
  498. package/dist/cli/commands/event.js.map +1 -0
  499. package/dist/cli/commands/generate-capabilities.d.ts +8 -0
  500. package/dist/cli/commands/generate-capabilities.d.ts.map +1 -0
  501. package/dist/cli/commands/generate-capabilities.js +41 -0
  502. package/dist/cli/commands/generate-capabilities.js.map +1 -0
  503. package/dist/cli/commands/generate-cli-command.d.ts +8 -0
  504. package/dist/cli/commands/generate-cli-command.d.ts.map +1 -0
  505. package/dist/cli/commands/generate-cli-command.js +64 -0
  506. package/dist/cli/commands/generate-cli-command.js.map +1 -0
  507. package/dist/cli/commands/generate-dashboard.d.ts +9 -0
  508. package/dist/cli/commands/generate-dashboard.d.ts.map +1 -0
  509. package/dist/cli/commands/generate-dashboard.js +113 -0
  510. package/dist/cli/commands/generate-dashboard.js.map +1 -0
  511. package/dist/cli/commands/generate-notification.d.ts +9 -0
  512. package/dist/cli/commands/generate-notification.d.ts.map +1 -0
  513. package/dist/cli/commands/generate-notification.js +24 -0
  514. package/dist/cli/commands/generate-notification.js.map +1 -0
  515. package/dist/cli/commands/generate-page.d.ts +9 -0
  516. package/dist/cli/commands/generate-page.d.ts.map +1 -0
  517. package/dist/cli/commands/generate-page.js +105 -0
  518. package/dist/cli/commands/generate-page.js.map +1 -0
  519. package/dist/cli/commands/generate-skill.d.ts +8 -0
  520. package/dist/cli/commands/generate-skill.d.ts.map +1 -0
  521. package/dist/cli/commands/generate-skill.js +75 -0
  522. package/dist/cli/commands/generate-skill.js.map +1 -0
  523. package/dist/cli/commands/generate-system-settings.d.ts +10 -0
  524. package/dist/cli/commands/generate-system-settings.d.ts.map +1 -0
  525. package/dist/cli/commands/generate-system-settings.js +56 -0
  526. package/dist/cli/commands/generate-system-settings.js.map +1 -0
  527. package/dist/cli/commands/generate.d.ts +6 -0
  528. package/dist/cli/commands/generate.d.ts.map +1 -0
  529. package/dist/cli/commands/generate.js +21 -0
  530. package/dist/cli/commands/generate.js.map +1 -0
  531. package/dist/cli/commands/init.d.ts +8 -0
  532. package/dist/cli/commands/init.d.ts.map +1 -0
  533. package/dist/cli/commands/init.js +384 -0
  534. package/dist/cli/commands/init.js.map +1 -0
  535. package/dist/cli/commands/lifecycle.d.ts +8 -0
  536. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  537. package/dist/cli/commands/lifecycle.js +166 -0
  538. package/dist/cli/commands/lifecycle.js.map +1 -0
  539. package/dist/cli/commands/model.d.ts +9 -0
  540. package/dist/cli/commands/model.d.ts.map +1 -0
  541. package/dist/cli/commands/model.js +218 -0
  542. package/dist/cli/commands/model.js.map +1 -0
  543. package/dist/cli/commands/notification.d.ts +8 -0
  544. package/dist/cli/commands/notification.d.ts.map +1 -0
  545. package/dist/cli/commands/notification.js +179 -0
  546. package/dist/cli/commands/notification.js.map +1 -0
  547. package/dist/cli/commands/observe.d.ts +9 -0
  548. package/dist/cli/commands/observe.d.ts.map +1 -0
  549. package/dist/cli/commands/observe.js +142 -0
  550. package/dist/cli/commands/observe.js.map +1 -0
  551. package/dist/cli/commands/process.d.ts +8 -0
  552. package/dist/cli/commands/process.d.ts.map +1 -0
  553. package/dist/cli/commands/process.js +630 -0
  554. package/dist/cli/commands/process.js.map +1 -0
  555. package/dist/cli/commands/role.d.ts +12 -0
  556. package/dist/cli/commands/role.d.ts.map +1 -0
  557. package/dist/cli/commands/role.js +208 -0
  558. package/dist/cli/commands/role.js.map +1 -0
  559. package/dist/cli/commands/serve.d.ts +12 -0
  560. package/dist/cli/commands/serve.d.ts.map +1 -0
  561. package/dist/cli/commands/serve.js +43 -0
  562. package/dist/cli/commands/serve.js.map +1 -0
  563. package/dist/cli/commands/skill.d.ts +9 -0
  564. package/dist/cli/commands/skill.d.ts.map +1 -0
  565. package/dist/cli/commands/skill.js +186 -0
  566. package/dist/cli/commands/skill.js.map +1 -0
  567. package/dist/cli/commands/user-cmd.d.ts +9 -0
  568. package/dist/cli/commands/user-cmd.d.ts.map +1 -0
  569. package/dist/cli/commands/user-cmd.js +195 -0
  570. package/dist/cli/commands/user-cmd.js.map +1 -0
  571. package/dist/cli/framework.d.ts +28 -0
  572. package/dist/cli/framework.d.ts.map +1 -0
  573. package/dist/cli/framework.js +29 -0
  574. package/dist/cli/framework.js.map +1 -0
  575. package/dist/cli/generators/capability-generator.d.ts +35 -0
  576. package/dist/cli/generators/capability-generator.d.ts.map +1 -0
  577. package/dist/cli/generators/capability-generator.js +371 -0
  578. package/dist/cli/generators/capability-generator.js.map +1 -0
  579. package/dist/cli/helpers/app-tsx-utils.d.ts +12 -0
  580. package/dist/cli/helpers/app-tsx-utils.d.ts.map +1 -0
  581. package/dist/cli/helpers/app-tsx-utils.js +22 -0
  582. package/dist/cli/helpers/app-tsx-utils.js.map +1 -0
  583. package/dist/cli/helpers/app-tsx-wiring-engine.d.ts +70 -0
  584. package/dist/cli/helpers/app-tsx-wiring-engine.d.ts.map +1 -0
  585. package/dist/cli/helpers/app-tsx-wiring-engine.js +535 -0
  586. package/dist/cli/helpers/app-tsx-wiring-engine.js.map +1 -0
  587. package/dist/cli/helpers/app-tsx-wiring.d.ts +19 -0
  588. package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -0
  589. package/dist/cli/helpers/app-tsx-wiring.js +145 -0
  590. package/dist/cli/helpers/app-tsx-wiring.js.map +1 -0
  591. package/dist/cli/helpers/auth-client.d.ts +19 -0
  592. package/dist/cli/helpers/auth-client.d.ts.map +1 -0
  593. package/dist/cli/helpers/auth-client.js +42 -0
  594. package/dist/cli/helpers/auth-client.js.map +1 -0
  595. package/dist/cli/helpers/backup.d.ts +16 -0
  596. package/dist/cli/helpers/backup.d.ts.map +1 -0
  597. package/dist/cli/helpers/backup.js +34 -0
  598. package/dist/cli/helpers/backup.js.map +1 -0
  599. package/dist/cli/helpers/column-template.d.ts +20 -0
  600. package/dist/cli/helpers/column-template.d.ts.map +1 -0
  601. package/dist/cli/helpers/column-template.js +165 -0
  602. package/dist/cli/helpers/column-template.js.map +1 -0
  603. package/dist/cli/helpers/duration.d.ts +5 -0
  604. package/dist/cli/helpers/duration.d.ts.map +1 -0
  605. package/dist/cli/helpers/duration.js +5 -0
  606. package/dist/cli/helpers/duration.js.map +1 -0
  607. package/dist/cli/helpers/field-template.d.ts +14 -0
  608. package/dist/cli/helpers/field-template.d.ts.map +1 -0
  609. package/dist/cli/helpers/field-template.js +117 -0
  610. package/dist/cli/helpers/field-template.js.map +1 -0
  611. package/dist/cli/helpers/i18n-template.d.ts +21 -0
  612. package/dist/cli/helpers/i18n-template.d.ts.map +1 -0
  613. package/dist/cli/helpers/i18n-template.js +69 -0
  614. package/dist/cli/helpers/i18n-template.js.map +1 -0
  615. package/dist/cli/helpers/naming.d.ts +11 -0
  616. package/dist/cli/helpers/naming.d.ts.map +1 -0
  617. package/dist/cli/helpers/naming.js +21 -0
  618. package/dist/cli/helpers/naming.js.map +1 -0
  619. package/dist/cli/helpers/system-page-config.d.ts +27 -0
  620. package/dist/cli/helpers/system-page-config.d.ts.map +1 -0
  621. package/dist/cli/helpers/system-page-config.js +82 -0
  622. package/dist/cli/helpers/system-page-config.js.map +1 -0
  623. package/dist/cli/index.d.ts +9 -0
  624. package/dist/cli/index.d.ts.map +1 -0
  625. package/dist/cli/index.js +51 -0
  626. package/dist/cli/index.js.map +1 -0
  627. package/dist/cli/lib/credentials.d.ts +27 -0
  628. package/dist/cli/lib/credentials.d.ts.map +1 -0
  629. package/dist/cli/lib/credentials.js +112 -0
  630. package/dist/cli/lib/credentials.js.map +1 -0
  631. package/dist/cli/templates/auth-wiring.d.ts +17 -0
  632. package/dist/cli/templates/auth-wiring.d.ts.map +1 -0
  633. package/dist/cli/templates/auth-wiring.js +31 -0
  634. package/dist/cli/templates/auth-wiring.js.map +1 -0
  635. package/dist/cli/templates/backend-entry.d.ts +5 -0
  636. package/dist/cli/templates/backend-entry.d.ts.map +1 -0
  637. package/dist/cli/templates/backend-entry.js +17 -0
  638. package/dist/cli/templates/backend-entry.js.map +1 -0
  639. package/dist/cli/templates/claude-md.d.ts +20 -0
  640. package/dist/cli/templates/claude-md.d.ts.map +1 -0
  641. package/dist/cli/templates/claude-md.js +123 -0
  642. package/dist/cli/templates/claude-md.js.map +1 -0
  643. package/dist/cli/templates/crud-page.d.ts +14 -0
  644. package/dist/cli/templates/crud-page.d.ts.map +1 -0
  645. package/dist/cli/templates/crud-page.js +436 -0
  646. package/dist/cli/templates/crud-page.js.map +1 -0
  647. package/dist/cli/templates/dashboard-page.d.ts +11 -0
  648. package/dist/cli/templates/dashboard-page.d.ts.map +1 -0
  649. package/dist/cli/templates/dashboard-page.js +613 -0
  650. package/dist/cli/templates/dashboard-page.js.map +1 -0
  651. package/dist/cli/templates/event-management-page.d.ts +8 -0
  652. package/dist/cli/templates/event-management-page.d.ts.map +1 -0
  653. package/dist/cli/templates/event-management-page.js +724 -0
  654. package/dist/cli/templates/event-management-page.js.map +1 -0
  655. package/dist/cli/templates/frontend-entry.d.ts +11 -0
  656. package/dist/cli/templates/frontend-entry.d.ts.map +1 -0
  657. package/dist/cli/templates/frontend-entry.js +94 -0
  658. package/dist/cli/templates/frontend-entry.js.map +1 -0
  659. package/dist/cli/templates/gitignore.d.ts +5 -0
  660. package/dist/cli/templates/gitignore.d.ts.map +1 -0
  661. package/dist/cli/templates/gitignore.js +13 -0
  662. package/dist/cli/templates/gitignore.js.map +1 -0
  663. package/dist/cli/templates/index.d.ts +21 -0
  664. package/dist/cli/templates/index.d.ts.map +1 -0
  665. package/dist/cli/templates/index.js +21 -0
  666. package/dist/cli/templates/index.js.map +1 -0
  667. package/dist/cli/templates/login-page.d.ts +8 -0
  668. package/dist/cli/templates/login-page.d.ts.map +1 -0
  669. package/dist/cli/templates/login-page.js +67 -0
  670. package/dist/cli/templates/login-page.js.map +1 -0
  671. package/dist/cli/templates/loom-config.d.ts +15 -0
  672. package/dist/cli/templates/loom-config.d.ts.map +1 -0
  673. package/dist/cli/templates/loom-config.js +91 -0
  674. package/dist/cli/templates/loom-config.js.map +1 -0
  675. package/dist/cli/templates/model-management-page.d.ts +8 -0
  676. package/dist/cli/templates/model-management-page.d.ts.map +1 -0
  677. package/dist/cli/templates/model-management-page.js +373 -0
  678. package/dist/cli/templates/model-management-page.js.map +1 -0
  679. package/dist/cli/templates/notification-center-page.d.ts +8 -0
  680. package/dist/cli/templates/notification-center-page.d.ts.map +1 -0
  681. package/dist/cli/templates/notification-center-page.js +240 -0
  682. package/dist/cli/templates/notification-center-page.js.map +1 -0
  683. package/dist/cli/templates/notification-detail-page.d.ts +8 -0
  684. package/dist/cli/templates/notification-detail-page.d.ts.map +1 -0
  685. package/dist/cli/templates/notification-detail-page.js +87 -0
  686. package/dist/cli/templates/notification-detail-page.js.map +1 -0
  687. package/dist/cli/templates/package-json.d.ts +9 -0
  688. package/dist/cli/templates/package-json.d.ts.map +1 -0
  689. package/dist/cli/templates/package-json.js +41 -0
  690. package/dist/cli/templates/package-json.js.map +1 -0
  691. package/dist/cli/templates/process-management-page.d.ts +8 -0
  692. package/dist/cli/templates/process-management-page.d.ts.map +1 -0
  693. package/dist/cli/templates/process-management-page.js +542 -0
  694. package/dist/cli/templates/process-management-page.js.map +1 -0
  695. package/dist/cli/templates/readme.d.ts +9 -0
  696. package/dist/cli/templates/readme.d.ts.map +1 -0
  697. package/dist/cli/templates/readme.js +47 -0
  698. package/dist/cli/templates/readme.js.map +1 -0
  699. package/dist/cli/templates/skill-management-page.d.ts +8 -0
  700. package/dist/cli/templates/skill-management-page.d.ts.map +1 -0
  701. package/dist/cli/templates/skill-management-page.js +476 -0
  702. package/dist/cli/templates/skill-management-page.js.map +1 -0
  703. package/dist/cli/templates/system-settings-page.d.ts +10 -0
  704. package/dist/cli/templates/system-settings-page.d.ts.map +1 -0
  705. package/dist/cli/templates/system-settings-page.js +768 -0
  706. package/dist/cli/templates/system-settings-page.js.map +1 -0
  707. package/dist/cli/templates/tsconfig.d.ts +6 -0
  708. package/dist/cli/templates/tsconfig.d.ts.map +1 -0
  709. package/dist/cli/templates/tsconfig.js +41 -0
  710. package/dist/cli/templates/tsconfig.js.map +1 -0
  711. package/dist/cli/templates/user-management-page.d.ts +8 -0
  712. package/dist/cli/templates/user-management-page.d.ts.map +1 -0
  713. package/dist/cli/templates/user-management-page.js +497 -0
  714. package/dist/cli/templates/user-management-page.js.map +1 -0
  715. package/dist/cli/templates/vite-config.d.ts +9 -0
  716. package/dist/cli/templates/vite-config.d.ts.map +1 -0
  717. package/dist/cli/templates/vite-config.js +26 -0
  718. package/dist/cli/templates/vite-config.js.map +1 -0
  719. package/dist/cli/utils.d.ts +10 -0
  720. package/dist/cli/utils.d.ts.map +1 -0
  721. package/dist/cli/utils.js +31 -0
  722. package/dist/cli/utils.js.map +1 -0
  723. package/dist/commands.d.ts +1 -5
  724. package/dist/commands.d.ts.map +1 -1
  725. package/dist/commands.js +0 -11
  726. package/dist/commands.js.map +1 -1
  727. package/dist/config.d.ts +2010 -95
  728. package/dist/config.d.ts.map +1 -1
  729. package/dist/config.js +195 -16
  730. package/dist/config.js.map +1 -1
  731. package/dist/dashboard-config.d.ts +149 -0
  732. package/dist/dashboard-config.d.ts.map +1 -0
  733. package/dist/dashboard-config.js +40 -0
  734. package/dist/dashboard-config.js.map +1 -0
  735. package/dist/index.d.ts +24 -9
  736. package/dist/index.d.ts.map +1 -1
  737. package/dist/index.js +20 -5
  738. package/dist/index.js.map +1 -1
  739. package/dist/server-bin.d.ts +12 -0
  740. package/dist/server-bin.d.ts.map +1 -0
  741. package/dist/server-bin.js +43 -0
  742. package/dist/server-bin.js.map +1 -0
  743. package/dist/system-prompt.d.ts +20 -0
  744. package/dist/system-prompt.d.ts.map +1 -0
  745. package/dist/system-prompt.js +140 -0
  746. package/dist/system-prompt.js.map +1 -0
  747. package/dist/types/adapter.d.ts +30 -0
  748. package/dist/types/adapter.d.ts.map +1 -0
  749. package/dist/types/adapter.js +5 -0
  750. package/dist/types/adapter.js.map +1 -0
  751. package/dist/types/ai.d.ts +78 -0
  752. package/dist/types/ai.d.ts.map +1 -0
  753. package/dist/types/ai.js +5 -0
  754. package/dist/types/ai.js.map +1 -0
  755. package/dist/types/auth.d.ts +62 -0
  756. package/dist/types/auth.d.ts.map +1 -0
  757. package/dist/types/auth.js +5 -0
  758. package/dist/types/auth.js.map +1 -0
  759. package/dist/types/chat.d.ts +47 -0
  760. package/dist/types/chat.d.ts.map +1 -0
  761. package/dist/types/chat.js +8 -0
  762. package/dist/types/chat.js.map +1 -0
  763. package/dist/types/command.d.ts +25 -0
  764. package/dist/types/command.d.ts.map +1 -0
  765. package/dist/types/command.js +5 -0
  766. package/dist/types/command.js.map +1 -0
  767. package/dist/types/config.d.ts +69 -0
  768. package/dist/types/config.d.ts.map +1 -0
  769. package/dist/types/config.js +5 -0
  770. package/dist/types/config.js.map +1 -0
  771. package/dist/types/dashboard.d.ts +59 -0
  772. package/dist/types/dashboard.d.ts.map +1 -0
  773. package/dist/types/dashboard.js +5 -0
  774. package/dist/types/dashboard.js.map +1 -0
  775. package/dist/types/event.d.ts +109 -0
  776. package/dist/types/event.d.ts.map +1 -0
  777. package/dist/types/event.js +38 -0
  778. package/dist/types/event.js.map +1 -0
  779. package/dist/types/index.d.ts +22 -0
  780. package/dist/types/index.d.ts.map +1 -0
  781. package/dist/types/index.js +9 -0
  782. package/dist/types/index.js.map +1 -0
  783. package/dist/types/lifecycle.d.ts +71 -0
  784. package/dist/types/lifecycle.d.ts.map +1 -0
  785. package/dist/types/lifecycle.js +10 -0
  786. package/dist/types/lifecycle.js.map +1 -0
  787. package/dist/types/locale.d.ts +21 -0
  788. package/dist/types/locale.d.ts.map +1 -0
  789. package/dist/types/locale.js +36 -0
  790. package/dist/types/locale.js.map +1 -0
  791. package/dist/types/model.d.ts +71 -0
  792. package/dist/types/model.d.ts.map +1 -0
  793. package/dist/types/model.js +5 -0
  794. package/dist/types/model.js.map +1 -0
  795. package/dist/types/notification.d.ts +33 -0
  796. package/dist/types/notification.d.ts.map +1 -0
  797. package/dist/types/notification.js +5 -0
  798. package/dist/types/notification.js.map +1 -0
  799. package/dist/types/process.d.ts +233 -0
  800. package/dist/types/process.d.ts.map +1 -0
  801. package/dist/types/process.js +5 -0
  802. package/dist/types/process.js.map +1 -0
  803. package/dist/types.d.ts +4 -199
  804. package/dist/types.d.ts.map +1 -1
  805. package/dist/types.js +4 -3
  806. package/dist/types.js.map +1 -1
  807. package/dist/utils/duration.d.ts +8 -0
  808. package/dist/utils/duration.d.ts.map +1 -0
  809. package/dist/utils/duration.js +22 -0
  810. package/dist/utils/duration.js.map +1 -0
  811. package/dist/utils/id.d.ts +7 -0
  812. package/dist/utils/id.d.ts.map +1 -0
  813. package/dist/utils/id.js +9 -0
  814. package/dist/utils/id.js.map +1 -0
  815. package/package.json +30 -5
@@ -0,0 +1,259 @@
1
+ # 生成 Dashboard(数据概览页面)
2
+
3
+ Dashboard 在 `loom.config.ts` 的 `dashboards` 字段中定义,然后通过 CLI 生成页面。
4
+
5
+ ## 配置 Dashboard
6
+
7
+ 在 `loom.config.ts` 中添加 `dashboards` 字段:
8
+
9
+ ```typescript
10
+ import { defineConfig } from '@loom-framework/core';
11
+
12
+ export default defineConfig({
13
+ project: { name: 'my-app' },
14
+ data: { /* ... */ },
15
+ dashboards: [{
16
+ name: 'overview',
17
+ description: { 'zh-CN': '数据概览', 'en-US': 'Overview' },
18
+ models: ['items'],
19
+ layout: [
20
+ { row: [{ type: 'stat', title: { 'zh-CN': '总数', 'en-US': 'Total' }, model: 'items', aggregate: 'count', span: 6 }] },
21
+ ],
22
+ }],
23
+ });
24
+ ```
25
+
26
+ **设计原则:**
27
+ - 统计卡片放第一行(一眼看到关键数字)
28
+ - 分布图表按业务重要性排列
29
+ - 趋势图放最后一行(需要更多空间)
30
+ - 每行不超过 4 个元素
31
+ - 标题用业务语言,不用字段名
32
+
33
+ ### 配置 Schema
34
+
35
+ ```typescript
36
+ {
37
+ name: 'overview', // 必填:Dashboard 标识(同模型命名规则)
38
+ description: { 'zh-CN': '数据概览', 'en-US': 'Overview' }, // 可选:支持多语言
39
+ models: ['model_a'], // 必填:关联的数据模型名列表
40
+ layout: [{ // 必填:布局定义,数组每项代表一行
41
+ row: [{ // 每行包含一组 widget
42
+ type: 'stat', // 图表类型,见下方图表类型表
43
+ title: { 'zh-CN': '总数', 'en-US': 'Total' }, // 支持多语言
44
+ model: 'model_a', // 数据模型名
45
+ span: 6, // 可选:Col 宽度(1-24),省略则自动均分
46
+ aggregate: 'count', // 可选:count|sum|avg|min|max|ratio(默认 count)
47
+ field: 'score', // aggregate 为 sum/avg/min/max 时必填:数值字段名
48
+ filter: { status: 'active' }, // 可选:聚合前筛选条件
49
+ groupBy: 'category', // 可选:分组字段(string/enum/date/boolean)
50
+ crossGroupBy: 'source', // 可选:第二分组字段,用于二维图表
51
+ interval: 'month', // 可选:date 字段分组粒度 minute|hour|day|week|month(默认 month)
52
+ dateField: 'createdAt', // 可选:单组件日期筛选字段,覆盖 dashboard 级 defaultDateField
53
+ }]
54
+ }]
55
+ }
56
+ ```
57
+
58
+ ### 字段说明
59
+
60
+ | 字段 | 类型 | 说明 |
61
+ |------|------|------|
62
+ | `aggregate` | `count\|sum\|avg\|min\|max\|ratio` | 聚合方式。`ratio` = 符合 filter 条件的记录数/总记录数,用于 gauge/liquid/stat 百分比 |
63
+ | `field` | string | 聚合目标字段。仅 aggregate 为 sum/avg/min/max 时需要 |
64
+ | `filter` | object | 筛选条件,键值对。如 `{isResolved: true}` 筛选已处理的记录 |
65
+ | `groupBy` | string | 主分组字段。string/enum 字段按值分组计数;boolean 字段自动映射为"是/否";date 字段按 interval 分段 |
66
+ | `crossGroupBy` | string | 第二分组维度。配合 groupBy 使用,产生交叉分组数据,用于二维图表 |
67
+ | `interval` | `minute\|hour\|day\|week\|month` | date 字段的分组粒度,仅 groupBy 指向 date 字段时有效 |
68
+ | `dateField` | string | 单组件日期筛选字段。覆盖 dashboard 级 `defaultDateField`,用于同一个 dashboard 中不同组件需要按不同日期字段筛选的场景 |
69
+
70
+ ### Dashboard 级别配置
71
+
72
+ 除了 `layout` 中的 widget 配置,Dashboard 还支持以下顶级配置:
73
+
74
+ | 字段 | 类型 | 说明 |
75
+ |------|------|------|
76
+ | `defaultDateField` | string | 默认日期字段名。启用后 Dashboard 顶部显示日期范围选择器,选择日期后筛选条件发送到后端(`__range` filter) |
77
+ | `filterDimensions` | `DashboardFilterDimension[]` | 筛选维度定义。支持 `select`(下拉选择)类型;`dateRange` 类型已定义但暂未实现渲染,日期范围筛选请使用 `defaultDateField`。启用后 Dashboard 顶部显示对应的筛选控件,选择的值作为 filter 发送到后端 |
78
+
79
+ #### DashboardFilterDimension
80
+
81
+ ```typescript
82
+ {
83
+ field: 'subject', // 必填:筛选字段名
84
+ label: { 'zh-CN': '级别' }, // 必填:显示标签,支持多语言
85
+ type: 'select', // 必填:当前仅支持 'select'('dateRange' 已定义但暂未实现)
86
+ options: ['语文', '数学'], // 可选:select 类型的选项。省略则从数据中自动提取去重值
87
+ }
88
+ ```
89
+
90
+ **筛选机制:** `select` 筛选器变更后只加载符合条件的数据,清除筛选后恢复加载全量数据。日期范围筛选通过 `defaultDateField` 配置(非 filterDimensions),由 `DashboardFilterBar` 顶部日期选择器控制。
91
+
92
+ **典型配置:**
93
+
94
+ ```typescript
95
+ dashboards: [{
96
+ name: 'overview',
97
+ models: ['alerts'],
98
+ defaultDateField: 'createdAt', // 启用日期范围筛选
99
+ filterDimensions: [ // 启用 select 下拉筛选(日期范围用 defaultDateField)
100
+ { field: 'subject', label: { 'zh-CN': '级别', 'en-US': 'Level' }, type: 'select' },
101
+ { field: 'difficulty', label: { 'zh-CN': '严重度', 'en-US': 'Severity' }, type: 'select' },
102
+ ],
103
+ layout: [/* ... */],
104
+ }]
105
+ ```
106
+
107
+ ### 图表类型与配置要点
108
+
109
+ #### 数值类 — 展示关键指标
110
+
111
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
112
+ |------|---------|---------|---------|---------|
113
+ | `stat` | 统计卡片 | — | `{ aggregate: "count" }` 或 `{ aggregate: "avg", field: "score" }` 或 `{ aggregate: "ratio", filter: { passed: true } }` | Ant Design Statistic 数值卡片 |
114
+ | `gauge` | 仪表盘 | `aggregate: "ratio"` + `filter` | `{ aggregate: "ratio", filter: { isResolved: true } }` | G2 仪表盘(百分比进度) |
115
+ | `liquid` | 水波图 | `aggregate: "ratio"` + `filter` | `{ aggregate: "ratio", filter: { isResolved: true } }` | G2 水波图(百分比进度) |
116
+
117
+ > **说明**:gauge 和 liquid 使用 `aggregate: "ratio"` + `filter` 来计算百分比(如处理率 = 已处理数/总数),ratio 自动算出 0-1 之间的值。
118
+
119
+ #### 占比类 — 展示分布构成
120
+
121
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
122
+ |------|---------|---------|---------|---------|
123
+ | `pie` | 饼图 | `groupBy` (enum/string) | `{ groupBy: "subject" }` | G2 饼图(分布占比) |
124
+ | `ring` | 环形图 | `groupBy` (boolean/enum) | `{ groupBy: "difficulty" }` 或 `{ groupBy: "isResolved" }` | G2 环形图(占比对比,boolean 自动映射"是/否") |
125
+ | `treemap` | 矩形树图 | `groupBy` + 可选 `crossGroupBy` | `{ groupBy: "subject" }` 或 `{ groupBy: "subject", crossGroupBy: "difficulty" }` | G2 矩形树图(层级占比,有 crossGroupBy 则两层) |
126
+
127
+ #### 对比类 — 跨类别比较
128
+
129
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
130
+ |------|---------|---------|---------|---------|
131
+ | `bar` | 条形图 | `groupBy` | `{ groupBy: "source" }` | G2 条形图(横向分类对比) |
132
+ | `stacked_bar` | 堆叠条形图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "source" }` | G2 堆叠条形图(组成+对比) |
133
+ | `grouped_bar` | 分组条形图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "difficulty" }` | G2 分组条形图(并列对比) |
134
+ | `radar` | 雷达图 | `groupBy` | `{ groupBy: "subject" }` | G2 雷达图(多维度闭合多边形) |
135
+ | `funnel` | 漏斗图 | `groupBy` | `{ groupBy: "source" }` | G2 漏斗图(阶段转化,柱条宽度反映数值) |
136
+
137
+ #### 趋势类 — 时间维度变化
138
+
139
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
140
+ |------|---------|---------|---------|---------|
141
+ | `line` | 折线图 | `groupBy` (date 字段) + `interval` | `{ groupBy: "createdAt", interval: "month" }` | G2 折线图(时间趋势) |
142
+ | `area` | 面积图 | `groupBy` (date 字段) + `interval` | `{ groupBy: "createdAt", interval: "month" }` | G2 面积图(累计趋势) |
143
+
144
+ #### 分布类 — 交叉/密度分析
145
+
146
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
147
+ |------|---------|---------|---------|---------|
148
+ | `scatter` | 散点图 | `groupBy` | `{ groupBy: "subject" }` | G2 散点图(相关性/分布) |
149
+ | `heatmap` | 热力图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "source" }` | G2 热力图(密度/交叉分析,颜色深浅表示数量) |
150
+
151
+ ## 执行 generate dashboard
152
+
153
+ 配置好 `dashboards` 字段后,运行命令生成页面:
154
+
155
+ ```bash
156
+ loom generate dashboard <name>
157
+ ```
158
+
159
+ 此命令会:
160
+ 1. 从 `loom.config.ts` 的 `dashboards` 字段读取配置
161
+ 2. 验证引用的模型是否存在
162
+ 3. 生成 Dashboard TSX 页面(含 `useData` + `useChartData` + `DashboardChart`)
163
+ 4. 自动接线 App.tsx(添加 import、navItem、switch case)
164
+ 5. 检测 `@antv/g2` 是否已安装,未安装则自动安装
165
+
166
+ **前置依赖:** Dashboard 使用 @antv/g2 渲染图表,需在 frontend 目录安装:
167
+
168
+ ```bash
169
+ cd frontend && pnpm add @antv/g2
170
+ ```
171
+
172
+ ## 完整配置示例
173
+
174
+ 以告警管理平台为例,展示所有 15 种图表的配置:
175
+
176
+ ```typescript
177
+ import { defineConfig } from '@loom-framework/core';
178
+
179
+ export default defineConfig({
180
+ project: { name: 'alert-manager' },
181
+ data: { /* ... */ },
182
+ dashboards: [{
183
+ name: 'overview',
184
+ description: { 'zh-CN': '告警数据概览', 'en-US': 'Overview' },
185
+ models: ['alerts', 'alert_handlers'],
186
+ defaultDateField: 'createdAt',
187
+ filterDimensions: [
188
+ { field: 'subject', label: { 'zh-CN': '级别', 'en-US': 'Level' }, type: 'select' },
189
+ { field: 'difficulty', label: { 'zh-CN': '严重度', 'en-US': 'Severity' }, type: 'select' },
190
+ ],
191
+ layout: [
192
+ {
193
+ row: [
194
+ { type: 'stat', title: { 'zh-CN': '告警总数', 'en-US': 'Total Alerts' }, model: 'alerts', aggregate: 'count', span: 4 },
195
+ { type: 'stat', title: { 'zh-CN': '处理率', 'en-US': 'Resolution Rate' }, model: 'alerts', aggregate: 'ratio', filter: { isResolved: true }, span: 4 },
196
+ { type: 'gauge', title: { 'zh-CN': '处理率仪表盘', 'en-US': 'Resolution Gauge' }, model: 'alerts', aggregate: 'ratio', filter: { isResolved: true }, span: 6 },
197
+ { type: 'liquid', title: { 'zh-CN': '处理率水波图', 'en-US': 'Resolution Liquid' }, model: 'alerts', aggregate: 'ratio', filter: { isResolved: true }, span: 5 },
198
+ { type: 'stat', title: { 'zh-CN': '平均处理时长', 'en-US': 'Avg Resolution Time' }, model: 'alerts', aggregate: 'avg', field: 'resolutionTime', span: 5 }
199
+ ]
200
+ },
201
+ {
202
+ row: [
203
+ { type: 'pie', title: { 'zh-CN': '级别分布', 'en-US': 'By Level' }, model: 'alerts', groupBy: 'subject', span: 8 },
204
+ { type: 'ring', title: { 'zh-CN': '严重度分布', 'en-US': 'By Severity' }, model: 'alerts', groupBy: 'difficulty', span: 8 },
205
+ { type: 'bar', title: { 'zh-CN': '告警来源分布', 'en-US': 'By Source' }, model: 'alerts', groupBy: 'source', span: 8 }
206
+ ]
207
+ },
208
+ {
209
+ row: [
210
+ { type: 'line', title: { 'zh-CN': '告警趋势', 'en-US': 'Alerts Trend' }, model: 'alerts', groupBy: 'createdAt', interval: 'month', span: 12 },
211
+ { type: 'area', title: { 'zh-CN': '处理记录趋势', 'en-US': 'Handlers Trend' }, model: 'alert_handlers', groupBy: 'createdAt', interval: 'month', span: 12 }
212
+ ]
213
+ },
214
+ {
215
+ row: [
216
+ { type: 'radar', title: { 'zh-CN': '各级别概览', 'en-US': 'Level Overview' }, model: 'alerts', groupBy: 'subject', span: 8 },
217
+ { type: 'stacked_bar', title: { 'zh-CN': '级别×错误类型', 'en-US': 'Level × Error Type' }, model: 'alerts', groupBy: 'subject', crossGroupBy: 'source', span: 8 },
218
+ { type: 'grouped_bar', title: { 'zh-CN': '级别×严重度', 'en-US': 'Level × Severity' }, model: 'alerts', groupBy: 'subject', crossGroupBy: 'difficulty', span: 8 }
219
+ ]
220
+ },
221
+ {
222
+ row: [
223
+ { type: 'scatter', title: { 'zh-CN': '级别分布散点', 'en-US': 'Level Scatter' }, model: 'alerts', groupBy: 'subject', span: 8 },
224
+ { type: 'funnel', title: { 'zh-CN': '告警来源漏斗', 'en-US': 'Source Funnel' }, model: 'alerts', groupBy: 'source', span: 8 },
225
+ { type: 'treemap', title: { 'zh-CN': '级别×严重度树图', 'en-US': 'Level × Severity Tree' }, model: 'alerts', groupBy: 'subject', crossGroupBy: 'difficulty', span: 8 }
226
+ ]
227
+ },
228
+ {
229
+ row: [
230
+ { type: 'heatmap', title: { 'zh-CN': '级别×年级热力图', 'en-US': 'Level × Grade Heatmap' }, model: 'alerts', groupBy: 'subject', crossGroupBy: 'source', span: 24 }
231
+ ]
232
+ }
233
+ ]
234
+ }],
235
+ });
236
+ ```
237
+
238
+ ## 追加自定义图表
239
+
240
+ 生成后的 Dashboard 页面是普通 TSX,可直接编辑追加图表:
241
+
242
+ 1. 使用 `useChartData` / `useCrossGroupChartData` / `useTreemapChartData` 准备数据
243
+ 2. 使用 `/antv-g2-chart` skill 生成 G2 v5 Spec 代码
244
+ 3. 添加 `<DashboardChart spec={...} />` 组件
245
+
246
+ 示例——追加一个级别×年级的堆叠柱状图:
247
+
248
+ ```tsx
249
+ // 在已有的 Dashboard 页面中追加
250
+ const levelSourceData = useCrossGroupChartData(alertsList, { groupBy: 'level', crossGroupBy: 'source' });
251
+
252
+ <DashboardChart spec={{
253
+ type: 'interval',
254
+ data: subjectGradeData,
255
+ encode: { x: 'group', y: 'value', color: 'name' },
256
+ coordinate: { transform: [{ type: 'transpose' }] },
257
+ transform: [{ type: 'stackY' }],
258
+ }} />
259
+ ```
@@ -0,0 +1,306 @@
1
+ # Data Model Reference
2
+
3
+ Advanced configuration for `loom.config.ts`. Full type definitions from `packages/core/src/types.ts`.
4
+
5
+ ## FieldDefinition
6
+
7
+ ```typescript
8
+ {
9
+ name: 'status', // ^[a-zA-Z_][a-zA-Z0-9_]*$
10
+ type: 'string', // 'string' | 'number' | 'boolean' | 'date' | 'string[]' | 'number[]' | 'json'
11
+ required: true, // optional, default false
12
+ description: { 'zh-CN': '状态', 'en-US': 'Status' }, // optional: LocaleString, shown in generated forms
13
+ default: 'active', // optional: auto-filled on write if not provided
14
+ enum: ['active', 'inactive', 'archived'], // optional: restrict string field to allowed values (storage values)
15
+ enumLabels: { // optional: display labels per locale for each enum value
16
+ active: { 'zh-CN': '激活', 'en-US': 'Active' },
17
+ inactive: { 'zh-CN': '停用', 'en-US': 'Inactive' },
18
+ archived: { 'zh-CN': '归档', 'en-US': 'Archived' },
19
+ },
20
+ dateFormat: 'YYYY-MM-DD HH:mm', // optional: dayjs format for date fields, default 'YYYY-MM-DD'
21
+ }
22
+ ```
23
+
24
+ ### dateFormat (date fields only)
25
+
26
+ Controls how date fields are displayed and edited in generated CRUD pages. Uses dayjs format strings:
27
+
28
+ | Format | Display | DatePicker | Use case |
29
+ |--------|---------|------------|----------|
30
+ | `YYYY-MM-DD` (default) | `2025-11-03` | Date only | Birth dates, deadlines |
31
+ | `YYYY-MM-DD HH:mm` | `2025-11-03 14:30` | Date + time picker | Created at, timestamps |
32
+ | `YYYY-MM-DD HH:mm:ss` | `2025-11-03 14:30:00` | Date + time with seconds | Precise timestamps |
33
+
34
+ Affects: column render, DatePicker format/showTime, save serialization, range filter format.
35
+
36
+ ## ModelSchema
37
+
38
+ ### Recommended Fields
39
+
40
+ **重要:Loom 框架不会自动注入时间戳字段。** `id` 和 `createdBy`(auth 启用时)是唯一自动注入的字段。以下字段需要手动定义:
41
+
42
+ - **`createdAt`**(`type: 'date'`, `required: true`):创建/录入时间。**强烈推荐每个模型都包含此字段**,因为:
43
+ - Dashboard 的 `defaultDateField` 默认引用 `createdAt` 做日期范围筛选
44
+ - 趋势图(`line`/`area`)的 `groupBy` 依赖日期字段按时间分组
45
+ - 如果模型缺少此字段,Dashboard 中依赖该字段的图表和筛选将无法工作
46
+ - **`updatedAt`**(`type: 'date'`):更新时间。可选,如需追踪最后修改时间则添加
47
+
48
+ ```typescript
49
+ // 推荐在每个模型的 fields 数组开头添加:
50
+ { name: 'createdAt', type: 'date', required: true, description: { 'zh-CN': '创建时间', 'en-US': 'Created At' }, dateFormat: 'YYYY-MM-DD HH:mm' },
51
+ ```
52
+
53
+ ### Definition
54
+
55
+ ```typescript
56
+ {
57
+ name: 'orders', // ^[a-zA-Z][a-zA-Z0-9_]*$, will be used as React component name
58
+ description: { 'zh-CN': '订单记录', 'en-US': 'Order Records' }, // optional: LocaleString, shown in page heading
59
+ fields: [...],
60
+ indexes?: [{ fields: ['userId', 'status'], unique: false }],
61
+ adapters?: { // optional: per-model adapter override
62
+ filesystem: { dir: 'orders', format: 'json' | 'yaml', datePattern: 'YYYY-MM' }, // datePattern: date-partitioned sub-directories using the model's first date field
63
+ sqlite: { table: 'orders' },
64
+ },
65
+ crud?: { // optional: control CRUD page features (all default to true when omitted)
66
+ batch: true, // optional: enable batch selection and batch delete
67
+ export: true, // optional: enable CSV export button
68
+ import: true, // optional: enable CSV import button
69
+ deleteWithUndo: true, // optional: delete-with-undo instead of confirm dialog; set false to use confirm dialog
70
+ },
71
+ }
72
+ ```
73
+
74
+ ## AIButtonConfig
75
+
76
+ ```typescript
77
+ aiButtons: [{
78
+ id: 'summarize', // required: unique identifier
79
+ label: { 'zh-CN': '总结', 'en-US': 'Summarize' }, // required: LocaleString, button text
80
+ icon: 'FileTextOutlined', // optional: Ant Design icon component name
81
+ prompt: '请总结以下内容', // required: supports {{var}} placeholders, replaced with current row field values
82
+ placement: 'alerts', // optional: limit to specific model pages, comma-separated; omit for all pages
83
+ }]
84
+ ```
85
+
86
+ ## AIConfig
87
+
88
+ ```typescript
89
+ ai: {
90
+ engine: 'claude-code', // default 'claude-code'
91
+ claudeCode: {
92
+ path: '/usr/local/bin/claude', // optional: custom claude binary path
93
+ pluginRoot: '.claude', // optional: plugin root directory
94
+ timeout: 120000, // optional: command timeout in ms
95
+ skipPermissions: false, // optional: skip permission prompts (default: true in headless mode — Claude Code runs without interactive terminal, so permissions are skipped unless explicitly set to false)
96
+ models: [ // optional: available AI models
97
+ {
98
+ name: 'GLM-5.1', // required: model name, passed to --model flag
99
+ authToken: 'sk-xxx', // optional: ANTHROPIC_AUTH_TOKEN, passed via --settings
100
+ baseUrl: 'https://api.example.com', // optional: ANTHROPIC_BASE_URL, passed via --settings
101
+ isDefault: true, // optional: default model for new chats
102
+ tier: "max",
103
+ tags: [
104
+ "自然语言"
105
+ ]
106
+ },
107
+ ],
108
+ },
109
+ }
110
+ ```
111
+
112
+ Models can be managed via the Model Management page (System Settings → Model Management) or by editing `loom.config.ts` directly. On `loom init`, the default model is auto-detected from `~/.claude/settings.json` (ANTHROPIC_MODEL, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL).
113
+
114
+ ## ServerConfig
115
+
116
+ ```typescript
117
+ server: {
118
+ backendPort: 3000, // default 3000
119
+ frontendPort: 5173, // default 5173
120
+ host: '127.0.0.1', // default 127.0.0.1 (local only)
121
+ cors: true, // default true
122
+ staticDir: './dist/frontend',
123
+ }
124
+ ```
125
+
126
+ ## DataConfig
127
+
128
+ ```typescript
129
+ data: {
130
+ defaultAdapter: 'filesystem' | 'sqlite',
131
+ models: [...],
132
+ sqlite: { filename: 'loom.db' }, // optional, default 'loom.db'
133
+ }
134
+ ```
135
+
136
+ ## UIConfig
137
+
138
+ ```typescript
139
+ ui: {
140
+ theme: { // optional: theme configuration
141
+ defaultMode: 'light', // optional: 'light' | 'dark', default 'light'
142
+ token: { colorPrimary: '#1677ff' }, // optional: Ant Design token overrides
143
+ },
144
+ siderCollapsed: false, // optional: sidebar collapsed by default on desktop
145
+ showHeader: true, // optional: show header bar (breadcrumbs + theme toggle)
146
+ locale: 'zh-CN', // optional: 'zh-CN' | 'en-US', default 'zh-CN'
147
+ }
148
+ ```
149
+
150
+ ## AuthRuntimeConfig
151
+
152
+ Runtime auth fields are auto-filled by Zod defaults. Usually no manual configuration needed.
153
+
154
+ ```typescript
155
+ auth: {
156
+ provider: 'builtin', // Fixed value, always 'builtin'
157
+ accessTokenTtl: 900, // Optional: access token TTL in seconds (default: 900 = 15min)
158
+ refreshTokenTtl: 604800, // Optional: refresh token TTL in seconds (default: 604800 = 7d)
159
+ }
160
+ ```
161
+
162
+ Note: `provider` and TTL fields are populated by Zod defaults. The `secret` field (required) should use `env:LOOM_JWT_SECRET` format.
163
+
164
+ ## EventsConfig
165
+
166
+ ```typescript
167
+ events: {
168
+ enabled: true, // Optional: enable/disable events (default: true)
169
+ serverUrl: 'https://...', // Optional: event service URL for distributed deployment
170
+ subscriptions: [ // Optional: declarative event subscriptions
171
+ { pattern: 'data:create:modelName', handler: 'log' },
172
+ { pattern: 'data:update:modelName', handler: 'webhook', config: { url: 'https://...', method?: 'POST', headers?: {} } },
173
+ { pattern: 'data:create:modelName', handler: 'notify', config: { type: 'info', title: '标题' } },
174
+ { pattern: 'data:create:modelName', handler: 'process', config: { process: 'my-process', filter?: {} } },
175
+ ],
176
+ }
177
+ ```
178
+
179
+ Note: 声明式配置在服务启动时自动注册,修改后需重启生效。运行时 CLI/API 管理见 App-Skill(`references/events.md`)。避免对同一 pattern + process 同时使用声明式和命令式绑定,否则会双重触发。
180
+
181
+ ## ProcessesConfig
182
+
183
+ ```typescript
184
+ processes: {
185
+ enabled: true, // Optional: enable/disable process engine (default: true)
186
+ maxConcurrent: 5, // Optional: max concurrent executions, 1-50 (default: 5)
187
+ defaultOwner: 'admin', // Required: default owner username
188
+ executionTimeout: '30m', // Optional: execution timeout (default: '30m')
189
+ definitions: [ // Optional: declarative process definitions (auto-registered on start)
190
+ {
191
+ name: 'daily-report',
192
+ description: 'Daily summary report',
193
+ cron: '0 9 * * 1-5',
194
+ prompt: 'Summarize yesterday data and report',
195
+ owner: 'admin',
196
+ },
197
+ {
198
+ name: 'on-alert',
199
+ cron: '*/5 * * * *',
200
+ hasProcessFile: true, // expects .loom/processes/{name}/PROCESS.md
201
+ owner: 'admin',
202
+ model: 'claude-sonnet-4-6', // AI model for this process
203
+ },
204
+ ],
205
+ }
206
+ ```
207
+
208
+ Note: `enabled`, `maxConcurrent`, and `executionTimeout` are populated by Zod defaults. Only `defaultOwner` is typically set manually. Process definitions in `definitions[]` are auto-registered on server start. 运行时 CLI 管理(创建/运行/暂停/日志等)见 App-Skill(`references/process.md`)。
209
+
210
+ ## LifecycleConfig
211
+
212
+ Global engine parameters for Feeder lifecycle scripts. All Feeder scripts share these parameters. Scripts are registered via `loom process add --source`, not defined in config.
213
+
214
+ ```typescript
215
+ lifecycle: {
216
+ enabled: true, // Optional: enable/disable lifecycle management (default: true)
217
+ restart: true, // Optional: restart on abnormal exit (default: true)
218
+ maxRestarts: 5, // Optional: max restarts within window (default: 5)
219
+ restartWindowMs: 60000, // Optional: restart counting window in ms (default: 60000)
220
+ backoffInitialMs: 1000, // Optional: initial backoff delay in ms (default: 1000)
221
+ backoffMaxMs: 30000, // Optional: max backoff delay in ms (default: 30000)
222
+ backoffMultiplier: 2.0, // Optional: backoff multiplier (default: 2.0)
223
+ memoryLimitMb: 512, // Optional: memory limit in MB (default: 512)
224
+ shutdownTimeoutMs: 5000, // Optional: graceful shutdown timeout in ms (default: 5000)
225
+ }
226
+ ```
227
+
228
+ Note: The `onReady` array has been removed. Use `loom process add --source <command> --subscribe <pattern>` to register Feeder scripts, which are automatically managed by LifecycleManager using these global parameters. Feeder 脚本的事件绑定详情见 App-Skill(`references/events.md`)。
229
+
230
+ ## RelationConfig
231
+
232
+ ```typescript
233
+ relations: [{
234
+ name: 'question_reviews', // required: unique relation identifier
235
+ label: { 'zh-CN': '处理记录', 'en-US': 'Handler Records' }, // optional: LocaleString
236
+ from: 'alerts', // required: source model name
237
+ to: 'alert_handlers', // required: target model name
238
+ foreignKey: 'questionId', // required: foreign key field in target model
239
+ type: 'hasMany', // required: 'hasOne' | 'hasMany' | 'manyToMany'
240
+ through: 'enrollments', // optional: pivot model for manyToMany
241
+ }]
242
+ ```
243
+
244
+ Relations are displayed in the detail drawer of generated CRUD pages. `hasMany` and `manyToMany` relations show as a nested table.
245
+
246
+ ## DashboardConfig
247
+
248
+ ```typescript
249
+ dashboards: [{
250
+ name: 'overview', // ^[a-zA-Z][a-zA-Z0-9_]*$, same naming rules as model
251
+ description: { 'zh-CN': '数据概览', 'en-US': 'Overview' }, // optional: LocaleString, shown in sidebar
252
+ models: ['items'], // required: data models included in this dashboard
253
+ defaultDateField: 'createdAt', // optional: default date field for date range filtering across all widgets
254
+ filterDimensions: [ // optional: filter bar dimensions for interactive filtering (select only; use defaultDateField for date range; 'dateRange' type defined but not yet implemented)
255
+ {
256
+ field: 'status', // required: field name to filter on
257
+ label: { 'zh-CN': '状态', 'en-US': 'Status' }, // required: LocaleString
258
+ type: 'select', // required: 'select' ('dateRange' defined but not yet implemented, use defaultDateField instead)
259
+ options: ['active', 'inactive'], // optional: for 'select' type, auto-derived from data if omitted
260
+ },
261
+ ],
262
+ layout: [{ // required: at least one row
263
+ row: [{ // at least one widget per row
264
+ type: 'stat' | 'pie' | 'ring' | 'bar' | 'line' | 'area' | 'scatter' | 'radar' | 'funnel' | 'treemap' | 'gauge' | 'liquid' | 'heatmap' | 'stacked_bar' | 'grouped_bar',
265
+ title: { 'zh-CN': '任务总数', 'en-US': 'Total Tasks' }, // required: LocaleString, display title
266
+ model: 'items', // required: data model name
267
+ span: 6, // optional: Ant Design Grid Col span (1-24), auto-equal-split if omitted
268
+ groupBy: 'status', // optional: group by field for aggregation
269
+ crossGroupBy: 'priority', // optional: second group-by for 2D charts (heatmap, stacked_bar, grouped_bar)
270
+ aggregate: 'count', // optional: 'count' | 'sum' | 'avg' | 'min' | 'max' | 'ratio', default count
271
+ field: 'score', // optional: numeric field for sum/avg/min/max
272
+ filter: { status: 'active' }, // optional: pre-aggregation filter
273
+ interval: 'month', // optional: 'minute' | 'hour' | 'day' | 'week' | 'month' for date groupBy
274
+ dateField: 'createdAt', // optional: per-widget date field override (falls back to dashboard.defaultDateField)
275
+ }],
276
+ }],
277
+ }]
278
+ ```
279
+
280
+ ## useSchema Runtime API
281
+
282
+ Generated pages use `useSchema(model)` to fetch model schema and AI buttons at runtime. Schema is auto-resolved by current locale:
283
+
284
+ ```typescript
285
+ const { schema, loading, error } = useSchema('items');
286
+ // schema.fields — field definitions with resolved LocaleString (e.g. description is string, not LocaleString)
287
+ // schema.fields[].enumLabels — resolved to { [enumValue]: displayLabel } for current locale
288
+ // schema.aiButtons — AI buttons filtered by placement, label resolved to current locale
289
+
290
+ // Convert schema enum to antd formats (uses resolved enumLabels):
291
+ filterOptions(schema, 'status') // → [{ text: '激活', value: 'active' }, ...]
292
+ selectOptions(schema, 'status') // → [{ label: '激活', value: 'active' }, ...]
293
+
294
+ // Get display label for a single enum value:
295
+ enumLabel(schema, 'status', 'active') // → '激活'
296
+ ```
297
+
298
+ ## LocaleString
299
+
300
+ All user-facing string fields support `LocaleString` format: `string | Record<string, string>`.
301
+
302
+ - **Simple**: `description: '级别'` — same text for all locales
303
+ - **Multi-locale**: `description: { 'zh-CN': '级别', 'en-US': 'Level' }` — auto-translated on locale switch
304
+ - **Fallback**: requested locale → `'zh-CN'` → first available value
305
+
306
+ Supported fields: `project.description`, `ModelSchema.description`, `FieldDefinition.description`, `AIButtonConfig.label`, `DashboardConfig.description`, `DashboardWidget.title`, `RelationConfig.label`, `DashboardFilterDimension.label`