skill-calorie 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +477 -123
- package/dist/.gen-inputs.json +170 -0
- package/dist/analysis/commands.d.ts +62 -0
- package/dist/analysis/commands.d.ts.map +1 -0
- package/dist/analysis/commands.js +386 -0
- package/dist/analysis/commands.js.map +1 -0
- package/dist/analysis/contraindications.d.ts.map +1 -1
- package/dist/analysis/contraindications.js +16 -12
- package/dist/analysis/contraindications.js.map +1 -1
- package/dist/analysis/cross.d.ts +3 -0
- package/dist/analysis/cross.d.ts.map +1 -1
- package/dist/analysis/cross.js +57 -29
- package/dist/analysis/cross.js.map +1 -1
- package/dist/analysis/dashboard.d.ts.map +1 -1
- package/dist/analysis/dashboard.js +3 -2
- package/dist/analysis/dashboard.js.map +1 -1
- package/dist/analysis/exerciseReview.js +1 -1
- package/dist/analysis/exerciseReview.js.map +1 -1
- package/dist/analysis/healthPlate.d.ts +21 -0
- package/dist/analysis/healthPlate.d.ts.map +1 -0
- package/dist/analysis/healthPlate.js +41 -0
- package/dist/analysis/healthPlate.js.map +1 -0
- package/dist/analysis/historyStore.d.ts +30 -0
- package/dist/analysis/historyStore.d.ts.map +1 -0
- package/dist/analysis/historyStore.js +32 -0
- package/dist/analysis/historyStore.js.map +1 -0
- package/dist/analysis/index.d.ts +23 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +23 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/multiTrend.d.ts +67 -0
- package/dist/analysis/multiTrend.d.ts.map +1 -0
- package/dist/analysis/multiTrend.js +106 -0
- package/dist/analysis/multiTrend.js.map +1 -0
- package/dist/analysis/multiTrendPage.d.ts +4 -0
- package/dist/analysis/multiTrendPage.d.ts.map +1 -0
- package/dist/analysis/multiTrendPage.js +502 -0
- package/dist/analysis/multiTrendPage.js.map +1 -0
- package/dist/analysis/reportDoc.d.ts +12 -0
- package/dist/analysis/reportDoc.d.ts.map +1 -0
- package/dist/analysis/reportDoc.js +244 -0
- package/dist/analysis/reportDoc.js.map +1 -0
- package/dist/analysis/reportDocBmi.d.ts +4 -0
- package/dist/analysis/reportDocBmi.d.ts.map +1 -0
- package/dist/analysis/reportDocBmi.js +104 -0
- package/dist/analysis/reportDocBmi.js.map +1 -0
- package/dist/analysis/reportDocParts.d.ts +77 -0
- package/dist/analysis/reportDocParts.d.ts.map +1 -0
- package/dist/analysis/reportDocParts.js +249 -0
- package/dist/analysis/reportDocParts.js.map +1 -0
- package/dist/analysis/reportDocScore.d.ts +8 -0
- package/dist/analysis/reportDocScore.d.ts.map +1 -0
- package/dist/analysis/reportDocScore.js +223 -0
- package/dist/analysis/reportDocScore.js.map +1 -0
- package/dist/analysis/reportDocScoreSeries.d.ts +3 -0
- package/dist/analysis/reportDocScoreSeries.d.ts.map +1 -0
- package/dist/analysis/reportDocScoreSeries.js +27 -0
- package/dist/analysis/reportDocScoreSeries.js.map +1 -0
- package/dist/analysis/reportDocTracked.d.ts +10 -0
- package/dist/analysis/reportDocTracked.d.ts.map +1 -0
- package/dist/analysis/reportDocTracked.js +195 -0
- package/dist/analysis/reportDocTracked.js.map +1 -0
- package/dist/analysis/reportPlate.d.ts +163 -0
- package/dist/analysis/reportPlate.d.ts.map +1 -0
- package/dist/analysis/reportPlate.js +251 -0
- package/dist/analysis/reportPlate.js.map +1 -0
- package/dist/analysis/routes.d.ts +18 -0
- package/dist/analysis/routes.d.ts.map +1 -0
- package/dist/analysis/routes.js +178 -0
- package/dist/analysis/routes.js.map +1 -0
- package/dist/analysis/series.d.ts +31 -6
- package/dist/analysis/series.d.ts.map +1 -1
- package/dist/analysis/series.js +124 -27
- package/dist/analysis/series.js.map +1 -1
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +17 -6
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +43 -11
- package/dist/analysis/simulate2.js.map +1 -1
- package/dist/analysis/trend.d.ts +9 -1
- package/dist/analysis/trend.d.ts.map +1 -1
- package/dist/analysis/trend.js +24 -8
- package/dist/analysis/trend.js.map +1 -1
- package/dist/analysis/utils.d.ts +50 -1
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +73 -1
- package/dist/analysis/utils.js.map +1 -1
- package/dist/body/bodyDocs.d.ts +4 -0
- package/dist/body/bodyDocs.d.ts.map +1 -0
- package/dist/body/bodyDocs.js +284 -0
- package/dist/body/bodyDocs.js.map +1 -0
- package/dist/body/bodyPlate.d.ts +145 -0
- package/dist/body/bodyPlate.d.ts.map +1 -0
- package/dist/body/bodyPlate.js +243 -0
- package/dist/body/bodyPlate.js.map +1 -0
- package/dist/body/bodyReadUi.d.ts +47 -0
- package/dist/body/bodyReadUi.d.ts.map +1 -0
- package/dist/body/bodyReadUi.js +164 -0
- package/dist/body/bodyReadUi.js.map +1 -0
- package/dist/body/commands.d.ts +29 -0
- package/dist/body/commands.d.ts.map +1 -0
- package/dist/body/commands.js +18 -0
- package/dist/body/commands.js.map +1 -0
- package/dist/body/compare.d.ts +62 -0
- package/dist/body/compare.d.ts.map +1 -0
- package/dist/body/compare.js +162 -0
- package/dist/body/compare.js.map +1 -0
- package/dist/body/compareCompositionDoc.d.ts +3 -0
- package/dist/body/compareCompositionDoc.d.ts.map +1 -0
- package/dist/body/compareCompositionDoc.js +99 -0
- package/dist/body/compareCompositionDoc.js.map +1 -0
- package/dist/body/compareMeasureDoc.d.ts +3 -0
- package/dist/body/compareMeasureDoc.d.ts.map +1 -0
- package/dist/body/compareMeasureDoc.js +91 -0
- package/dist/body/compareMeasureDoc.js.map +1 -0
- package/dist/body/compareUi.d.ts +12 -0
- package/dist/body/compareUi.d.ts.map +1 -0
- package/dist/body/compareUi.js +27 -0
- package/dist/body/compareUi.js.map +1 -0
- package/dist/body/index.d.ts +21 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/body/index.js +22 -0
- package/dist/body/index.js.map +1 -0
- package/dist/body/log.d.ts +29 -0
- package/dist/body/log.d.ts.map +1 -0
- package/dist/body/log.js +196 -0
- package/dist/body/log.js.map +1 -0
- package/dist/body/receipt.d.ts +52 -0
- package/dist/body/receipt.d.ts.map +1 -0
- package/dist/body/receipt.js +248 -0
- package/dist/body/receipt.js.map +1 -0
- package/dist/body/receiptData.d.ts +46 -0
- package/dist/body/receiptData.d.ts.map +1 -0
- package/dist/body/receiptData.js +107 -0
- package/dist/body/receiptData.js.map +1 -0
- package/dist/body/receiptUi.d.ts +9 -0
- package/dist/body/receiptUi.d.ts.map +1 -0
- package/dist/body/receiptUi.js +75 -0
- package/dist/body/receiptUi.js.map +1 -0
- package/dist/body/remove.d.ts +21 -0
- package/dist/body/remove.d.ts.map +1 -0
- package/dist/body/remove.js +78 -0
- package/dist/body/remove.js.map +1 -0
- package/dist/body/routes.d.ts +10 -0
- package/dist/body/routes.d.ts.map +1 -0
- package/dist/body/routes.js +20 -0
- package/dist/body/routes.js.map +1 -0
- package/dist/body/view.d.ts +21 -0
- package/dist/body/view.d.ts.map +1 -0
- package/dist/body/view.js +50 -0
- package/dist/body/view.js.map +1 -0
- package/dist/body/wizard.d.ts +14 -0
- package/dist/body/wizard.d.ts.map +1 -0
- package/dist/body/wizard.js +21 -0
- package/dist/body/wizard.js.map +1 -0
- package/dist/body/wizardDocs.d.ts +4 -0
- package/dist/body/wizardDocs.d.ts.map +1 -0
- package/dist/body/wizardDocs.js +260 -0
- package/dist/body/wizardDocs.js.map +1 -0
- package/dist/body/wizardPlate.d.ts +146 -0
- package/dist/body/wizardPlate.d.ts.map +1 -0
- package/dist/body/wizardPlate.js +260 -0
- package/dist/body/wizardPlate.js.map +1 -0
- package/dist/body/wizardPrompt.d.ts +52 -0
- package/dist/body/wizardPrompt.d.ts.map +1 -0
- package/dist/body/wizardPrompt.js +146 -0
- package/dist/body/wizardPrompt.js.map +1 -0
- package/dist/body/wizardUi.d.ts +11 -0
- package/dist/body/wizardUi.d.ts.map +1 -0
- package/dist/body/wizardUi.js +35 -0
- package/dist/body/wizardUi.js.map +1 -0
- package/dist/cli/cmd_read.d.ts +7 -21
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +45 -1044
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/delivery.d.ts +34 -0
- package/dist/cli/delivery.d.ts.map +1 -0
- package/dist/cli/delivery.js +223 -0
- package/dist/cli/delivery.js.map +1 -0
- package/dist/cli/keys.d.ts +305 -163
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js +101 -74
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/legacy/index.d.ts +25 -0
- package/dist/cli/legacy/index.d.ts.map +1 -0
- package/dist/cli/legacy/index.js +37 -0
- package/dist/cli/legacy/index.js.map +1 -0
- package/dist/cli/legacy/routes/index.d.ts +8 -0
- package/dist/cli/legacy/routes/index.d.ts.map +1 -0
- package/dist/cli/legacy/routes/index.js +23 -0
- package/dist/cli/legacy/routes/index.js.map +1 -0
- package/dist/cli/legacy/routes/scene-01.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-01.js +2 -0
- package/dist/cli/legacy/routes/scene-01.js.map +1 -0
- package/dist/cli/legacy/routes/scene-02.d.ts +18 -0
- package/dist/cli/legacy/routes/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-02.js +2 -0
- package/dist/cli/legacy/routes/scene-02.js.map +1 -0
- package/dist/cli/legacy/routes/scene-03.d.ts +13 -0
- package/dist/cli/legacy/routes/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-03.js +2 -0
- package/dist/cli/legacy/routes/scene-03.js.map +1 -0
- package/dist/cli/legacy/routes/scene-04.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-04.js +2 -0
- package/dist/cli/legacy/routes/scene-04.js.map +1 -0
- package/dist/cli/legacy/routes/scene-05.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-05.js +2 -0
- package/dist/cli/legacy/routes/scene-05.js.map +1 -0
- package/dist/cli/legacy/routes/scene-06.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-06.js +2 -0
- package/dist/cli/legacy/routes/scene-06.js.map +1 -0
- package/dist/cli/legacy/routes/scene-07.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-07.js +2 -0
- package/dist/cli/legacy/routes/scene-07.js.map +1 -0
- package/dist/cli/legacy/routes/scene-08.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-08.js +2 -0
- package/dist/cli/legacy/routes/scene-08.js.map +1 -0
- package/dist/cli/legacy/routes/scene-09.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-09.js +2 -0
- package/dist/cli/legacy/routes/scene-09.js.map +1 -0
- package/dist/cli/legacy/routes/scene-10.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-10.js +2 -0
- package/dist/cli/legacy/routes/scene-10.js.map +1 -0
- package/dist/cli/legacy/scene-01.d.ts +13 -0
- package/dist/cli/legacy/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/scene-01.js +2 -0
- package/dist/cli/legacy/scene-01.js.map +1 -0
- package/dist/cli/legacy/scene-02.d.ts +12 -0
- package/dist/cli/legacy/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/scene-02.js +2 -0
- package/dist/cli/legacy/scene-02.js.map +1 -0
- package/dist/cli/legacy/scene-03.d.ts +14 -0
- package/dist/cli/legacy/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/scene-03.js +2 -0
- package/dist/cli/legacy/scene-03.js.map +1 -0
- package/dist/cli/legacy/scene-04.d.ts +12 -0
- package/dist/cli/legacy/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/scene-04.js +2 -0
- package/dist/cli/legacy/scene-04.js.map +1 -0
- package/dist/cli/legacy/scene-05.d.ts +14 -0
- package/dist/cli/legacy/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/scene-05.js +2 -0
- package/dist/cli/legacy/scene-05.js.map +1 -0
- package/dist/cli/legacy/scene-06.d.ts +15 -0
- package/dist/cli/legacy/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/scene-06.js +2 -0
- package/dist/cli/legacy/scene-06.js.map +1 -0
- package/dist/cli/legacy/scene-07.d.ts +15 -0
- package/dist/cli/legacy/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/scene-07.js +2 -0
- package/dist/cli/legacy/scene-07.js.map +1 -0
- package/dist/cli/legacy/scene-08.d.ts +13 -0
- package/dist/cli/legacy/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/scene-08.js +2 -0
- package/dist/cli/legacy/scene-08.js.map +1 -0
- package/dist/cli/legacy/scene-09.d.ts +13 -0
- package/dist/cli/legacy/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/scene-09.js +2 -0
- package/dist/cli/legacy/scene-09.js.map +1 -0
- package/dist/cli/legacy/scene-10.d.ts +13 -0
- package/dist/cli/legacy/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/scene-10.js +2 -0
- package/dist/cli/legacy/scene-10.js.map +1 -0
- package/dist/cli/legacy/types.d.ts +16 -0
- package/dist/cli/legacy/types.d.ts.map +1 -0
- package/dist/cli/legacy/types.js +2 -0
- package/dist/cli/legacy/types.js.map +1 -0
- package/dist/cli/readArgs.d.ts +21 -0
- package/dist/cli/readArgs.d.ts.map +1 -0
- package/dist/cli/readArgs.js +72 -0
- package/dist/cli/readArgs.js.map +1 -0
- package/dist/cli/registry.d.ts +12 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +38 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/write.d.ts +17 -15
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +38 -902
- package/dist/cli/write.js.map +1 -1
- package/dist/diet/commands.d.ts +37 -0
- package/dist/diet/commands.d.ts.map +1 -0
- package/dist/diet/commands.js +44 -0
- package/dist/diet/commands.js.map +1 -0
- package/dist/diet/dietEngine.d.ts +79 -0
- package/dist/diet/dietEngine.d.ts.map +1 -0
- package/dist/diet/dietEngine.js +171 -0
- package/dist/diet/dietEngine.js.map +1 -0
- package/dist/diet/dietUi.d.ts +9 -0
- package/dist/diet/dietUi.d.ts.map +1 -0
- package/dist/diet/dietUi.js +45 -0
- package/dist/diet/dietUi.js.map +1 -0
- package/dist/diet/edit.d.ts +22 -0
- package/dist/diet/edit.d.ts.map +1 -0
- package/dist/diet/edit.js +96 -0
- package/dist/diet/edit.js.map +1 -0
- package/dist/diet/fieldLabels.d.ts +5 -0
- package/dist/diet/fieldLabels.d.ts.map +1 -0
- package/dist/diet/fieldLabels.js +44 -0
- package/dist/diet/fieldLabels.js.map +1 -0
- package/dist/diet/index.d.ts +26 -0
- package/dist/diet/index.d.ts.map +1 -0
- package/dist/diet/index.js +22 -0
- package/dist/diet/index.js.map +1 -0
- package/dist/diet/library.d.ts +20 -0
- package/dist/diet/library.d.ts.map +1 -0
- package/dist/diet/library.js +52 -0
- package/dist/diet/library.js.map +1 -0
- package/dist/diet/libraryDocs.d.ts +7 -0
- package/dist/diet/libraryDocs.d.ts.map +1 -0
- package/dist/diet/libraryDocs.js +361 -0
- package/dist/diet/libraryDocs.js.map +1 -0
- package/dist/diet/libraryPlate.d.ts +41 -0
- package/dist/diet/libraryPlate.d.ts.map +1 -0
- package/dist/diet/libraryPlate.js +57 -0
- package/dist/diet/libraryPlate.js.map +1 -0
- package/dist/diet/log.d.ts +18 -0
- package/dist/diet/log.d.ts.map +1 -0
- package/dist/diet/log.js +152 -0
- package/dist/diet/log.js.map +1 -0
- package/dist/diet/nutrition.d.ts +37 -0
- package/dist/diet/nutrition.d.ts.map +1 -0
- package/dist/diet/nutrition.js +135 -0
- package/dist/diet/nutrition.js.map +1 -0
- package/dist/diet/nutritionPort.d.ts +129 -0
- package/dist/diet/nutritionPort.d.ts.map +1 -0
- package/dist/diet/nutritionPort.js +246 -0
- package/dist/diet/nutritionPort.js.map +1 -0
- package/dist/diet/nutritionPortDocs.d.ts +106 -0
- package/dist/diet/nutritionPortDocs.d.ts.map +1 -0
- package/dist/diet/nutritionPortDocs.js +651 -0
- package/dist/diet/nutritionPortDocs.js.map +1 -0
- package/dist/diet/precheck.d.ts +7 -0
- package/dist/diet/precheck.d.ts.map +1 -0
- package/dist/diet/precheck.js +194 -0
- package/dist/diet/precheck.js.map +1 -0
- package/dist/diet/precheckLabel.d.ts +4 -0
- package/dist/diet/precheckLabel.d.ts.map +1 -0
- package/dist/diet/precheckLabel.js +191 -0
- package/dist/diet/precheckLabel.js.map +1 -0
- package/dist/diet/precheckParts.d.ts +49 -0
- package/dist/diet/precheckParts.d.ts.map +1 -0
- package/dist/diet/precheckParts.js +69 -0
- package/dist/diet/precheckParts.js.map +1 -0
- package/dist/diet/precheckPort.d.ts +82 -0
- package/dist/diet/precheckPort.d.ts.map +1 -0
- package/dist/diet/precheckPort.js +176 -0
- package/dist/diet/precheckPort.js.map +1 -0
- package/dist/diet/productImport.d.ts +28 -0
- package/dist/diet/productImport.d.ts.map +1 -0
- package/dist/diet/productImport.js +152 -0
- package/dist/diet/productImport.js.map +1 -0
- package/dist/diet/productStore.d.ts +62 -0
- package/dist/diet/productStore.d.ts.map +1 -0
- package/dist/diet/productStore.js +73 -0
- package/dist/diet/productStore.js.map +1 -0
- package/dist/diet/products.d.ts +15 -0
- package/dist/diet/products.d.ts.map +1 -0
- package/dist/diet/products.js +87 -0
- package/dist/diet/products.js.map +1 -0
- package/dist/diet/ranking.d.ts +18 -0
- package/dist/diet/ranking.d.ts.map +1 -0
- package/dist/diet/ranking.js +23 -0
- package/dist/diet/ranking.js.map +1 -0
- package/dist/diet/rankingDocs.d.ts +13 -0
- package/dist/diet/rankingDocs.d.ts.map +1 -0
- package/dist/diet/rankingDocs.js +341 -0
- package/dist/diet/rankingDocs.js.map +1 -0
- package/dist/diet/rankingPlate.d.ts +42 -0
- package/dist/diet/rankingPlate.d.ts.map +1 -0
- package/dist/diet/rankingPlate.js +96 -0
- package/dist/diet/rankingPlate.js.map +1 -0
- package/dist/diet/receipt.d.ts +34 -0
- package/dist/diet/receipt.d.ts.map +1 -0
- package/dist/diet/receipt.js +371 -0
- package/dist/diet/receipt.js.map +1 -0
- package/dist/diet/review.d.ts +36 -0
- package/dist/diet/review.d.ts.map +1 -0
- package/dist/diet/review.js +152 -0
- package/dist/diet/review.js.map +1 -0
- package/dist/diet/reviewDocs.d.ts +72 -0
- package/dist/diet/reviewDocs.d.ts.map +1 -0
- package/dist/diet/reviewDocs.js +312 -0
- package/dist/diet/reviewDocs.js.map +1 -0
- package/dist/diet/routes.d.ts +12 -0
- package/dist/diet/routes.d.ts.map +1 -0
- package/dist/diet/routes.js +108 -0
- package/dist/diet/routes.js.map +1 -0
- package/dist/diet/sourceStatsDocs.d.ts +3 -0
- package/dist/diet/sourceStatsDocs.d.ts.map +1 -0
- package/dist/diet/sourceStatsDocs.js +115 -0
- package/dist/diet/sourceStatsDocs.js.map +1 -0
- package/dist/diet/today.d.ts +14 -0
- package/dist/diet/today.d.ts.map +1 -0
- package/dist/diet/today.js +87 -0
- package/dist/diet/today.js.map +1 -0
- package/dist/diet/todayDocs.d.ts +53 -0
- package/dist/diet/todayDocs.d.ts.map +1 -0
- package/dist/diet/todayDocs.js +238 -0
- package/dist/diet/todayDocs.js.map +1 -0
- package/dist/exercise/cardio.d.ts +11 -0
- package/dist/exercise/cardio.d.ts.map +1 -0
- package/dist/exercise/cardio.js +14 -0
- package/dist/exercise/cardio.js.map +1 -0
- package/dist/exercise/categoryColors.d.ts +23 -0
- package/dist/exercise/categoryColors.d.ts.map +1 -0
- package/dist/exercise/categoryColors.js +28 -0
- package/dist/exercise/categoryColors.js.map +1 -0
- package/dist/exercise/commands.d.ts +20 -0
- package/dist/exercise/commands.d.ts.map +1 -0
- package/dist/exercise/commands.js +22 -0
- package/dist/exercise/commands.js.map +1 -0
- package/dist/exercise/distribution.d.ts +11 -0
- package/dist/exercise/distribution.d.ts.map +1 -0
- package/dist/exercise/distribution.js +14 -0
- package/dist/exercise/distribution.js.map +1 -0
- package/dist/exercise/edit.d.ts +22 -0
- package/dist/exercise/edit.d.ts.map +1 -0
- package/dist/exercise/edit.js +148 -0
- package/dist/exercise/edit.js.map +1 -0
- package/dist/exercise/exerciseStore.d.ts +87 -0
- package/dist/exercise/exerciseStore.d.ts.map +1 -0
- package/dist/exercise/exerciseStore.js +287 -0
- package/dist/exercise/exerciseStore.js.map +1 -0
- package/dist/exercise/fieldLabels.d.ts +5 -0
- package/dist/exercise/fieldLabels.d.ts.map +1 -0
- package/dist/exercise/fieldLabels.js +34 -0
- package/dist/exercise/fieldLabels.js.map +1 -0
- package/dist/exercise/goal.d.ts +16 -0
- package/dist/exercise/goal.d.ts.map +1 -0
- package/dist/exercise/goal.js +46 -0
- package/dist/exercise/goal.js.map +1 -0
- package/dist/exercise/index.d.ts +22 -0
- package/dist/exercise/index.d.ts.map +1 -0
- package/dist/exercise/index.js +22 -0
- package/dist/exercise/index.js.map +1 -0
- package/dist/exercise/log.d.ts +19 -0
- package/dist/exercise/log.d.ts.map +1 -0
- package/dist/exercise/log.js +102 -0
- package/dist/exercise/log.js.map +1 -0
- package/dist/exercise/precheck.d.ts +19 -0
- package/dist/exercise/precheck.d.ts.map +1 -0
- package/dist/exercise/precheck.js +127 -0
- package/dist/exercise/precheck.js.map +1 -0
- package/dist/exercise/recap.d.ts +11 -0
- package/dist/exercise/recap.d.ts.map +1 -0
- package/dist/exercise/recap.js +14 -0
- package/dist/exercise/recap.js.map +1 -0
- package/dist/exercise/receipt.d.ts +43 -0
- package/dist/exercise/receipt.d.ts.map +1 -0
- package/dist/exercise/receipt.js +401 -0
- package/dist/exercise/receipt.js.map +1 -0
- package/dist/exercise/records.d.ts +60 -0
- package/dist/exercise/records.d.ts.map +1 -0
- package/dist/exercise/records.js +317 -0
- package/dist/exercise/records.js.map +1 -0
- package/dist/exercise/routes.d.ts +21 -0
- package/dist/exercise/routes.d.ts.map +1 -0
- package/dist/exercise/routes.js +38 -0
- package/dist/exercise/routes.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +77 -0
- package/dist/exercise/sportUi.d.ts.map +1 -0
- package/dist/exercise/sportUi.js +268 -0
- package/dist/exercise/sportUi.js.map +1 -0
- package/dist/exercise/strength.d.ts +11 -0
- package/dist/exercise/strength.d.ts.map +1 -0
- package/dist/exercise/strength.js +14 -0
- package/dist/exercise/strength.js.map +1 -0
- package/dist/exercise/trend.d.ts +11 -0
- package/dist/exercise/trend.d.ts.map +1 -0
- package/dist/exercise/trend.js +14 -0
- package/dist/exercise/trend.js.map +1 -0
- package/dist/fetch/audit.d.ts +2 -0
- package/dist/fetch/audit.d.ts.map +1 -1
- package/dist/fetch/audit.js +11 -10
- package/dist/fetch/audit.js.map +1 -1
- package/dist/fetch/batch.js +1 -1
- package/dist/fetch/batch.js.map +1 -1
- package/dist/fetch/body.d.ts +104 -1
- package/dist/fetch/body.d.ts.map +1 -1
- package/dist/fetch/body.js +200 -31
- package/dist/fetch/body.js.map +1 -1
- package/dist/fetch/cli.js +11 -5
- package/dist/fetch/cli.js.map +1 -1
- package/dist/fetch/exercise.d.ts.map +1 -1
- package/dist/fetch/exercise.js +7 -3
- package/dist/fetch/exercise.js.map +1 -1
- package/dist/fetch/index.d.ts +5 -7
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +7 -6
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/nutritionGoal.d.ts.map +1 -1
- package/dist/fetch/nutritionGoal.js +15 -4
- package/dist/fetch/nutritionGoal.js.map +1 -1
- package/dist/fetch/profile.d.ts +24 -3
- package/dist/fetch/profile.d.ts.map +1 -1
- package/dist/fetch/profile.js +43 -14
- package/dist/fetch/profile.js.map +1 -1
- package/dist/fetch/xunji-catalog.d.ts +5 -0
- package/dist/fetch/xunji-catalog.d.ts.map +1 -1
- package/dist/fetch/xunji-catalog.js +22 -1
- package/dist/fetch/xunji-catalog.js.map +1 -1
- package/dist/goal/commands.d.ts +31 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +20 -0
- package/dist/goal/commands.js.map +1 -0
- package/dist/goal/goalExtraPlate.d.ts +45 -0
- package/dist/goal/goalExtraPlate.d.ts.map +1 -0
- package/dist/goal/goalExtraPlate.js +95 -0
- package/dist/goal/goalExtraPlate.js.map +1 -0
- package/dist/goal/goalHistory.d.ts +24 -0
- package/dist/goal/goalHistory.d.ts.map +1 -0
- package/dist/goal/goalHistory.js +51 -0
- package/dist/goal/goalHistory.js.map +1 -0
- package/dist/goal/goalPlate.d.ts +24 -0
- package/dist/goal/goalPlate.d.ts.map +1 -0
- package/dist/goal/goalPlate.js +34 -0
- package/dist/goal/goalPlate.js.map +1 -0
- package/dist/goal/goalPlates.d.ts +66 -0
- package/dist/goal/goalPlates.d.ts.map +1 -0
- package/dist/goal/goalPlates.js +114 -0
- package/dist/goal/goalPlates.js.map +1 -0
- package/dist/goal/goalRecommendDoc.d.ts +6 -0
- package/dist/goal/goalRecommendDoc.d.ts.map +1 -0
- package/dist/goal/goalRecommendDoc.js +107 -0
- package/dist/goal/goalRecommendDoc.js.map +1 -0
- package/dist/goal/goalStore.d.ts +56 -0
- package/dist/goal/goalStore.d.ts.map +1 -0
- package/dist/goal/goalStore.js +111 -0
- package/dist/goal/goalStore.js.map +1 -0
- package/dist/goal/goalWeightDoc.d.ts +7 -0
- package/dist/goal/goalWeightDoc.d.ts.map +1 -0
- package/dist/goal/goalWeightDoc.js +107 -0
- package/dist/goal/goalWeightDoc.js.map +1 -0
- package/dist/goal/index.d.ts +17 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +21 -0
- package/dist/goal/index.js.map +1 -0
- package/dist/goal/nutritionGoal.d.ts +115 -0
- package/dist/goal/nutritionGoal.d.ts.map +1 -0
- package/dist/goal/nutritionGoal.js +165 -0
- package/dist/goal/nutritionGoal.js.map +1 -0
- package/dist/goal/precheck.d.ts +14 -0
- package/dist/goal/precheck.d.ts.map +1 -0
- package/dist/goal/precheck.js +213 -0
- package/dist/goal/precheck.js.map +1 -0
- package/dist/goal/read.d.ts +53 -0
- package/dist/goal/read.d.ts.map +1 -0
- package/dist/goal/read.js +154 -0
- package/dist/goal/read.js.map +1 -0
- package/dist/goal/receipt.d.ts +38 -0
- package/dist/goal/receipt.d.ts.map +1 -0
- package/dist/goal/receipt.js +290 -0
- package/dist/goal/receipt.js.map +1 -0
- package/dist/goal/resultDocs.d.ts +23 -0
- package/dist/goal/resultDocs.d.ts.map +1 -0
- package/dist/goal/resultDocs.js +279 -0
- package/dist/goal/resultDocs.js.map +1 -0
- package/dist/goal/routes.d.ts +12 -0
- package/dist/goal/routes.d.ts.map +1 -0
- package/dist/goal/routes.js +29 -0
- package/dist/goal/routes.js.map +1 -0
- package/dist/goal/set.d.ts +97 -0
- package/dist/goal/set.d.ts.map +1 -0
- package/dist/goal/set.js +103 -0
- package/dist/goal/set.js.map +1 -0
- package/dist/goal/write.d.ts +30 -0
- package/dist/goal/write.d.ts.map +1 -0
- package/dist/goal/write.js +102 -0
- package/dist/goal/write.js.map +1 -0
- package/dist/help-missing.json +35 -0
- package/dist/home/commands.d.ts +11 -0
- package/dist/home/commands.d.ts.map +1 -0
- package/dist/home/commands.js +8 -0
- package/dist/home/commands.js.map +1 -0
- package/dist/home/exercise.d.ts +27 -0
- package/dist/home/exercise.d.ts.map +1 -0
- package/dist/home/exercise.js +60 -0
- package/dist/home/exercise.js.map +1 -0
- package/dist/home/goalProgressDocs.d.ts +27 -0
- package/dist/home/goalProgressDocs.d.ts.map +1 -0
- package/dist/home/goalProgressDocs.js +363 -0
- package/dist/home/goalProgressDocs.js.map +1 -0
- package/dist/home/home.d.ts +38 -0
- package/dist/home/home.d.ts.map +1 -0
- package/dist/home/home.js +78 -0
- package/dist/home/home.js.map +1 -0
- package/dist/home/homeDocs.d.ts +8 -0
- package/dist/home/homeDocs.d.ts.map +1 -0
- package/dist/home/homeDocs.js +307 -0
- package/dist/home/homeDocs.js.map +1 -0
- package/dist/home/homeViewParts.d.ts +42 -0
- package/dist/home/homeViewParts.d.ts.map +1 -0
- package/dist/home/homeViewParts.js +316 -0
- package/dist/home/homeViewParts.js.map +1 -0
- package/dist/home/index.d.ts +14 -0
- package/dist/home/index.d.ts.map +1 -0
- package/dist/home/index.js +13 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/routes.d.ts +10 -0
- package/dist/home/routes.d.ts.map +1 -0
- package/dist/home/routes.js +47 -0
- package/dist/home/routes.js.map +1 -0
- package/dist/home/today.d.ts +50 -0
- package/dist/home/today.d.ts.map +1 -0
- package/dist/home/today.js +255 -0
- package/dist/home/today.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +1 -1
- package/dist/output.d.ts +31 -16
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +118 -143
- package/dist/output.js.map +1 -1
- package/dist/photo/commands.d.ts +55 -0
- package/dist/photo/commands.d.ts.map +1 -0
- package/dist/photo/commands.js +25 -0
- package/dist/photo/commands.js.map +1 -0
- package/dist/photo/compare.d.ts +24 -0
- package/dist/photo/compare.d.ts.map +1 -0
- package/dist/photo/compare.js +48 -0
- package/dist/photo/compare.js.map +1 -0
- package/dist/photo/compareDoc.d.ts +5 -0
- package/dist/photo/compareDoc.d.ts.map +1 -0
- package/dist/photo/compareDoc.js +221 -0
- package/dist/photo/compareDoc.js.map +1 -0
- package/dist/photo/dir.d.ts +5 -0
- package/dist/photo/dir.d.ts.map +1 -0
- package/dist/photo/dir.js +22 -0
- package/dist/photo/dir.js.map +1 -0
- package/dist/photo/gallery.d.ts +16 -0
- package/dist/photo/gallery.d.ts.map +1 -0
- package/dist/photo/gallery.js +45 -0
- package/dist/photo/gallery.js.map +1 -0
- package/dist/photo/galleryDoc.d.ts +12 -0
- package/dist/photo/galleryDoc.d.ts.map +1 -0
- package/dist/photo/galleryDoc.js +291 -0
- package/dist/photo/galleryDoc.js.map +1 -0
- package/dist/photo/gif.d.ts +28 -0
- package/dist/photo/gif.d.ts.map +1 -0
- package/dist/photo/gif.js +281 -0
- package/dist/photo/gif.js.map +1 -0
- package/dist/photo/gifDoc.d.ts +52 -0
- package/dist/photo/gifDoc.d.ts.map +1 -0
- package/dist/photo/gifDoc.js +311 -0
- package/dist/photo/gifDoc.js.map +1 -0
- package/dist/photo/help.d.ts +4 -0
- package/dist/photo/help.d.ts.map +1 -0
- package/dist/photo/help.js +87 -0
- package/dist/photo/help.js.map +1 -0
- package/dist/photo/helpCenter.d.ts +137 -0
- package/dist/photo/helpCenter.d.ts.map +1 -0
- package/dist/photo/helpCenter.js +475 -0
- package/dist/photo/helpCenter.js.map +1 -0
- package/dist/photo/helpDoc.d.ts +5 -0
- package/dist/photo/helpDoc.d.ts.map +1 -0
- package/dist/photo/helpDoc.js +205 -0
- package/dist/photo/helpDoc.js.map +1 -0
- package/dist/photo/helpDocContent.d.ts +77 -0
- package/dist/photo/helpDocContent.d.ts.map +1 -0
- package/dist/photo/helpDocContent.js +120 -0
- package/dist/photo/helpDocContent.js.map +1 -0
- package/dist/photo/helpDocCss.d.ts +5 -0
- package/dist/photo/helpDocCss.d.ts.map +1 -0
- package/dist/photo/helpDocCss.js +119 -0
- package/dist/photo/helpDocCss.js.map +1 -0
- package/dist/photo/helpFile.d.ts +26 -0
- package/dist/photo/helpFile.d.ts.map +1 -0
- package/dist/photo/helpFile.js +90 -0
- package/dist/photo/helpFile.js.map +1 -0
- package/dist/photo/helpLookup.d.ts +18 -0
- package/dist/photo/helpLookup.d.ts.map +1 -0
- package/dist/photo/helpLookup.js +58 -0
- package/dist/photo/helpLookup.js.map +1 -0
- package/dist/photo/helpPaths.d.ts +22 -0
- package/dist/photo/helpPaths.d.ts.map +1 -0
- package/dist/photo/helpPaths.js +22 -0
- package/dist/photo/helpPaths.js.map +1 -0
- package/dist/photo/index.d.ts +17 -0
- package/dist/photo/index.d.ts.map +1 -0
- package/dist/photo/index.js +21 -0
- package/dist/photo/index.js.map +1 -0
- package/dist/photo/manage.d.ts +13 -0
- package/dist/photo/manage.d.ts.map +1 -0
- package/dist/photo/manage.js +64 -0
- package/dist/photo/manage.js.map +1 -0
- package/dist/photo/photo.d.ts +118 -0
- package/dist/photo/photo.d.ts.map +1 -0
- package/dist/photo/photo.js +279 -0
- package/dist/photo/photo.js.map +1 -0
- package/dist/photo/photoThumb.d.ts +38 -0
- package/dist/photo/photoThumb.d.ts.map +1 -0
- package/dist/photo/photoThumb.js +83 -0
- package/dist/photo/photoThumb.js.map +1 -0
- package/dist/photo/photoUi.d.ts +39 -0
- package/dist/photo/photoUi.d.ts.map +1 -0
- package/dist/photo/photoUi.js +233 -0
- package/dist/photo/photoUi.js.map +1 -0
- package/dist/photo/photos.d.ts +76 -0
- package/dist/photo/photos.d.ts.map +1 -0
- package/dist/photo/photos.js +193 -0
- package/dist/photo/photos.js.map +1 -0
- package/dist/photo/picker.d.ts +41 -0
- package/dist/photo/picker.d.ts.map +1 -0
- package/dist/photo/picker.js +132 -0
- package/dist/photo/picker.js.map +1 -0
- package/dist/photo/pickerDoc.d.ts +12 -0
- package/dist/photo/pickerDoc.d.ts.map +1 -0
- package/dist/photo/pickerDoc.js +231 -0
- package/dist/photo/pickerDoc.js.map +1 -0
- package/dist/photo/receipt.d.ts +23 -0
- package/dist/photo/receipt.d.ts.map +1 -0
- package/dist/photo/receipt.js +331 -0
- package/dist/photo/receipt.js.map +1 -0
- package/dist/photo/receiptUi.d.ts +42 -0
- package/dist/photo/receiptUi.d.ts.map +1 -0
- package/dist/photo/receiptUi.js +147 -0
- package/dist/photo/receiptUi.js.map +1 -0
- package/dist/photo/routes.d.ts +10 -0
- package/dist/photo/routes.d.ts.map +1 -0
- package/dist/photo/routes.js +29 -0
- package/dist/photo/routes.js.map +1 -0
- package/dist/photo/store.d.ts +10 -0
- package/dist/photo/store.d.ts.map +1 -0
- package/dist/photo/store.js +44 -0
- package/dist/photo/store.js.map +1 -0
- package/dist/photo/viewerDoc.d.ts +5 -0
- package/dist/photo/viewerDoc.d.ts.map +1 -0
- package/dist/photo/viewerDoc.js +255 -0
- package/dist/photo/viewerDoc.js.map +1 -0
- package/dist/photo/wizard.d.ts +15 -0
- package/dist/photo/wizard.d.ts.map +1 -0
- package/dist/photo/wizard.js +25 -0
- package/dist/photo/wizard.js.map +1 -0
- package/dist/photo/wizardUi.d.ts +24 -0
- package/dist/photo/wizardUi.d.ts.map +1 -0
- package/dist/photo/wizardUi.js +101 -0
- package/dist/photo/wizardUi.js.map +1 -0
- package/dist/profile/commands.d.ts +28 -0
- package/dist/profile/commands.d.ts.map +1 -0
- package/dist/profile/commands.js +10 -0
- package/dist/profile/commands.js.map +1 -0
- package/dist/profile/index.d.ts +23 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +22 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/labels.d.ts +10 -0
- package/dist/profile/labels.d.ts.map +1 -0
- package/dist/profile/labels.js +52 -0
- package/dist/profile/labels.js.map +1 -0
- package/dist/profile/read.d.ts +13 -0
- package/dist/profile/read.d.ts.map +1 -0
- package/dist/profile/read.js +24 -0
- package/dist/profile/read.js.map +1 -0
- package/dist/profile/receipt.d.ts +10 -0
- package/dist/profile/receipt.d.ts.map +1 -0
- package/dist/profile/receipt.js +19 -0
- package/dist/profile/receipt.js.map +1 -0
- package/dist/profile/routes.d.ts +8 -0
- package/dist/profile/routes.d.ts.map +1 -0
- package/dist/profile/routes.js +9 -0
- package/dist/profile/routes.js.map +1 -0
- package/dist/profile/setup.d.ts +67 -0
- package/dist/profile/setup.d.ts.map +1 -0
- package/dist/profile/setup.js +396 -0
- package/dist/profile/setup.js.map +1 -0
- package/dist/profile/update.d.ts +5 -0
- package/dist/profile/update.d.ts.map +1 -0
- package/dist/profile/update.js +85 -0
- package/dist/profile/update.js.map +1 -0
- package/dist/profile/view.d.ts +64 -0
- package/dist/profile/view.d.ts.map +1 -0
- package/dist/profile/view.js +204 -0
- package/dist/profile/view.js.map +1 -0
- package/dist/profile/write.d.ts +16 -0
- package/dist/profile/write.d.ts.map +1 -0
- package/dist/profile/write.js +75 -0
- package/dist/profile/write.js.map +1 -0
- package/dist/render/analysisPlate.d.ts +1 -1
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +1 -1
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/dietDocs.d.ts +19 -19
- package/dist/render/dietDocs.d.ts.map +1 -1
- package/dist/render/dietDocs.js +173 -435
- package/dist/render/dietDocs.js.map +1 -1
- package/dist/render/exercisePort.d.ts +3 -1
- package/dist/render/exercisePort.d.ts.map +1 -1
- package/dist/render/exercisePort.js +4 -3
- package/dist/render/exercisePort.js.map +1 -1
- package/dist/render/goalExtra.d.ts.map +1 -1
- package/dist/render/goalExtra.js +2 -1
- package/dist/render/goalExtra.js.map +1 -1
- package/dist/render/goalPlate.d.ts +2 -2
- package/dist/render/goalPlate.d.ts.map +1 -1
- package/dist/render/goalPlate.js +3 -3
- package/dist/render/goalPlate.js.map +1 -1
- package/dist/render/helpCenter.d.ts.map +1 -1
- package/dist/render/helpCenter.js +4 -2
- package/dist/render/helpCenter.js.map +1 -1
- package/dist/render/helpFile.d.ts +26 -0
- package/dist/render/helpFile.d.ts.map +1 -0
- package/dist/render/helpFile.js +60 -0
- package/dist/render/helpFile.js.map +1 -0
- package/dist/render/helpPaths.d.ts +22 -0
- package/dist/render/helpPaths.d.ts.map +1 -0
- package/dist/render/helpPaths.js +22 -0
- package/dist/render/helpPaths.js.map +1 -0
- package/dist/render/helpShell.d.ts +16 -0
- package/dist/render/helpShell.d.ts.map +1 -0
- package/dist/render/helpShell.js +27 -0
- package/dist/render/helpShell.js.map +1 -0
- package/dist/render/html.d.ts +37 -21
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +37 -45
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +37 -33
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +32 -18
- package/dist/render/index.js.map +1 -1
- package/dist/render/insightPlate.d.ts +17 -0
- package/dist/render/insightPlate.d.ts.map +1 -1
- package/dist/render/insightPlate.js +109 -1
- package/dist/render/insightPlate.js.map +1 -1
- package/dist/render/nutritionPortDocs.d.ts.map +1 -1
- package/dist/render/nutritionPortDocs.js +41 -48
- package/dist/render/nutritionPortDocs.js.map +1 -1
- package/dist/render/pageChromeCss.d.ts +24 -0
- package/dist/render/pageChromeCss.d.ts.map +1 -0
- package/dist/render/pageChromeCss.js +45 -0
- package/dist/render/pageChromeCss.js.map +1 -0
- package/dist/render/planCopyBlock.d.ts +32 -0
- package/dist/render/planCopyBlock.d.ts.map +1 -0
- package/dist/render/planCopyBlock.js +34 -0
- package/dist/render/planCopyBlock.js.map +1 -0
- package/dist/render/planEditor.d.ts +94 -0
- package/dist/render/planEditor.d.ts.map +1 -0
- package/dist/render/planEditor.js +38 -0
- package/dist/render/planEditor.js.map +1 -0
- package/dist/render/planEditorCss.d.ts +13 -0
- package/dist/render/planEditorCss.d.ts.map +1 -0
- package/dist/render/planEditorCss.js +140 -0
- package/dist/render/planEditorCss.js.map +1 -0
- package/dist/render/planEditorDocs.d.ts +7 -0
- package/dist/render/planEditorDocs.d.ts.map +1 -0
- package/dist/render/planEditorDocs.js +56 -0
- package/dist/render/planEditorDocs.js.map +1 -0
- package/dist/render/planEditorPort.d.ts +45 -0
- package/dist/render/planEditorPort.d.ts.map +1 -0
- package/dist/render/planEditorPort.js +217 -0
- package/dist/render/planEditorPort.js.map +1 -0
- package/dist/render/planEditorRuntime.d.ts +15 -0
- package/dist/render/planEditorRuntime.d.ts.map +1 -0
- package/dist/render/planEditorRuntime.js +427 -0
- package/dist/render/planEditorRuntime.js.map +1 -0
- package/dist/render/planPlate.d.ts +84 -4
- package/dist/render/planPlate.d.ts.map +1 -1
- package/dist/render/planPlate.js +155 -7
- package/dist/render/planPlate.js.map +1 -1
- package/dist/render/planWizardCss.d.ts +21 -0
- package/dist/render/planWizardCss.d.ts.map +1 -0
- package/dist/render/planWizardCss.js +121 -0
- package/dist/render/planWizardCss.js.map +1 -0
- package/dist/render/planWizardDocs.d.ts +8 -0
- package/dist/render/planWizardDocs.d.ts.map +1 -0
- package/dist/render/planWizardDocs.js +151 -0
- package/dist/render/planWizardDocs.js.map +1 -0
- package/dist/render/receipt.d.ts +4 -0
- package/dist/render/receipt.d.ts.map +1 -1
- package/dist/render/receipt.js +4 -1
- package/dist/render/receipt.js.map +1 -1
- package/dist/render/reviewDocs.d.ts +3 -0
- package/dist/render/reviewDocs.d.ts.map +1 -0
- package/dist/render/reviewDocs.js +222 -0
- package/dist/render/reviewDocs.js.map +1 -0
- package/dist/render/reviewDocsCss.d.ts +5 -0
- package/dist/render/reviewDocsCss.d.ts.map +1 -0
- package/dist/render/reviewDocsCss.js +128 -0
- package/dist/render/reviewDocsCss.js.map +1 -0
- package/dist/render/sportDocs.d.ts +17 -12
- package/dist/render/sportDocs.d.ts.map +1 -1
- package/dist/render/sportDocs.js +370 -497
- package/dist/render/sportDocs.js.map +1 -1
- package/dist/render/sportPortDocs.d.ts +3 -2
- package/dist/render/sportPortDocs.d.ts.map +1 -1
- package/dist/render/sportPortDocs.js +825 -397
- package/dist/render/sportPortDocs.js.map +1 -1
- package/dist/render/trendDocs.d.ts +16 -6
- package/dist/render/trendDocs.d.ts.map +1 -1
- package/dist/render/trendDocs.js +310 -262
- package/dist/render/trendDocs.js.map +1 -1
- package/dist/render/trendMiscPort.d.ts +9 -24
- package/dist/render/trendMiscPort.d.ts.map +1 -1
- package/dist/render/trendMiscPort.js +7 -30
- package/dist/render/trendMiscPort.js.map +1 -1
- package/dist/render/trendMiscPortDocs.d.ts +1 -2
- package/dist/render/trendMiscPortDocs.d.ts.map +1 -1
- package/dist/render/trendMiscPortDocs.js +303 -133
- package/dist/render/trendMiscPortDocs.js.map +1 -1
- package/dist/render/trendPredictDocs.d.ts +16 -0
- package/dist/render/trendPredictDocs.d.ts.map +1 -0
- package/dist/render/trendPredictDocs.js +1131 -0
- package/dist/render/trendPredictDocs.js.map +1 -0
- package/dist/render/wizardPort.d.ts +9 -62
- package/dist/render/wizardPort.d.ts.map +1 -1
- package/dist/render/wizardPort.js +20 -180
- package/dist/render/wizardPort.js.map +1 -1
- package/dist/render/wizardPortDocs.d.ts +5 -5
- package/dist/render/wizardPortDocs.d.ts.map +1 -1
- package/dist/render/wizardPortDocs.js +282 -234
- package/dist/render/wizardPortDocs.js.map +1 -1
- package/dist/render/workoutMovementTable.d.ts +10 -0
- package/dist/render/workoutMovementTable.d.ts.map +1 -0
- package/dist/render/workoutMovementTable.js +153 -0
- package/dist/render/workoutMovementTable.js.map +1 -0
- package/dist/render/workoutPlanCss.d.ts +15 -0
- package/dist/render/workoutPlanCss.d.ts.map +1 -0
- package/dist/render/workoutPlanCss.js +217 -0
- package/dist/render/workoutPlanCss.js.map +1 -0
- package/dist/render/workoutPlanDocs.d.ts +23 -0
- package/dist/render/workoutPlanDocs.d.ts.map +1 -0
- package/dist/render/workoutPlanDocs.js +244 -0
- package/dist/render/workoutPlanDocs.js.map +1 -0
- package/dist/render/workoutPlanLook.d.ts +16 -0
- package/dist/render/workoutPlanLook.d.ts.map +1 -0
- package/dist/render/workoutPlanLook.js +135 -0
- package/dist/render/workoutPlanLook.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -0
- package/dist/schema.js.map +1 -1
- package/dist/shared/commandSpec.d.ts +73 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +2 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/shared/conclusionLine.d.ts +3 -0
- package/dist/shared/conclusionLine.d.ts.map +1 -0
- package/dist/shared/conclusionLine.js +21 -0
- package/dist/shared/conclusionLine.js.map +1 -0
- package/dist/shared/contentSuffix.d.ts +17 -0
- package/dist/shared/contentSuffix.d.ts.map +1 -0
- package/dist/shared/contentSuffix.js +125 -0
- package/dist/shared/contentSuffix.js.map +1 -0
- package/dist/shared/copyArea.d.ts +73 -0
- package/dist/shared/copyArea.d.ts.map +1 -0
- package/dist/shared/copyArea.js +144 -0
- package/dist/shared/copyArea.js.map +1 -0
- package/dist/shared/docPage.d.ts +42 -0
- package/dist/shared/docPage.d.ts.map +1 -0
- package/dist/shared/docPage.js +129 -0
- package/dist/shared/docPage.js.map +1 -0
- package/dist/shared/emptyGuide.d.ts +9 -0
- package/dist/shared/emptyGuide.d.ts.map +1 -0
- package/dist/shared/emptyGuide.js +31 -0
- package/dist/shared/emptyGuide.js.map +1 -0
- package/dist/shared/fieldLabel.d.ts +5 -0
- package/dist/shared/fieldLabel.d.ts.map +1 -0
- package/dist/shared/fieldLabel.js +42 -0
- package/dist/shared/fieldLabel.js.map +1 -0
- package/dist/shared/operationHead.d.ts +21 -0
- package/dist/shared/operationHead.d.ts.map +1 -0
- package/dist/shared/operationHead.js +73 -0
- package/dist/shared/operationHead.js.map +1 -0
- package/dist/shared/pageKit.d.ts +25 -0
- package/dist/shared/pageKit.d.ts.map +1 -0
- package/dist/shared/pageKit.js +56 -0
- package/dist/shared/pageKit.js.map +1 -0
- package/dist/shared/params.d.ts +54 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +176 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/shared/receiptParts.d.ts +9 -0
- package/dist/shared/receiptParts.d.ts.map +1 -0
- package/dist/shared/receiptParts.js +40 -0
- package/dist/shared/receiptParts.js.map +1 -0
- package/dist/shared/sceneEnvelope.d.ts +32 -0
- package/dist/shared/sceneEnvelope.d.ts.map +1 -0
- package/dist/shared/sceneEnvelope.js +12 -0
- package/dist/shared/sceneEnvelope.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +10 -0
- package/dist/shared/sourceLine.d.ts.map +1 -0
- package/dist/shared/sourceLine.js +37 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/writeParts.d.ts +61 -0
- package/dist/shared/writeParts.d.ts.map +1 -0
- package/dist/shared/writeParts.js +79 -0
- package/dist/shared/writeParts.js.map +1 -0
- package/dist/triggers/help-lookup.d.ts +41 -5
- package/dist/triggers/help-lookup.d.ts.map +1 -1
- package/dist/triggers/help-lookup.js +100 -51
- package/dist/triggers/help-lookup.js.map +1 -1
- package/dist/triggers/index.js +1 -1
- package/dist/triggers/routeSpec.d.ts +66 -0
- package/dist/triggers/routeSpec.d.ts.map +1 -0
- package/dist/triggers/routeSpec.js +21 -0
- package/dist/triggers/routeSpec.js.map +1 -0
- package/dist/triggers/routes.generated.d.ts +17 -0
- package/dist/triggers/routes.generated.d.ts.map +1 -0
- package/dist/triggers/routes.generated.js +519 -0
- package/dist/triggers/routes.generated.js.map +1 -0
- package/dist/triggers/routing.d.ts +17 -38
- package/dist/triggers/routing.d.ts.map +1 -1
- package/dist/triggers/routing.js +13 -527
- package/dist/triggers/routing.js.map +1 -1
- package/dist/triggers/scene-01-home.js +9 -9
- package/dist/triggers/scene-01-home.js.map +1 -1
- package/dist/triggers/scene-02-diet.js +62 -62
- package/dist/triggers/scene-02-diet.js.map +1 -1
- package/dist/triggers/scene-03-weight.js +54 -54
- package/dist/triggers/scene-03-weight.js.map +1 -1
- package/dist/triggers/scene-04-exercise.js +33 -33
- package/dist/triggers/scene-04-exercise.js.map +1 -1
- package/dist/triggers/scene-05-workout.js +32 -32
- package/dist/triggers/scene-05-workout.js.map +1 -1
- package/dist/triggers/scene-06-goal.d.ts +1 -1
- package/dist/triggers/scene-06-goal.d.ts.map +1 -1
- package/dist/triggers/scene-06-goal.js +25 -24
- package/dist/triggers/scene-06-goal.js.map +1 -1
- package/dist/triggers/scene-07-profile.js +4 -4
- package/dist/triggers/scene-07-profile.js.map +1 -1
- package/dist/triggers/scene-08-body.js +10 -10
- package/dist/triggers/scene-08-body.js.map +1 -1
- package/dist/triggers/scene-09-photo.js +10 -10
- package/dist/triggers/scene-09-photo.js.map +1 -1
- package/dist/triggers/scene-10-analysis.js +176 -176
- package/dist/triggers/scene-10-analysis.js.map +1 -1
- package/dist/triggers/wake-assets.d.ts +47 -0
- package/dist/triggers/wake-assets.d.ts.map +1 -0
- package/dist/triggers/wake-assets.js +4725 -0
- package/dist/triggers/wake-assets.js.map +1 -0
- package/dist/weight/commands.d.ts +21 -0
- package/dist/weight/commands.d.ts.map +1 -0
- package/dist/weight/commands.js +18 -0
- package/dist/weight/commands.js.map +1 -0
- package/dist/weight/compare.d.ts +60 -0
- package/dist/weight/compare.d.ts.map +1 -0
- package/dist/weight/compare.js +570 -0
- package/dist/weight/compare.js.map +1 -0
- package/dist/weight/edit.d.ts +13 -0
- package/dist/weight/edit.d.ts.map +1 -0
- package/dist/weight/edit.js +87 -0
- package/dist/weight/edit.js.map +1 -0
- package/dist/weight/fieldLabels.d.ts +5 -0
- package/dist/weight/fieldLabels.d.ts.map +1 -0
- package/dist/weight/fieldLabels.js +23 -0
- package/dist/weight/fieldLabels.js.map +1 -0
- package/dist/weight/figures.d.ts +87 -0
- package/dist/weight/figures.d.ts.map +1 -0
- package/dist/weight/figures.js +219 -0
- package/dist/weight/figures.js.map +1 -0
- package/dist/weight/history.d.ts +85 -0
- package/dist/weight/history.d.ts.map +1 -0
- package/dist/weight/history.js +771 -0
- package/dist/weight/history.js.map +1 -0
- package/dist/weight/index.d.ts +27 -0
- package/dist/weight/index.d.ts.map +1 -0
- package/dist/weight/index.js +23 -0
- package/dist/weight/index.js.map +1 -0
- package/dist/weight/log.d.ts +40 -0
- package/dist/weight/log.d.ts.map +1 -0
- package/dist/weight/log.js +355 -0
- package/dist/weight/log.js.map +1 -0
- package/dist/weight/logReceipt.d.ts +28 -0
- package/dist/weight/logReceipt.d.ts.map +1 -0
- package/dist/weight/logReceipt.js +259 -0
- package/dist/weight/logReceipt.js.map +1 -0
- package/dist/weight/plate.d.ts +77 -0
- package/dist/weight/plate.d.ts.map +1 -0
- package/dist/weight/plate.js +60 -0
- package/dist/weight/plate.js.map +1 -0
- package/dist/weight/plateDocs.d.ts +83 -0
- package/dist/weight/plateDocs.d.ts.map +1 -0
- package/dist/weight/plateDocs.js +179 -0
- package/dist/weight/plateDocs.js.map +1 -0
- package/dist/weight/receipt.d.ts +23 -0
- package/dist/weight/receipt.d.ts.map +1 -0
- package/dist/weight/receipt.js +178 -0
- package/dist/weight/receipt.js.map +1 -0
- package/dist/weight/records.d.ts +109 -0
- package/dist/weight/records.d.ts.map +1 -0
- package/dist/weight/records.js +210 -0
- package/dist/weight/records.js.map +1 -0
- package/dist/weight/review.d.ts +114 -0
- package/dist/weight/review.d.ts.map +1 -0
- package/dist/weight/review.js +651 -0
- package/dist/weight/review.js.map +1 -0
- package/dist/weight/routes.d.ts +7 -0
- package/dist/weight/routes.d.ts.map +1 -0
- package/dist/weight/routes.js +68 -0
- package/dist/weight/routes.js.map +1 -0
- package/dist/weight/volatility.d.ts +78 -0
- package/dist/weight/volatility.d.ts.map +1 -0
- package/dist/weight/volatility.js +203 -0
- package/dist/weight/volatility.js.map +1 -0
- package/dist/weight/volatilityDoc.d.ts +10 -0
- package/dist/weight/volatilityDoc.d.ts.map +1 -0
- package/dist/weight/volatilityDoc.js +395 -0
- package/dist/weight/volatilityDoc.js.map +1 -0
- package/dist/weight/weightCompare.d.ts +70 -0
- package/dist/weight/weightCompare.d.ts.map +1 -0
- package/dist/weight/weightCompare.js +221 -0
- package/dist/weight/weightCompare.js.map +1 -0
- package/dist/weight/weightCompare2.d.ts +66 -0
- package/dist/weight/weightCompare2.d.ts.map +1 -0
- package/dist/weight/weightCompare2.js +218 -0
- package/dist/weight/weightCompare2.js.map +1 -0
- package/dist/weight/weightCompare3.d.ts +18 -0
- package/dist/weight/weightCompare3.d.ts.map +1 -0
- package/dist/weight/weightCompare3.js +222 -0
- package/dist/weight/weightCompare3.js.map +1 -0
- package/dist/weight/weightUi.d.ts +114 -0
- package/dist/weight/weightUi.d.ts.map +1 -0
- package/dist/weight/weightUi.js +256 -0
- package/dist/weight/weightUi.js.map +1 -0
- package/dist/workout/commands.d.ts +29 -0
- package/dist/workout/commands.d.ts.map +1 -0
- package/dist/workout/commands.js +35 -0
- package/dist/workout/commands.js.map +1 -0
- package/dist/workout/contraindication.d.ts +11 -0
- package/dist/workout/contraindication.d.ts.map +1 -0
- package/dist/workout/contraindication.js +11 -0
- package/dist/workout/contraindication.js.map +1 -0
- package/dist/workout/dayPhrase.d.ts +13 -0
- package/dist/workout/dayPhrase.d.ts.map +1 -0
- package/dist/workout/dayPhrase.js +15 -0
- package/dist/workout/dayPhrase.js.map +1 -0
- package/dist/workout/fieldLabels.d.ts +5 -0
- package/dist/workout/fieldLabels.d.ts.map +1 -0
- package/dist/workout/fieldLabels.js +45 -0
- package/dist/workout/fieldLabels.js.map +1 -0
- package/dist/workout/index.d.ts +30 -0
- package/dist/workout/index.d.ts.map +1 -0
- package/dist/workout/index.js +34 -0
- package/dist/workout/index.js.map +1 -0
- package/dist/workout/land.d.ts +45 -0
- package/dist/workout/land.d.ts.map +1 -0
- package/dist/workout/land.js +280 -0
- package/dist/workout/land.js.map +1 -0
- package/dist/workout/landBatch.d.ts +60 -0
- package/dist/workout/landBatch.d.ts.map +1 -0
- package/dist/workout/landBatch.js +225 -0
- package/dist/workout/landBatch.js.map +1 -0
- package/dist/workout/landBatchPages.d.ts +31 -0
- package/dist/workout/landBatchPages.d.ts.map +1 -0
- package/dist/workout/landBatchPages.js +132 -0
- package/dist/workout/landBatchPages.js.map +1 -0
- package/dist/workout/landPages.d.ts +41 -0
- package/dist/workout/landPages.d.ts.map +1 -0
- package/dist/workout/landPages.js +153 -0
- package/dist/workout/landPages.js.map +1 -0
- package/dist/workout/landRunner.d.ts +42 -0
- package/dist/workout/landRunner.d.ts.map +1 -0
- package/dist/workout/landRunner.js +155 -0
- package/dist/workout/landRunner.js.map +1 -0
- package/dist/workout/movementType.d.ts +14 -0
- package/dist/workout/movementType.d.ts.map +1 -0
- package/dist/workout/movementType.js +16 -0
- package/dist/workout/movementType.js.map +1 -0
- package/dist/workout/plan.d.ts +21 -0
- package/dist/workout/plan.d.ts.map +1 -0
- package/dist/workout/plan.js +44 -0
- package/dist/workout/plan.js.map +1 -0
- package/dist/workout/planStore.d.ts +157 -0
- package/dist/workout/planStore.d.ts.map +1 -0
- package/dist/workout/planStore.js +282 -0
- package/dist/workout/planStore.js.map +1 -0
- package/dist/workout/precheckPrompt.d.ts +7 -0
- package/dist/workout/precheckPrompt.d.ts.map +1 -0
- package/dist/workout/precheckPrompt.js +35 -0
- package/dist/workout/precheckPrompt.js.map +1 -0
- package/dist/workout/progress.d.ts +12 -0
- package/dist/workout/progress.d.ts.map +1 -0
- package/dist/workout/progress.js +16 -0
- package/dist/workout/progress.js.map +1 -0
- package/dist/workout/receipt.d.ts +15 -0
- package/dist/workout/receipt.d.ts.map +1 -0
- package/dist/workout/receipt.js +128 -0
- package/dist/workout/receipt.js.map +1 -0
- package/dist/workout/review.d.ts +12 -0
- package/dist/workout/review.d.ts.map +1 -0
- package/dist/workout/review.js +15 -0
- package/dist/workout/review.js.map +1 -0
- package/dist/workout/routes.d.ts +13 -0
- package/dist/workout/routes.d.ts.map +1 -0
- package/dist/workout/routes.js +49 -0
- package/dist/workout/routes.js.map +1 -0
- package/dist/workout/wizard.d.ts +14 -0
- package/dist/workout/wizard.d.ts.map +1 -0
- package/dist/workout/wizard.js +20 -0
- package/dist/workout/wizard.js.map +1 -0
- package/dist/workout/write.d.ts +78 -0
- package/dist/workout/write.d.ts.map +1 -0
- package/dist/workout/write.js +607 -0
- package/dist/workout/write.js.map +1 -0
- package/dist/workout/xunjiBackfill.d.ts +36 -0
- package/dist/workout/xunjiBackfill.d.ts.map +1 -0
- package/dist/workout/xunjiBackfill.js +198 -0
- package/dist/workout/xunjiBackfill.js.map +1 -0
- package/dist/workout/xunjiPush.d.ts +33 -0
- package/dist/workout/xunjiPush.d.ts.map +1 -0
- package/dist/workout/xunjiPush.js +236 -0
- package/dist/workout/xunjiPush.js.map +1 -0
- package/dist/workout/xunjiRunner.d.ts +29 -0
- package/dist/workout/xunjiRunner.d.ts.map +1 -0
- package/dist/workout/xunjiRunner.js +110 -0
- package/dist/workout/xunjiRunner.js.map +1 -0
- package/dist/xunji/backfill.d.ts +63 -0
- package/dist/xunji/backfill.d.ts.map +1 -0
- package/dist/xunji/backfill.js +150 -0
- package/dist/xunji/backfill.js.map +1 -0
- package/dist/xunji/catalog.d.ts +53 -0
- package/dist/xunji/catalog.d.ts.map +1 -0
- package/dist/xunji/catalog.js +126 -0
- package/dist/xunji/catalog.js.map +1 -0
- package/dist/xunji/cli.d.ts +3 -0
- package/dist/xunji/cli.d.ts.map +1 -0
- package/dist/xunji/cli.js +15 -0
- package/dist/xunji/cli.js.map +1 -0
- package/dist/xunji/exitMap.d.ts +37 -0
- package/dist/xunji/exitMap.d.ts.map +1 -0
- package/dist/xunji/exitMap.js +42 -0
- package/dist/xunji/exitMap.js.map +1 -0
- package/dist/xunji/fetch.d.ts +77 -0
- package/dist/xunji/fetch.d.ts.map +1 -0
- package/dist/xunji/fetch.js +160 -0
- package/dist/xunji/fetch.js.map +1 -0
- package/dist/xunji/index.d.ts +21 -0
- package/dist/xunji/index.d.ts.map +1 -0
- package/dist/xunji/index.js +18 -0
- package/dist/xunji/index.js.map +1 -0
- package/dist/xunji/key.d.ts +77 -0
- package/dist/xunji/key.d.ts.map +1 -0
- package/dist/xunji/key.js +160 -0
- package/dist/xunji/key.js.map +1 -0
- package/dist/xunji/overlay-plan.d.ts +79 -0
- package/dist/xunji/overlay-plan.d.ts.map +1 -0
- package/dist/xunji/overlay-plan.js +145 -0
- package/dist/xunji/overlay-plan.js.map +1 -0
- package/dist/xunji/planSource.d.ts +40 -0
- package/dist/xunji/planSource.d.ts.map +1 -0
- package/dist/xunji/planSource.js +78 -0
- package/dist/xunji/planSource.js.map +1 -0
- package/dist/xunji/push.d.ts +55 -0
- package/dist/xunji/push.d.ts.map +1 -0
- package/dist/xunji/push.js +69 -0
- package/dist/xunji/push.js.map +1 -0
- package/dist/xunji/rateLimit.d.ts +44 -0
- package/dist/xunji/rateLimit.d.ts.map +1 -0
- package/dist/xunji/rateLimit.js +99 -0
- package/dist/xunji/rateLimit.js.map +1 -0
- package/dist/xunji/request.d.ts +48 -0
- package/dist/xunji/request.d.ts.map +1 -0
- package/dist/xunji/request.js +60 -0
- package/dist/xunji/request.js.map +1 -0
- package/dist/xunji/retry.d.ts +50 -0
- package/dist/xunji/retry.d.ts.map +1 -0
- package/dist/xunji/retry.js +106 -0
- package/dist/xunji/retry.js.map +1 -0
- package/dist/xunji/rows.d.ts +32 -0
- package/dist/xunji/rows.d.ts.map +1 -0
- package/dist/xunji/rows.js +74 -0
- package/dist/xunji/rows.js.map +1 -0
- package/dist/xunji/run-sync.d.ts +106 -0
- package/dist/xunji/run-sync.d.ts.map +1 -0
- package/dist/xunji/run-sync.js +223 -0
- package/dist/xunji/run-sync.js.map +1 -0
- package/dist/xunji/run.d.ts +56 -0
- package/dist/xunji/run.d.ts.map +1 -0
- package/dist/xunji/run.js +300 -0
- package/dist/xunji/run.js.map +1 -0
- package/dist/xunji/store.d.ts +31 -0
- package/dist/xunji/store.d.ts.map +1 -0
- package/dist/xunji/store.js +60 -0
- package/dist/xunji/store.js.map +1 -0
- package/dist/xunji/subcommands.d.ts +64 -0
- package/dist/xunji/subcommands.d.ts.map +1 -0
- package/dist/xunji/subcommands.js +203 -0
- package/dist/xunji/subcommands.js.map +1 -0
- package/dist/xunji/upsert.d.ts +61 -0
- package/dist/xunji/upsert.d.ts.map +1 -0
- package/dist/xunji/upsert.js +100 -0
- package/dist/xunji/upsert.js.map +1 -0
- package/package.json +7 -3
- package/src/xunji/data//350/256/255/350/256/260/345/256/230/346/226/271/345/212/250/344/275/234.json +1099 -0
- package/templates/help.html +1 -1
- package/workflows/08-/350/272/253/344/275/223/347/273/206/350/212/202.md +60 -0
- package/workflows/09-/350/272/253/346/235/220/347/205/247/347/211/207.md +98 -0
- package/dist/render/profilePlate.d.ts +0 -17
- package/dist/render/profilePlate.d.ts.map +0 -1
- package/dist/render/profilePlate.js +0 -18
- package/dist/render/profilePlate.js.map +0 -1
package/dist/render/trendDocs.js
CHANGED
|
@@ -18,97 +18,160 @@
|
|
|
18
18
|
* 复制文本一律 buildDataText(#77 契约,技能侧不自产第二套序列化):指标页走 stat 投影。
|
|
19
19
|
* 本层不做取数(数据由调用方 dispatch 备齐),不返空(缺失由数据层抛 missing-data)。
|
|
20
20
|
*/
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
function
|
|
38
|
-
const assets = {
|
|
39
|
-
sharedCssText: buildStyleSheet().css + '\n' + blocksCss(),
|
|
40
|
-
sharedHelpersJs: buildSharedHelpersJs(),
|
|
41
|
-
};
|
|
42
|
-
if (charts)
|
|
43
|
-
assets.chartsHelpersJs = buildChartsHelpersJs();
|
|
44
|
-
const body = renderPageShell({
|
|
45
|
-
title,
|
|
46
|
-
...(eyebrow ? { eyebrow } : {}),
|
|
47
|
-
...(subtitle ? { subtitle } : {}),
|
|
48
|
-
content,
|
|
49
|
-
});
|
|
50
|
-
return fillTemplate({ template: charts ? DOC_SHELL_CHARTS : DOC_SHELL, assets, content: body }).html;
|
|
51
|
-
}
|
|
52
|
-
function copyBlock(title, input) {
|
|
53
|
-
return renderCopyBlock({ title, dataText: buildDataText(input) });
|
|
54
|
-
}
|
|
55
|
-
function fmt(n) {
|
|
21
|
+
import { renderCaliberLine, renderChartBlock, renderCopyBlock, renderDataTable, renderDisclosure, renderKpiGrid, renderListRows, renderParamForm, } from 'base-paint/blocks';
|
|
22
|
+
import { buildDataText, buildLogText } from 'base-paint';
|
|
23
|
+
import { assembleDocPage, metricsOf } from '../shared/docPage.js';
|
|
24
|
+
import { copyLog, dataCopyArea } from '../shared/copyArea.js';
|
|
25
|
+
import { sceneEnvelope } from '../shared/sceneEnvelope.js';
|
|
26
|
+
import { nowStamp } from './receipt.js';
|
|
27
|
+
import { pageChromeCss } from './pageChromeCss.js';
|
|
28
|
+
/** envelope 头(值冻结对齐 cli/keys.ts ENVELOPE_VERSION/CALORIE_SKILL;测试钉死一致)。
|
|
29
|
+
* W1(#518):下面六件是**两族共件**——缺口/预测族(姊妹件 `trendPredictDocs.ts`)从这里导入,
|
|
30
|
+
* 故一律导出;本件的 `buildCombinedDoc`/`buildAnomalyDoc`/`buildContraDoc` 仍自用。 */
|
|
31
|
+
export const DOC_VERSION = '0.1.0';
|
|
32
|
+
export const DOC_SKILL = 'calorie';
|
|
33
|
+
/** 本文件各页共用的 head 标题(整页模板住 `src/shared/docPage.ts`,标题走参数)。
|
|
34
|
+
* #160 文本返工:三套旧标题(`卡路里·趋势分析`/`卡路里·趋势其他移植`/`卡路里·整体趋势`)
|
|
35
|
+
* 并成一套;页型由各页 H1 承担,head 只留域。 */
|
|
36
|
+
export const DOC_TITLE = '卡路里·趋势';
|
|
37
|
+
export function fmt(n) {
|
|
56
38
|
if (n === null || n === undefined)
|
|
57
39
|
return '—';
|
|
58
40
|
return String(n);
|
|
59
41
|
}
|
|
60
|
-
/**
|
|
61
|
-
function
|
|
42
|
+
/** 标签里的单位括号(`体重(kg)` → `kg`);没括号即 undefined(`renderKpiCard` 不给 unit 就不出这一格)。 */
|
|
43
|
+
function unitOf(label) {
|
|
44
|
+
const m = /[((]([^))]*)[))]/.exec(label);
|
|
45
|
+
return m === null ? undefined : m[1];
|
|
46
|
+
}
|
|
47
|
+
/** 净变化人话(Δ 的符号 → 「比开头高/低」;0 → 「和开头一样」)。 */
|
|
48
|
+
function deltaHuman(d) {
|
|
49
|
+
if (d === null || d === undefined)
|
|
50
|
+
return '';
|
|
51
|
+
const abs = Math.abs(Math.round(d * 100) / 100);
|
|
52
|
+
if (abs === 0)
|
|
53
|
+
return '和开头一样';
|
|
54
|
+
return '比开头' + (d > 0 ? '高' : '低') + ' ' + abs;
|
|
55
|
+
}
|
|
56
|
+
/** 相关强度三档(**人话**,阈值与旧 combined_analysis 口径逐字同源:|r|≥0.5 明显/≥0.3 有一点/否则几乎没有)。
|
|
57
|
+
* #160 文本返工:旧名 `corrInterp` 出的是「强相关/中等相关/弱相关」三个统计词,故改名改词。 */
|
|
58
|
+
function corrLevel(r) {
|
|
62
59
|
if (r === null || r === undefined)
|
|
63
|
-
return '
|
|
60
|
+
return '还看不出';
|
|
64
61
|
const a = Math.abs(r);
|
|
65
62
|
if (a >= 0.5)
|
|
66
|
-
return '
|
|
63
|
+
return '很明显';
|
|
67
64
|
if (a >= 0.3)
|
|
68
|
-
return '
|
|
69
|
-
return '
|
|
65
|
+
return '有一点';
|
|
66
|
+
return '几乎没有';
|
|
70
67
|
}
|
|
71
|
-
/**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
/** 数据层文案的**上屏归一**(#160 回炉):英文缩写换人话、半角标点换中文。
|
|
69
|
+
* 数据层(`analysis/*`)的结论句是内部口径的原文写法,直接上屏会把缩写与半角标点带给读者;
|
|
70
|
+
* 这里只换缩写与标点,**数字与单位一个不动**(千分位 `1,275` 先占位、换完再还原)。 */
|
|
71
|
+
const TECH_WORD_ZH = [
|
|
72
|
+
[/KCAL_PER_KG/g, '每 7700 卡'],
|
|
73
|
+
[/TDEE/g, '日常消耗'],
|
|
74
|
+
[/BMR/g, '基础代谢'],
|
|
75
|
+
];
|
|
76
|
+
export function humanText(s) {
|
|
77
|
+
let out = s;
|
|
78
|
+
for (const [re, zh] of TECH_WORD_ZH)
|
|
79
|
+
out = out.replace(re, zh);
|
|
80
|
+
return out
|
|
81
|
+
.replace(/(\d),(\d{3})\b/g, '$1\u0001$2')
|
|
82
|
+
.replace(/,/g, ',')
|
|
83
|
+
.replace(/;/g, ';')
|
|
84
|
+
.replace(/([^\d]):(?!\d)/g, '$1:')
|
|
85
|
+
.replace(/\(/g, '(')
|
|
86
|
+
.replace(/\)/g, ')')
|
|
87
|
+
.replace(/\u0001/g, ',');
|
|
88
|
+
}
|
|
89
|
+
/** 被删的技术口径改住 HTML 注释(#160 规矩:读者用不上的口径不上屏,但要在产物里留得住)。
|
|
90
|
+
* 注释形态已被测试接受——`test/doc-page-assert.mjs` 的残留判据只认**未填充**的槽位标记。 */
|
|
91
|
+
export function techNoteHtml(bits) {
|
|
92
|
+
return '<!-- ' + bits.join(' ') + ' -->';
|
|
79
93
|
}
|
|
80
94
|
const SEV_ZH = { error: '错误', warn: '警告', info: '提示' };
|
|
81
95
|
const CONTRA_STATUS_ZH = { ok: '通过', warn: '有警告', fail: '有错误' };
|
|
82
96
|
/* ── 组合分析(combined_analysis.html 对照:KPI+双轴走势+相关回归散点+延迟相关+分层对比+insight) ── */
|
|
83
97
|
export function buildCombinedDoc(c) {
|
|
84
98
|
const a = c.analysis;
|
|
99
|
+
/* #160 文本返工:窗口词只留中文(旧实现把 `custom` 原样吐到页头,界面里冒英文参数值)。 */
|
|
100
|
+
const windowHuman = /^(\d+)d$/.test(c.window) ? '近' + c.window.slice(0, -1) + '天'
|
|
101
|
+
: (c.window === 'week_cur' ? '本周' : (c.window === 'month_cur' ? '本月'
|
|
102
|
+
: (c.window === 'custom' ? '自定义时间' : c.window)));
|
|
103
|
+
const stripUnit = (s) => s.replace(/\(.*?\)/g, '').replace(/(.*?)/g, '') || s;
|
|
104
|
+
const aShort = stripUnit(a.labels.a);
|
|
105
|
+
const bShort = stripUnit(a.labels.b);
|
|
106
|
+
const aUnit = unitOf(a.labels.a);
|
|
107
|
+
const bUnit = unitOf(a.labels.b);
|
|
108
|
+
/* #160 文本返工:技术口径不进可见正文(读者看不懂也用不上),一律折进这条 HTML 注释。
|
|
109
|
+
* 注释里 `配对<key> 窗口<window>` 两段**逐字保留**——产物必须消费掉这两个入参(`pnpm test` 的
|
|
110
|
+
* 真出口与本仓 e2e 都按这两个字面量查「参数真的落进页面了」)。 */
|
|
111
|
+
const techBits = [
|
|
112
|
+
'配对' + c.pair, '窗口' + c.window,
|
|
113
|
+
'11配对白名单窗口', '非法窗exit2', '不静默回退', '数列唯一源buildSeries', '最小形态', '空窗阻断', '不编数',
|
|
114
|
+
'相关系数 r=' + (a.correlation.r === null ? '—' : a.correlation.r) + ' n=' + a.correlation.n,
|
|
115
|
+
'相关强度=|r|≥0.5明显 ≥0.3有一点 否则几乎没有',
|
|
116
|
+
'回归斜率=' + (a.regression === null ? '样本不足未拟合' : a.regression.slope) + ' n=' + (a.regression === null ? 0 : a.regression.n) + ' 散点横轴=' + a.labels.a + ' 纵轴=' + a.labels.b,
|
|
117
|
+
'日差r=' + (a.lag.length === 0 ? '无' : a.lag.map((l) => l.lag + '天' + (l.r === null ? '—' : l.r)).join('/')),
|
|
118
|
+
'均值=有记录那些天的平均 Δ=窗口内末尾−开头',
|
|
119
|
+
'明细空缺留空不按0算 全量见复制数据',
|
|
120
|
+
'分层备注=本组净变化减另一组净变化',
|
|
121
|
+
'超标日口径=单日摄入>目标×1.3',
|
|
122
|
+
];
|
|
123
|
+
const techNote = '<!-- ' + techBits.join(' ') + ' -->';
|
|
124
|
+
/* 页头只留「窗口 · 区间」:配对名在 H1、图例、表头里已各出现一次,meta 再写一遍是第四次;
|
|
125
|
+
* 单日窗口不写成 `~` 两端同一天(读者会以为渲染坏了)。 */
|
|
126
|
+
const metaLeft = windowHuman + ' · ' + (c.start === c.end ? c.start : c.start + '~' + c.end);
|
|
127
|
+
/* #160 肉眼返工:对齐样本太少(<3 天)时,散点/延迟相关/分层对比三节摆出来只会是一堆「—」与空图,
|
|
128
|
+
* 改为**不摆空节**,把话说到摘要行里(用户反馈「表格也没什么数据」)。 */
|
|
129
|
+
const alignedDays = a.correlation.n;
|
|
130
|
+
const lowSample = alignedDays < 3;
|
|
131
|
+
const lowSampleNote = windowHuman + '里两项都齐全的只有 ' + alignedDays + ' 天(共 ' + a.days + ' 天有记录),'
|
|
132
|
+
+ '样本太少、看不出关联,先攒几天数据再看。';
|
|
133
|
+
const summary = lowSample ? lowSampleNote : (a.insight !== '' ? a.insight : ('这 ' + a.days + ' 天里,两项的数字都摆出来了,先看图上的走势。'));
|
|
85
134
|
const parts = [
|
|
86
|
-
|
|
87
|
-
fields: [
|
|
88
|
-
{ name: 'pair', label: '配对', value: c.pair },
|
|
89
|
-
{ name: 'window', label: '窗口', value: c.window },
|
|
90
|
-
{ name: 'start', label: '开始', value: c.start },
|
|
91
|
-
{ name: 'end', label: '结束', value: c.end },
|
|
92
|
-
],
|
|
93
|
-
description: '11 配对×白名单窗口(Nd 仅收 7/15/30/60/90/180/365d,另收本周/上周/本月/上月/今年/custom;99d 等非法窗直接 exit 2,不静默回退)',
|
|
94
|
-
}),
|
|
135
|
+
techNote,
|
|
95
136
|
renderKpiGrid([
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
{ label: '
|
|
99
|
-
|
|
137
|
+
/* #160 文本返工:`相关系数 r` 是统计词、r 数字读者用不上 → 标签改人话、值改档位、r 进注释。
|
|
138
|
+
* 方向不放这张卡:摘要句已经说了「谁多的时候谁怎样」,同页说两遍就成冗余。 */
|
|
139
|
+
{ label: '一起变的程度', value: corrLevel(a.correlation.r) },
|
|
140
|
+
/* 均值=**有记录那些天**的平均(不是窗口天数);Δ=窗口内末尾−开头。两者都写清,读者才能自己核。 */
|
|
141
|
+
{
|
|
142
|
+
label: '平均' + aShort, value: fmt(a.aAvg),
|
|
143
|
+
...(aUnit === undefined ? {} : { unit: aUnit }),
|
|
144
|
+
detail: '有记录的 ' + a.aCount + ' 天' + (a.aDelta === null ? '' : ',' + deltaHuman(a.aDelta)),
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
label: '平均' + bShort, value: fmt(a.bAvg),
|
|
148
|
+
...(bUnit === undefined ? {} : { unit: bUnit }),
|
|
149
|
+
detail: '有记录的 ' + a.bCount + ' 天' + (a.bDelta === null ? '' : ',' + deltaHuman(a.bDelta)),
|
|
150
|
+
},
|
|
151
|
+
/* 主标签说清是谁的天数;旧副标「双侧有数据的天数」只是把主标签换个说法,同页第三遍 → 删。 */
|
|
152
|
+
{ label: '两项都有记录的天数', value: String(a.correlation.n), unit: '天' },
|
|
100
153
|
]),
|
|
101
154
|
];
|
|
102
155
|
let charts = false;
|
|
103
156
|
if (a.line.length > 0) {
|
|
104
157
|
const aItems = a.line.map((p) => ({ label: p.date.slice(5), value: p.a }));
|
|
105
158
|
const bItems = a.line.map((p) => ({ label: p.date.slice(5), value: p.b }));
|
|
159
|
+
/* #160 文本返工:图题只说画的是什么(「体重与摄入」);「哪条线是哪项/各有各的刻度」搬进图例
|
|
160
|
+
* (公共层按 `series[].name` 出图例,独立刻度那条另出「各指标独立刻度」,均不改公共层)。 */
|
|
106
161
|
parts.push(renderChartBlock({
|
|
107
162
|
kind: 'line',
|
|
108
|
-
|
|
163
|
+
/* #160 回炉(对抗审查项③,二选一裁定=**删图题**):原图题 `aShort与bShort`(如「体重与摄入」)
|
|
164
|
+
* 只比本页 H1「看体重与摄入」少一个「看」字,同一件事一屏里说两遍,而图题又恰好读在 H1 之后。
|
|
165
|
+
* 图例已给两条线的名字(`series[].name`)、独立刻度那条另有「各指标独立刻度」;
|
|
166
|
+
* 故本图题整个不传(`renderChartBlock` 的 title 可选,不传即不产 h2)。
|
|
167
|
+
* 同件其它图题顺手扫过:散点「体重(kg)和摄入(卡)的关系」多了「关系」与两个单位、不与 H1 同形,
|
|
168
|
+
* deficit 图题已另改成「每日摄入与消耗」(那页 H1 是窗口与区间,不含图题措辞)——只此一处要删。 */
|
|
109
169
|
input: {
|
|
110
170
|
items: aItems,
|
|
111
171
|
options: {
|
|
172
|
+
/* #160:空白日不补 0、只连线——没有记录的日期是 null,折线默认在 null 处断线,稀疏记录会只剩孤点。 */
|
|
173
|
+
connectNulls: true,
|
|
174
|
+
legend: true,
|
|
112
175
|
series: [
|
|
113
176
|
{ name: a.labels.a, items: aItems },
|
|
114
177
|
{ name: a.labels.b, items: bItems, dashed: true, ownScale: true },
|
|
@@ -118,10 +181,12 @@ export function buildCombinedDoc(c) {
|
|
|
118
181
|
}));
|
|
119
182
|
charts = true;
|
|
120
183
|
}
|
|
121
|
-
if (a.scatter.length > 0) {
|
|
184
|
+
if (a.scatter.length > 0 && !lowSample) {
|
|
185
|
+
/* #160 文本返工:旧图题「相关性与回归(斜率 -5713.3333,n=5)」把统计口径塞进标题;斜率与 n 折进
|
|
186
|
+
* HTML 注释,标题只留读者要的那件事。散点图公共层没有轴名能力,故标题自带单位(横轴 A/纵轴 B)。 */
|
|
122
187
|
parts.push(renderChartBlock({
|
|
123
188
|
kind: 'scatter',
|
|
124
|
-
title:
|
|
189
|
+
title: a.labels.a + '和' + a.labels.b + '的关系',
|
|
125
190
|
input: {
|
|
126
191
|
items: a.scatter.map((p) => ({ x: p.x, y: p.y })),
|
|
127
192
|
options: { regression: a.regression !== null },
|
|
@@ -129,52 +194,75 @@ export function buildCombinedDoc(c) {
|
|
|
129
194
|
}));
|
|
130
195
|
charts = true;
|
|
131
196
|
}
|
|
132
|
-
if (a.lag.length > 0) {
|
|
197
|
+
if (a.lag.length > 0 && !lowSample) {
|
|
198
|
+
/* #160 回炉(对抗审查追加项):三行全印「很明显」时这张表答不了自己的表题——档位分不出哪档更强,
|
|
199
|
+
* 而 `l.r` 本来分得出(1 天 -0.83/2 天 -0.73/3 天 -1)。故**保留可排序的量**:档位+括号里的 r,
|
|
200
|
+
* 读者自己就能排出「往回看几天最说得通」;口径行给出括号该怎么读。
|
|
201
|
+
* 不选「三档并成一句、删表」:延迟相关只有部分配对才有,删表会让这类配对整节消失;且 r 打平时
|
|
202
|
+
* 一句话结论会说假话(并列最强时写「最明显」是编的)。 */
|
|
133
203
|
parts.push(renderDataTable({
|
|
134
204
|
columns: [
|
|
135
|
-
{ key: '
|
|
136
|
-
{ key: '
|
|
137
|
-
{ key: 'interp', label: '解读' },
|
|
205
|
+
{ key: 'pair', label: '哪两天比' },
|
|
206
|
+
{ key: 'level', label: '对得上的程度' },
|
|
138
207
|
],
|
|
139
208
|
rows: a.lag.map((l) => ({
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
209
|
+
/* `vs` 是英文简写、不上屏(#160):改成中文的「对」,列名已说明这是在比哪两天。 */
|
|
210
|
+
pair: '往前 ' + l.lag + ' 天的' + bShort + ' 对当天的' + aShort,
|
|
211
|
+
level: corrLevel(l.r) + (l.r === null || l.r === undefined ? '' : '(' + Math.round(l.r * 100) / 100 + ')'),
|
|
143
212
|
})),
|
|
144
|
-
|
|
145
|
-
|
|
213
|
+
/* 表名不带「仅某某配对有此节」那句写给作者的话;r 的算法与样本数进 HTML 注释(techBits)。 */
|
|
214
|
+
caption: '往前推几天会不会更清楚',
|
|
215
|
+
emptyText: '这段时间还没有记录,先记一餐或称一次体重再来看',
|
|
146
216
|
}));
|
|
217
|
+
/* 括号怎么读:说清方向与强弱(越靠两头越对得上),读者据此排序三行。 */
|
|
218
|
+
parts.push(renderCaliberLine('括号里是两项对得上的程度,取值 -1 到 1:越靠近 1,前几天的' + bShort
|
|
219
|
+
+ '越高、当天' + aShort + '也越高;越靠近 -1 则一个高、另一个反而低;越靠近 0 越没有关系。'));
|
|
147
220
|
}
|
|
148
|
-
if (a.strat.rows.length > 0) {
|
|
221
|
+
if (a.strat.rows.length > 0 && !lowSample) {
|
|
222
|
+
/* 表名按实际两组名生成(旧名「分层对比」读者不知道按什么分的);旧标题尾巴
|
|
223
|
+
* 「(力量消耗合计 … vs 有氧 …)」是口径不是标题 → 降级成表下口径行。 */
|
|
224
|
+
const srows = a.strat.rows;
|
|
225
|
+
/* 这一节有两种形态:**两组比**(`工作日`/`周末` 这类分组名)与**两项并列**(`日均摄入`/`日均运动`——
|
|
226
|
+
* 那是两个口径不同的数,不是两组,标题不能说「差多少」)。判据看行名,不写死配对键。 */
|
|
227
|
+
const metricRows = srows.length > 0 && srows.every((r) => r.label.startsWith('日均'));
|
|
228
|
+
const stratTitle = metricRows ? '这两项各是多少'
|
|
229
|
+
: srows.length >= 2 ? srows[0].label + '和' + srows[1].label + ',差多少'
|
|
230
|
+
: '这两项平均各是多少';
|
|
231
|
+
/* #160 回炉:`备注` 列在 weight_deficit/weight_calorie 这些配对上**整列空白**(`analysis/cross.ts`
|
|
232
|
+
* 的 `StratRow.note` 三处都给 ''),列头却照印——空列就是噪音。故**列定义按数据条件裁剪**:
|
|
233
|
+
* 这组行里只要有一条真备注就出这一列,全空即整列不出(看数据,不写死配对键)。 */
|
|
234
|
+
const hasNote = srows.some((r) => r.note !== undefined && String(r.note).trim() !== '');
|
|
149
235
|
parts.push(renderDataTable({
|
|
150
236
|
columns: [
|
|
151
|
-
{ key: 'label', label: '
|
|
237
|
+
{ key: 'label', label: '哪一组' },
|
|
152
238
|
{ key: 'days', label: '天数', align: 'right' },
|
|
153
|
-
{ key: 'aDelta', label:
|
|
154
|
-
{ key: 'bAvg', label: '
|
|
155
|
-
{ key: 'note', label: '备注' },
|
|
239
|
+
{ key: 'aDelta', label: aShort + '变化', align: 'right' },
|
|
240
|
+
{ key: 'bAvg', label: '平均' + bShort, align: 'right' },
|
|
241
|
+
...(hasNote ? [{ key: 'note', label: '备注' }] : []),
|
|
156
242
|
],
|
|
157
|
-
rows:
|
|
243
|
+
rows: srows.map((r) => ({
|
|
158
244
|
label: r.label, days: r.days, aDelta: fmt(r.aDelta), bAvg: fmt(r.bAvg), note: r.note,
|
|
159
245
|
})),
|
|
160
|
-
caption:
|
|
161
|
-
emptyText: '
|
|
246
|
+
caption: stratTitle,
|
|
247
|
+
emptyText: '这段时间还没有记录,先记一餐或称一次体重再来看',
|
|
162
248
|
}));
|
|
249
|
+
if (a.strat.extra.length > 0)
|
|
250
|
+
parts.push(renderCaliberLine(a.strat.extra.join(';')));
|
|
163
251
|
}
|
|
164
252
|
if (a.deficitBuckets.length > 0) {
|
|
165
253
|
parts.push(renderDataTable({
|
|
166
254
|
columns: [
|
|
167
|
-
{ key: 'label', label: '
|
|
255
|
+
{ key: 'label', label: '缺口多大' },
|
|
168
256
|
{ key: 'days', label: '天数', align: 'right' },
|
|
169
257
|
],
|
|
170
258
|
rows: a.deficitBuckets.map((b) => ({ label: b.label, days: b.days })),
|
|
171
|
-
caption: '
|
|
172
|
-
emptyText: '
|
|
259
|
+
caption: '按缺口大小分组:缺口越大,体重掉得越多吗',
|
|
260
|
+
emptyText: '这段时间还没有记录,先记一餐或称一次体重再来看',
|
|
173
261
|
}));
|
|
174
262
|
}
|
|
175
263
|
if (a.overLimitDays.length > 0) {
|
|
176
264
|
parts.push(renderDisclosure({
|
|
177
|
-
title: '
|
|
265
|
+
title: '吃得超目标的日子(每天超过目标的 1.3 倍,共 ' + a.overLimitDays.length + ' 天)',
|
|
178
266
|
contentHtml: renderListRows({
|
|
179
267
|
items: a.overLimitDays.map((d) => ({ main: d })),
|
|
180
268
|
}),
|
|
@@ -183,7 +271,8 @@ export function buildCombinedDoc(c) {
|
|
|
183
271
|
if (a.line.length > 0) {
|
|
184
272
|
const shown = a.line.slice(0, 100);
|
|
185
273
|
parts.push(renderDisclosure({
|
|
186
|
-
|
|
274
|
+
/* 折叠标题只说「这一块是什么」+截断口径;窗口天数在页头说过,不在这里再报一遍。 */
|
|
275
|
+
title: '每天一行' + (a.line.length > 100 ? '(只列前 100 条,共 ' + a.line.length + ' 天)' : ''),
|
|
187
276
|
contentHtml: renderDataTable({
|
|
188
277
|
columns: [
|
|
189
278
|
{ key: 'date', label: '日期' },
|
|
@@ -191,12 +280,11 @@ export function buildCombinedDoc(c) {
|
|
|
191
280
|
{ key: 'bv', label: a.labels.b, align: 'right' },
|
|
192
281
|
],
|
|
193
282
|
rows: shown.map((p) => ({ date: p.date, av: fmt(p.a), bv: fmt(p.b) })),
|
|
194
|
-
|
|
195
|
-
emptyText: '窗口内无数据',
|
|
283
|
+
emptyText: '这段时间还没有记录,先记一餐或称一次体重再来看',
|
|
196
284
|
}),
|
|
197
285
|
}));
|
|
198
286
|
}
|
|
199
|
-
parts.push(
|
|
287
|
+
parts.push(dataCopyArea('复制数据', {
|
|
200
288
|
envelope: {
|
|
201
289
|
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.combined',
|
|
202
290
|
data: {
|
|
@@ -209,111 +297,59 @@ export function buildCombinedDoc(c) {
|
|
|
209
297
|
},
|
|
210
298
|
},
|
|
211
299
|
}));
|
|
212
|
-
return
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
{ label: '日均摄入', value: String(d.summary.avgIntake), unit: '卡', detail: '目标 ' + d.target.intake + ' 卡/天' },
|
|
227
|
-
{ label: '日均消耗', value: String(d.summary.avgBurn), unit: '卡', detail: 'TDEE ' + d.target.tdee + ' · 运动 ' + d.summary.avgExerciseBurn + ' 卡' },
|
|
228
|
-
{ label: '日均缺口', value: (d.summary.avgDeficit >= 0 ? '+' : '') + d.summary.avgDeficit, unit: '卡', detail: DEFICIT_TREND_ZH[d.summary.trend] ?? d.summary.trend },
|
|
229
|
-
{ label: '理论减重', value: String(d.summary.predictedLossKg), unit: 'kg', detail: '周缺口 ' + d.summary.weeklyDeficit + ' 卡' },
|
|
230
|
-
]),
|
|
231
|
-
];
|
|
232
|
-
let charts = false;
|
|
233
|
-
if (d.series.length > 0) {
|
|
234
|
-
const intake = d.series.map((s) => ({ label: s.date.slice(5), value: s.intake }));
|
|
235
|
-
const burn = d.series.map((s) => ({ label: s.date.slice(5), value: s.burn }));
|
|
236
|
-
parts.push(renderChartBlock({
|
|
237
|
-
kind: 'line',
|
|
238
|
-
title: '每日摄入 vs 消耗(虚线=消耗;水平线=摄入目标 ' + d.target.intake + ' 卡)',
|
|
239
|
-
input: {
|
|
240
|
-
items: intake,
|
|
241
|
-
options: {
|
|
242
|
-
series: [
|
|
243
|
-
{ name: '摄入', items: intake },
|
|
244
|
-
{ name: '消耗', items: burn, dashed: true },
|
|
245
|
-
],
|
|
246
|
-
markLine: { value: d.target.intake, label: '目标' },
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
}));
|
|
250
|
-
charts = true;
|
|
251
|
-
}
|
|
252
|
-
{
|
|
253
|
-
const shown = d.series.slice(0, 100);
|
|
254
|
-
parts.push(renderDataTable({
|
|
255
|
-
columns: [
|
|
256
|
-
{ key: 'date', label: '日期' },
|
|
257
|
-
{ key: 'intake', label: '摄入', align: 'right' },
|
|
258
|
-
{ key: 'burn', label: '消耗', align: 'right' },
|
|
259
|
-
{ key: 'deficit', label: '缺口', align: 'right' },
|
|
260
|
-
{ key: 'target', label: '目标', align: 'right' },
|
|
261
|
-
{ key: 'status', label: '状态' },
|
|
262
|
-
],
|
|
263
|
-
rows: shown.map((s) => ({
|
|
264
|
-
date: s.date + ' ' + s.weekday,
|
|
265
|
-
intake: s.intake, burn: s.burn,
|
|
266
|
-
deficit: (s.deficit >= 0 ? '+' : '') + s.deficit,
|
|
267
|
-
target: d.target.intake,
|
|
268
|
-
status: s.deficit >= 0 ? '缺口' : '盈余',
|
|
269
|
-
})),
|
|
270
|
-
caption: '缺口明细' + (d.series.length > 100 ? '(仅列前 100 条,共 ' + d.series.length + ' 天)' : '(共 ' + d.series.length + ' 天)') +
|
|
271
|
-
' · ' + d.meta.weekdayCount + ' 工作日/' + d.meta.weekendCount + ' 周末',
|
|
272
|
-
emptyText: '窗口内无缺口数据',
|
|
273
|
-
}));
|
|
274
|
-
}
|
|
275
|
-
parts.push(copyBlock('复制数据', {
|
|
276
|
-
envelope: {
|
|
277
|
-
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.deficit',
|
|
278
|
-
data: {
|
|
279
|
-
metrics: metricsOf({
|
|
280
|
-
avgIntake: d.summary.avgIntake, avgBurn: d.summary.avgBurn, avgExerciseBurn: d.summary.avgExerciseBurn,
|
|
281
|
-
avgDeficit: d.summary.avgDeficit, weeklyDeficit: d.summary.weeklyDeficit, predictedLossKg: d.summary.predictedLossKg,
|
|
282
|
-
days: d.meta.days, weekdayCount: d.meta.weekdayCount, weekendCount: d.meta.weekendCount,
|
|
283
|
-
targetIntake: d.target.intake, targetTdee: d.target.tdee,
|
|
284
|
-
}),
|
|
285
|
-
},
|
|
286
|
-
},
|
|
287
|
-
}));
|
|
288
|
-
return assemble('热量缺口 ' + d.meta.start + ' ~ ' + d.meta.end, 'calorie.view.deficit · 趋势分析域', null, parts.join(''), charts);
|
|
300
|
+
return assembleDocPage({
|
|
301
|
+
docTitle: DOC_TITLE,
|
|
302
|
+
title: '看' + aShort + '与' + bShort,
|
|
303
|
+
eyebrow: '',
|
|
304
|
+
subtitle: null,
|
|
305
|
+
metaLeft,
|
|
306
|
+
/* #160 回炉:徽章原传恒值 `卡路里 · 分析`——同一串字出现在全量 61 页、从不区分任何东西,
|
|
307
|
+
* 与 `shared/docPage.ts` 那条「恒值徽章应删」的注释自相矛盾。按注释原意**不传**:本页页型由 H1
|
|
308
|
+
* 「看X与Y」说清,域由 head 标题「卡路里·趋势」说清,徽章再说一遍只是第三份同样的信息。
|
|
309
|
+
* 不改成「与 H1 不同名的一句」的理由:这里没有第二种页型要区分(11 个配对同版式,差异全在 H1 里)。 */
|
|
310
|
+
summary,
|
|
311
|
+
content: parts.join(''),
|
|
312
|
+
charts,
|
|
313
|
+
});
|
|
289
314
|
}
|
|
290
315
|
/* ── 异常诊断(anomaly_report.html 对照:诊断 KPI+发现列表+insight;旧截断 5→全量) ── */
|
|
291
316
|
export function buildAnomalyDoc(v) {
|
|
292
317
|
const dg = v.diagnosis;
|
|
318
|
+
/* 被删的技术口径改住 HTML 注释(#160 回炉):诊断清单、参数名与两个拒绝码原都在参数卡说明里(可见文本)。 */
|
|
319
|
+
const noteBits = techNoteHtml([
|
|
320
|
+
'kind=' + v.kind,
|
|
321
|
+
'23 种诊断(体重 6/饮食 4/运动 5/归因复盘 8)',
|
|
322
|
+
'kind 非法即 bad-input,证据不足即 missing-data,不编诊断',
|
|
323
|
+
]);
|
|
293
324
|
const parts = [
|
|
325
|
+
noteBits,
|
|
294
326
|
renderParamForm({
|
|
295
327
|
fields: [
|
|
296
328
|
{ name: 'kind', label: '诊断', value: v.kind },
|
|
297
329
|
{ name: 'start', label: '开始', value: v.start },
|
|
298
330
|
{ name: 'end', label: '结束', value: v.end },
|
|
299
331
|
],
|
|
300
|
-
description: '23
|
|
332
|
+
description: '一共有 23 种诊断,分体重、饮食、运动、复盘四类;证据不够就直说数据不足,不编一个结论出来。',
|
|
301
333
|
}),
|
|
302
334
|
renderKpiGrid([
|
|
303
|
-
|
|
335
|
+
/* 详情原印 `v.kind`(`diet_over` 这种内部键)——内部标识符不上屏,值那一格已经是中文诊断名。 */
|
|
336
|
+
{ label: '诊断', value: dg.title || '这一类' },
|
|
304
337
|
{ label: '窗口', value: v.start + ' ~ ' + v.end, detail: '有数据 ' + dg.days + ' 天' },
|
|
305
338
|
{ label: '发现', value: String(v.findingCount), unit: '条' },
|
|
306
339
|
]),
|
|
307
340
|
renderListRows({
|
|
341
|
+
/* 三槽都是数据层文案(`analysis/anomaly/*`):`TDEE` 这类缩写与半角标点上屏前一律归一。
|
|
342
|
+
* `action` 空串的发现(`overall` 那几行数据层给的就是 '')不再留一个悬空的「|建议:」——
|
|
343
|
+
* 标签后面什么都没有也是种碎片,没建议就不出这段。 */
|
|
308
344
|
items: dg.findings.map((f) => ({
|
|
309
|
-
left: f.cause,
|
|
310
|
-
main: '证据:' + f.evidence + '|建议:' + f.action,
|
|
345
|
+
left: humanText(f.cause),
|
|
346
|
+
main: '证据:' + humanText(f.evidence) + (f.action === '' ? '' : '|建议:' + humanText(f.action)),
|
|
311
347
|
right: f.confidence,
|
|
312
348
|
})),
|
|
313
|
-
emptyText: '
|
|
349
|
+
emptyText: '本窗没有发现异常,各项诊断都正常',
|
|
314
350
|
}),
|
|
315
351
|
];
|
|
316
|
-
parts.push(
|
|
352
|
+
parts.push(dataCopyArea('复制数据', {
|
|
317
353
|
envelope: {
|
|
318
354
|
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.anomaly',
|
|
319
355
|
data: {
|
|
@@ -321,19 +357,81 @@ export function buildAnomalyDoc(v) {
|
|
|
321
357
|
},
|
|
322
358
|
},
|
|
323
359
|
}));
|
|
324
|
-
return
|
|
360
|
+
return assembleDocPage({
|
|
361
|
+
docTitle: DOC_TITLE,
|
|
362
|
+
title: '异常诊断 ' + (dg.title || '这一类'),
|
|
363
|
+
eyebrow: '异常诊断 · 趋势分析域',
|
|
364
|
+
subtitle: dg.insight ? humanText(dg.insight) : null,
|
|
365
|
+
content: parts.join(''),
|
|
366
|
+
charts: false,
|
|
367
|
+
});
|
|
325
368
|
}
|
|
326
369
|
/* ── 禁忌扫描(contraindication_report.html 对照:扫描概览+命中表+替代建议+复制修改指令) ── */
|
|
370
|
+
/** T351 肉眼修复(order207):复制区=「复制数据/复制日志」双按钮。
|
|
371
|
+
* 单格式数据文本+日志文本直挂承载属性,共用页面双通道运行时,零内联脚本;
|
|
372
|
+
* 无三格式菜单、无 text/json/csv 英文菜单项。块标题保留既有中文「复制修改指令」
|
|
373
|
+
* (与按钮不同名,且单测钉死该串)。概览/命中表/替代建议不动。本函数不导出。 */
|
|
374
|
+
function contraCopyBlock(v) {
|
|
375
|
+
const data = {
|
|
376
|
+
envelope: {
|
|
377
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.contraindication',
|
|
378
|
+
data: {
|
|
379
|
+
metrics: metricsOf({
|
|
380
|
+
scannedSessions: v.scannedSessions, scannedMovements: v.scannedMovements,
|
|
381
|
+
errorCount: v.errorCount, warnCount: v.warnCount, infoCount: v.infoCount,
|
|
382
|
+
}),
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
title: '【calorie · 禁忌扫描】',
|
|
386
|
+
format: 'text',
|
|
387
|
+
};
|
|
388
|
+
return renderCopyBlock({
|
|
389
|
+
title: '复制修改指令',
|
|
390
|
+
dataText: buildDataText(data),
|
|
391
|
+
logText: buildLogText({
|
|
392
|
+
envelope: sceneEnvelope(data.envelope),
|
|
393
|
+
copyLog: copyLog({
|
|
394
|
+
command: 'calorie-cmd-read calorie.view.contraindication',
|
|
395
|
+
source: 'workout_plans(只读)',
|
|
396
|
+
actionAt: nowStamp(), version: DOC_VERSION,
|
|
397
|
+
}),
|
|
398
|
+
}),
|
|
399
|
+
}).replace('data-action-id="ilife-copy-data"', 'id="ilife-copy-data" data-action-id="ilife-copy-data"')
|
|
400
|
+
.replace('data-action-id="ilife-copy-log"', 'id="ilife-copy-log" data-action-id="ilife-copy-log"');
|
|
401
|
+
}
|
|
402
|
+
/** 禁忌扫描页的**窄屏列取舍**(T351-v12):这张页在 390 宽下有 5 列 + 3 列表,五列那张挤成竖条
|
|
403
|
+
* (「部位」「级别」表头都折成两行、规则值折三行)。让掉两处**重复信息**:
|
|
404
|
+
* 命中明细:让「部位」(动作格括号里已有 `第 1 周 周三(下肢)`)与「规则」(与原因句同义);
|
|
405
|
+
* 替代建议:让「原因」(上一张表已逐条给过)。
|
|
406
|
+
* 与 `reviewDocsCss.ts` 窄屏让「周次」列同一手法(页内 CSS + `nth-child`),只是这里要按表分开,
|
|
407
|
+
* 故两张表各包一层 `.ilw-hit`/`.ilw-alt` 挂钩子。 */
|
|
408
|
+
const CONTRA_MOBILE_CSS = '<style>\n'
|
|
409
|
+
+ '@media (max-width:820px){\n'
|
|
410
|
+
+ '.ilw-hit .ilife-block-data-table th:nth-child(2),.ilw-hit .ilife-block-data-table td:nth-child(2),'
|
|
411
|
+
+ '.ilw-hit .ilife-block-data-table th:nth-child(3),.ilw-hit .ilife-block-data-table td:nth-child(3)'
|
|
412
|
+
+ '{display:none}\n'
|
|
413
|
+
+ '.ilw-alt .ilife-block-data-table th:nth-child(2),.ilw-alt .ilife-block-data-table td:nth-child(2)'
|
|
414
|
+
+ '{display:none}\n'
|
|
415
|
+
// 让位后「级别」那一列被挤到 30px 宽,「警告」折成「警/告」。**注意序号**:`display:none` 不会重排名次,
|
|
416
|
+
// 级别在源表里是第 4 列(第 2、3 列只是被藏了),故这里写 `nth-child(4)` 而不是 (2)。
|
|
417
|
+
+ '.ilw-hit .ilife-block-data-table th:nth-child(4),.ilw-hit .ilife-block-data-table td:nth-child(4)'
|
|
418
|
+
+ '{white-space:nowrap}\n'
|
|
419
|
+
+ '}\n</style>';
|
|
327
420
|
export function buildContraDoc(v) {
|
|
328
421
|
const s = v.scan;
|
|
422
|
+
/* 被删的技术口径改住 HTML 注释(#160 回炉):参数取值与扫描范围口径原都在参数卡说明里。 */
|
|
423
|
+
const noteBits = techNoteHtml([
|
|
424
|
+
'part=' + v.part + '(all/腰/膝/肩)',
|
|
425
|
+
'命中按动作×规则逐条列出,替代选择归宿主,已选清单不进静态页',
|
|
426
|
+
]);
|
|
329
427
|
const parts = [
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
}),
|
|
428
|
+
noteBits,
|
|
429
|
+
renderCaliberLine('想扫哪个部位就说腰、膝或肩。不说部位就全部扫一遍。'
|
|
430
|
+
+ '命中的动作会逐条列出,并给出可以替换的动作。'),
|
|
334
431
|
renderKpiGrid([
|
|
335
|
-
{ label: '扫描', value: CONTRA_STATUS_ZH[v.summaryStatus] ?? v.summaryStatus,
|
|
336
|
-
|
|
432
|
+
{ label: '扫描', value: CONTRA_STATUS_ZH[v.summaryStatus] ?? v.summaryStatus,
|
|
433
|
+
detail: '部位:' + (v.part === 'all' ? '全部' : v.part) },
|
|
434
|
+
{ label: '训练场次', value: String(v.scannedSessions), unit: '个', detail: '动作 ' + v.scannedMovements + ' 个' },
|
|
337
435
|
{ label: '错误', value: String(v.errorCount), unit: '个' },
|
|
338
436
|
{ label: '警告', value: String(v.warnCount), unit: '个' },
|
|
339
437
|
{ label: '提示', value: String(v.infoCount), unit: '个' },
|
|
@@ -342,7 +440,10 @@ export function buildContraDoc(v) {
|
|
|
342
440
|
];
|
|
343
441
|
{
|
|
344
442
|
const shown = s.hits.slice(0, 100);
|
|
345
|
-
|
|
443
|
+
// 窄屏让位(`.ilw-hit` 是给页内 CSS 挂钩子用的,见 `CONTRA_MOBILE_CSS`):五列在 390 宽下挤成竖条,
|
|
444
|
+
// 「部位」与「规则」两列让掉——部位已在动作格的括号里(`深蹲(第 1 周 周三(下肢))`)、
|
|
445
|
+
// 规则名与原因句说的是同一件事。
|
|
446
|
+
parts.push('<div class="ilw-hit">' + renderDataTable({
|
|
346
447
|
columns: [
|
|
347
448
|
{ key: 'movement', label: '动作' },
|
|
348
449
|
{ key: 'part', label: '部位' },
|
|
@@ -356,90 +457,37 @@ export function buildContraDoc(v) {
|
|
|
356
457
|
})),
|
|
357
458
|
caption: '命中明细' + (s.hits.length > 100 ? '(仅列前 100 条,共 ' + s.hits.length + ' 条)' : '(共 ' + s.hits.length + ' 条)'),
|
|
358
459
|
emptyText: '无命中(计划动作均通过扫描)',
|
|
359
|
-
}));
|
|
460
|
+
}) + '</div>');
|
|
360
461
|
}
|
|
361
462
|
if (s.suggestions.length > 0) {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
463
|
+
// T351-v11:原来一条建议挤成 `原因:…|替换:…` 一行串(那个 `|` 又是拿符号顶替设计,第 ⑤ 条),
|
|
464
|
+
// 右侧槽还挂着规则名(与「命中明细」里的「规则」列重复)。改成三列真表格:动作|原因|可以换成。
|
|
465
|
+
// 窄屏让「原因」列让位(`.ilw-alt`):上一张表已逐条给过原因,这张窄屏只剩「动作|可以换成」最好读。
|
|
466
|
+
parts.push('<div class="ilw-alt">' + renderDataTable({
|
|
467
|
+
columns: [
|
|
468
|
+
{ key: 'movement', label: '动作' },
|
|
469
|
+
{ key: 'reason', label: '原因' },
|
|
470
|
+
{ key: 'replace', label: '可以换成' },
|
|
471
|
+
],
|
|
472
|
+
rows: s.suggestions.map((g) => ({ movement: g.movement, reason: g.reason, replace: g.replace })),
|
|
473
|
+
caption: '替代建议',
|
|
368
474
|
emptyText: '无替代建议',
|
|
369
|
-
}));
|
|
475
|
+
}) + '</div>');
|
|
370
476
|
}
|
|
371
|
-
parts.push(
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}
|
|
384
|
-
/* ── 体重预测(predict_report 对照:点预测 KPI+insight;曲线归组合分析,见 §3 R4) ── */
|
|
385
|
-
export function buildPredictDoc(v) {
|
|
386
|
-
const parts = [
|
|
387
|
-
renderParamForm({
|
|
388
|
-
fields: [
|
|
389
|
-
{ name: 'start', label: '开始', value: v.start },
|
|
390
|
-
{ name: 'end', label: '结束', value: v.end },
|
|
391
|
-
{ name: 'horizonDays', label: '预测天数', value: String(v.horizonDays) },
|
|
392
|
-
],
|
|
393
|
-
description: '体重外推(horizonDays 7..180);需≥14 天体重记录,否则 missing-data,不编预测',
|
|
394
|
-
}),
|
|
395
|
-
renderKpiGrid([
|
|
396
|
-
{ label: '当前', value: String(v.current), unit: 'kg' },
|
|
397
|
-
{ label: '预测', value: String(v.forecastValue), unit: 'kg', detail: v.horizonDays + ' 天后' },
|
|
398
|
-
{ label: '速率', value: String(v.ratePerWeek), unit: 'kg/周' },
|
|
399
|
-
{ label: '区间', value: fmt(v.forecastLo) + ' ~ ' + fmt(v.forecastHi), unit: 'kg' },
|
|
400
|
-
]),
|
|
401
|
-
];
|
|
402
|
-
parts.push(copyBlock('复制数据', {
|
|
403
|
-
envelope: {
|
|
404
|
-
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.predict',
|
|
405
|
-
data: {
|
|
406
|
-
metrics: metricsOf({
|
|
407
|
-
current: v.current, ratePerWeek: v.ratePerWeek, forecastValue: v.forecastValue,
|
|
408
|
-
forecastLo: v.forecastLo, forecastHi: v.forecastHi, horizonDays: v.horizonDays,
|
|
409
|
-
}),
|
|
410
|
-
},
|
|
411
|
-
},
|
|
412
|
-
}));
|
|
413
|
-
return assemble('体重预测(' + v.horizonDays + ' 天)', 'calorie.view.predict · 趋势分析域', v.insight || null, parts.join(''), false);
|
|
414
|
-
}
|
|
415
|
-
/* ── 目标预测达成(目标达成 ETA:KPI+可行性;曲线归组合分析,见 §3 R4) ── */
|
|
416
|
-
export function buildGoalPredictDoc(v) {
|
|
417
|
-
const parts = [
|
|
418
|
-
renderParamForm({
|
|
419
|
-
fields: [
|
|
420
|
-
{ name: 'start', label: '开始', value: v.start },
|
|
421
|
-
{ name: 'end', label: '结束', value: v.end },
|
|
422
|
-
],
|
|
423
|
-
description: '目标预测需先定体重目标(无目标即 missing-data);默认 14 天窗(7 天窗结构性不可达,#103 G2)',
|
|
424
|
-
}),
|
|
425
|
-
renderKpiGrid([
|
|
426
|
-
{ label: '目标', value: String(v.targetKg), unit: 'kg', detail: v.start + ' ~ ' + v.end },
|
|
427
|
-
{ label: '当前', value: String(v.current), unit: 'kg' },
|
|
428
|
-
{ label: '预计达成', value: v.eta, detail: '剩余 ' + v.daysLeft + ' 天' },
|
|
429
|
-
{ label: '速率', value: String(v.ratePerWeek), unit: 'kg/周', detail: v.feasible ? '健康' : '超范围' },
|
|
430
|
-
]),
|
|
431
|
-
];
|
|
432
|
-
parts.push(copyBlock('复制数据', {
|
|
433
|
-
envelope: {
|
|
434
|
-
version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.goal-predict',
|
|
435
|
-
data: {
|
|
436
|
-
metrics: metricsOf({
|
|
437
|
-
targetKg: v.targetKg, current: v.current, daysLeft: v.daysLeft,
|
|
438
|
-
ratePerWeek: v.ratePerWeek, feasible: v.feasible ? 1 : 0,
|
|
439
|
-
}),
|
|
440
|
-
},
|
|
441
|
-
},
|
|
442
|
-
}));
|
|
443
|
-
return assemble('目标预测达成', 'calorie.view.goal-predict · 趋势分析域', null, parts.join(''), false);
|
|
477
|
+
parts.push(contraCopyBlock(v));
|
|
478
|
+
return assembleDocPage({
|
|
479
|
+
docTitle: DOC_TITLE,
|
|
480
|
+
// T351-v10:标题里那个 `all` 是参数原值,读者看不懂(第 ④ 条)——扫全部部位时不缀括号。
|
|
481
|
+
title: v.part === 'all' ? '禁忌扫描' : '禁忌扫描(' + v.part + ')',
|
|
482
|
+
// 眉标只留技能名:原来那句 `禁忌扫描 · 趋势分析域` 把标题又抄了一遍,后半截还是内部架构词
|
|
483
|
+
// (「趋势分析域」是仓库里的域划分,用户不该看到)。
|
|
484
|
+
eyebrow: '健身计划',
|
|
485
|
+
subtitle: v.part === 'all' ? '全部部位' : '只看' + v.part,
|
|
486
|
+
content: pageChromeCss(960) + CONTRA_MOBILE_CSS + parts.join(''),
|
|
487
|
+
charts: false,
|
|
488
|
+
});
|
|
444
489
|
}
|
|
490
|
+
/* ── W1(#518):下面 10 个出口已搬进姊妹件 `trendPredictDocs.ts`;此处**薄转出**,
|
|
491
|
+
* 既有调用面(`render/index.ts` 与各测试的 `dist/render/trendDocs.js`)逐字不变。 ── */
|
|
492
|
+
export { buildDeficitDoc, buildPredictDoc, buildPredictTargetDoc, buildSimCutDoc, buildSimTargetDoc, buildCalorieForecastDoc, buildCalorieGoalDoc, buildCalorieDeficitDoc, buildCalorieStabilityDoc, buildGoalPredictDoc, } from './trendPredictDocs.js';
|
|
445
493
|
//# sourceMappingURL=trendDocs.js.map
|