@loom-framework/core 0.1.0-alpha.19 → 0.1.0-alpha.190
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.
- package/builtin-skills/antd/SKILL.md +266 -0
- package/builtin-skills/antv-g2-chart/SKILL.md +1067 -0
- package/builtin-skills/antv-g2-chart/references/animations/g2-animation-intro.md +176 -0
- package/builtin-skills/antv-g2-chart/references/animations/g2-animation-keyframe.md +149 -0
- package/builtin-skills/antv-g2-chart/references/animations/g2-animation-types.md +253 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-annotation.md +237 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-config.md +648 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-radar.md +219 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-label-config.md +174 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-category.md +278 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-config.md +363 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-continuous.md +264 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-scrollbar.md +276 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-slider.md +333 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-title.md +149 -0
- package/builtin-skills/antv-g2-chart/references/components/g2-comp-tooltip-config.md +358 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-circle.md +97 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-rect.md +241 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geo-map.md +210 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geoview.md +143 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-repeat-matrix.md +171 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-flex.md +142 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-layer.md +149 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-timing-keyframe.md +91 -0
- package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-view.md +309 -0
- package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-chart-selection.md +235 -0
- package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-color-theory.md +287 -0
- package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-visual-channels.md +180 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-cartesian.md +131 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-fisheye.md +131 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-helix.md +141 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-parallel.md +129 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-polar.md +143 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-radial.md +214 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-theta.md +171 -0
- package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-transpose.md +195 -0
- package/builtin-skills/antv-g2-chart/references/core/g2-core-chart-init.md +266 -0
- package/builtin-skills/antv-g2-chart/references/core/g2-core-encode-channel.md +197 -0
- package/builtin-skills/antv-g2-chart/references/core/g2-core-view-composition.md +224 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-ema.md +190 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-fetch.md +167 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-filter.md +212 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-fold.md +260 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-format-tabular.md +280 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-kde.md +426 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-log.md +140 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-slice.md +147 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-sort.md +251 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-sortby.md +183 -0
- package/builtin-skills/antv-g2-chart/references/data/g2-data-transform-patterns.md +394 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-adaptive-filter.md +118 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-axis.md +112 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-filter.md +122 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-x-y-highlight.md +127 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-xy.md +118 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush.md +184 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-filter.md +170 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-highlight.md +186 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-filter.md +170 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-highlight.md +185 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-chart-index.md +127 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-drilldown.md +149 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight-by.md +125 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight.md +235 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-hover-scale.md +109 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-point-move.md +152 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select-by.md +133 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select.md +249 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-fisheye.md +117 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-filter.md +130 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-highlight.md +130 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-poptip.md +105 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-scrollbar-filter.md +144 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-filter.md +231 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-wheel.md +138 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-tooltip.md +192 -0
- package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-treemap-drilldown.md +152 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-contrast-reverse.md +170 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-exceed-adjust.md +146 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-hide.md +185 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-stroke.md +147 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-dodge-y.md +225 -0
- package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-hide.md +213 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-diagram.md +196 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-donut.md +148 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-pie.md +212 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-basic.md +168 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-stacked.md +150 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-beeswarm.md +134 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bi-directional-bar.md +297 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-box-boxplot.md +163 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-boxplot.md +340 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bullet.md +203 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-cell-heatmap.md +370 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-chord.md +341 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-connector.md +126 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-contourline.md +243 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-density.md +457 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-distribution-curve.md +298 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-funnel.md +329 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gantt.md +208 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gauge.md +247 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-heatmap.md +130 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-histogram.md +186 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-image.md +129 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-basic.md +528 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-grouped.md +161 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-normalized.md +147 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-stacked.md +183 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-k-chart.md +237 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-basic.md +353 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-multi.md +156 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-linex-liney.md +176 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-link.md +134 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-liquid.md +125 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-mosaic.md +257 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-pack.md +424 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-parallel.md +195 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-partition.md +275 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-path.md +135 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-bubble.md +138 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-scatter.md +177 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-polygon.md +130 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radar.md +231 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radial-bar.md +226 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-range-rangey.md +253 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rangex.md +293 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rect.md +115 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-regression-curve.md +276 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rose.md +182 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sankey.md +217 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-shape.md +160 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-spiral.md +257 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sunburst.md +327 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-text.md +309 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-tree.md +235 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-treemap.md +426 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-vector.md +108 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-venn.md +204 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-violin.md +307 -0
- package/builtin-skills/antv-g2-chart/references/marks/g2-mark-wordcloud.md +155 -0
- package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category10.md +196 -0
- package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category20.md +238 -0
- package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-performance.md +181 -0
- package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-responsive.md +232 -0
- package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-v4-to-v5.md +223 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-band.md +127 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-linear.md +259 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-log.md +226 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-ordinal.md +135 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-point.md +242 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-pow-sqrt.md +124 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-quantile-quantize.md +119 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-sequential.md +267 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-threshold.md +133 -0
- package/builtin-skills/antv-g2-chart/references/scales/g2-scale-time.md +159 -0
- package/builtin-skills/antv-g2-chart/references/themes/g2-theme-builtin.md +192 -0
- package/builtin-skills/antv-g2-chart/references/themes/g2-theme-custom.md +183 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-bin.md +153 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-binx.md +133 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-diffy.md +130 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-dodgex.md +90 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-flexx.md +115 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-group.md +233 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupcolor.md +182 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupx.md +265 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupy.md +167 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitter.md +149 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitterx.md +177 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jittery.md +177 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-normalizey.md +83 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-pack.md +164 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sample.md +143 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-select.md +147 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selectx.md +179 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selecty.md +179 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sort-color.md +115 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sortx.md +285 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sorty.md +117 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stack-enter.md +158 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stacky.md +218 -0
- package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-symmetryy.md +122 -0
- package/builtin-skills/app-skill/SKILL.md +47 -0
- package/builtin-skills/app-skill/references/auth.md +180 -0
- package/builtin-skills/app-skill/references/data-semantics.md +44 -0
- package/builtin-skills/app-skill/references/events.md +365 -0
- package/builtin-skills/app-skill/references/evolution.md +90 -0
- package/builtin-skills/app-skill/references/feeder.md +184 -0
- package/builtin-skills/app-skill/references/model.md +124 -0
- package/builtin-skills/app-skill/references/models.md +59 -0
- package/builtin-skills/app-skill/references/notification.md +123 -0
- package/builtin-skills/app-skill/references/process-builder.md +420 -0
- package/builtin-skills/app-skill/references/process.md +458 -0
- package/builtin-skills/chart-visualization/SKILL.md +101 -0
- package/builtin-skills/loom/SKILL.md +308 -0
- package/builtin-skills/loom/references/README.md +285 -0
- package/builtin-skills/loom/references/dashboard.md +259 -0
- package/builtin-skills/loom/references/data-model.md +306 -0
- package/builtin-skills/loom/references/eject.md +111 -0
- package/builtin-skills/yuque-reader/SKILL.md +43 -0
- package/builtin-skills/yuque-reader/references/config.md +52 -0
- package/builtin-skills/yuque-reader/scripts/fetch_doc.py +121 -0
- package/dist/adapter-base.d.ts +31 -0
- package/dist/adapter-base.d.ts.map +1 -0
- package/dist/adapter-base.js +69 -0
- package/dist/adapter-base.js.map +1 -0
- package/dist/adapter-factory.d.ts +8 -0
- package/dist/adapter-factory.d.ts.map +1 -0
- package/dist/adapter-factory.js +25 -0
- package/dist/adapter-factory.js.map +1 -0
- package/dist/adapter-filesystem.d.ts +25 -11
- package/dist/adapter-filesystem.d.ts.map +1 -1
- package/dist/adapter-filesystem.js +230 -52
- package/dist/adapter-filesystem.js.map +1 -1
- package/dist/adapter-sqlite.d.ts +9 -23
- package/dist/adapter-sqlite.d.ts.map +1 -1
- package/dist/adapter-sqlite.js +94 -55
- package/dist/adapter-sqlite.js.map +1 -1
- package/dist/adapters/base.d.ts +31 -0
- package/dist/adapters/base.d.ts.map +1 -0
- package/dist/adapters/base.js +69 -0
- package/dist/adapters/base.js.map +1 -0
- package/dist/adapters/factory.d.ts +8 -0
- package/dist/adapters/factory.d.ts.map +1 -0
- package/dist/adapters/factory.js +25 -0
- package/dist/adapters/factory.js.map +1 -0
- package/dist/adapters/filesystem.d.ts +46 -0
- package/dist/adapters/filesystem.d.ts.map +1 -0
- package/dist/adapters/filesystem.js +321 -0
- package/dist/adapters/filesystem.js.map +1 -0
- package/dist/adapters/index.d.ts +10 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +8 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/sqlite.d.ts +37 -0
- package/dist/adapters/sqlite.d.ts.map +1 -0
- package/dist/adapters/sqlite.js +264 -0
- package/dist/adapters/sqlite.js.map +1 -0
- package/dist/backend/ai/button-resolver.d.ts +18 -0
- package/dist/backend/ai/button-resolver.d.ts.map +1 -0
- package/dist/backend/ai/button-resolver.js +58 -0
- package/dist/backend/ai/button-resolver.js.map +1 -0
- package/dist/backend/ai/content-blocks.d.ts +18 -0
- package/dist/backend/ai/content-blocks.d.ts.map +1 -0
- package/dist/backend/ai/content-blocks.js +66 -0
- package/dist/backend/ai/content-blocks.js.map +1 -0
- package/dist/backend/ai/engine.d.ts +65 -0
- package/dist/backend/ai/engine.d.ts.map +1 -0
- package/dist/backend/ai/engine.js +238 -0
- package/dist/backend/ai/engine.js.map +1 -0
- package/dist/backend/ai/index.d.ts +11 -0
- package/dist/backend/ai/index.d.ts.map +1 -0
- package/dist/backend/ai/index.js +8 -0
- package/dist/backend/ai/index.js.map +1 -0
- package/dist/backend/ai/output-parser.d.ts +36 -0
- package/dist/backend/ai/output-parser.d.ts.map +1 -0
- package/dist/backend/ai/output-parser.js +264 -0
- package/dist/backend/ai/output-parser.js.map +1 -0
- package/dist/backend/ai/session-manager.d.ts +106 -0
- package/dist/backend/ai/session-manager.d.ts.map +1 -0
- package/dist/backend/ai/session-manager.js +304 -0
- package/dist/backend/ai/session-manager.js.map +1 -0
- package/dist/backend/auth/jwt.d.ts +16 -0
- package/dist/backend/auth/jwt.d.ts.map +1 -0
- package/dist/backend/auth/jwt.js +57 -0
- package/dist/backend/auth/jwt.js.map +1 -0
- package/dist/backend/auth/password.d.ts +10 -0
- package/dist/backend/auth/password.d.ts.map +1 -0
- package/dist/backend/auth/password.js +19 -0
- package/dist/backend/auth/password.js.map +1 -0
- package/dist/backend/auth/rbac.d.ts +36 -0
- package/dist/backend/auth/rbac.d.ts.map +1 -0
- package/dist/backend/auth/rbac.js +130 -0
- package/dist/backend/auth/rbac.js.map +1 -0
- package/dist/backend/auth/request-context.d.ts +15 -0
- package/dist/backend/auth/request-context.d.ts.map +1 -0
- package/dist/backend/auth/request-context.js +17 -0
- package/dist/backend/auth/request-context.js.map +1 -0
- package/dist/backend/auth/service-token.d.ts +11 -0
- package/dist/backend/auth/service-token.d.ts.map +1 -0
- package/dist/backend/auth/service-token.js +13 -0
- package/dist/backend/auth/service-token.js.map +1 -0
- package/dist/backend/auth/token-store.d.ts +28 -0
- package/dist/backend/auth/token-store.d.ts.map +1 -0
- package/dist/backend/auth/token-store.js +84 -0
- package/dist/backend/auth/token-store.js.map +1 -0
- package/dist/backend/auth/user-store.d.ts +42 -0
- package/dist/backend/auth/user-store.d.ts.map +1 -0
- package/dist/backend/auth/user-store.js +112 -0
- package/dist/backend/auth/user-store.js.map +1 -0
- package/dist/backend/events/event-bus.d.ts +39 -0
- package/dist/backend/events/event-bus.d.ts.map +1 -0
- package/dist/backend/events/event-bus.js +182 -0
- package/dist/backend/events/event-bus.js.map +1 -0
- package/dist/backend/events/event-emitting-adapter.d.ts +31 -0
- package/dist/backend/events/event-emitting-adapter.d.ts.map +1 -0
- package/dist/backend/events/event-emitting-adapter.js +70 -0
- package/dist/backend/events/event-emitting-adapter.js.map +1 -0
- package/dist/backend/events/event-registry.d.ts +22 -0
- package/dist/backend/events/event-registry.d.ts.map +1 -0
- package/dist/backend/events/event-registry.js +35 -0
- package/dist/backend/events/event-registry.js.map +1 -0
- package/dist/backend/events/index.d.ts +7 -0
- package/dist/backend/events/index.d.ts.map +1 -0
- package/dist/backend/events/index.js +7 -0
- package/dist/backend/events/index.js.map +1 -0
- package/dist/backend/events/subscription-service.d.ts +46 -0
- package/dist/backend/events/subscription-service.d.ts.map +1 -0
- package/dist/backend/events/subscription-service.js +220 -0
- package/dist/backend/events/subscription-service.js.map +1 -0
- package/dist/backend/index.d.ts +93 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +481 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/lifecycle/index.d.ts +2 -0
- package/dist/backend/lifecycle/index.d.ts.map +1 -0
- package/dist/backend/lifecycle/index.js +2 -0
- package/dist/backend/lifecycle/index.js.map +1 -0
- package/dist/backend/lifecycle/manager.d.ts +73 -0
- package/dist/backend/lifecycle/manager.d.ts.map +1 -0
- package/dist/backend/lifecycle/manager.js +684 -0
- package/dist/backend/lifecycle/manager.js.map +1 -0
- package/dist/backend/loom-paths.d.ts +30 -0
- package/dist/backend/loom-paths.d.ts.map +1 -0
- package/dist/backend/loom-paths.js +49 -0
- package/dist/backend/loom-paths.js.map +1 -0
- package/dist/backend/notifications/interpolate.d.ts +6 -0
- package/dist/backend/notifications/interpolate.d.ts.map +1 -0
- package/dist/backend/notifications/interpolate.js +11 -0
- package/dist/backend/notifications/interpolate.js.map +1 -0
- package/dist/backend/notifications/notification-storage.d.ts +27 -0
- package/dist/backend/notifications/notification-storage.d.ts.map +1 -0
- package/dist/backend/notifications/notification-storage.js +160 -0
- package/dist/backend/notifications/notification-storage.js.map +1 -0
- package/dist/backend/observe/index.d.ts +6 -0
- package/dist/backend/observe/index.d.ts.map +1 -0
- package/dist/backend/observe/index.js +5 -0
- package/dist/backend/observe/index.js.map +1 -0
- package/dist/backend/observe/logger.d.ts +26 -0
- package/dist/backend/observe/logger.d.ts.map +1 -0
- package/dist/backend/observe/logger.js +68 -0
- package/dist/backend/observe/logger.js.map +1 -0
- package/dist/backend/observe/types.d.ts +26 -0
- package/dist/backend/observe/types.d.ts.map +1 -0
- package/dist/backend/observe/types.js +7 -0
- package/dist/backend/observe/types.js.map +1 -0
- package/dist/backend/process/engine.d.ts +127 -0
- package/dist/backend/process/engine.d.ts.map +1 -0
- package/dist/backend/process/engine.js +668 -0
- package/dist/backend/process/engine.js.map +1 -0
- package/dist/backend/process/index.d.ts +8 -0
- package/dist/backend/process/index.d.ts.map +1 -0
- package/dist/backend/process/index.js +7 -0
- package/dist/backend/process/index.js.map +1 -0
- package/dist/backend/process/logger.d.ts +38 -0
- package/dist/backend/process/logger.d.ts.map +1 -0
- package/dist/backend/process/logger.js +198 -0
- package/dist/backend/process/logger.js.map +1 -0
- package/dist/backend/process/metrics-store.d.ts +32 -0
- package/dist/backend/process/metrics-store.d.ts.map +1 -0
- package/dist/backend/process/metrics-store.js +108 -0
- package/dist/backend/process/metrics-store.js.map +1 -0
- package/dist/backend/process/migrate.d.ts +12 -0
- package/dist/backend/process/migrate.d.ts.map +1 -0
- package/dist/backend/process/migrate.js +145 -0
- package/dist/backend/process/migrate.js.map +1 -0
- package/dist/backend/process/process-helpers.d.ts +13 -0
- package/dist/backend/process/process-helpers.d.ts.map +1 -0
- package/dist/backend/process/process-helpers.js +23 -0
- package/dist/backend/process/process-helpers.js.map +1 -0
- package/dist/backend/process/queue.d.ts +33 -0
- package/dist/backend/process/queue.d.ts.map +1 -0
- package/dist/backend/process/queue.js +94 -0
- package/dist/backend/process/queue.js.map +1 -0
- package/dist/backend/process/registry.d.ts +64 -0
- package/dist/backend/process/registry.d.ts.map +1 -0
- package/dist/backend/process/registry.js +277 -0
- package/dist/backend/process/registry.js.map +1 -0
- package/dist/backend/process/trigger.d.ts +39 -0
- package/dist/backend/process/trigger.d.ts.map +1 -0
- package/dist/backend/process/trigger.js +162 -0
- package/dist/backend/process/trigger.js.map +1 -0
- package/dist/backend/routes/ai-config.d.ts +18 -0
- package/dist/backend/routes/ai-config.d.ts.map +1 -0
- package/dist/backend/routes/ai-config.js +227 -0
- package/dist/backend/routes/ai-config.js.map +1 -0
- package/dist/backend/routes/auth-routes.d.ts +33 -0
- package/dist/backend/routes/auth-routes.d.ts.map +1 -0
- package/dist/backend/routes/auth-routes.js +528 -0
- package/dist/backend/routes/auth-routes.js.map +1 -0
- package/dist/backend/routes/chat-sse.d.ts +17 -0
- package/dist/backend/routes/chat-sse.d.ts.map +1 -0
- package/dist/backend/routes/chat-sse.js +60 -0
- package/dist/backend/routes/chat-sse.js.map +1 -0
- package/dist/backend/routes/chat.d.ts +30 -0
- package/dist/backend/routes/chat.d.ts.map +1 -0
- package/dist/backend/routes/chat.js +258 -0
- package/dist/backend/routes/chat.js.map +1 -0
- package/dist/backend/routes/config-writer.d.ts +94 -0
- package/dist/backend/routes/config-writer.d.ts.map +1 -0
- package/dist/backend/routes/config-writer.js +538 -0
- package/dist/backend/routes/config-writer.js.map +1 -0
- package/dist/backend/routes/data.d.ts +16 -0
- package/dist/backend/routes/data.d.ts.map +1 -0
- package/dist/backend/routes/data.js +371 -0
- package/dist/backend/routes/data.js.map +1 -0
- package/dist/backend/routes/event-routes.d.ts +22 -0
- package/dist/backend/routes/event-routes.d.ts.map +1 -0
- package/dist/backend/routes/event-routes.js +153 -0
- package/dist/backend/routes/event-routes.js.map +1 -0
- package/dist/backend/routes/health.d.ts +7 -0
- package/dist/backend/routes/health.d.ts.map +1 -0
- package/dist/backend/routes/health.js +15 -0
- package/dist/backend/routes/health.js.map +1 -0
- package/dist/backend/routes/index.d.ts +24 -0
- package/dist/backend/routes/index.d.ts.map +1 -0
- package/dist/backend/routes/index.js +16 -0
- package/dist/backend/routes/index.js.map +1 -0
- package/dist/backend/routes/lifecycle-routes.d.ts +10 -0
- package/dist/backend/routes/lifecycle-routes.d.ts.map +1 -0
- package/dist/backend/routes/lifecycle-routes.js +54 -0
- package/dist/backend/routes/lifecycle-routes.js.map +1 -0
- package/dist/backend/routes/notification-routes.d.ts +22 -0
- package/dist/backend/routes/notification-routes.d.ts.map +1 -0
- package/dist/backend/routes/notification-routes.js +129 -0
- package/dist/backend/routes/notification-routes.js.map +1 -0
- package/dist/backend/routes/process-routes.d.ts +22 -0
- package/dist/backend/routes/process-routes.d.ts.map +1 -0
- package/dist/backend/routes/process-routes.js +542 -0
- package/dist/backend/routes/process-routes.js.map +1 -0
- package/dist/backend/routes/session-routes.d.ts +22 -0
- package/dist/backend/routes/session-routes.d.ts.map +1 -0
- package/dist/backend/routes/session-routes.js +97 -0
- package/dist/backend/routes/session-routes.js.map +1 -0
- package/dist/backend/routes/skill-archive.d.ts +13 -0
- package/dist/backend/routes/skill-archive.d.ts.map +1 -0
- package/dist/backend/routes/skill-archive.js +84 -0
- package/dist/backend/routes/skill-archive.js.map +1 -0
- package/dist/backend/routes/skill-parser.d.ts +41 -0
- package/dist/backend/routes/skill-parser.d.ts.map +1 -0
- package/dist/backend/routes/skill-parser.js +184 -0
- package/dist/backend/routes/skill-parser.js.map +1 -0
- package/dist/backend/routes/skill-service.d.ts +113 -0
- package/dist/backend/routes/skill-service.d.ts.map +1 -0
- package/dist/backend/routes/skill-service.js +265 -0
- package/dist/backend/routes/skill-service.js.map +1 -0
- package/dist/backend/routes/skills.d.ts +18 -0
- package/dist/backend/routes/skills.d.ts.map +1 -0
- package/dist/backend/routes/skills.js +168 -0
- package/dist/backend/routes/skills.js.map +1 -0
- package/dist/backend/routes/upload.d.ts +25 -0
- package/dist/backend/routes/upload.d.ts.map +1 -0
- package/dist/backend/routes/upload.js +100 -0
- package/dist/backend/routes/upload.js.map +1 -0
- package/dist/backend/services/skill-archive.d.ts +13 -0
- package/dist/backend/services/skill-archive.d.ts.map +1 -0
- package/dist/backend/services/skill-archive.js +84 -0
- package/dist/backend/services/skill-archive.js.map +1 -0
- package/dist/backend/services/skill-parser.d.ts +41 -0
- package/dist/backend/services/skill-parser.d.ts.map +1 -0
- package/dist/backend/services/skill-parser.js +184 -0
- package/dist/backend/services/skill-parser.js.map +1 -0
- package/dist/backend/services/skill-service.d.ts +113 -0
- package/dist/backend/services/skill-service.d.ts.map +1 -0
- package/dist/backend/services/skill-service.js +265 -0
- package/dist/backend/services/skill-service.js.map +1 -0
- package/dist/bin.d.ts +8 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +12 -0
- package/dist/bin.js.map +1 -0
- package/dist/capability-generator.d.ts +21 -6
- package/dist/capability-generator.d.ts.map +1 -1
- package/dist/capability-generator.js +88 -261
- package/dist/capability-generator.js.map +1 -1
- package/dist/cli/commands/auth.d.ts +11 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +211 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/build.d.ts +11 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +170 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/data.d.ts +15 -0
- package/dist/cli/commands/data.d.ts.map +1 -0
- package/dist/cli/commands/data.js +220 -0
- package/dist/cli/commands/data.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +8 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +114 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/eject.d.ts +12 -0
- package/dist/cli/commands/eject.d.ts.map +1 -0
- package/dist/cli/commands/eject.js +280 -0
- package/dist/cli/commands/eject.js.map +1 -0
- package/dist/cli/commands/event.d.ts +13 -0
- package/dist/cli/commands/event.d.ts.map +1 -0
- package/dist/cli/commands/event.js +379 -0
- package/dist/cli/commands/event.js.map +1 -0
- package/dist/cli/commands/generate-capabilities.d.ts +8 -0
- package/dist/cli/commands/generate-capabilities.d.ts.map +1 -0
- package/dist/cli/commands/generate-capabilities.js +41 -0
- package/dist/cli/commands/generate-capabilities.js.map +1 -0
- package/dist/cli/commands/generate-cli-command.d.ts +8 -0
- package/dist/cli/commands/generate-cli-command.d.ts.map +1 -0
- package/dist/cli/commands/generate-cli-command.js +64 -0
- package/dist/cli/commands/generate-cli-command.js.map +1 -0
- package/dist/cli/commands/generate-dashboard.d.ts +9 -0
- package/dist/cli/commands/generate-dashboard.d.ts.map +1 -0
- package/dist/cli/commands/generate-dashboard.js +113 -0
- package/dist/cli/commands/generate-dashboard.js.map +1 -0
- package/dist/cli/commands/generate-notification.d.ts +9 -0
- package/dist/cli/commands/generate-notification.d.ts.map +1 -0
- package/dist/cli/commands/generate-notification.js +24 -0
- package/dist/cli/commands/generate-notification.js.map +1 -0
- package/dist/cli/commands/generate-page.d.ts +9 -0
- package/dist/cli/commands/generate-page.d.ts.map +1 -0
- package/dist/cli/commands/generate-page.js +105 -0
- package/dist/cli/commands/generate-page.js.map +1 -0
- package/dist/cli/commands/generate-skill.d.ts +8 -0
- package/dist/cli/commands/generate-skill.d.ts.map +1 -0
- package/dist/cli/commands/generate-skill.js +75 -0
- package/dist/cli/commands/generate-skill.js.map +1 -0
- package/dist/cli/commands/generate-system-settings.d.ts +10 -0
- package/dist/cli/commands/generate-system-settings.d.ts.map +1 -0
- package/dist/cli/commands/generate-system-settings.js +56 -0
- package/dist/cli/commands/generate-system-settings.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +6 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +21 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +8 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +384 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/lifecycle.d.ts +8 -0
- package/dist/cli/commands/lifecycle.d.ts.map +1 -0
- package/dist/cli/commands/lifecycle.js +166 -0
- package/dist/cli/commands/lifecycle.js.map +1 -0
- package/dist/cli/commands/model.d.ts +9 -0
- package/dist/cli/commands/model.d.ts.map +1 -0
- package/dist/cli/commands/model.js +218 -0
- package/dist/cli/commands/model.js.map +1 -0
- package/dist/cli/commands/notification.d.ts +8 -0
- package/dist/cli/commands/notification.d.ts.map +1 -0
- package/dist/cli/commands/notification.js +179 -0
- package/dist/cli/commands/notification.js.map +1 -0
- package/dist/cli/commands/observe.d.ts +9 -0
- package/dist/cli/commands/observe.d.ts.map +1 -0
- package/dist/cli/commands/observe.js +142 -0
- package/dist/cli/commands/observe.js.map +1 -0
- package/dist/cli/commands/process.d.ts +8 -0
- package/dist/cli/commands/process.d.ts.map +1 -0
- package/dist/cli/commands/process.js +630 -0
- package/dist/cli/commands/process.js.map +1 -0
- package/dist/cli/commands/role.d.ts +12 -0
- package/dist/cli/commands/role.d.ts.map +1 -0
- package/dist/cli/commands/role.js +208 -0
- package/dist/cli/commands/role.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +12 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +43 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/skill.d.ts +9 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +186 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/user-cmd.d.ts +9 -0
- package/dist/cli/commands/user-cmd.d.ts.map +1 -0
- package/dist/cli/commands/user-cmd.js +195 -0
- package/dist/cli/commands/user-cmd.js.map +1 -0
- package/dist/cli/framework.d.ts +28 -0
- package/dist/cli/framework.d.ts.map +1 -0
- package/dist/cli/framework.js +29 -0
- package/dist/cli/framework.js.map +1 -0
- package/dist/cli/generators/capability-generator.d.ts +35 -0
- package/dist/cli/generators/capability-generator.d.ts.map +1 -0
- package/dist/cli/generators/capability-generator.js +371 -0
- package/dist/cli/generators/capability-generator.js.map +1 -0
- package/dist/cli/helpers/app-tsx-utils.d.ts +12 -0
- package/dist/cli/helpers/app-tsx-utils.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-utils.js +22 -0
- package/dist/cli/helpers/app-tsx-utils.js.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.d.ts +70 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.js +535 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.js.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts +19 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring.js +145 -0
- package/dist/cli/helpers/app-tsx-wiring.js.map +1 -0
- package/dist/cli/helpers/auth-client.d.ts +19 -0
- package/dist/cli/helpers/auth-client.d.ts.map +1 -0
- package/dist/cli/helpers/auth-client.js +42 -0
- package/dist/cli/helpers/auth-client.js.map +1 -0
- package/dist/cli/helpers/backup.d.ts +16 -0
- package/dist/cli/helpers/backup.d.ts.map +1 -0
- package/dist/cli/helpers/backup.js +34 -0
- package/dist/cli/helpers/backup.js.map +1 -0
- package/dist/cli/helpers/column-template.d.ts +20 -0
- package/dist/cli/helpers/column-template.d.ts.map +1 -0
- package/dist/cli/helpers/column-template.js +165 -0
- package/dist/cli/helpers/column-template.js.map +1 -0
- package/dist/cli/helpers/duration.d.ts +5 -0
- package/dist/cli/helpers/duration.d.ts.map +1 -0
- package/dist/cli/helpers/duration.js +5 -0
- package/dist/cli/helpers/duration.js.map +1 -0
- package/dist/cli/helpers/field-template.d.ts +14 -0
- package/dist/cli/helpers/field-template.d.ts.map +1 -0
- package/dist/cli/helpers/field-template.js +117 -0
- package/dist/cli/helpers/field-template.js.map +1 -0
- package/dist/cli/helpers/i18n-template.d.ts +21 -0
- package/dist/cli/helpers/i18n-template.d.ts.map +1 -0
- package/dist/cli/helpers/i18n-template.js +69 -0
- package/dist/cli/helpers/i18n-template.js.map +1 -0
- package/dist/cli/helpers/naming.d.ts +11 -0
- package/dist/cli/helpers/naming.d.ts.map +1 -0
- package/dist/cli/helpers/naming.js +21 -0
- package/dist/cli/helpers/naming.js.map +1 -0
- package/dist/cli/helpers/system-page-config.d.ts +27 -0
- package/dist/cli/helpers/system-page-config.d.ts.map +1 -0
- package/dist/cli/helpers/system-page-config.js +82 -0
- package/dist/cli/helpers/system-page-config.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +51 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lib/credentials.d.ts +27 -0
- package/dist/cli/lib/credentials.d.ts.map +1 -0
- package/dist/cli/lib/credentials.js +112 -0
- package/dist/cli/lib/credentials.js.map +1 -0
- package/dist/cli/templates/auth-wiring.d.ts +17 -0
- package/dist/cli/templates/auth-wiring.d.ts.map +1 -0
- package/dist/cli/templates/auth-wiring.js +31 -0
- package/dist/cli/templates/auth-wiring.js.map +1 -0
- package/dist/cli/templates/backend-entry.d.ts +5 -0
- package/dist/cli/templates/backend-entry.d.ts.map +1 -0
- package/dist/cli/templates/backend-entry.js +17 -0
- package/dist/cli/templates/backend-entry.js.map +1 -0
- package/dist/cli/templates/claude-md.d.ts +20 -0
- package/dist/cli/templates/claude-md.d.ts.map +1 -0
- package/dist/cli/templates/claude-md.js +123 -0
- package/dist/cli/templates/claude-md.js.map +1 -0
- package/dist/cli/templates/crud-page.d.ts +14 -0
- package/dist/cli/templates/crud-page.d.ts.map +1 -0
- package/dist/cli/templates/crud-page.js +436 -0
- package/dist/cli/templates/crud-page.js.map +1 -0
- package/dist/cli/templates/dashboard-page.d.ts +11 -0
- package/dist/cli/templates/dashboard-page.d.ts.map +1 -0
- package/dist/cli/templates/dashboard-page.js +613 -0
- package/dist/cli/templates/dashboard-page.js.map +1 -0
- package/dist/cli/templates/event-management-page.d.ts +8 -0
- package/dist/cli/templates/event-management-page.d.ts.map +1 -0
- package/dist/cli/templates/event-management-page.js +724 -0
- package/dist/cli/templates/event-management-page.js.map +1 -0
- package/dist/cli/templates/frontend-entry.d.ts +11 -0
- package/dist/cli/templates/frontend-entry.d.ts.map +1 -0
- package/dist/cli/templates/frontend-entry.js +94 -0
- package/dist/cli/templates/frontend-entry.js.map +1 -0
- package/dist/cli/templates/gitignore.d.ts +5 -0
- package/dist/cli/templates/gitignore.d.ts.map +1 -0
- package/dist/cli/templates/gitignore.js +13 -0
- package/dist/cli/templates/gitignore.js.map +1 -0
- package/dist/cli/templates/index.d.ts +21 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +21 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/templates/login-page.d.ts +8 -0
- package/dist/cli/templates/login-page.d.ts.map +1 -0
- package/dist/cli/templates/login-page.js +67 -0
- package/dist/cli/templates/login-page.js.map +1 -0
- package/dist/cli/templates/loom-config.d.ts +15 -0
- package/dist/cli/templates/loom-config.d.ts.map +1 -0
- package/dist/cli/templates/loom-config.js +91 -0
- package/dist/cli/templates/loom-config.js.map +1 -0
- package/dist/cli/templates/model-management-page.d.ts +8 -0
- package/dist/cli/templates/model-management-page.d.ts.map +1 -0
- package/dist/cli/templates/model-management-page.js +373 -0
- package/dist/cli/templates/model-management-page.js.map +1 -0
- package/dist/cli/templates/notification-center-page.d.ts +8 -0
- package/dist/cli/templates/notification-center-page.d.ts.map +1 -0
- package/dist/cli/templates/notification-center-page.js +240 -0
- package/dist/cli/templates/notification-center-page.js.map +1 -0
- package/dist/cli/templates/notification-detail-page.d.ts +8 -0
- package/dist/cli/templates/notification-detail-page.d.ts.map +1 -0
- package/dist/cli/templates/notification-detail-page.js +87 -0
- package/dist/cli/templates/notification-detail-page.js.map +1 -0
- package/dist/cli/templates/package-json.d.ts +9 -0
- package/dist/cli/templates/package-json.d.ts.map +1 -0
- package/dist/cli/templates/package-json.js +41 -0
- package/dist/cli/templates/package-json.js.map +1 -0
- package/dist/cli/templates/process-management-page.d.ts +8 -0
- package/dist/cli/templates/process-management-page.d.ts.map +1 -0
- package/dist/cli/templates/process-management-page.js +542 -0
- package/dist/cli/templates/process-management-page.js.map +1 -0
- package/dist/cli/templates/readme.d.ts +9 -0
- package/dist/cli/templates/readme.d.ts.map +1 -0
- package/dist/cli/templates/readme.js +47 -0
- package/dist/cli/templates/readme.js.map +1 -0
- package/dist/cli/templates/skill-management-page.d.ts +8 -0
- package/dist/cli/templates/skill-management-page.d.ts.map +1 -0
- package/dist/cli/templates/skill-management-page.js +476 -0
- package/dist/cli/templates/skill-management-page.js.map +1 -0
- package/dist/cli/templates/system-settings-page.d.ts +10 -0
- package/dist/cli/templates/system-settings-page.d.ts.map +1 -0
- package/dist/cli/templates/system-settings-page.js +768 -0
- package/dist/cli/templates/system-settings-page.js.map +1 -0
- package/dist/cli/templates/tsconfig.d.ts +6 -0
- package/dist/cli/templates/tsconfig.d.ts.map +1 -0
- package/dist/cli/templates/tsconfig.js +41 -0
- package/dist/cli/templates/tsconfig.js.map +1 -0
- package/dist/cli/templates/user-management-page.d.ts +8 -0
- package/dist/cli/templates/user-management-page.d.ts.map +1 -0
- package/dist/cli/templates/user-management-page.js +497 -0
- package/dist/cli/templates/user-management-page.js.map +1 -0
- package/dist/cli/templates/vite-config.d.ts +9 -0
- package/dist/cli/templates/vite-config.d.ts.map +1 -0
- package/dist/cli/templates/vite-config.js +26 -0
- package/dist/cli/templates/vite-config.js.map +1 -0
- package/dist/cli/utils.d.ts +10 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +31 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/commands.d.ts +1 -5
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +0 -11
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +2010 -95
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +195 -16
- package/dist/config.js.map +1 -1
- package/dist/dashboard-config.d.ts +149 -0
- package/dist/dashboard-config.d.ts.map +1 -0
- package/dist/dashboard-config.js +40 -0
- package/dist/dashboard-config.js.map +1 -0
- package/dist/index.d.ts +24 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -5
- package/dist/index.js.map +1 -1
- package/dist/server-bin.d.ts +12 -0
- package/dist/server-bin.d.ts.map +1 -0
- package/dist/server-bin.js +43 -0
- package/dist/server-bin.js.map +1 -0
- package/dist/system-prompt.d.ts +20 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +140 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/types/adapter.d.ts +30 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +5 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/ai.d.ts +78 -0
- package/dist/types/ai.d.ts.map +1 -0
- package/dist/types/ai.js +5 -0
- package/dist/types/ai.js.map +1 -0
- package/dist/types/auth.d.ts +62 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +5 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/chat.d.ts +47 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +8 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/command.d.ts +25 -0
- package/dist/types/command.d.ts.map +1 -0
- package/dist/types/command.js +5 -0
- package/dist/types/command.js.map +1 -0
- package/dist/types/config.d.ts +69 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +5 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/dashboard.d.ts +59 -0
- package/dist/types/dashboard.d.ts.map +1 -0
- package/dist/types/dashboard.js +5 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/event.d.ts +109 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/event.js +38 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lifecycle.d.ts +71 -0
- package/dist/types/lifecycle.d.ts.map +1 -0
- package/dist/types/lifecycle.js +10 -0
- package/dist/types/lifecycle.js.map +1 -0
- package/dist/types/locale.d.ts +21 -0
- package/dist/types/locale.d.ts.map +1 -0
- package/dist/types/locale.js +36 -0
- package/dist/types/locale.js.map +1 -0
- package/dist/types/model.d.ts +71 -0
- package/dist/types/model.d.ts.map +1 -0
- package/dist/types/model.js +5 -0
- package/dist/types/model.js.map +1 -0
- package/dist/types/notification.d.ts +33 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/notification.js +5 -0
- package/dist/types/notification.js.map +1 -0
- package/dist/types/process.d.ts +233 -0
- package/dist/types/process.d.ts.map +1 -0
- package/dist/types/process.js +5 -0
- package/dist/types/process.js.map +1 -0
- package/dist/types.d.ts +4 -199
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -3
- package/dist/types.js.map +1 -1
- package/dist/utils/duration.d.ts +8 -0
- package/dist/utils/duration.d.ts.map +1 -0
- package/dist/utils/duration.js +22 -0
- package/dist/utils/duration.js.map +1 -0
- package/dist/utils/id.d.ts +7 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +9 -0
- package/dist/utils/id.js.map +1 -0
- 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`
|