@loom-framework/core 0.1.0-alpha.16 → 0.1.0-alpha.160
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 +48 -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 +119 -0
- package/builtin-skills/app-skill/references/evolution.md +90 -0
- package/builtin-skills/app-skill/references/models.md +45 -0
- package/builtin-skills/app-skill/references/notification.md +123 -0
- package/builtin-skills/app-skill/references/process-builder.md +383 -0
- package/builtin-skills/app-skill/references/process-metrics.md +93 -0
- package/builtin-skills/app-skill/references/process.md +294 -0
- package/builtin-skills/chart-visualization/SKILL.md +101 -0
- package/builtin-skills/loom/SKILL.md +265 -0
- package/builtin-skills/loom/references/README.md +285 -0
- package/builtin-skills/loom/references/dashboard.md +257 -0
- package/builtin-skills/loom/references/data-model.md +196 -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 +237 -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 +129 -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 +24 -0
- package/dist/backend/events/event-registry.d.ts.map +1 -0
- package/dist/backend/events/event-registry.js +22 -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/index.d.ts +88 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +422 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/loom-paths.d.ts +28 -0
- package/dist/backend/loom-paths.d.ts.map +1 -0
- package/dist/backend/loom-paths.js +45 -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 +105 -0
- package/dist/backend/process/engine.d.ts.map +1 -0
- package/dist/backend/process/engine.js +589 -0
- package/dist/backend/process/engine.js.map +1 -0
- package/dist/backend/process/index.d.ts +7 -0
- package/dist/backend/process/index.d.ts.map +1 -0
- package/dist/backend/process/index.js +6 -0
- package/dist/backend/process/index.js.map +1 -0
- package/dist/backend/process/logger.d.ts +32 -0
- package/dist/backend/process/logger.d.ts.map +1 -0
- package/dist/backend/process/logger.js +148 -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/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 +29 -0
- package/dist/backend/process/registry.d.ts.map +1 -0
- package/dist/backend/process/registry.js +105 -0
- package/dist/backend/process/registry.js.map +1 -0
- package/dist/backend/process/trigger.d.ts +29 -0
- package/dist/backend/process/trigger.d.ts.map +1 -0
- package/dist/backend/process/trigger.js +108 -0
- package/dist/backend/process/trigger.js.map +1 -0
- package/dist/backend/routes/ai-config.d.ts +15 -0
- package/dist/backend/routes/ai-config.d.ts.map +1 -0
- package/dist/backend/routes/ai-config.js +171 -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/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 +15 -0
- package/dist/backend/routes/event-routes.d.ts.map +1 -0
- package/dist/backend/routes/event-routes.js +35 -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 +22 -0
- package/dist/backend/routes/index.d.ts.map +1 -0
- package/dist/backend/routes/index.js +15 -0
- package/dist/backend/routes/index.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 +128 -0
- package/dist/backend/routes/notification-routes.js.map +1 -0
- package/dist/backend/routes/process-routes.d.ts +17 -0
- package/dist/backend/routes/process-routes.d.ts.map +1 -0
- package/dist/backend/routes/process-routes.js +303 -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 +214 -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 +97 -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 +451 -0
- package/dist/cli/commands/eject.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 +227 -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 +388 -0
- package/dist/cli/commands/init.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 +175 -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 +538 -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 +380 -0
- package/dist/cli/generators/capability-generator.js.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts +52 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring.js +732 -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 +158 -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 +113 -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/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +45 -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 +430 -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 +464 -0
- package/dist/cli/templates/dashboard-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 +9 -0
- package/dist/cli/templates/login-page.d.ts.map +1 -0
- package/dist/cli/templates/login-page.js +75 -0
- package/dist/cli/templates/login-page.js.map +1 -0
- package/dist/cli/templates/loom-config.d.ts +13 -0
- package/dist/cli/templates/loom-config.d.ts.map +1 -0
- package/dist/cli/templates/loom-config.js +61 -0
- package/dist/cli/templates/loom-config.js.map +1 -0
- package/dist/cli/templates/model-management-page.d.ts +9 -0
- package/dist/cli/templates/model-management-page.d.ts.map +1 -0
- package/dist/cli/templates/model-management-page.js +299 -0
- package/dist/cli/templates/model-management-page.js.map +1 -0
- package/dist/cli/templates/notification-center-page.d.ts +9 -0
- package/dist/cli/templates/notification-center-page.d.ts.map +1 -0
- package/dist/cli/templates/notification-center-page.js +258 -0
- package/dist/cli/templates/notification-center-page.js.map +1 -0
- package/dist/cli/templates/notification-detail-page.d.ts +9 -0
- package/dist/cli/templates/notification-detail-page.d.ts.map +1 -0
- package/dist/cli/templates/notification-detail-page.js +102 -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 +902 -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 +9 -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 +10 -0
- package/dist/cli/templates/user-management-page.d.ts.map +1 -0
- package/dist/cli/templates/user-management-page.js +495 -0
- package/dist/cli/templates/user-management-page.js.map +1 -0
- package/dist/cli/templates/vite-config.d.ts +5 -0
- package/dist/cli/templates/vite-config.d.ts.map +1 -0
- package/dist/cli/templates/vite-config.js +24 -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 +1175 -93
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +136 -15
- 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 +23 -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 +74 -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 +65 -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 +101 -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 +21 -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/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 +69 -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 +31 -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 +148 -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 +24 -3
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Process CLI Reference
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Process is Loom's automation engine for scheduling and event-driven AI tasks. Each process has triggers (cron, event, or manual) and executes AI prompts via the Claude Code engine.
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
### `loom process add`
|
|
10
|
+
|
|
11
|
+
Create a new process definition.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Lightweight process (inline prompt)
|
|
15
|
+
loom process add --name "daily-summary" \
|
|
16
|
+
--cron "0 9 * * 1-5" \
|
|
17
|
+
--prompt "Summarize yesterday's data and email the team" \
|
|
18
|
+
--owner admin
|
|
19
|
+
|
|
20
|
+
# Full process (with PROCESS.md)
|
|
21
|
+
loom process add --name "weekly-report" \
|
|
22
|
+
--cron "0 9 * * 1" \
|
|
23
|
+
--process "weekly-report" \
|
|
24
|
+
--owner admin \
|
|
25
|
+
--description "Weekly analytics report"
|
|
26
|
+
|
|
27
|
+
# Event-triggered process
|
|
28
|
+
loom process add --name "on-task-create" \
|
|
29
|
+
--on-event "data:create:tasks" \
|
|
30
|
+
--prompt "Analyze the new task and suggest priorities" \
|
|
31
|
+
--owner admin \
|
|
32
|
+
--event-debounce 2000
|
|
33
|
+
|
|
34
|
+
# With metrics config
|
|
35
|
+
loom process add --name "health-check" \
|
|
36
|
+
--cron "*/30 * * * *" \
|
|
37
|
+
--prompt "Check system health" \
|
|
38
|
+
--metrics-config ./metrics-config.json \
|
|
39
|
+
--owner bot
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Options:**
|
|
43
|
+
| Flag | Required | Description |
|
|
44
|
+
|------|----------|-------------|
|
|
45
|
+
| `--name` | Yes | Process name (^[a-zA-Z][a-zA-Z0-9_-]*$) |
|
|
46
|
+
| `--prompt` | One of | Inline prompt for lightweight process |
|
|
47
|
+
| `--process` | One of | Full process name (expects .loom/processes/{name}/PROCESS.md) |
|
|
48
|
+
| `--cron` | No | Cron schedule expression |
|
|
49
|
+
| `--cron-timezone` | No | Timezone for cron (e.g., "America/New_York") |
|
|
50
|
+
| `--on-event` | No | EventBus pattern (e.g., "data:create:tasks") |
|
|
51
|
+
| `--event-filter` | No | JSON filter on event payload fields |
|
|
52
|
+
| `--event-debounce` | No | Debounce window in ms (default: 1000) |
|
|
53
|
+
| `--description` | No | Process description |
|
|
54
|
+
| `--owner` | No | Owner username (default: from processes config) |
|
|
55
|
+
| `--owner-token` | No | Direct JWT token (bypasses runtime resolution) |
|
|
56
|
+
| `--metrics-config` | No | Path to metrics DashboardWidget config JSON |
|
|
57
|
+
| `--token` | No | Auth token (or set LOOM_TOKEN) |
|
|
58
|
+
| `--server` | No | Server URL (or set LOOM_SERVER, default: http://localhost:3000) |
|
|
59
|
+
|
|
60
|
+
### `loom process list`
|
|
61
|
+
|
|
62
|
+
List all processes.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
loom process list
|
|
66
|
+
loom process list --status active
|
|
67
|
+
loom process list --status paused
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `loom process status <name>`
|
|
71
|
+
|
|
72
|
+
Show detailed process status.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
loom process status daily-summary
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### `loom process run <name>`
|
|
79
|
+
|
|
80
|
+
Manually trigger a process execution.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
loom process run daily-summary
|
|
84
|
+
loom process run on-task-create --payload '{"model":"tasks","id":"task_123"}'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### `loom process pause <name>`
|
|
88
|
+
|
|
89
|
+
Pause a process (stops triggers, manual run still works).
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
loom process pause daily-summary
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### `loom process resume <name>`
|
|
96
|
+
|
|
97
|
+
Resume a paused process.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
loom process resume daily-summary
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### `loom process update <name>`
|
|
104
|
+
|
|
105
|
+
Update an existing process definition.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
loom process update daily-summary --cron "0 10 * * 1-5"
|
|
109
|
+
loom process update on-task-create --prompt "Updated prompt text"
|
|
110
|
+
loom process update daily-summary --description "Updated description" --cron "0 8 * * 1-5"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Options:**
|
|
114
|
+
| Flag | Required | Description |
|
|
115
|
+
|------|----------|-------------|
|
|
116
|
+
| `--cron` | No | Update cron schedule expression |
|
|
117
|
+
| `--cron-timezone` | No | Update cron timezone |
|
|
118
|
+
| `--on-event` | No | Update event trigger pattern |
|
|
119
|
+
| `--event-filter` | No | Update event payload filter as JSON |
|
|
120
|
+
| `--event-debounce` | No | Update debounce window in ms |
|
|
121
|
+
| `--prompt` | No | Update inline prompt |
|
|
122
|
+
| `--description` | No | Update description |
|
|
123
|
+
| `--token` | No | Auth token (or set LOOM_TOKEN) |
|
|
124
|
+
| `--server` | No | Server URL (or set LOOM_SERVER, default: http://localhost:3000) |
|
|
125
|
+
|
|
126
|
+
### `loom process remove <name>`
|
|
127
|
+
|
|
128
|
+
Remove a process definition. Logs are preserved.
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
loom process remove daily-summary
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### `loom process logs <name> [runId]`
|
|
135
|
+
|
|
136
|
+
View execution logs. When `runId` is provided, shows details for a single run.
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# List recent logs
|
|
140
|
+
loom process logs daily-summary
|
|
141
|
+
loom process logs daily-summary --limit 50
|
|
142
|
+
loom process logs daily-summary --offset 10
|
|
143
|
+
|
|
144
|
+
# View a specific run
|
|
145
|
+
loom process logs daily-summary run_abc123
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### `loom process generate <name>`
|
|
149
|
+
|
|
150
|
+
Create PROCESS.md scaffold directory (for full process mode). Called by AI, not directly by users.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
loom process generate daily-report --description "Daily report generator"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### `loom process metrics-report <name>`
|
|
157
|
+
|
|
158
|
+
Report a business metric snapshot. Used by AI agent during process execution.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Basic report
|
|
162
|
+
loom process metrics-report my-process --metric-name "成功率" --value 0.95 --unit "%"
|
|
163
|
+
|
|
164
|
+
# With target and dimensions
|
|
165
|
+
loom process metrics-report my-process \
|
|
166
|
+
--metric-name "错题重复率" \
|
|
167
|
+
--value 3 \
|
|
168
|
+
--unit "条" \
|
|
169
|
+
--target 0 \
|
|
170
|
+
--dimensions '{"subject":"数学"}' \
|
|
171
|
+
--run-id $LOOM_RUN_ID
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Options:**
|
|
175
|
+
| Flag | Required | Description |
|
|
176
|
+
|------|----------|-------------|
|
|
177
|
+
| `--metric-name` | Yes | Human-readable metric name |
|
|
178
|
+
| `--value` | Yes | Numeric metric value |
|
|
179
|
+
| `--run-id` | No | Run ID (defaults to LOOM_RUN_ID env var) |
|
|
180
|
+
| `--timestamp` | No | ISO timestamp (defaults to now) |
|
|
181
|
+
| `--dimensions` | No | Dimension labels as JSON |
|
|
182
|
+
| `--target` | No | Target value for goal-line |
|
|
183
|
+
| `--unit` | No | Unit label (e.g., "%", "条") |
|
|
184
|
+
| `--token` | No | Auth token (or set LOOM_TOKEN) |
|
|
185
|
+
| `--server` | No | Server URL (or set LOOM_SERVER) |
|
|
186
|
+
|
|
187
|
+
### `loom process metrics-set-view-config <name>`
|
|
188
|
+
|
|
189
|
+
Set or update the business metrics view configuration. This defines how process metrics are visualized in the Process Management page — each metric gets its own card and optional chart.
|
|
190
|
+
|
|
191
|
+
**When to use:** After creating a full process with `## Metrics` section, design the view config and write it using this command. See the Process Builder reference for the `ProcessMetricsViewConfig` schema and chart design guidelines.
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# From JSON string
|
|
195
|
+
loom process metrics-set-view-config my-process --config '{"version":1,"metrics":[{"metricName":"成功率","title":"成功率","chartType":"gauge","direction":"target","target":1,"unit":"%"}],"charts":[]}'
|
|
196
|
+
|
|
197
|
+
# From file (recommended for complex configs)
|
|
198
|
+
loom process metrics-set-view-config my-process --config @./view-config.json
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**ProcessMetricsViewConfig structure:**
|
|
202
|
+
- `version`: Always `1`
|
|
203
|
+
- `metrics[]`: Metric card definitions. Each card shows latest value, trend arrow, and target.
|
|
204
|
+
- `metricName`: Exact name used in `metrics-report` calls
|
|
205
|
+
- `title`: Display title
|
|
206
|
+
- `chartType`: `"gauge"` | `"number"` | `"line"` | `"bar"` | `"area"` — gauge/number only render as cards; line/bar/area also render as independent charts
|
|
207
|
+
- `direction`: `"increasing"` | `"decreasing"` | `"target"` — controls trend arrow color
|
|
208
|
+
- `target`: Goal value (shown on card)
|
|
209
|
+
- `unit`: Unit label (e.g., "%", "条", "次")
|
|
210
|
+
- `charts[]`: G2 v5 chart specs. Each chart MUST include `metricName` for data filtering.
|
|
211
|
+
- `metricName`: Which metric's snapshots this chart displays
|
|
212
|
+
- `title`: Chart title
|
|
213
|
+
- `type`: G2 mark type (`"line"`, `"interval"`, `"area"`, etc.)
|
|
214
|
+
- `encode`: Field mapping (use `timestamp` for X axis, `value` for Y axis)
|
|
215
|
+
- Other G2 spec properties: `scale`, `axis`, `transform`, etc.
|
|
216
|
+
|
|
217
|
+
**Key design rule:** Each chart shows ONE metric only. Never combine different metrics in one chart — they have different units and scales. Use `metricName` to filter data.
|
|
218
|
+
|
|
219
|
+
**Options:**
|
|
220
|
+
| Flag | Required | Description |
|
|
221
|
+
|------|----------|-------------|
|
|
222
|
+
| `--config` | Yes | View config JSON (use `@file` to read from file) |
|
|
223
|
+
| `--token` | No | Auth token (or set LOOM_TOKEN) |
|
|
224
|
+
| `--server` | No | Server URL (or set LOOM_SERVER) |
|
|
225
|
+
|
|
226
|
+
### `loom process export <name>`
|
|
227
|
+
|
|
228
|
+
Export process definition as JSON.
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
loom process export daily-summary
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Process Modes
|
|
235
|
+
|
|
236
|
+
### Lightweight Mode (`--prompt`)
|
|
237
|
+
|
|
238
|
+
- Inline prompt, no PROCESS.md file
|
|
239
|
+
- Best for simple, single-task automations
|
|
240
|
+
- Quick to set up and modify
|
|
241
|
+
|
|
242
|
+
### Full Mode (`--process`)
|
|
243
|
+
|
|
244
|
+
- Has PROCESS.md at `.loom/processes/{name}/PROCESS.md`
|
|
245
|
+
- Can include reference files in `.loom/processes/{name}/references/`
|
|
246
|
+
- Best for complex, multi-step workflows
|
|
247
|
+
- Supports Metrics and Evolution sections
|
|
248
|
+
|
|
249
|
+
## Trigger Types
|
|
250
|
+
|
|
251
|
+
### Cron
|
|
252
|
+
Standard 5-field cron expression: `minute hour day month weekday`
|
|
253
|
+
```
|
|
254
|
+
*/5 * * * * — Every 5 minutes
|
|
255
|
+
0 9 * * 1-5 — Weekdays at 9 AM
|
|
256
|
+
0 0 1 * * — First of every month
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Event
|
|
260
|
+
EventBus pattern matching: `{category}:{action}:{target}`
|
|
261
|
+
```
|
|
262
|
+
data:create:tasks — When a task is created
|
|
263
|
+
data:update:* — Any data update
|
|
264
|
+
user:created — When a user is created
|
|
265
|
+
process:completed:xxx — When process xxx completes
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Manual
|
|
269
|
+
`loom process run <name>` — immediate execution, works even when paused.
|
|
270
|
+
|
|
271
|
+
## Service Token Authentication
|
|
272
|
+
|
|
273
|
+
When auth is enabled, processes need a service token to operate:
|
|
274
|
+
- `--owner <username>`: Runtime resolution via UserStore (recommended)
|
|
275
|
+
- `--owner-token <jwt>`: Direct JWT token (less secure, stored in processes/_registry.json)
|
|
276
|
+
|
|
277
|
+
## Execution Model
|
|
278
|
+
|
|
279
|
+
1. Trigger fires → entry enqueued
|
|
280
|
+
2. Queue slot available → process starts
|
|
281
|
+
3. AI prompt built (PROCESS.md + references + event context + metrics protocol)
|
|
282
|
+
4. Claude Code engine executes with timeout, env vars injected: LOOM_SERVER, LOOM_PROCESS_NAME, LOOM_RUN_ID
|
|
283
|
+
5. Agent may call `loom process metrics-report` to report business metrics during execution
|
|
284
|
+
6. Result logged to `.loom/processes/{name}/logs/{runId}.json`
|
|
285
|
+
7. Metric snapshots stored in `.loom/processes/{name}/metrics.jsonl`
|
|
286
|
+
8. Event emitted: `process:started`, `process:completed`, or `process:failed`
|
|
287
|
+
|
|
288
|
+
## Concurrency
|
|
289
|
+
|
|
290
|
+
Controlled by `processes.maxConcurrent` in loom.config.ts (default: 5). When max is reached, new triggers queue until a slot opens.
|
|
291
|
+
|
|
292
|
+
## Debounce
|
|
293
|
+
|
|
294
|
+
Event triggers have `eventDebounceMs` (default: 1000ms). Rapid events within the window are collapsed — only one execution fires with the last event's payload.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chart-visualization
|
|
3
|
+
description: 将数据可视化为图表。当用户需要生成柱状图、折线图、饼图、散点图、雷达图、桑基图、思维导图、流程图等图表时调用此技能,通过 curl 工具调用 AntV API 生成图表图片
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
请根据用户输入的内容,将数据可视化为图表。
|
|
7
|
+
|
|
8
|
+
## 步骤
|
|
9
|
+
1. 分析用户数据和需求,选择最合适的图表类型
|
|
10
|
+
2. 构造符合规范的 JSON 请求体
|
|
11
|
+
3. 使用 curl 工具调用 API 生成图表图片
|
|
12
|
+
4. 将返回的图片 URL 以 Markdown 图片格式输出
|
|
13
|
+
|
|
14
|
+
## 图表选择指南
|
|
15
|
+
|
|
16
|
+
根据用户的数据特征和需求,选择最合适的图表类型:
|
|
17
|
+
|
|
18
|
+
- **时间序列**:用 `line`(趋势)或 `area`(累计趋势);两个不同量纲用 `dual-axes`
|
|
19
|
+
- **比较类**:用 `bar`(横向分类对比)或 `column`(纵向分类对比);频率分布用 `histogram`
|
|
20
|
+
- **占比类**:用 `pie`(比例构成)或 `treemap`(层级占比)
|
|
21
|
+
- **关系与流程**:用 `scatter`(相关性)、`sankey`(流向)或 `venn`(集合重叠)
|
|
22
|
+
- **层级与树形**:用 `organization-chart` 或 `mind-map`
|
|
23
|
+
- **专用类型**:
|
|
24
|
+
- `radar`:多维度对比
|
|
25
|
+
- `funnel`:流程阶段转化
|
|
26
|
+
- `liquid`:百分比/进度
|
|
27
|
+
- `word-cloud`:文本词频
|
|
28
|
+
- `boxplot` / `violin`:统计分布
|
|
29
|
+
- `network-graph`:复杂节点关系
|
|
30
|
+
- `fishbone-diagram`:因果分析
|
|
31
|
+
- `flow-diagram`:流程图
|
|
32
|
+
- `spreadsheet`:结构化数据表或透视表
|
|
33
|
+
|
|
34
|
+
## API 接口
|
|
35
|
+
|
|
36
|
+
POST https://antv-studio.alipay.com/api/gpt-vis
|
|
37
|
+
|
|
38
|
+
请求体为 JSON,必须包含 `type` 和 `source: "chart-visualization-skills"` 字段。
|
|
39
|
+
|
|
40
|
+
示例:
|
|
41
|
+
```bash
|
|
42
|
+
curl -X POST https://antv-studio.alipay.com/api/gpt-vis \
|
|
43
|
+
-H "Content-Type: application/json" \
|
|
44
|
+
-d '{"type":"line","source":"chart-visualization-skills","data":[{"time":"2025-01","value":100}],"title":"示例图表"}'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
返回示例:
|
|
48
|
+
```json
|
|
49
|
+
{"success":true,"resultObj":"https://..."}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
将 `resultObj` 中的 URL 以 Markdown 图片格式输出:``
|
|
53
|
+
|
|
54
|
+
## 支持的图表类型
|
|
55
|
+
|
|
56
|
+
| 分类 | 图表类型 |
|
|
57
|
+
|------|---------|
|
|
58
|
+
| 比较类 | 条形图(bar)、柱状图(column)、瀑布图(waterfall)、双轴图(dual-axes) |
|
|
59
|
+
| 趋势类 | 面积图(area)、折线图(line)、散点图(scatter) |
|
|
60
|
+
| 分布类 | 箱线图(boxplot)、直方图(histogram)、小提琴图(violin)、漏斗图(funnel) |
|
|
61
|
+
| 占比类 | 饼图(pie)、水波图(liquid)、词云(word-cloud) |
|
|
62
|
+
| 层级类 | 组织架构图(organization-chart)、思维导图(mind-map)、矩形树图(treemap)、桑基图(sankey) |
|
|
63
|
+
| 关系类 | 关系图(network-graph)、韦恩图(venn) |
|
|
64
|
+
| 流程类 | 流程图(flow-diagram)、鱼骨图(fishbone-diagram) |
|
|
65
|
+
| 多维类 | 雷达图(radar) |
|
|
66
|
+
| 表格类 | 表格/透视表(spreadsheet) |
|
|
67
|
+
|
|
68
|
+
## 通用可选参数
|
|
69
|
+
|
|
70
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
71
|
+
|------|------|--------|------|
|
|
72
|
+
| theme | string | "default" | 主题:"default" / "academy" / "dark" |
|
|
73
|
+
| width | number | 600 | 图表宽度 |
|
|
74
|
+
| height | number | 400 | 图表高度 |
|
|
75
|
+
| title | string | "" | 图表标题 |
|
|
76
|
+
| style.texture | string | "default" | 纹理:"default" / "rough"(手绘风格) |
|
|
77
|
+
|
|
78
|
+
带坐标轴的图表还支持:axisXTitle、axisYTitle。
|
|
79
|
+
|
|
80
|
+
## 各图表 data 格式
|
|
81
|
+
|
|
82
|
+
- **area / line**: `{time: string, value: number, group?: string}[]`,可选 stack: boolean
|
|
83
|
+
- **bar**: `{category: string, value: number, group?: string}[]`,可选 group / stack (默认 stack: true)
|
|
84
|
+
- **column**: `{category: string, value: number, group?: string}[]`,可选 group (默认 true) / stack
|
|
85
|
+
- **scatter**: `{x: number, y: number, group?: string}[]`
|
|
86
|
+
- **pie**: `{category: string, value: number}[]`,可选 innerRadius: number (0-1)
|
|
87
|
+
- **radar**: `{name: string, value: number, group?: string}[]`
|
|
88
|
+
- **funnel**: `{category: string, value: number}[]`
|
|
89
|
+
- **waterfall**: `{category: string, value?: number, isTotal?: boolean, isIntermediateTotal?: boolean}[]`
|
|
90
|
+
- **dual-axes**: categories: string[], series: {type: "column"|"line", data: number[], axisYTitle?: string}[]
|
|
91
|
+
- **histogram**: `number[]`,可选 binNumber: number
|
|
92
|
+
- **boxplot / violin**: `{category: string, value: number, group?: string}[]`
|
|
93
|
+
- **liquid**: percent: number (0-1),可选 shape: "circle"|"rect"|"pin"|"triangle"
|
|
94
|
+
- **word-cloud**: `{text: string, value: number}[]`
|
|
95
|
+
- **sankey**: `{source: string, target: string, value: number}[]`,可选 nodeAlign
|
|
96
|
+
- **treemap**: `{name: string, value: number, children?: ...}[]` (最深 3 层)
|
|
97
|
+
- **venn**: `{sets: string[], value: number, label?: string}[]`
|
|
98
|
+
- **network-graph / flow-diagram**: `{nodes: {name: string}[], edges: {source: string, target: string, name?: string}[]}`
|
|
99
|
+
- **fishbone-diagram / mind-map**: `{name: string, children?: ...}` (最深 3 层)
|
|
100
|
+
- **organization-chart**: `{name: string, description?: string, children?: ...}` (最深 3 层),可选 orient: "horizontal"|"vertical"
|
|
101
|
+
- **spreadsheet**: `Record<string, string | number>[]`,可选 rows / columns / values(透视表字段)
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Loom
|
|
3
|
+
description: |
|
|
4
|
+
Use this skill when the user asks to "create a new loom project", "用loom开发一个系统",
|
|
5
|
+
"开发一个AI平台应用", "为系统添加页面", "为项目配置 AI 按钮功能",
|
|
6
|
+
"添加功能", "新增功能", "添加管理", "新增管理", "添加页面", "新增页面",
|
|
7
|
+
"生成页面", "添加数据模型", "新增数据模型", or any Loom framework task.
|
|
8
|
+
Loom is an AI-Native full-stack framework.
|
|
9
|
+
version: 0.1.0
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Loom - AI 平台开发框架
|
|
13
|
+
|
|
14
|
+
## 概览
|
|
15
|
+
|
|
16
|
+
Loom 是**配置驱动的 AI 平台开发框架**——你描述需求,AI 通过本 Skill 执行 loom 命令来构建应用。
|
|
17
|
+
|
|
18
|
+
典型使用方式:
|
|
19
|
+
|
|
20
|
+
1. **用自然语言描述需求** — 告诉 Claude Code(或其它支持Skill的 Agent) 你要做什么(如"用 loom 开发一个错题管理平台"),Claude Code 会调用本 Skill 读取配置、生成页面、启动服务
|
|
21
|
+
2. **对话迭代** — 通过Claude Code 或 创建的项目 AI 对话面板改需求、加字段、调样式,AI 理解 loom 的工作方式,知道何时改配置、何时跑命令、何时直接改代码
|
|
22
|
+
3. **日常运营** — 通过 AI 对话面板或 `loom data` CLI 查看、创建、更新数据
|
|
23
|
+
|
|
24
|
+
核心能力:`loom generate page` 生成 CRUD 页面,`loom generate capabilities` 生成应用 Skill(让 AI 理解项目业务),`loom generate dashboard` 生成数据概览。后端 API 由 `loom dev` 根据配置动态注册,无需手动编写。生成的页面自带 AI 助手,支持流式对话和多会话。
|
|
25
|
+
|
|
26
|
+
完整使用手册见 `references/README.md`。
|
|
27
|
+
|
|
28
|
+
## 开发流程
|
|
29
|
+
|
|
30
|
+
**重要:** 始终在项目目录下运行命令(不是 loom monorepo 根目录)。
|
|
31
|
+
|
|
32
|
+
### 1. 创建项目
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx -p @loom-framework/core loom init <name> --description <desc> --adapter <filesystem|sqlite>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
项目初始化时自动创建 `CLAUDE.md`(项目根目录),Claude Code 会自动加载此文件作为 system prompt 上下文,提升 AI 对话效果。自动生成系统管理页面(模型管理、技能管理),并以子菜单形式接入导航。同时自动安装以下内置 Skill:
|
|
39
|
+
|
|
40
|
+
| Skill | 触发场景 | 说明 |
|
|
41
|
+
|-------|---------|------|
|
|
42
|
+
| **antd** | 开发前端页面、丰富 UI 功能 | 通过 `@ant-design/cli` 查询组件 API、语义化样式、示例;编写前端代码前先用此 Skill 确认用法 |
|
|
43
|
+
| **antv-g2-chart** | 添加自定义可视化图表 | 生成 G2 v5 Spec 代码;配合 `useChartData` / `DashboardChart`,详见 `references/dashboard.md` |
|
|
44
|
+
| **chart-visualization** | 对话中快速生成图表 | 通过 API 生成图表图片返回 Markdown 链接,适合快速展示数据分析结果 |
|
|
45
|
+
|
|
46
|
+
### 2. 编辑配置
|
|
47
|
+
|
|
48
|
+
编辑 `loom.config.ts`,定义数据模型(`data.models`)和 AI 按钮(`aiButtons`),Schema 见下方。高级选项见 `references/data-model.md`。
|
|
49
|
+
|
|
50
|
+
### 3. 生成页面
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
loom generate page <Name> --model <model-name>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
此命令自动生成:CRUD 页面(含 AI 按钮)、App.tsx 路由接线。后端 API 由 `loom dev` 启动时动态注册。模型立即可通过 `loom data` CLI 和 AI 对话使用。
|
|
57
|
+
|
|
58
|
+
### 4. 生成并完善应用 Skill
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
loom generate capabilities
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
此命令读取 `loom.config.ts`,在 `.claude/skills/<项目名>/` 下生成以下文件:
|
|
65
|
+
|
|
66
|
+
| 文件 | 说明 | 覆盖策略 |
|
|
67
|
+
|------|------|---------|
|
|
68
|
+
| `SKILL.md` | Skill 主文档(含 TODO 模板) | 仅首次创建,不覆盖。若需重建:删除整个 skill 目录后重新执行 |
|
|
69
|
+
| `references/models.md` | 数据模型字段表 + AI 按钮定义 + CLI 语法 | 每次重新生成 |
|
|
70
|
+
| `references/data-semantics.md` | 语义引导(示例数据、筛选规则、跨模型关联) | 每次重新生成 |
|
|
71
|
+
| `references/auth.md` | 认证鉴权命令参考(`--token`/`LOOM_TOKEN` 用法、权限模型) | Auth 启用时每次重新生成 |
|
|
72
|
+
|
|
73
|
+
每次修改数据模型或 AI 按钮后,重新运行此命令即可更新 `references/` 下的自动生成内容,`SKILL.md` 中手动补充的内容不会被覆盖。
|
|
74
|
+
|
|
75
|
+
首次生成后,需要补充 `SKILL.md` 主文档中的 TODO 内容,AI 对话时才能正确理解项目业务语义:
|
|
76
|
+
|
|
77
|
+
1. **frontmatter `description`**:写入用户在 AI 对话中会说的触发短语。格式参考:
|
|
78
|
+
```
|
|
79
|
+
This skill should be used when the user asks to "创建XXX", "查看XXX", "删除XXX",
|
|
80
|
+
or any request about managing XXX in the <项目名> project.
|
|
81
|
+
```
|
|
82
|
+
2. **Overview 部分**:用 2-3 句话描述项目做什么、有哪些数据、用户如何与数据交互
|
|
83
|
+
3. **Usage Scenarios 部分**:列出 5-10 个典型用户请求,格式为 `- "用户说的话" → 对应的 CLI 命令`
|
|
84
|
+
|
|
85
|
+
如需添加自定义 Skill:
|
|
86
|
+
- `loom generate skill <name>` — 创建脚手架,然后编辑 `.claude/skills/<name>/SKILL.md`
|
|
87
|
+
- 或直接复制一个已有的 Skill 目录到 `.claude/skills/` 下
|
|
88
|
+
|
|
89
|
+
### 5. 生成 Dashboard(数据概览)
|
|
90
|
+
|
|
91
|
+
Dashboard 配置在 `loom.config.ts` 的 `dashboards` 字段中定义。设计原则和配置 Schema 详见 `references/dashboard.md`。
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
loom generate dashboard <name>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
此命令从 `loom.config.ts` 的 `dashboards` 字段读取配置,自动生成 Dashboard 页面并接线 App.tsx。
|
|
98
|
+
|
|
99
|
+
### 5.5 启用认证鉴权(可选)
|
|
100
|
+
|
|
101
|
+
当用户需要多用户支持、权限控制时,帮助用户在 `loom.config.ts` 中添加 `auth` 配置:
|
|
102
|
+
|
|
103
|
+
1. **询问需求**:是否需要登录功能?有哪些角色?每个角色能做什么?
|
|
104
|
+
2. **编辑配置**:在 `loom.config.ts` 中添加 `auth` 字段(Schema 见上方)。至少定义一个 `admin` 角色
|
|
105
|
+
3. **设置密钥**:`secret` 推荐 `env:JWT_SECRET`,不要硬编码。提醒用户设置环境变量 `export JWT_SECRET=your-secret`
|
|
106
|
+
4. **生成认证页面**:`loom generate system-settings user` — 自动生成用户管理页、登录页,并接入 AuthProvider 路由守卫
|
|
107
|
+
5. **重启后端**:auth 配置需要重启后端生效(**必须先询问用户**)
|
|
108
|
+
6. **首次登录**:默认创建 admin 用户(密码 `admin123`),**提醒用户立即修改密码**
|
|
109
|
+
7. **生成 app-skill**:`loom generate capabilities` 更新 Skill 中的 auth.md
|
|
110
|
+
|
|
111
|
+
启用后获得:登录页 + 路由守卫 + RBAC 权限控制 + 用户管理页 + CLI `--token`/`LOOM_TOKEN` 鉴权。
|
|
112
|
+
|
|
113
|
+
> 如果 `loom init` 时配置中已包含 `auth` 字段,上述页面会在初始化时自动生成。后续添加 auth 配置时,手动执行 `loom generate system-settings user` 即可补全。
|
|
114
|
+
|
|
115
|
+
### 重启服务前必须询问用户
|
|
116
|
+
|
|
117
|
+
修改 `loom.config.ts` 后如果需要重启后端服务(如增删 AI 按钮、修改 enum 值、新增模型等场景),**必须先询问用户是否可以重启**,得到确认后再执行 `loom dev` 或停止/重启服务。不要自动重启,因为用户可能正在使用页面或调试中。
|
|
118
|
+
|
|
119
|
+
### 6. 启动开发
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
loom dev
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- 前端:http://localhost:5173
|
|
126
|
+
- 后端:http://localhost:3000
|
|
127
|
+
|
|
128
|
+
### 迭代:修改配置后的处理
|
|
129
|
+
|
|
130
|
+
不同类型的配置变更,处理方式不同:
|
|
131
|
+
|
|
132
|
+
| 变更类型 | 需要改页面吗 | 怎么做 |
|
|
133
|
+
|---------|------------|--------|
|
|
134
|
+
| 增删 AI 按钮 | 不需要 | 改配置 → `loom generate capabilities` 更新 Skill → 重启后端,按钮自动出现/消失 |
|
|
135
|
+
| 修改 enum 值 | 不需要 | 改配置 → `loom generate capabilities` 更新 Skill → 重启后端,筛选和下拉自动更新 |
|
|
136
|
+
| 新增数据模型 | 需要生成新页面 | 改配置 → `loom generate capabilities` + `loom generate page <Name> --model <model>` → 重启后端 |
|
|
137
|
+
| 新增/删除字段 | 需要 | 改配置 → `--force` 重建(默认,最快)或 AI 增量更新(有定制时保留修改)→ `loom generate capabilities` 更新 Skill → 更新CLAUDE.md |
|
|
138
|
+
|
|
139
|
+
**`--force` 重建(默认)**:字段变更时直接 `--force` 重建页面,是最快最干净的方式,页面与配置立即同步。`--force` 会自动将旧页面备份到 `.loom/backup/<时间戳>/` 目录,如需恢复直接复制回来即可。
|
|
140
|
+
|
|
141
|
+
**AI 增量更新(有定制时)**:如果用户说"保留我的定制"或明确表示页面有手动修改过,才让 AI 增量更新。告诉 AI 你改了什么(如"我在配置里加了一个学期字段"),AI 会精确添加新字段的列和表单项,保留定制代码。如果AI进行了定制化开发,务必将定制化开发内容更新到CLAUDE.md,使得后续新启动会话时Claude Code可掌握项目定制化情况。
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# 只改了 AI 按钮或 enum → 重启后端即可
|
|
145
|
+
# 加了新字段 → --force 重建(默认)
|
|
146
|
+
# 加了新字段,要保留页面定制 → 让 AI 增量更新
|
|
147
|
+
loom generate page <Name> --model <model-name> --force
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**恢复备份**:`--force` 覆盖的文件自动备份到项目 `.loom/backup/<时间戳>/` 目录(每次 --force 生成独立时间戳目录,同一天多次执行互不影响),如需恢复:`cp .loom/backup/<时间戳>/XXX.tsx frontend/src/components/pages/XXX.tsx`
|
|
151
|
+
|
|
152
|
+
### 内置 Skill 使用原则
|
|
153
|
+
|
|
154
|
+
- 涉及前端页面开发 → 先用 `/antd` 查询组件 API,不要凭记忆写代码
|
|
155
|
+
- 需要在 Dashboard 追加图表 → 参考 `references/dashboard.md` + `/antv-g2-chart` 生成代码
|
|
156
|
+
- 对话中需展示数据可视化 → 用 `/chart-visualization` 生成图片
|
|
157
|
+
|
|
158
|
+
### CLI 命令速查
|
|
159
|
+
|
|
160
|
+
| 命令 | 说明 |
|
|
161
|
+
|------|------|
|
|
162
|
+
| `loom dev` | 启动开发环境(`--backend-only` `--frontend-only`) |
|
|
163
|
+
| `loom build` | 生产构建 |
|
|
164
|
+
| `loom generate page <name> --model <model>` | 生成 CRUD 页面(含 aiButtons 则自动集成 AI 按钮) |
|
|
165
|
+
| `loom generate page <name> --model <model> --force` | 重建页面(默认方式,自动备份旧文件到 `.loom/backup/`) |
|
|
166
|
+
| `loom generate capabilities` | 生成应用 Skill(`references/models.md` + `references/data-semantics.md`,`SKILL.md` 仅首次创建不覆盖) |
|
|
167
|
+
| `loom generate dashboard <name>` | 从 loom.config.ts dashboards 生成 Dashboard 页面 |
|
|
168
|
+
| `loom generate dashboard <name> --force` | 重建 Dashboard 页面(自动备份旧文件到 `.loom/backup/`) |
|
|
169
|
+
| `loom generate system-settings <model\|skill\|user\|process>` | 生成系统管理页面(模型管理、技能管理、用户管理或过程管理),首次调用创建子菜单,后续调用追加子页面;`user` 类型同时生成登录页和 AuthProvider 接线 |
|
|
170
|
+
| `loom generate system-settings <model\|skill\|user\|process> --force` | 重建系统管理页面(自动备份旧文件到 `.loom/backup/`) |
|
|
171
|
+
| `loom generate skill <name>` | 生成自定义 Skill 脚架 |
|
|
172
|
+
|
|
173
|
+
## loom.config.ts Schema(核心)
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
import { defineConfig } from '@loom-framework/core';
|
|
177
|
+
|
|
178
|
+
export default defineConfig({
|
|
179
|
+
project: {
|
|
180
|
+
name: 'my-app', // 必填
|
|
181
|
+
description: { 'zh-CN': '我的应用', 'en-US': 'My App' }, // 可选,支持多语言
|
|
182
|
+
},
|
|
183
|
+
data: {
|
|
184
|
+
defaultAdapter: 'filesystem', // 'filesystem' | 'sqlite'
|
|
185
|
+
models: [{
|
|
186
|
+
name: 'items', // 将作为 React 组件名生成页面,字母开头,字母/数字/下划线
|
|
187
|
+
description: { 'zh-CN': '数据项', 'en-US': 'Items' }, // 可选:支持多语言
|
|
188
|
+
fields: [{
|
|
189
|
+
name: 'status', // 字母/下划线开头,字母数字下划线
|
|
190
|
+
type: 'string', // 'string' | 'number' | 'boolean' | 'date' | 'string[]' | 'number[]' | 'json'
|
|
191
|
+
required: true, // 可选,默认 false
|
|
192
|
+
description: { 'zh-CN': '状态', 'en-US': 'Status' }, // 可选:支持多语言
|
|
193
|
+
default: 'active', // 可选:写入时自动填充
|
|
194
|
+
enum: ['active', 'inactive'], // 可选:限制可选值(存储值,不随语言变化)
|
|
195
|
+
enumLabels: { // 可选:enum 值的多语言显示标签
|
|
196
|
+
active: { 'zh-CN': '激活', 'en-US': 'Active' },
|
|
197
|
+
inactive: { 'zh-CN': '停用', 'en-US': 'Inactive' },
|
|
198
|
+
},
|
|
199
|
+
}],
|
|
200
|
+
}],
|
|
201
|
+
},
|
|
202
|
+
aiButtons: [{ // 可选
|
|
203
|
+
id: 'summarize', // 必填:唯一标识
|
|
204
|
+
label: { 'zh-CN': '总结', 'en-US': 'Summarize' }, // 必填:支持多语言
|
|
205
|
+
prompt: '请总结以下内容', // 必填:支持 {{var}} 引用当前行字段值
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
id: 'analyze', // 带变量的示例
|
|
209
|
+
label: { 'zh-CN': '分析', 'en-US': 'Analyze' },
|
|
210
|
+
prompt: '分析{{questionContent}},错误答案:{{wrongAnswer}}',
|
|
211
|
+
placement: 'wrong_questions', // 可选:限制按钮只出现在指定模型页面,逗号分隔多个模型名;省略则出现在所有页面
|
|
212
|
+
}],
|
|
213
|
+
dashboards: [{ // 可选:Dashboard 定义,完整配置见 references/dashboard.md
|
|
214
|
+
name: 'overview', // 必填:唯一标识,同命名规则
|
|
215
|
+
description: { 'zh-CN': '数据概览', 'en-US': 'Overview' }, // 可选
|
|
216
|
+
models: ['items'], // 必填:关联的数据模型
|
|
217
|
+
defaultDateField: 'createdAt', // 可选:启用日期范围筛选
|
|
218
|
+
filterDimensions: [], // 可选:启用下拉筛选,见 references/dashboard.md
|
|
219
|
+
layout: [{ row: [{ type: 'stat', title: { 'zh-CN': '总数', 'en-US': 'Total' }, model: 'items', aggregate: 'count', span: 6 }] }],
|
|
220
|
+
}],
|
|
221
|
+
auth: { // 可选:认证与鉴权,启用后生成登录页、用户管理、RBAC 权限控制
|
|
222
|
+
provider: 'builtin', // 'builtin' — 内置认证
|
|
223
|
+
secret: 'env:JWT_SECRET', // JWT 签名密钥,推荐用 env: 引用环境变量,不要硬编码
|
|
224
|
+
accessTokenTtl: 3600, // 可选,access token 有效期(秒),默认 3600(1h)
|
|
225
|
+
refreshTokenTtl: 604800, // 可选,refresh token 有效期(秒),默认 604800(7d)
|
|
226
|
+
roles: [ // 角色定义,至少一个 admin 角色
|
|
227
|
+
{ role: 'admin', permissions: [{ model: '*', level: 'admin' }] },
|
|
228
|
+
{ role: 'viewer', permissions: [{ model: '*', level: 'read' }] },
|
|
229
|
+
],
|
|
230
|
+
permissions: { // 可选:默认权限和行为配置
|
|
231
|
+
defaults: {
|
|
232
|
+
read: 'read', // 未显式配置的模型默认读权限
|
|
233
|
+
write: 'write', // 未显式配置的模型默认写权限
|
|
234
|
+
writeExcludesDelete: false, // write 权限是否排除删除操作
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### 多语言(i18n)
|
|
242
|
+
|
|
243
|
+
所有面向用户的展示字段均支持 `LocaleString` 格式:`string | Record<string, string>`。
|
|
244
|
+
|
|
245
|
+
- **简单写法**:`description: '科目'` — 所有语言显示相同文本
|
|
246
|
+
- **多语言写法**:`description: { 'zh-CN': '科目', 'en-US': 'Subject' }` — 切换语言时自动翻译
|
|
247
|
+
- **enum 值**:`enum` 始终是存储值(不分语言),显示文本通过 `enumLabels` 翻译
|
|
248
|
+
- **回退规则**:请求的 locale → `'zh-CN'` → 第一个可用值
|
|
249
|
+
|
|
250
|
+
支持的 LocaleString 字段:`project.description`、`ModelSchema.description`、`FieldDefinition.description`、`AIButtonConfig.label`、`DashboardConfig.description`、`DashboardWidget.title`、`RelationConfig.label`
|
|
251
|
+
|
|
252
|
+
生成页面会自动通过 `registerMessages()` 注册 i18n key,并使用 `t()` 调用引用,无需手动处理。
|
|
253
|
+
|
|
254
|
+
高级配置(`ai.claudeCode`、`server`、按模型 `adapters`、`indexes`)见 `references/data-model.md`。
|
|
255
|
+
|
|
256
|
+
## API 路由格式
|
|
257
|
+
|
|
258
|
+
后端 REST API 路径为 `/api/v1/data/<model-name>`,支持:`GET`(列表)、`GET /:id`(单条)、`POST`(创建)、`PUT /:id`(更新)、`DELETE /:id`(删除)、`GET /schema`(模型 Schema + AI 按钮)。
|
|
259
|
+
AI 相关:`POST /api/v1/chat`(SSE 流式对话)、`GET /api/v1/sessions`(会话列表)。
|
|
260
|
+
前端通过 `useData('<model-name>')` 自动访问,无需手动拼接。`useSchema('<model-name>')` 获取模型字段和 AI 按钮定义,自动根据当前 locale 请求服务端 resolved 数据。`filterOptions(schema, fieldName)` 和 `selectOptions(schema, fieldName)` 将 enum 值转为 antd 组件格式(使用 resolved 的 enumLabels)。`enumLabel(schema, fieldName, value)` 获取单个 enum 值的显示标签。
|
|
261
|
+
|
|
262
|
+
## 常见问题
|
|
263
|
+
|
|
264
|
+
- **better-sqlite3 加载失败**:Node.js 版本缺少预编译包。修复:(1) `cd node_modules/better-sqlite3 && npx node-gyp rebuild`,或 (2) 将 `defaultAdapter` 改为 `'filesystem'`
|
|
265
|
+
- **`loom` 命令报错 "No loom.config.ts found"**:在项目目录下运行命令
|