skill-calorie 0.2.3 → 0.2.5
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 +474 -122
- package/dist/.gen-inputs.json +86 -0
- package/dist/analysis/anomaly/common.d.ts +11 -1
- package/dist/analysis/anomaly/common.d.ts.map +1 -1
- package/dist/analysis/anomaly/common.js +11 -12
- package/dist/analysis/anomaly/common.js.map +1 -1
- package/dist/analysis/anomaly/diet.d.ts.map +1 -1
- package/dist/analysis/anomaly/diet.js +11 -3
- package/dist/analysis/anomaly/diet.js.map +1 -1
- 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 +54 -26
- 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/deficit.d.ts +4 -2
- package/dist/analysis/deficit.d.ts.map +1 -1
- package/dist/analysis/deficit.js +2 -1
- package/dist/analysis/deficit.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 +17 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +17 -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 +196 -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/review.d.ts.map +1 -1
- package/dist/analysis/review.js +5 -3
- package/dist/analysis/review.js.map +1 -1
- 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 +121 -24
- package/dist/analysis/series.js.map +1 -1
- package/dist/analysis/simulate.d.ts +4 -2
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +22 -8
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +47 -12
- 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 +55 -21
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +85 -28
- 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 +33 -0
- package/dist/body/commands.d.ts.map +1 -0
- package/dist/body/commands.js +19 -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 +17 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/body/index.js +17 -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 -26
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +68 -1084
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +16 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +68 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/delivery.d.ts +35 -0
- package/dist/cli/delivery.d.ts.map +1 -0
- package/dist/cli/delivery.js +224 -0
- package/dist/cli/delivery.js.map +1 -0
- package/dist/cli/health.d.ts +7 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +21 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/keys.d.ts +302 -165
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js +101 -77
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/readArgs.d.ts +21 -0
- package/dist/cli/readArgs.d.ts.map +1 -0
- package/dist/cli/readArgs.js +73 -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 +14 -17
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +18 -946
- package/dist/cli/write.js.map +1 -1
- package/dist/config.d.ts +55 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/diet/commands.d.ts +42 -0
- package/dist/diet/commands.d.ts.map +1 -0
- package/dist/diet/commands.js +45 -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 +173 -0
- package/dist/diet/dietEngine.js.map +1 -0
- package/dist/diet/dietUi.d.ts +14 -0
- package/dist/diet/dietUi.d.ts.map +1 -0
- package/dist/diet/dietUi.js +38 -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 +22 -0
- package/dist/diet/index.d.ts.map +1 -0
- package/dist/diet/index.js +21 -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 +126 -0
- package/dist/diet/nutritionPort.d.ts.map +1 -0
- package/dist/diet/nutritionPort.js +248 -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 +178 -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 +137 -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 +150 -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 +293 -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 +17 -0
- package/dist/exercise/index.d.ts.map +1 -0
- package/dist/exercise/index.js +17 -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/sportPortDocs.d.ts +9 -0
- package/dist/exercise/sportPortDocs.d.ts.map +1 -0
- package/dist/exercise/sportPortDocs.js +896 -0
- package/dist/exercise/sportPortDocs.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +79 -0
- package/dist/exercise/sportUi.d.ts.map +1 -0
- package/dist/exercise/sportUi.js +237 -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 +203 -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/diet.d.ts +6 -5
- package/dist/fetch/diet.d.ts.map +1 -1
- package/dist/fetch/diet.js +19 -25
- package/dist/fetch/diet.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/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 +35 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +21 -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 +97 -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 +46 -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 +13 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +13 -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 +168 -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/health.d.ts +41 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +501 -0
- package/dist/health.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 +13 -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 +24 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -9
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +3 -3
- package/dist/migrate/migrate.js.map +1 -1
- package/dist/output.d.ts +22 -11
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +68 -128
- package/dist/output.js.map +1 -1
- package/dist/paths.d.ts +6 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +28 -17
- package/dist/paths.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 +23 -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 +317 -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/helpShell.d.ts +16 -0
- package/dist/photo/helpShell.d.ts.map +1 -0
- package/dist/photo/helpShell.js +27 -0
- package/dist/photo/helpShell.js.map +1 -0
- package/dist/photo/index.d.ts +13 -0
- package/dist/photo/index.d.ts.map +1 -0
- package/dist/photo/index.js +13 -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 +78 -0
- package/dist/photo/photos.d.ts.map +1 -0
- package/dist/photo/photos.js +194 -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/templates.d.ts +4 -0
- package/dist/photo/templates.d.ts.map +1 -0
- package/dist/photo/templates.js +29 -0
- package/dist/photo/templates.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/wizardPort.d.ts +70 -0
- package/dist/photo/wizardPort.d.ts.map +1 -0
- package/dist/photo/wizardPort.js +232 -0
- package/dist/photo/wizardPort.js.map +1 -0
- package/dist/photo/wizardPortDocs.d.ts +6 -0
- package/dist/photo/wizardPortDocs.d.ts.map +1 -0
- package/dist/photo/wizardPortDocs.js +322 -0
- package/dist/photo/wizardPortDocs.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 +32 -0
- package/dist/profile/commands.d.ts.map +1 -0
- package/dist/profile/commands.js +11 -0
- package/dist/profile/commands.js.map +1 -0
- package/dist/profile/index.d.ts +17 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +17 -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 +26 -7
- package/dist/profile/setup.d.ts.map +1 -1
- package/dist/profile/setup.js +184 -78
- package/dist/profile/setup.js.map +1 -1
- package/dist/profile/update.d.ts +1 -1
- package/dist/profile/update.d.ts.map +1 -1
- package/dist/profile/update.js +33 -13
- package/dist/profile/update.js.map +1 -1
- package/dist/profile/view.d.ts +35 -4
- package/dist/profile/view.d.ts.map +1 -1
- package/dist/profile/view.js +132 -22
- package/dist/profile/view.js.map +1 -1
- 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 +4 -4
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +5 -22
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/diet.d.ts +10 -6
- package/dist/render/diet.d.ts.map +1 -1
- package/dist/render/diet.js +8 -23
- package/dist/render/diet.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 +158 -457
- package/dist/render/dietDocs.js.map +1 -1
- package/dist/render/exercisePort.d.ts +4 -2
- 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/helpShell.d.ts +1 -1
- package/dist/render/helpShell.d.ts.map +1 -1
- package/dist/render/html.d.ts +34 -24
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +38 -88
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +34 -33
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +30 -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/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 +1 -1
- package/dist/render/receipt.d.ts.map +1 -1
- package/dist/render/receipt.js +1 -1
- package/dist/render/receipt.js.map +1 -1
- package/dist/render/sportDocs.d.ts +17 -12
- package/dist/render/sportDocs.d.ts.map +1 -1
- package/dist/render/sportDocs.js +370 -525
- 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 +810 -389
- 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 +293 -252
- 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 +13 -34
- 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 +256 -107
- 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 +273 -215
- 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/shared/alive.d.ts +22 -0
- package/dist/shared/alive.d.ts.map +1 -0
- package/dist/shared/alive.js +22 -0
- package/dist/shared/alive.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +83 -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 +30 -11
- package/dist/shared/copyArea.d.ts.map +1 -1
- package/dist/shared/copyArea.js +68 -13
- package/dist/shared/copyArea.js.map +1 -1
- package/dist/shared/copyBlock.d.ts +4 -0
- package/dist/shared/copyBlock.d.ts.map +1 -0
- package/dist/shared/copyBlock.js +26 -0
- package/dist/shared/copyBlock.js.map +1 -0
- package/dist/shared/docPage.d.ts +26 -4
- package/dist/shared/docPage.d.ts.map +1 -1
- package/dist/shared/docPage.js +84 -10
- package/dist/shared/docPage.js.map +1 -1
- 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/healthRate.d.ts +21 -0
- package/dist/shared/healthRate.d.ts.map +1 -0
- package/dist/shared/healthRate.js +21 -0
- package/dist/shared/healthRate.js.map +1 -0
- package/dist/shared/kcalPerKg.d.ts +16 -0
- package/dist/shared/kcalPerKg.d.ts.map +1 -0
- package/dist/shared/kcalPerKg.js +16 -0
- package/dist/shared/kcalPerKg.js.map +1 -0
- package/dist/shared/meal.d.ts +46 -0
- package/dist/shared/meal.d.ts.map +1 -0
- package/dist/shared/meal.js +75 -0
- package/dist/shared/meal.js.map +1 -0
- package/dist/shared/nutritionRange.d.ts +28 -0
- package/dist/shared/nutritionRange.d.ts.map +1 -0
- package/dist/shared/nutritionRange.js +28 -0
- package/dist/shared/nutritionRange.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/pageStrips.d.ts +81 -0
- package/dist/shared/pageStrips.d.ts.map +1 -0
- package/dist/shared/pageStrips.js +166 -0
- package/dist/shared/pageStrips.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/planCopyBlock.d.ts +32 -0
- package/dist/shared/planCopyBlock.d.ts.map +1 -0
- package/dist/shared/planCopyBlock.js +34 -0
- package/dist/shared/planCopyBlock.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 +39 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/time.d.ts +28 -0
- package/dist/shared/time.d.ts.map +1 -0
- package/dist/shared/time.js +37 -0
- package/dist/shared/time.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 +11 -34
- package/dist/triggers/routing.d.ts.map +1 -1
- package/dist/triggers/routing.js +12 -528
- 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 +1 -1
- 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.map +1 -1
- package/dist/triggers/wake-assets.js +21 -11
- package/dist/triggers/wake-assets.js.map +1 -1
- package/dist/weight/commands.d.ts +24 -0
- package/dist/weight/commands.d.ts.map +1 -0
- package/dist/weight/commands.js +19 -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 +221 -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 +21 -0
- package/dist/weight/index.d.ts.map +1 -0
- package/dist/weight/index.js +20 -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 +212 -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 +126 -0
- package/dist/weight/weightUi.d.ts.map +1 -0
- package/dist/weight/weightUi.js +226 -0
- package/dist/weight/weightUi.js.map +1 -0
- package/dist/workout/commands.d.ts +43 -0
- package/dist/workout/commands.d.ts.map +1 -0
- package/dist/workout/commands.js +36 -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 +21 -0
- package/dist/workout/index.d.ts.map +1 -0
- package/dist/workout/index.js +20 -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 +62 -0
- package/dist/workout/landBatch.d.ts.map +1 -0
- package/dist/workout/landBatch.js +227 -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 +111 -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 +132 -0
- package/dist/workout/landPages.js.map +1 -0
- package/dist/workout/landRunner.d.ts +40 -0
- package/dist/workout/landRunner.d.ts.map +1 -0
- package/dist/workout/landRunner.js +134 -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/planCopyBlock.d.ts +9 -0
- package/dist/workout/planCopyBlock.d.ts.map +1 -0
- package/dist/workout/planCopyBlock.js +9 -0
- package/dist/workout/planCopyBlock.js.map +1 -0
- package/dist/workout/planEditor.d.ts +94 -0
- package/dist/workout/planEditor.d.ts.map +1 -0
- package/dist/workout/planEditor.js +38 -0
- package/dist/workout/planEditor.js.map +1 -0
- package/dist/workout/planEditorCss.d.ts +13 -0
- package/dist/workout/planEditorCss.d.ts.map +1 -0
- package/dist/workout/planEditorCss.js +140 -0
- package/dist/workout/planEditorCss.js.map +1 -0
- package/dist/workout/planEditorDocs.d.ts +7 -0
- package/dist/workout/planEditorDocs.d.ts.map +1 -0
- package/dist/workout/planEditorDocs.js +56 -0
- package/dist/workout/planEditorDocs.js.map +1 -0
- package/dist/workout/planEditorPort.d.ts +45 -0
- package/dist/workout/planEditorPort.d.ts.map +1 -0
- package/dist/workout/planEditorPort.js +217 -0
- package/dist/workout/planEditorPort.js.map +1 -0
- package/dist/workout/planEditorRuntime.d.ts +15 -0
- package/dist/workout/planEditorRuntime.d.ts.map +1 -0
- package/dist/workout/planEditorRuntime.js +427 -0
- package/dist/workout/planEditorRuntime.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 +280 -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/reviewDocs.d.ts +3 -0
- package/dist/workout/reviewDocs.d.ts.map +1 -0
- package/dist/workout/reviewDocs.js +222 -0
- package/dist/workout/reviewDocs.js.map +1 -0
- package/dist/workout/reviewDocsCss.d.ts +5 -0
- package/dist/workout/reviewDocsCss.d.ts.map +1 -0
- package/dist/workout/reviewDocsCss.js +128 -0
- package/dist/workout/reviewDocsCss.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 +177 -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 +215 -0
- package/dist/workout/xunjiPush.js.map +1 -0
- package/dist/workout/xunjiRunner.d.ts +35 -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 +65 -0
- package/dist/xunji/backfill.d.ts.map +1 -0
- package/dist/xunji/backfill.js +156 -0
- package/dist/xunji/backfill.js.map +1 -0
- package/dist/xunji/catalog.d.ts +55 -0
- package/dist/xunji/catalog.d.ts.map +1 -0
- package/dist/xunji/catalog.js +132 -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 +76 -0
- package/dist/xunji/fetch.d.ts.map +1 -0
- package/dist/xunji/fetch.js +159 -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 +37 -0
- package/dist/xunji/key.d.ts.map +1 -0
- package/dist/xunji/key.js +100 -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 +49 -0
- package/dist/xunji/rateLimit.d.ts.map +1 -0
- package/dist/xunji/rateLimit.js +108 -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 +54 -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 +202 -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 +6 -9
- 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/SKILL.md
CHANGED
|
@@ -17,7 +17,7 @@ description: "「卡路里HELP」→calorie.help.center 出老技能同款 HELP
|
|
|
17
17
|
calorie-cmd-read calorie.help.center # 卡路里HELP:老技能同款 HELP 文件(缺省;速查台加 --params '{"mode":"file"}')
|
|
18
18
|
calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35}'
|
|
19
19
|
calorie-cmd-read calorie.weight.log --params '{"kg":70.5}'
|
|
20
|
-
calorie-cmd-read calorie.view.home --params '{"date":"
|
|
20
|
+
calorie-cmd-read calorie.view.home --params '{"date":"今日"}'
|
|
21
21
|
calorie-cmd-read calorie.view.search --params '{"keyword":"鸡胸"}'
|
|
22
22
|
calorie-cmd-read calorie.photo.list --params '{"tag":"正面"}'
|
|
23
23
|
calorie-cmd-read calorie.help.lookup --params '{"q":"看今日主页"}'
|
|
@@ -28,15 +28,15 @@ calorie-cmd-read calorie.help.lookup --params '{"q":"看今日主页"}'
|
|
|
28
28
|
- 二进制:`packages/skill-calorie/dist/cli/cmd_read.js`(bin `calorie-cmd-read`),纯 CLI 单轨,无面板/定时/外联动。
|
|
29
29
|
- 运维定位(C1 #43):`skill-calorie-fetch`(`dist/fetch/cli.js`)仅运维(import/validate/dedupe/export/history/audit/catalog-verify),不承载业务读写;业务读写唯一出口仍为 `calorie-cmd-read`。
|
|
30
30
|
- 契约:P9 冻结 argv+JSON+exit;缺 key exit 2、未知 key exit 3、取数/缺失 exit 4、envelope/渲染/落盘 exit 5、预检 exit 1。
|
|
31
|
-
- stdout 纯净:成功只打 envelope JSON 一行;进度与错误一律 stderr;HTML 默认落
|
|
32
|
-
- 预检:engines>=22.13
|
|
33
|
-
- 写链(#40):
|
|
31
|
+
- stdout 纯净:成功只打 envelope JSON 一行;进度与错误一律 stderr;HTML 默认落 `<库目录>/<产物目录>/<中文command>_<YYYYMMDD>_<HHMMSS>[_N].html`(同秒冲突自动加 `_2`/`_3`)——`<库目录>`=配置文件 `~/.ilife/calorie.yaml` 的 `db.dir`,空串=数据目录 `~/.ilife/data/`;`<产物目录>`=同文件的 `html.dir`(默认 `calorie_html`)。落点回传在 envelope `data.output`(**恒绝对路径**,相对库目录/`--html` 亦按 cwd 归一后回传);`--html <路径>` 显式覆盖任意路径(**唯一落点参数**:老技能的 `--output` 别名已按 #245 删除,给了即 exit 2,与其余五家同形)。
|
|
32
|
+
- 预检:engines>=22.13;库目录与照片目录都从配置文件取(`~/.ilife/calorie.yaml` 的 `db.dir` 与 `photos.dir`,空串=按各自默认回落——库目录落数据目录 `~/.ilife/data/`,照片目录算「还没配」),**没有一个环境变量是必设的**;照片目录没配时,照片存在位记 null、不断言。
|
|
33
|
+
- 写链(#40):52 写键(diet/water/weight/exercise/photo/product/profile/goal/body/workout)同出口可执行,一律 `receipt` 形(`ok/message` + T10 `receipt` 回执);缺参 exit 2、缺失阻断 exit 4;训记同步与 mmx vision 两步向导无独立写键(二期,见 triggers 旧链)。
|
|
34
34
|
|
|
35
35
|
## envelope 全字段
|
|
36
36
|
|
|
37
37
|
- 版本 `0.1.0`(与 link-core/render 同值,漂移单测钉死);形状 6 种全字段校验,缺字段即抛,不返空数组冒充正常。
|
|
38
38
|
- `list` 须 `items[]`(`total?`);`detail` 须 `item{}`;`stat` 须 `metrics{number}` 全有限 number;`receipt` 须 `ok/message`;`analysis` 须非空 `summary`;`fallback` 须 `reason/degraded:true`。
|
|
39
|
-
- 组合键 registry 合法点式(下划线→点):`calorie.view.home` 等读
|
|
39
|
+
- 组合键 registry 合法点式(下划线→点):`calorie.view.home` 等读 82 键 + 写 52 键共 134 键(见下表);内部 `VIEW_KEYS` 下划线键仅渲染层复用,不直接登记。
|
|
40
40
|
|
|
41
41
|
## 口径(T7 + 精度 + 餐别)
|
|
42
42
|
|
|
@@ -60,151 +60,503 @@ calorie-cmd-read calorie.help.lookup --params '{"q":"看今日主页"}'
|
|
|
60
60
|
|---|---|---|
|
|
61
61
|
| `记体脂(皮褶钳)`/`记体脂(外部测量)`/`补记体脂` | `body_composition_wizard.html` | 皮褶钳 7 点须先换算成 `bodyFatPct`(换算未移植,调用方算) |
|
|
62
62
|
| `记围度`/`补记围度` | `body_measurements_wizard.html` | 13 围度 3 分组;记录级至少 1 项 |
|
|
63
|
-
| `定训练计划` | `plan_builder_wizard.html` |
|
|
63
|
+
| `定训练计划` | `plan_builder_wizard.html` | **可写**:出计划编辑器(可写页)→ 用户改完确认 → 复制命令 → AI 调 `calorie.workout.plan-set` 落库(见下) |
|
|
64
64
|
| `设置档案`/`设活动量`/`改档案` | `calorie.view.profile-wizard`(页面装配在 `src/profile/setup.ts`) | 场景 07 三条写入词共用一页(改前值 + 待写项 + 活动量五档);改前值取自库内现值,写入仍走 `calorie.profile.set`/`calorie.profile.activity`/`calorie.profile.update` |
|
|
65
|
+
| `定营养目标`/`定营养目标(自动算)`/`定体重目标`/`定体重目标(自动算截止)`/`定体重目标(含起始日)`/`定饮水目标`/`定饮水目标(自动算)`/`一键定全套目标`/`改营养目标`/`改体重目标`/`改饮水目标` | `calorie.view.goal-wizard`(页面装配在 `src/goal/precheck.ts`) | 场景 06 十一条带空位的写词共用一页(库内现值 + 按档案算的推荐值与依据 + 改前→改后对照);写入仍走 5 条既有写命令;暂停所有目标/重启所有目标无空位不出页 |
|
|
65
66
|
|
|
66
67
|
| 场景 | 触发 | 行为 | CLI 落点(符号锚,可验) |
|
|
67
68
|
|---|---|---|---|
|
|
68
69
|
| 1 主动填 | 配置型词命中但**没给数据**(`记体脂` 类先问测量方式) | 出空 wizard(不传预填)→ 用户填 → 复制 prompt → AI 调写键 | 空参被拦:无围度项 → `bad-input` exit 2(`fetch/body.ts` `validateMeasurementInput` 的 `fail('围度','empty',…)` → `cli/write.ts` `dispatchWrite` 的 `ValidationError` 分支) |
|
|
69
70
|
| 2 预填 verify ⭐ | 同一类词**给了数据** | 出预填 wizard → 用户核对 → 复制 prompt → AI 调写键 | 预填键限白名单:非 `MEASURE_CAMEL` 字段即 `fail(2,'不支持字段: ')`(`cli/write.ts` `MEASURE_CAMEL` 白名单循环);皮褶钳缺 `bodyFatPct` 即 `fail(2,…)`;计划类先跑 `calorie.view.plan-wizard` 纯校验(`render/planPlate.ts` `buildPlanWizardView` → `fetch/plan.ts` `validatePlan`,返 `dryRun:true`/`checkedSessions:N`(输入含 N 个会话的已检查计数;≠通过数:坏计划也计 N,通过与否看 `errorCount`,只校验不写库)) |
|
|
70
|
-
| 3 直接录 | 用户**明确**说「直接录」「我信你」 | 跳过 wizard,直接调写键,回 `receipt` 形 |
|
|
71
|
+
| 3 直接录 | 用户**明确**说「直接录」「我信你」 | 跳过 wizard,直接调写键,回 `receipt` 形 | 52 写键一律 `receipt`(`cli/write.ts` 模块头契约 + `out()` 组装 `{ok,message,receipt}`) |
|
|
71
72
|
|
|
72
|
-
- **页面已落地(#86 四页 + #179
|
|
73
|
-
-
|
|
73
|
+
- **页面已落地(#86 四页 + #179 档案预检页 + #251 目标预检页)**:verify 页**存在**,配置型 wizard 词命中即先出页,不再走文字 verify:`calorie.view.measure-wizard`(记围度/补记围度;场景 1 空页/场景 2 预填)/`calorie.view.composition-wizard`(记体脂三词;来源+体脂率+皮褶钳 7 点)/`calorie.view.photo-log-wizard`(记身材照;纯配置)/`calorie.view.gif-planner`(查身材照/生成身材照GIF;照片框选+4 数字裁剪)/`calorie.view.photo-picker`(删身材照与标签三条;候选快照)/`calorie.view.profile-wizard`(设置档案/改档案/设活动量;三条写入词共用一页,改前值取自库内现值,写入仍走三条写命令)/`calorie.view.goal-wizard`(定营养目标/定营养目标(自动算)/定体重目标/定体重目标(自动算截止)/定体重目标(含起始日)/定饮水目标/定饮水目标(自动算)/一键定全套目标/改营养目标/改体重目标/改饮水目标,共 11 条带空位的写词共用一页;页面摆库内现值/按档案算的推荐值与依据/改前→改后对照,写入仍走 5 条既有写命令。暂停所有目标/重启所有目标**无空位**,不出页)。页面=静态 HTML + `copyText`,出页后由用户复制 prompt 回给 AI,再按场景调写键。四页实跑证据见 `docs/research/t163-precheck-precedent.md` §3。
|
|
74
|
+
- 配置型写词在路由层落 `exec` 桶,不再是 `non-exec`(路由表里 `non-exec` 只剩 9 条,全是「明确不做」与无营养建议形态):命中即出本表那页——「定训练计划」出的是**计划编辑器(可写页)**,路由键 `calorie.view.plan-wizard`;用户改完复制命令,AI 调写键 `calorie.workout.plan-set`(唤醒词「确认定训练计划」)落库给 `receipt`。**定训练计划的写键确实存在,这条链不缺环**:`NON_EXEC_REASONS.planWriteMissing` 在 `routes.generated.ts` 里零命中、是死常量,它那句「本仓执行层不承接计划写入」与事实相反,不得据此拒绝出页或拒绝落库。
|
|
74
75
|
- AUTO 块(本文件下方「联动速查」)列出的单命令写键只证明**写键可达**,**不豁免**本表的 verify 前置;分流仍按本表:有数据走场景 2,明确授权才走场景 3。
|
|
75
76
|
- **禁止**:用户给了数据仍跳过 verify 直接调写键(数据看起来对也不例外)——v2.4.2 → v2.4.3 的根因就是这条。正解=按场景分流。
|
|
76
77
|
- **违反 = 协议 fail mode**:违反时向用户输出违规回执(逐字):「我跳过了 M6 verify 直接写库,违反 Wizard Verify 铁则;已停止后续写入,请确认数据后重来」;不得静默补记、不得事后补 verify 掩盖;同轮修正循环 ≤ 3 次。
|
|
78
|
+
- **两条 vs 目标词前置(#622)**:`看今日运动(vs 目标)`/`看本周运动(vs 目标)`在无目标且窗内有运动记录时先出预检确认页(过程型 HTML:现值缺席说明+目标值输入指引+确认后复制指令),用户确认后调 `calorie.goal.exercise` 写入再重跑看终页;有目标直出终页不变,不画空环。HELP 侧两条词的 prompt 原文已含「先问我目标值」,本条即工作流程的第一步(HELP 源正被他席改动,本票不碰,只记对齐)。
|
|
77
79
|
|
|
78
80
|
## 联动速查(构建期注入,勿手改)
|
|
79
81
|
|
|
80
82
|
<!-- HELP-AUTO-START -->
|
|
81
|
-
| 唤醒词 | key | shape | 例 |
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
| 删体脂 | calorie.body.composition-remove | receipt | `calorie-cmd-read calorie.body.composition-remove --params '{"id":1}'` |
|
|
85
|
-
| 记围度 | calorie.body.measure-add | receipt | `calorie-cmd-read calorie.body.measure-add --params '{"waistCm":85}'` |
|
|
86
|
-
| 删围度 | calorie.body.measure-remove | receipt | `calorie-cmd-read calorie.body.measure-remove --params '{"id":1}'` |
|
|
87
|
-
| 记一餐 | calorie.diet.add | receipt | `calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35}'` |
|
|
88
|
-
| 批量补记饮食 | calorie.diet.batch | receipt | `calorie-cmd-read calorie.diet.batch --params '{"items":[{"foodName":"粥","calories":150,"protein":3}]}'` |
|
|
89
|
-
| 复制昨日饮食 | calorie.diet.copy | receipt | `calorie-cmd-read calorie.diet.copy --params '{"from":"
|
|
90
|
-
| 删饮食记录 | calorie.diet.remove | receipt | `calorie-cmd-read calorie.diet.remove --params '{"id":1}'` |
|
|
91
|
-
| 删某日饮食 | calorie.diet.remove-by-date | receipt | `calorie-cmd-read calorie.diet.remove-by-date --params '{"date":"
|
|
92
|
-
| 批量删饮食 | calorie.diet.remove-by-range | receipt | `calorie-cmd-read calorie.diet.remove-by-range --params '{"start":"
|
|
93
|
-
| 删一餐 | calorie.diet.remove-by-type | receipt | `calorie-cmd-read calorie.diet.remove-by-type --params '{"
|
|
94
|
-
| 改饮食记录 | calorie.diet.update | receipt | `calorie-cmd-read calorie.diet.update --params '{"id":1,"grams":150}'` |
|
|
95
|
-
| 改某日饮食 | calorie.diet.update-by-date | receipt | `calorie-cmd-read calorie.diet.update-by-date --params '{"
|
|
96
|
-
| 记运动 | calorie.exercise.add | receipt | `calorie-cmd-read calorie.exercise.add --params '{"type":"慢跑","calories":320,"minutes":30}'` |
|
|
97
|
-
| 删运动记录 | calorie.exercise.remove | receipt | `calorie-cmd-read calorie.exercise.remove --params '{"id":1}'` |
|
|
98
|
-
| 改运动记录 | calorie.exercise.update | receipt | `calorie-cmd-read calorie.exercise.update --params '{"id":1,"minutes":40}'` |
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
|
|
|
171
|
-
|
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
| calorie.view.
|
|
177
|
-
| calorie.view.
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
83
|
+
| 唤醒词 | key | shape | 预检页 | 流程 | 例 |
|
|
84
|
+
|---|---|---|---|---|---|
|
|
85
|
+
| 记体脂(皮褶钳) | calorie.body.composition-add | receipt | calorie.view.composition-wizard | | `calorie-cmd-read calorie.body.composition-add --params '{"source":"gym","bodyFatPct":18.5}'` |
|
|
86
|
+
| 删体脂 | calorie.body.composition-remove | receipt | | | `calorie-cmd-read calorie.body.composition-remove --params '{"id":1}'` |
|
|
87
|
+
| 记围度 | calorie.body.measure-add | receipt | calorie.view.measure-wizard | | `calorie-cmd-read calorie.body.measure-add --params '{"waistCm":85}'` |
|
|
88
|
+
| 删围度 | calorie.body.measure-remove | receipt | | | `calorie-cmd-read calorie.body.measure-remove --params '{"id":1}'` |
|
|
89
|
+
| 记一餐 | calorie.diet.add | receipt | | | `calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35}'` |
|
|
90
|
+
| 批量补记饮食 | calorie.diet.batch | receipt | | | `calorie-cmd-read calorie.diet.batch --params '{"items":[{"foodName":"粥","calories":150,"protein":3}]}'` |
|
|
91
|
+
| 复制昨日饮食 | calorie.diet.copy | receipt | | | `calorie-cmd-read calorie.diet.copy --params '{"from":"<日期>"}'` |
|
|
92
|
+
| 删饮食记录 | calorie.diet.remove | receipt | | | `calorie-cmd-read calorie.diet.remove --params '{"id":1}'` |
|
|
93
|
+
| 删某日饮食 | calorie.diet.remove-by-date | receipt | | | `calorie-cmd-read calorie.diet.remove-by-date --params '{"date":"<日期>"}'` |
|
|
94
|
+
| 批量删饮食 | calorie.diet.remove-by-range | receipt | | | `calorie-cmd-read calorie.diet.remove-by-range --params '{"start":"<日期>","end":"<日期>"}'` |
|
|
95
|
+
| 删一餐 | calorie.diet.remove-by-type | receipt | | | `calorie-cmd-read calorie.diet.remove-by-type --params '{"mealType":"早餐","date":"<日期>"}'` |
|
|
96
|
+
| 改饮食记录 | calorie.diet.update | receipt | | | `calorie-cmd-read calorie.diet.update --params '{"id":1,"grams":150}'` |
|
|
97
|
+
| 改某日饮食 | calorie.diet.update-by-date | receipt | | | `calorie-cmd-read calorie.diet.update-by-date --params '{"note":"食堂","date":"<日期>"}'` |
|
|
98
|
+
| 记运动 | calorie.exercise.add | receipt | | | `calorie-cmd-read calorie.exercise.add --params '{"type":"慢跑","calories":320,"minutes":30}'` |
|
|
99
|
+
| 删运动记录 | calorie.exercise.remove | receipt | | | `calorie-cmd-read calorie.exercise.remove --params '{"id":1}'` |
|
|
100
|
+
| 改运动记录 | calorie.exercise.update | receipt | | | `calorie-cmd-read calorie.exercise.update --params '{"id":1,"minutes":40}'` |
|
|
101
|
+
| 定运动目标 | calorie.goal.exercise | receipt | | | `calorie-cmd-read calorie.goal.exercise --params '{"goal":300}'` |
|
|
102
|
+
| 暂停所有目标 | calorie.goal.pause | receipt | | | `calorie-cmd-read calorie.goal.pause` |
|
|
103
|
+
| 重启所有目标 | calorie.goal.resume | receipt | | | `calorie-cmd-read calorie.goal.resume` |
|
|
104
|
+
| 定营养目标 | calorie.goal.set | receipt | | | `calorie-cmd-read calorie.goal.set --params '{"calorie":1800,"protein":150,"carbs":200,"fat":50}'` |
|
|
105
|
+
| 定饮水目标 | calorie.goal.water | receipt | | | `calorie-cmd-read calorie.goal.water --params '{"water":2000}'` |
|
|
106
|
+
| 定体重目标 | calorie.goal.weight | receipt | | | `calorie-cmd-read calorie.goal.weight --params '{"kg":68}'` |
|
|
107
|
+
| 卡路里HELP | calorie.help.center | list | | | `calorie-cmd-read calorie.help.center --params '{"q":"记身材照"}'` |
|
|
108
|
+
| calorie.help.lookup | calorie.help.lookup | list | | | `calorie-cmd-read calorie.help.lookup --params '{"q":"看今日主页"}'` |
|
|
109
|
+
| 查热量历史 | calorie.history | list | | | `calorie-cmd-read calorie.history --params '{"days":7}'` |
|
|
110
|
+
| 记身材照 | calorie.photo.add | receipt | | | `calorie-cmd-read calorie.photo.add --params '{"srcPaths":["<照片路径>"],"tag":"正面"}'` |
|
|
111
|
+
| 对比两张照片 | calorie.photo.compare | list | | | `calorie-cmd-read calorie.photo.compare --params '{"id1":1,"id2":2}'` |
|
|
112
|
+
| calorie.photo.detail | calorie.photo.detail | detail | | | `calorie-cmd-read calorie.photo.detail --params '{"id":1}'` |
|
|
113
|
+
| 生成身材照GIF | calorie.photo.gif | analysis | | | `calorie-cmd-read calorie.photo.gif --params '{"tag":"正面"}'` |
|
|
114
|
+
| 看身材照 | calorie.photo.list | list | | | `calorie-cmd-read calorie.photo.list --params '{"tag":"正面"}'` |
|
|
115
|
+
| 删身材照 | calorie.photo.remove | receipt | | | `calorie-cmd-read calorie.photo.remove --params '{"id":1}'` |
|
|
116
|
+
| 改照片标签 | calorie.photo.tag | receipt | | | `calorie-cmd-read calorie.photo.tag --params '{"id":1,"op":"add","tag":"晨起"}'` |
|
|
117
|
+
| 存食品 | calorie.product.add | receipt | | | `calorie-cmd-read calorie.product.add --params '{"productName":"鸡胸肉","calories":165,"protein":31,"fat":3.6,"carbohydrates":0,"sodium":70}'` |
|
|
118
|
+
| 下架食品 | calorie.product.deprecate | receipt | | | `calorie-cmd-read calorie.product.deprecate --params '{"id":1}'` |
|
|
119
|
+
| 批量导入食品 | calorie.product.import | receipt | | | `calorie-cmd-read calorie.product.import --params '{"items":[{"productName":"测试导入燕麦","calories":389,"protein":13,"fat":7,"carbohydrates":66,"sodium":5}]}'` |
|
|
120
|
+
| 改食品 | calorie.product.update | receipt | | | `calorie-cmd-read calorie.product.update --params '{"id":1,"note":"新版"}'` |
|
|
121
|
+
| 设活动量 | calorie.profile.activity | receipt | | | `calorie-cmd-read calorie.profile.activity --params '{"activityLevel":"active"}'` |
|
|
122
|
+
| 设置档案 | calorie.profile.set | receipt | | | `calorie-cmd-read calorie.profile.set --params '{"heightCm":175,"activityLevel":"moderate"}'` |
|
|
123
|
+
| 改档案 | calorie.profile.update | receipt | | | `calorie-cmd-read calorie.profile.update --params '{"field":"heightCm","value":176}'` |
|
|
124
|
+
| 看BMI报告 | calorie.report.bmi | stat | | | `calorie-cmd-read calorie.report.bmi --params '{"window":"90d"}'` |
|
|
125
|
+
| 看BMR报告 | calorie.report.bmr | stat | | | `calorie-cmd-read calorie.report.bmr --params '{"window":"30d"}'` |
|
|
126
|
+
| 看健康报告(含对比) | calorie.report.compare | stat | | | `calorie-cmd-read calorie.report.compare --params '{"window":"7d"}'` |
|
|
127
|
+
| 看蛋白质摄入报告 | calorie.report.protein | stat | | | `calorie-cmd-read calorie.report.protein --params '{"window":"30d"}'` |
|
|
128
|
+
| 看综合评分 | calorie.report.score | stat | | | `calorie-cmd-read calorie.report.score --params '{"window":"30d"}'` |
|
|
129
|
+
| 看TDEE报告 | calorie.report.tdee | stat | | | `calorie-cmd-read calorie.report.tdee --params '{"window":"30d"}'` |
|
|
130
|
+
| 看健康趋势 | calorie.report.trend | stat | | | `calorie-cmd-read calorie.report.trend --params '{"window":"90d"}'` |
|
|
131
|
+
| 看水分摄入报告 | calorie.report.water | stat | | | `calorie-cmd-read calorie.report.water --params '{"window":"30d"}'` |
|
|
132
|
+
| 看今日饮食 | calorie.today | list | | | `calorie-cmd-read calorie.today --params '{"date":"今日"}'` |
|
|
133
|
+
| calorie.view.anomaly | calorie.view.anomaly | stat | | | `calorie-cmd-read calorie.view.anomaly --params '{"kind":"weight_volatility","window":"90d"}'` |
|
|
134
|
+
| 校验批量导入 | calorie.view.batch-import-preview | stat | | | `calorie-cmd-read calorie.view.batch-import-preview --params '{"items":[{"foodName":"粥","calories":150,"protein":3,"date":"<日期>"}]}'` |
|
|
135
|
+
| 看体脂 | calorie.view.body-composition | stat | | | `calorie-cmd-read calorie.view.body-composition` |
|
|
136
|
+
| 对比体脂 | calorie.view.body-composition-compare | stat | | | `calorie-cmd-read calorie.view.body-composition-compare --params '{"period1Start":"<开始日期>","period1End":"<结束日期>","period2Start":"<对比开始日期>","period2End":"<对比结束日期>"}'` |
|
|
137
|
+
| 看围度 | calorie.view.body-measure | stat | | | `calorie-cmd-read calorie.view.body-measure --params '{"metric":"waist_cm"}'` |
|
|
138
|
+
| 对比围度 | calorie.view.body-measure-compare | stat | | | `calorie-cmd-read calorie.view.body-measure-compare --params '{"date1":"<开始日期>","date2":"<结束日期>"}'` |
|
|
139
|
+
| 看热量趋势 | calorie.view.calorie-trend | stat | | | `calorie-cmd-read calorie.view.calorie-trend --params '{"window":"7d"}'` |
|
|
140
|
+
| 看体重 vs 摄入(最近 7 天) | calorie.view.combined | stat | | | `calorie-cmd-read calorie.view.combined --params '{"pair":"weight_calorie","window":"7d"}'` |
|
|
141
|
+
| calorie.view.composition-wizard | calorie.view.composition-wizard | stat | | | `calorie-cmd-read calorie.view.composition-wizard` |
|
|
142
|
+
| calorie.view.contraindication | calorie.view.contraindication | stat | | | `calorie-cmd-read calorie.view.contraindication --params '{"part":"all"}'` |
|
|
143
|
+
| 看食品库(去重) | calorie.view.dedupe | stat | | | `calorie-cmd-read calorie.view.dedupe` |
|
|
144
|
+
| 看热量缺口 | calorie.view.deficit | stat | | | `calorie-cmd-read calorie.view.deficit --params '{"window":"7d"}'` |
|
|
145
|
+
| 看昨日饮食 | calorie.view.diet | stat | | | `calorie-cmd-read calorie.view.diet --params '{"window":"今日"}'` |
|
|
146
|
+
| 看营养结构 | calorie.view.diet-review | stat | | | `calorie-cmd-read calorie.view.diet-review --params '{"window":"7d"}'` |
|
|
147
|
+
| 看今日运动概览 | calorie.view.exercise | stat | | | `calorie-cmd-read calorie.view.exercise --params '{"window":"今日"}'` |
|
|
148
|
+
| 看有氧训练总览 | calorie.view.exercise-cardio | stat | | | `calorie-cmd-read calorie.view.exercise-cardio --params '{"window":"7d"}'` |
|
|
149
|
+
| 看运动类型分布 | calorie.view.exercise-distribution | stat | | | `calorie-cmd-read calorie.view.exercise-distribution --params '{"window":"7d"}'` |
|
|
150
|
+
| 看今日运动(vs 目标) | calorie.view.exercise-goal | stat | | | `calorie-cmd-read calorie.view.exercise-goal --params '{"window":"今日"}'` |
|
|
151
|
+
| 运动复盘(本周) | calorie.view.exercise-recap | stat | | | `calorie-cmd-read calorie.view.exercise-recap --params '{"window":"7d"}'` |
|
|
152
|
+
| 看运动记录(有备注) | calorie.view.exercise-records | stat | | | `calorie-cmd-read calorie.view.exercise-records --params '{"window":"7d"}'` |
|
|
153
|
+
| 计划复盘(本周) | calorie.view.exercise-review | stat | | | `calorie-cmd-read calorie.view.exercise-review --params '{"window":"本周"}'` |
|
|
154
|
+
| 看力量训练总览 | calorie.view.exercise-strength | stat | | | `calorie-cmd-read calorie.view.exercise-strength --params '{"window":"7d"}'` |
|
|
155
|
+
| 看运动趋势 | calorie.view.exercise-trend | stat | | | `calorie-cmd-read calorie.view.exercise-trend --params '{"window":"7d"}'` |
|
|
156
|
+
| calorie.view.gif-planner | calorie.view.gif-planner | stat | | | `calorie-cmd-read calorie.view.gif-planner --params '{"tag":"正面"}'` |
|
|
157
|
+
| 看目标完成度 | calorie.view.goal | stat | | | `calorie-cmd-read calorie.view.goal --params '{"window":"7d"}'` |
|
|
158
|
+
| 看目标配置 | calorie.view.goal-config | stat | | | `calorie-cmd-read calorie.view.goal-config` |
|
|
159
|
+
| 看即将到期的目标 | calorie.view.goal-expiring | stat | | | `calorie-cmd-read calorie.view.goal-expiring` |
|
|
160
|
+
| 看目标预测达成 | calorie.view.goal-predict | stat | | | `calorie-cmd-read calorie.view.goal-predict --params '{"window":"14d"}'` |
|
|
161
|
+
| 看今日目标进度 | calorie.view.goal-progress | stat | | | `calorie-cmd-read calorie.view.goal-progress --params '{"window":"今日"}'` |
|
|
162
|
+
| 看目标推荐 | calorie.view.goal-recommend | stat | | | `calorie-cmd-read calorie.view.goal-recommend --params '{"profile":"cut"}'` |
|
|
163
|
+
| 看目标状态 | calorie.view.goal-status | stat | | | `calorie-cmd-read calorie.view.goal-status` |
|
|
164
|
+
| 看目标对比实际 | calorie.view.goal-vs-actual | stat | | | `calorie-cmd-read calorie.view.goal-vs-actual --params '{"window":"30d"}'` |
|
|
165
|
+
| 看体重目标进度 | calorie.view.goal-weight | stat | | 对比体重 | `calorie-cmd-read calorie.view.goal-weight --params '{"window":"30d"}'` |
|
|
166
|
+
| 看目标预检 | calorie.view.goal-wizard | stat | | | `calorie-cmd-read calorie.view.goal-wizard` |
|
|
167
|
+
| 看健康盘 | calorie.view.health | stat | | | `calorie-cmd-read calorie.view.health --params '{"window":"本周"}'` |
|
|
168
|
+
| 看今日主页 | calorie.view.home | stat | | | `calorie-cmd-read calorie.view.home --params '{"date":"今日"}'` |
|
|
169
|
+
| calorie.view.label-precheck | calorie.view.label-precheck | stat | | | `calorie-cmd-read calorie.view.label-precheck --params '{"productName":"鸡胸","calories":200,"protein":35,"note":"营养表识别"}'` |
|
|
170
|
+
| 查食品(按分类) | calorie.view.library | stat | | | `calorie-cmd-read calorie.view.library` |
|
|
171
|
+
| 查卡路里数据 | calorie.view.lint-health | stat | | | `calorie-cmd-read calorie.view.lint-health` |
|
|
172
|
+
| 看整体趋势 | calorie.view.long-trend | stat | | | `calorie-cmd-read calorie.view.long-trend --params '{"group":"weight_calorie","window":"30d"}'` |
|
|
173
|
+
| calorie.view.measure-wizard | calorie.view.measure-wizard | stat | | | `calorie-cmd-read calorie.view.measure-wizard` |
|
|
174
|
+
| 看整体趋势(含目标对比) | calorie.view.multi-trend | stat | | | `calorie-cmd-read calorie.view.multi-trend --params '{"window":"90d","compare":"target"}'` |
|
|
175
|
+
| 看营养分析 | calorie.view.nutrition-analysis | stat | | | `calorie-cmd-read calorie.view.nutrition-analysis --params '{"window":"7d"}'` |
|
|
176
|
+
| 看营养素深度 | calorie.view.nutrition-detail | stat | | | `calorie-cmd-read calorie.view.nutrition-detail --params '{"window":"7d"}'` |
|
|
177
|
+
| 查营养配比 | calorie.view.nutrition-ratio | stat | | | `calorie-cmd-read calorie.view.nutrition-ratio --params '{"window":"7d"}'` |
|
|
178
|
+
| calorie.view.photo-log-wizard | calorie.view.photo-log-wizard | stat | | | `calorie-cmd-read calorie.view.photo-log-wizard` |
|
|
179
|
+
| calorie.view.photo-picker | calorie.view.photo-picker | list | | | `calorie-cmd-read calorie.view.photo-picker` |
|
|
180
|
+
| 看计划概览 | calorie.view.plan | stat | | | `calorie-cmd-read calorie.view.plan --params '{"date":"今日"}'` |
|
|
181
|
+
| 看计划 vs 实际 | calorie.view.plan-vs-actual | stat | | | `calorie-cmd-read calorie.view.plan-vs-actual --params '{"window":"本周"}'` |
|
|
182
|
+
| calorie.view.plan-wizard | calorie.view.plan-wizard | stat | | | `calorie-cmd-read calorie.view.plan-wizard --params '{"plan":{"config":{"title":"减脂4周","start_date":"<开始日期>","user_level":"中手","available_equipment":["瑜伽垫"]},"weeks":[{"week_number":1,"days":[{"day_of_week":1,"sessions":[{"session_label":"上肢","movements":[{"name":"俯卧撑","part":"胸","type":"力量","sets":[]}]}]}]}]}}'` |
|
|
183
|
+
| calorie.view.plan-write-preview | calorie.view.plan-write-preview | stat | | | `calorie-cmd-read calorie.view.plan-write-preview --params '{"op":"copy"}'` |
|
|
184
|
+
| calorie.view.predict | calorie.view.predict | stat | | | `calorie-cmd-read calorie.view.predict --params '{"horizonDays":7,"window":"14d"}'` |
|
|
185
|
+
| 看落地训练进度 | calorie.view.process-progress | stat | | | `calorie-cmd-read calorie.view.process-progress` |
|
|
186
|
+
| calorie.view.profile | calorie.view.profile | stat | | | `calorie-cmd-read calorie.view.profile` |
|
|
187
|
+
| 看档案预检 | calorie.view.profile-wizard | stat | | | `calorie-cmd-read calorie.view.profile-wizard` |
|
|
188
|
+
| 看高热量榜 | calorie.view.ranking | stat | | | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_calorie","topN":10,"window":"7d"}'` |
|
|
189
|
+
| 看复盘报告 | calorie.view.review-template | stat | | | `calorie-cmd-read calorie.view.review-template --params '{"window":"7d"}'` |
|
|
190
|
+
| 查食品 | calorie.view.search | stat | | | `calorie-cmd-read calorie.view.search --params '{"keyword":"鸡胸"}'` |
|
|
191
|
+
| 看每日六因素 | calorie.view.six-factors | stat | | | `calorie-cmd-read calorie.view.six-factors --params '{"date":"今日"}'` |
|
|
192
|
+
| 看食品来源统计 | calorie.view.source-stats | stat | | | `calorie-cmd-read calorie.view.source-stats` |
|
|
193
|
+
| 看今日喝水 | calorie.view.today-water | stat | | | `calorie-cmd-read calorie.view.today-water --params '{"date":"今日"}'` |
|
|
194
|
+
| 看体重稳不稳(增强版) | calorie.view.volatility | stat | | 看体重稳不稳 | `calorie-cmd-read calorie.view.volatility --params '{"window":"7d"}'` |
|
|
195
|
+
| 看今日体重 | calorie.view.weight | stat | | 量体重/体重复盘 | `calorie-cmd-read calorie.view.weight` |
|
|
196
|
+
| 对比体重:本月 vs 上月 | calorie.view.weight-compare | stat | | 对比体重 | `calorie-cmd-read calorie.view.weight-compare --params '{"window":"30d","compareWindow":"prev"}'` |
|
|
197
|
+
| 看本周体重 | calorie.view.weight-history | stat | | 看体重明细/看体重曲线/看体重备注 | `calorie-cmd-read calorie.view.weight-history --params '{"days":7}'` |
|
|
198
|
+
| 看体重复核 | calorie.view.weight-review | stat | | 体重复盘 | `calorie-cmd-read calorie.view.weight-review` |
|
|
199
|
+
| 记喝水 | calorie.water.log | receipt | | | `calorie-cmd-read calorie.water.log --params '{"ml":300}'` |
|
|
200
|
+
| 批量补录体重 | calorie.weight.batch | receipt | | 量体重 | `calorie-cmd-read calorie.weight.batch --params '{"items":[{"date":"<日期>","kg":70.5}]}'` |
|
|
201
|
+
| 记体重 | calorie.weight.log | receipt | | 量体重 | `calorie-cmd-read calorie.weight.log --params '{"kg":70.5}'` |
|
|
202
|
+
| 删体重记录 | calorie.weight.remove | receipt | | 改体重记录 | `calorie-cmd-read calorie.weight.remove --params '{"id":1}'` |
|
|
203
|
+
| 改体重记录 | calorie.weight.update | receipt | | 改体重记录 | `calorie-cmd-read calorie.weight.update --params '{"id":1,"kg":70.2}'` |
|
|
204
|
+
| 落地训练 | calorie.workout.land | receipt | | | `calorie-cmd-read calorie.workout.land --params '{"date":"<日期>","dryRun":true}'` |
|
|
205
|
+
| 落地到本月底 | calorie.workout.land-monthend | receipt | | | `calorie-cmd-read calorie.workout.land-monthend --params '{"date":"<日期>","dryRun":true}'` |
|
|
206
|
+
| 落地到本周末 | calorie.workout.land-weekend | receipt | | | `calorie-cmd-read calorie.workout.land-weekend --params '{"date":"<日期>","dryRun":true}'` |
|
|
207
|
+
| 确认加训练动作 | calorie.workout.plan-add-movement | receipt | | | `calorie-cmd-read calorie.workout.plan-add-movement --params '{"week":1,"dayOfWeek":1,"movement":{"name":"深蹲"}}'` |
|
|
208
|
+
| 确认复制训练计划 | calorie.workout.plan-copy | receipt | | | `calorie-cmd-read calorie.workout.plan-copy --params '{"newTitle":"示例副本"}'` |
|
|
209
|
+
| 确认撤销训练计划 | calorie.workout.plan-delete | receipt | | | `calorie-cmd-read calorie.workout.plan-delete --params '{"confirm":true}'` |
|
|
210
|
+
| 确认删某天训练 | calorie.workout.plan-delete-day | receipt | | | `calorie-cmd-read calorie.workout.plan-delete-day --params '{"week":1,"dayOfWeek":3}'` |
|
|
211
|
+
| 确认定训练计划 | calorie.workout.plan-set | receipt | | | `calorie-cmd-read calorie.workout.plan-set --params '{"plan":{"config":{"title":"示例计划","start_date":"<日期>","user_level":"中手","available_equipment":["瑜伽垫"]},"weeks":[{"week_number":1,"days":[{"day_of_week":1,"sessions":[{"session_label":"上肢","movements":[{"name":"俯卧撑"}]}]}]}]}}'` |
|
|
212
|
+
| 确认定休息日 | calorie.workout.plan-set-rest | receipt | | | `calorie-cmd-read calorie.workout.plan-set-rest --params '{"week":1,"dayOfWeek":3}'` |
|
|
213
|
+
| 确认定一周计划 | calorie.workout.plan-set-week | receipt | | | `calorie-cmd-read calorie.workout.plan-set-week --params '{"week":1,"days":[{"dayOfWeek":1,"sessionLabel":"上肢","movements":[{"name":"俯卧撑"}]}]}'` |
|
|
214
|
+
| 确认改训练计划 | calorie.workout.plan-update | receipt | | | `calorie-cmd-read calorie.workout.plan-update --params '{"title":"示例改名"}'` |
|
|
215
|
+
| 确认改某天训练 | calorie.workout.plan-update-day | receipt | | | `calorie-cmd-read calorie.workout.plan-update-day --params '{"week":1,"dayOfWeek":3,"newLabel":"下肢+核心"}'` |
|
|
216
|
+
| 确认改动作 | calorie.workout.plan-update-movement | receipt | | | `calorie-cmd-read calorie.workout.plan-update-movement --params '{"oldMovement":"硬拉","newMovement":{"name":"杠铃划船"}}'` |
|
|
217
|
+
| 拉训记实绩 | calorie.workout.xunji-backfill | receipt | | | `calorie-cmd-read calorie.workout.xunji-backfill --params '{"date":"<日期>","days":1,"dryRun":true}'` |
|
|
218
|
+
| 同步到训记 | calorie.workout.xunji-push | receipt | | | `calorie-cmd-read calorie.workout.xunji-push --params '{"date":"<日期>","dryRun":true}'` |
|
|
219
|
+
|
|
220
|
+
「唤醒词」列是这条命令的代表词,四个来源逐条自述:饮食场景的命令取它自己那条词(源=路由层,25 条);目标管理场景 06 的命令取它自己那条词(源=路由层场景 06,新词优先否则冻结首词,9 条,缺项构建期硬失败);其余取命令声明里的代表词(`gen-cli.mjs` 写 `REPR` 表,86 条);只为页面服务、没有唤醒词的命令列命令名自身(14 条)。本生成器不另存第二份唤醒词。「预检页」列是该写命令**先出的预检确认页命令**(查询命令与「读—确认—写」那一类留空,事实出处=`src/body/wizardPlate.ts` 的 `WIZARD_WRITE_KEYS`);「流程」列是它服务的工作流程名。三列的事实都住各自能力目录的声明与路由,本表由 `pnpm help:build` 生成。
|
|
221
|
+
体重一族 58 条唤醒词各归**一条**工作流程(八条流程的步骤与逐条对照见「场景 03 体重工作流程」一节与 `docs/skills/skill-calorie/t338-流程接线-证据.md` §3);流程名的事实住命令声明(`src/weight/commands.ts` 与 `src/goal/commands.ts` 的 `flows`),本表由 `pnpm help:build` 生成。
|
|
222
|
+
上表「流程」列按**命令**列:一条命令服务多条流程时用「/」列全(`calorie.view.weight-history`=看体重明细/看体重曲线/看体重备注),首项是「唤醒词」列那条代表词所在的流程;「唤醒词」列是这条命令的代表词,个别命令的代表词取自别的场景清单(如 `calorie.view.weight-review` 一行的「看体重复核」)。
|
|
223
|
+
相关场景:calorie.body.composition-add、calorie.body.composition-remove、calorie.body.measure-add、calorie.body.measure-remove、calorie.diet.add、calorie.diet.batch、calorie.diet.copy、calorie.diet.remove、calorie.diet.remove-by-date、calorie.diet.remove-by-range、calorie.diet.remove-by-type、calorie.diet.update、calorie.diet.update-by-date、calorie.exercise.add、calorie.exercise.remove、calorie.exercise.update、calorie.goal.exercise、calorie.goal.pause、calorie.goal.resume、calorie.goal.set、calorie.goal.water、calorie.goal.weight、calorie.help.center、calorie.help.lookup、calorie.history、calorie.photo.add、calorie.photo.compare、calorie.photo.detail、calorie.photo.gif、calorie.photo.list、calorie.photo.remove、calorie.photo.tag、calorie.product.add、calorie.product.deprecate、calorie.product.import、calorie.product.update、calorie.profile.activity、calorie.profile.set、calorie.profile.update、calorie.report.bmi、calorie.report.bmr、calorie.report.compare、calorie.report.protein、calorie.report.score、calorie.report.tdee、calorie.report.trend、calorie.report.water、calorie.today、calorie.view.anomaly、calorie.view.batch-import-preview、calorie.view.body-composition、calorie.view.body-composition-compare、calorie.view.body-measure、calorie.view.body-measure-compare、calorie.view.calorie-trend、calorie.view.combined、calorie.view.composition-wizard、calorie.view.contraindication、calorie.view.dedupe、calorie.view.deficit、calorie.view.diet、calorie.view.diet-review、calorie.view.exercise、calorie.view.exercise-cardio、calorie.view.exercise-distribution、calorie.view.exercise-goal、calorie.view.exercise-recap、calorie.view.exercise-records、calorie.view.exercise-review、calorie.view.exercise-strength、calorie.view.exercise-trend、calorie.view.gif-planner、calorie.view.goal、calorie.view.goal-config、calorie.view.goal-expiring、calorie.view.goal-predict、calorie.view.goal-progress、calorie.view.goal-recommend、calorie.view.goal-status、calorie.view.goal-vs-actual、calorie.view.goal-weight、calorie.view.goal-wizard、calorie.view.health、calorie.view.home、calorie.view.label-precheck、calorie.view.library、calorie.view.lint-health、calorie.view.long-trend、calorie.view.measure-wizard、calorie.view.multi-trend、calorie.view.nutrition-analysis、calorie.view.nutrition-detail、calorie.view.nutrition-ratio、calorie.view.photo-log-wizard、calorie.view.photo-picker、calorie.view.plan、calorie.view.plan-vs-actual、calorie.view.plan-wizard、calorie.view.plan-write-preview、calorie.view.predict、calorie.view.process-progress、calorie.view.profile、calorie.view.profile-wizard、calorie.view.ranking、calorie.view.review-template、calorie.view.search、calorie.view.six-factors、calorie.view.source-stats、calorie.view.today-water、calorie.view.volatility、calorie.view.weight、calorie.view.weight-compare、calorie.view.weight-history、calorie.view.weight-review、calorie.water.log、calorie.weight.batch、calorie.weight.log、calorie.weight.remove、calorie.weight.update、calorie.workout.land、calorie.workout.land-monthend、calorie.workout.land-weekend、calorie.workout.plan-add-movement、calorie.workout.plan-copy、calorie.workout.plan-delete、calorie.workout.plan-delete-day、calorie.workout.plan-set、calorie.workout.plan-set-rest、calorie.workout.plan-set-week、calorie.workout.plan-update、calorie.workout.plan-update-day、calorie.workout.plan-update-movement、calorie.workout.xunji-backfill、calorie.workout.xunji-push(134 组合,key 字符串 skilllink 登记时冻结;内部 VIEW 的下划线名只供页面装配复用)。
|
|
224
|
+
身材照片 HELP 模块:skill-calorie/photo/photo+skill-calorie/photo/photos(gallery/compare/viewer/gif/picker + buildPhotoHelp/lookupPhotoHelp,现找直达可执行 exec)。
|
|
225
|
+
|
|
226
|
+
### 场景 02 饮食 · 逐条唤醒词 → 命令 → 工作流程(70 条,一行一条唤醒词)
|
|
227
|
+
|
|
228
|
+
| 唤醒词 | 命令(照抄即跑) | 工作流程 |
|
|
229
|
+
|---|---|---|
|
|
230
|
+
| 记一餐 | `calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
231
|
+
| 记一餐(含备注) | `calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35,"note":"加了辣酱"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
232
|
+
| 补记饮食 | `calorie-cmd-read calorie.diet.add --params '{"foodName":"米饭","calories":500,"protein":10,"time":"12:30:00","date":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
233
|
+
| 批量补记饮食 | `calorie-cmd-read calorie.diet.batch --params '{"items":[{"foodName":"粥","calories":150,"protein":3,"date":"<日期>"}]}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
234
|
+
| 拍营养表记一餐 | `calorie-cmd-read calorie.diet.add --params '{"foodName":"鸡胸","calories":200,"protein":35,"note":"营养表识别","source":"photo","entry":"precheck"}'` | 过程:先出预检确认页 → 用户确认 → 跑这条命令 |
|
|
235
|
+
| 拍营养表补记一餐 | `calorie-cmd-read calorie.diet.add --params '{"foodName":"米饭","calories":500,"protein":10,"date":"<日期>","time":"12:30:00","note":"营养表补记","source":"photo","entry":"precheck"}'` | 过程:先出预检确认页 → 用户确认 → 跑这条命令 |
|
|
236
|
+
| 记喝水 | `calorie-cmd-read calorie.water.log --params '{"ml":300}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
237
|
+
| 复制昨日饮食 | `calorie-cmd-read calorie.diet.copy --params '{"from":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
238
|
+
| 改饮食记录 | `calorie-cmd-read calorie.diet.update --params '{"id":1,"grams":150}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
239
|
+
| 改某日饮食 | `calorie-cmd-read calorie.diet.update-by-date --params '{"note":"食堂","date":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
240
|
+
| 删饮食记录 | `calorie-cmd-read calorie.diet.remove --params '{"id":1}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
241
|
+
| 删一餐 | `calorie-cmd-read calorie.diet.remove-by-type --params '{"mealType":"早餐","date":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
242
|
+
| 删某日饮食 | `calorie-cmd-read calorie.diet.remove-by-date --params '{"date":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
243
|
+
| 批量删饮食 | `calorie-cmd-read calorie.diet.remove-by-range --params '{"start":"<日期>","end":"<日期>"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
244
|
+
| 看今日饮食 | `calorie-cmd-read calorie.today --params '{"date":"今日"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
245
|
+
| 看昨日饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"昨日"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
246
|
+
| 看本周饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"本周"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
247
|
+
| 看上周饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"上周"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
248
|
+
| 看本月饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
249
|
+
| 看上月饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"上月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
250
|
+
| 看最近 7 天饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
251
|
+
| 看最近 30 天饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
252
|
+
| 看某段时间饮食 | `calorie-cmd-read calorie.view.diet --params '{"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
253
|
+
| 看今日喝水 | `calorie-cmd-read calorie.view.today-water --params '{"date":"今日","entry":"drink"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
254
|
+
| 看有备注的饮食记录 | `calorie-cmd-read calorie.today --params '{"date":"今日","hasNote":true}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
255
|
+
| 查食品 | `calorie-cmd-read calorie.view.search --params '{"keyword":"鸡胸"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
256
|
+
| 查食品(按分类) | `calorie-cmd-read calorie.view.library --params '{"category":"蛋白类"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
257
|
+
| 存食品 | `calorie-cmd-read calorie.product.add --params '{"productName":"鸡胸肉","calories":165,"protein":31,"fat":3.6,"carbohydrates":0,"sodium":70}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
258
|
+
| 改食品 | `calorie-cmd-read calorie.product.update --params '{"id":1,"note":"新版"}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
259
|
+
| 下架食品 | `calorie-cmd-read calorie.product.deprecate --params '{"id":1}'` | 回执:跑这条命令 → 写后回执页落盘 |
|
|
260
|
+
| 看食品库(去重) | `calorie-cmd-read calorie.view.dedupe` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
261
|
+
| 批量导入食品 | `calorie-cmd-read calorie.product.import --params '{"items":[{"productName":"测试导入燕麦","calories":389,"protein":13,"fat":7,"carbohydrates":66,"sodium":5}],"entry":"precheck"}'` | 过程:先出预检确认页 → 用户确认 → 跑这条命令 |
|
|
262
|
+
| 校验批量导入 | `calorie-cmd-read calorie.view.batch-import-preview --params '{"items":[{"foodName":"粥","calories":150,"protein":3}],"entry":"validate"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
263
|
+
| 看食品来源统计 | `calorie-cmd-read calorie.view.source-stats` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
264
|
+
| 看营养结构 | `calorie-cmd-read calorie.view.diet-review --params '{"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
265
|
+
| 看今日营养 | `calorie-cmd-read calorie.view.diet-review --params '{"window":"今日","entry":"today-nutrition"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
266
|
+
| 看饮食总览 | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","entry":"overview"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
267
|
+
| 看营养素深度 | `calorie-cmd-read calorie.view.nutrition-detail --params '{"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
268
|
+
| 看高热量榜 | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_calorie","topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
269
|
+
| 看低热量榜 | `calorie-cmd-read calorie.view.ranking --params '{"category":"low_calorie","topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
270
|
+
| 看频繁吃榜 | `calorie-cmd-read calorie.view.ranking --params '{"category":"frequent","topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
271
|
+
| 看高碳水榜 | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_carb","topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
272
|
+
| 看高蛋白榜 | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_protein","topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
273
|
+
| 看全部排行榜 | `calorie-cmd-read calorie.view.ranking --params '{"topN":10,"window":"7d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
274
|
+
| 看高热量榜(最近 30 天) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_calorie","topN":10,"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
275
|
+
| 看高热量榜(本月) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_calorie","topN":10,"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
276
|
+
| 看高热量榜(自定义) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_calorie","topN":10,"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
277
|
+
| 看低热量榜(最近 30 天) | `calorie-cmd-read calorie.view.ranking --params '{"category":"low_calorie","topN":10,"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
278
|
+
| 看低热量榜(本月) | `calorie-cmd-read calorie.view.ranking --params '{"category":"low_calorie","topN":10,"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
279
|
+
| 看低热量榜(自定义) | `calorie-cmd-read calorie.view.ranking --params '{"category":"low_calorie","topN":10,"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
280
|
+
| 看频繁吃榜(最近 30 天) | `calorie-cmd-read calorie.view.ranking --params '{"category":"frequent","topN":10,"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
281
|
+
| 看频繁吃榜(本月) | `calorie-cmd-read calorie.view.ranking --params '{"category":"frequent","topN":10,"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
282
|
+
| 看频繁吃榜(自定义) | `calorie-cmd-read calorie.view.ranking --params '{"category":"frequent","topN":10,"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
283
|
+
| 看高碳水榜(最近 30 天) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_carb","topN":10,"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
284
|
+
| 看高碳水榜(本月) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_carb","topN":10,"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
285
|
+
| 看高碳水榜(自定义) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_carb","topN":10,"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
286
|
+
| 看高蛋白榜(最近 30 天) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_protein","topN":10,"window":"30d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
287
|
+
| 看高蛋白榜(本月) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_protein","topN":10,"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
288
|
+
| 看高蛋白榜(自定义) | `calorie-cmd-read calorie.view.ranking --params '{"category":"high_protein","topN":10,"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
289
|
+
| 饮食复盘(本周) | `calorie-cmd-read calorie.view.diet-review --params '{"window":"本周"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
290
|
+
| 饮食复盘(本月) | `calorie-cmd-read calorie.view.diet-review --params '{"window":"本月"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
291
|
+
| 饮食复盘(最近 90 天) | `calorie-cmd-read calorie.view.diet-review --params '{"window":"90d"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
292
|
+
| 饮食复盘(今年) | `calorie-cmd-read calorie.view.diet-review --params '{"window":"今年"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
293
|
+
| 饮食复盘(自定义时间) | `calorie-cmd-read calorie.view.diet-review --params '{"window":"custom","start":"<开始日期>","end":"<结束日期>"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
294
|
+
| 看早餐(最近 7 天) | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","meal":"早餐"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
295
|
+
| 看午餐(最近 7 天) | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","meal":"午餐"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
296
|
+
| 看晚餐(最近 7 天) | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","meal":"晚餐"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
297
|
+
| 看加餐(最近 7 天) | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","meal":"加餐"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
298
|
+
| 看全部餐别分布(最近 7 天) | `calorie-cmd-read calorie.view.diet --params '{"window":"7d","meal":"all"}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
299
|
+
| 看「有备注」的饮食记录 | `calorie-cmd-read calorie.today --params '{"date":"今日","hasNote":true}'` | 结果:跑这条命令 → 结果型 HTML 落盘 |
|
|
300
|
+
|
|
301
|
+
本表 70 行=HELP 资产「饮食」组的场景条数=冻结唤醒词表 `scene-02-diet.ts` 的条数(构建期逐词核对,差一条即停);三类流程:结果 52 条/回执 15 条/过程 3 条。
|
|
302
|
+
「命令」列是该词在路由层(`src/diet/routes.ts`)记的那一条,照抄即跑;三类的步骤与交付判据见「场景 02 饮食工作流程」一节。
|
|
186
303
|
<!-- HELP-AUTO-END -->
|
|
187
304
|
|
|
305
|
+
## 场景 02 饮食工作流程(70 条唤醒词/三类流程)
|
|
306
|
+
|
|
307
|
+
- 逐词对照表在上方「联动速查」节末(构建期注入:一行一条唤醒词,命令照抄即跑)。三类流程共用同一套步骤与判据:
|
|
308
|
+
- **结果**:用户说唤醒词 → 复制该词的 prompt → 跑表里那条命令 → 结果型 HTML 落盘,`data.output` 回绝对路径。
|
|
309
|
+
- **回执**:同上,交付写后回执页;改/删类先读定位(`calorie.today`/`calorie.view.diet` 给得出记录编号),把当前内容给用户看过,再跑写命令。
|
|
310
|
+
- **过程**:先出预检确认页 → 用户确认 → 跑表里那条写命令 → 写后回执页。营养表两条的读数在模型侧,先把识别结果给用户看;批量导入食品先跑 `calorie.view.batch-import-preview` 拿导入条数/跳过条数/失败明细。
|
|
311
|
+
- 交付判据:① HTML 落盘、`data.output` 是绝对路径;② 字节不为 0;③ 文字回复只概括结论、不超过三句话;④ 该缺数据的(窗内无记录、记录编号不存在)出可读的缺失阻断且不落盘——这一档算完成,不算缺陷。
|
|
312
|
+
- 权威源:唤醒词与它的类型住 HELP 资产 `src/triggers/wake-assets.ts` 的「饮食」组(与冻结唤醒词表 `src/triggers/scene-02-diet.ts` 逐词相同,构建期核对,差一条即停);命令与参数住路由层 `src/diet/routes.ts`;那张表由 `pnpm help:build` 生成,谁都不手改。
|
|
313
|
+
- 三类各自的条数不在此处手写:见上方那张表的自述行(构建期按当刻数据算)。
|
|
314
|
+
|
|
188
315
|
## HELP 交付与速查台
|
|
189
316
|
|
|
190
|
-
- **「卡路里HELP」=老技能同款 HELP 文件**(#139 起):`calorie-cmd-read calorie.help.center` 缺省即出 `卡路里_HELP_<时间戳>.html`(老命名,V4 三级目录壳,与老技能视觉一致;落 `data.output`,约 300 KB **只落盘**、不进 envelope
|
|
317
|
+
- **「卡路里HELP」=老技能同款 HELP 文件**(#139 起):`calorie-cmd-read calorie.help.center` 缺省即出 `卡路里_HELP_<时间戳>.html`(老命名,V4 三级目录壳,与老技能视觉一致;落 `data.output`,约 300 KB **只落盘**、不进 envelope)。**除下面的复用窗口外别再给它加参数**——缺省就是目的地交付物。
|
|
318
|
+
- **反复读不再涨目录(#245)**:HELP 文件与速查台**同一主体一天内只留一份**——24 小时内再读就**复用已有那份**(不新建、不改写;`data.output` 给的就是它)。要别的窗口给 `--params '{"reuseHours":3}'`(小时);要**每次都要一份最新的**给 `{"reuseHours":0}`。窗口内已有一份、而你刚改过内容时,那份旧产物**不会自动刷新**(窗口语义如此)——真要新的就带 `reuseHours:0`。业务页面与失败回执**不吃窗口**(每跑一次仍各留一份)。
|
|
191
319
|
- **速查台(#88,须显式要)**:`--params '{"mode":"file"}'` 出完整 HTML 速查台(436 场景/54 子功能/10 分组,卡级复制按钮,约 1 MB,落 `卡路里_速查台_<时间戳>.html`);`{"mode":"inline"}` 出内嵌片段/`{"mode":"text"}` 出纯文本索引;非法 `mode` 与 `q`+`mode` 同给一律 exit 2。
|
|
192
|
-
- **照片
|
|
320
|
+
- **照片 11 键走 `q`**(不是 `mode`):`--params '{"q":"记身材照"}'` 现找、`{"q":""}` 全表,顺序跟 SCENE_09_PHOTO SoT 序;每条命中自带 `exec`(node 一行式,读配置里的库目录)+`legacyCli`(老家 python 原命令备查);模块 `skill-calorie/photo/photo`+`skill-calorie/photo/photos`,函数须存在(单测逐条 import 断言)。
|
|
193
321
|
- **通用唤醒词现找**:`calorie.help.lookup --params '{"q":"<唤醒词/分类/描述子串>"}'`(436 唤醒词全量,10 场景,空串抛,不返全表冒充命中)。
|
|
194
322
|
- 二进制原样:照片只 render 文件名 <img> 引用 + fileExists 位,不嵌 base64;GIF 只出任务描述不碰二进制。
|
|
195
323
|
|
|
324
|
+
## 场景 08 身体细节工作流程(13 条唤醒词/7 条写词落点)
|
|
325
|
+
|
|
326
|
+
- 工作流程(读类直出;写类先出预检确认页):用户说唤醒词 → 复制下面对应的 prompt → AI 用该词的命令执行 → HTML 落盘,`data.output` 回绝对路径。**配置型写词(记体脂类/记围度类)先出预检确认页**,用户在页上核对后复制 prompt 回给 AI,AI 再调会改数据库的命令。
|
|
327
|
+
- **索引表:写词 → 预检页命令(7 条)**。「预检页命令」列一律**照抄即跑**;第 6、7 行是**页面入口行**(开预检确认页本身,不是写词),故已标明自己是入口;第 1~5 行是写词,确认之后那一步见「会改数据库的命令」列。逐词细节(另两条没有预检页的写词、13 条逐条落点)见 `workflows/08-身体细节.md`(随包安装)。
|
|
328
|
+
|
|
329
|
+
| # | 唤醒词 | 预检页命令(照抄即跑) | 会改数据库的命令 | 从哪一步走 |
|
|
330
|
+
|---|---|---|---|---|
|
|
331
|
+
| 1 | `记体脂(皮褶钳)` | `calorie-cmd-read calorie.view.composition-wizard` | `calorie.body.composition-add` | 先出页 → 填 7 点+性别年龄 → 复制 prompt → 调写命令 |
|
|
332
|
+
| 2 | `记体脂(外部测量)` | `calorie-cmd-read calorie.view.composition-wizard` | `calorie.body.composition-add` | 先出页 → 填体脂率与来源 → 复制 prompt → 调写命令 |
|
|
333
|
+
| 3 | `补记体脂` | `calorie-cmd-read calorie.view.composition-wizard` | `calorie.body.composition-add` | 先出页 → 填日期与体脂率 → 那天已有记录先报冲突 → 调写命令 |
|
|
334
|
+
| 4 | `记围度` | `calorie-cmd-read calorie.view.measure-wizard` | `calorie.body.measure-add` | 先出页 → 填围度(13 项可部分填、至少 1 项)→ 复制 prompt → 调写命令 |
|
|
335
|
+
| 5 | `补记围度` | `calorie-cmd-read calorie.view.measure-wizard` | `calorie.body.measure-add` | 先出页 → 填日期与围度 → 那天已有记录先报冲突 → 调写命令 |
|
|
336
|
+
| 6 | **页面入口**`看体脂向导` | `calorie-cmd-read calorie.view.composition-wizard` | —(页本身不改库) | 直接开预检确认页;确认后跑第 1~3 行那条写命令 |
|
|
337
|
+
| 7 | **页面入口**`看围度向导` | `calorie-cmd-read calorie.view.measure-wizard` | —(页本身不改库) | 直接开预检确认页;确认后跑第 4~5 行那条写命令 |
|
|
338
|
+
|
|
339
|
+
- 另两条写词(`删体脂`/`删围度`)**没有预检确认页**:先读(`calorie.view.body-composition`/`calorie.view.body-measure`)定位记录 → 把内容给用户看过 → 再调 `calorie.body.composition-remove`/`calorie.body.measure-remove`。
|
|
340
|
+
- 权威源:命令与键住 `src/body/commands.ts`(10 条声明);路由住 `src/body/routes.ts`;**预检页各服务哪条写命令**住 `src/body/wizardPlate.ts` 的 `WIZARD_WRITE_KEYS`(速查表「预检页」列由它派生,不手写第二份)。
|
|
341
|
+
- 13 部位中文名一律引 `MEASUREMENT_ZH`(`src/fetch/body.ts`);可见面缺值写 `—`,机器面(复制区 payload)缺项留空值——两条是**分开**的约定。
|
|
342
|
+
|
|
343
|
+
## 场景 09 身材照片常驻规则与工作流指针
|
|
344
|
+
|
|
345
|
+
- 常驻规则(老技能已核准,照做;逐词细节见包内披露文件):
|
|
346
|
+
- D2 发图与路径双模式+文字与图片分离到达(同轮所有图片=本次要存的照片);
|
|
347
|
+
- D3 标签必填、缺则逐张追问;
|
|
348
|
+
- D4 改=覆盖整套、加=追加判重、删=移除且至少保留 1 个;
|
|
349
|
+
- D6 删的候选与快照(先列候选→快照确认→回执);
|
|
350
|
+
- D7 跑完必须主动把 HTML 交给用户,不只给路径(思想保留,机制按本环境=把文件交给用户)。
|
|
351
|
+
- 入口词以老技能为准(8 个):记身材照/查身材照/对比两张照片/生成身材照GIF/删身材照/改照片标签/加照片标签/删照片标签;老真名另有「存身材照」与「看身材照」。三个流程内页(预检确认页/GIF 规划页/候选页)**没有唤醒词**,不许当入口词用;HELP 那个入口是「卡路里HELP」(老技能正文注册的唤醒词)。
|
|
352
|
+
- 逐词工作流(10 个场景每条从哪一步往下走):见 `workflows/09-身材照片.md`(随包安装,SKILL.md 只留本节常驻规则+这一行指针)。
|
|
353
|
+
|
|
354
|
+
## 场景 01 主页工作流程(9 条查询命令)
|
|
355
|
+
|
|
356
|
+
- 工作流程(读类直出):用户说唤醒词 → 复制下面对应的 prompt → AI 用命令执行 → 结果型 HTML 落盘,`data.output` 回绝对路径。本图 9 条全是查询命令,没有会改数据库的命令;写类流程的过程型 HTML 在本图是 0 条(记账,不占票)。
|
|
357
|
+
- 对账口径:下表 `cli` 与路由层 `main_prompt.cli`、场景数据 `data_source` 逐字相同(对账脚本 `.scratch/t373/align-9.mjs`);`看今日体重概览` 的命令住 `src/weight/`(跨家,本图只接线不实现)。
|
|
358
|
+
|
|
359
|
+
| 唤醒词 | 命令 | 参数 | 从哪一步走(cli=data_source=路由 cli) |
|
|
360
|
+
|---|---|---|---|
|
|
361
|
+
| 看今日主页 | calorie.view.home | `{"date":"今日"}` | `calorie-cmd-read calorie.view.home --params '{"date":"今日"}'` |
|
|
362
|
+
| 看今日饮食概览 | calorie.view.diet | `{"window":"今日"}` | `calorie-cmd-read calorie.view.diet --params '{"window":"今日"}'` |
|
|
363
|
+
| 看今日运动概览 | calorie.view.exercise | `{"window":"今日"}` | `calorie-cmd-read calorie.view.exercise --params '{"window":"今日"}'` |
|
|
364
|
+
| 看今日体重概览 | calorie.view.weight | (无) | `calorie-cmd-read calorie.view.weight` |
|
|
365
|
+
| 看今日目标进度 | calorie.view.goal-progress | `{"window":"今日"}` | `calorie-cmd-read calorie.view.goal-progress --params '{"window":"今日"}'` |
|
|
366
|
+
| 看本周主页 | calorie.view.home | `{"windowDays":7,"date":"今日"}` | `calorie-cmd-read calorie.view.home --params '{"windowDays":7,"date":"今日"}'` |
|
|
367
|
+
| 看本月主页 | calorie.view.home | `{"windowDays":30,"date":"今日"}` | `calorie-cmd-read calorie.view.home --params '{"windowDays":30,"date":"今日"}'` |
|
|
368
|
+
| 看连续记录天数 | calorie.view.home | `{"date":"今日"}` | `calorie-cmd-read calorie.view.home --params '{"date":"今日"}'` |
|
|
369
|
+
| 看今日热量预算 | calorie.view.home | `{"date":"今日"}` | `calorie-cmd-read calorie.view.home --params '{"date":"今日"}'` |
|
|
370
|
+
|
|
371
|
+
### 9 条 prompt 原文(逐字同场景数据与 HELP 资产)
|
|
372
|
+
|
|
373
|
+
看今日主页:
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
请你加载技能 卡路里,执行唤醒词「看今日主页」。
|
|
377
|
+
|
|
378
|
+
我想看今天的主页 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
看今日饮食概览:
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
请你加载技能 卡路里,执行唤醒词「看今日饮食概览」。
|
|
385
|
+
|
|
386
|
+
我想看今天饮食 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
看今日运动概览:
|
|
390
|
+
|
|
391
|
+
```
|
|
392
|
+
请你加载技能 卡路里,执行唤醒词「看今日运动概览」。
|
|
393
|
+
|
|
394
|
+
我想看今天运动 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
看今日体重概览:
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
请你加载技能 卡路里,执行唤醒词「看今日体重概览」。
|
|
401
|
+
|
|
402
|
+
我想看今天体重 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
看今日目标进度:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
请你加载技能 卡路里,执行唤醒词「看今日目标进度」。
|
|
409
|
+
|
|
410
|
+
我想看今天 4 项目标(热量/蛋白/饮水/运动)完成度。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
看本周主页:
|
|
414
|
+
|
|
415
|
+
```
|
|
416
|
+
请你加载技能 卡路里,执行唤醒词「看本周主页」。
|
|
417
|
+
|
|
418
|
+
我想看本周 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
看本月主页:
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
请你加载技能 卡路里,执行唤醒词「看本月主页」。
|
|
425
|
+
|
|
426
|
+
我想看本月 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
看连续记录天数:
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
请你加载技能 卡路里,执行唤醒词「看连续记录天数」。
|
|
433
|
+
|
|
434
|
+
我想看我的连续记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
看今日热量预算:
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
请你加载技能 卡路里,执行唤醒词「看今日热量预算」。
|
|
441
|
+
|
|
442
|
+
我想看今天还能吃多少。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
## 场景 03 体重工作流程(58 条唤醒词变体/8 条流程)
|
|
446
|
+
|
|
447
|
+
- 工作流程(读类直出;写类先取数后写):用户说唤醒词 → 复制冻结表里该词的 prompt → AI 用该词的命令执行 → HTML 落盘,`data.output` 回绝对路径。写类另起一步取数:`改体重记录`/`删体重记录` 先 `calorie.view.weight-history` 定位(id 或日期),再调写命令。
|
|
448
|
+
- 58 条 → 命令:生成块「联动速查」表的「流程」列按**命令**列(该键服务的流程全列出,首项是「唤醒词」列那条代表词所在的流程);**逐条词**的归属见 `docs/skills/skill-calorie/t338-流程接线-证据.md` §3 对账表,八条流程的条数是量体重 5/改体重记录 5/看体重明细 7/看体重曲线 10/看体重稳不稳 5/看体重备注 1/对比体重 18/体重复盘 7(合 58)。
|
|
449
|
+
- 权威源:命令与流程名住 `src/weight/commands.ts` 的声明(`flows` 字段;跨家的 `calorie.view.goal-weight` 住 `src/goal/commands.ts`);命令一行照抄能跑的口径与冻结表 `dist/triggers/scene-03-weight.js` 的 `main_prompt.cli`、路由层 `WAKE_ROUTES` 的场景 03 记录逐字相同;命令各条参数形状见 `src/weight/`。
|
|
450
|
+
- 交付判据:① 出 HTML 文件,`data.output` 是绝对路径;② 字节不为 0;③ 文字回复只概括结论、不超过三句话;④ 该缺数据的(窗口内无记录、id 不存在、不足 14 天、无体重目标)出可读缺失阻断,不落盘——这一档算完成,不算缺陷。
|
|
451
|
+
|
|
452
|
+
### 8 条流程的步骤
|
|
453
|
+
|
|
454
|
+
每组:代表唤醒词 → 命令 → 步骤 → 交付物。参数只列该组用到的形状,窗口类一条词一个取值。**本段命令一律以 `calorie-cmd-read ` 起头,下文省略该前缀(照抄时补回)**。
|
|
455
|
+
|
|
456
|
+
**1 · 量体重**(5 条:记体重/记体重(含备注)/补录体重/批量补录体重/看今日体重)
|
|
457
|
+
|
|
458
|
+
- 记体重 → `calorie.weight.log --params '{"kg":70.5}'` → 步骤:取用户报的公斤数 → 写当天一条 → 回执页;交付物:`templates/weight_log_receipt.html` 过程型回执。
|
|
459
|
+
- 记体重(含备注) → `calorie.weight.log --params '{"kg":70.5,"note":"晨起空腹"}'` → 步骤同前,多带一项备注;交付物同上。
|
|
460
|
+
- 补录体重 → `calorie.weight.log --params '{"kg":70.5,"date":"<日期>"}'` → 步骤:问清日期 → 写该日一条;交付物同上。
|
|
461
|
+
- 批量补录体重 → `calorie.weight.batch --params '{"items":[{"date":"<日期>","kg":70.5}]}'` → 步骤:问清每条日期与公斤数 → 一次写多条;交付物同上。
|
|
462
|
+
- 看今日体重 → `calorie.view.weight --params '{"window":"今日"}'` → 步骤:只读当天窗口 → 体重盘;交付物:结果型页面(首末+均值+趋势+目标差距)。
|
|
463
|
+
|
|
464
|
+
**2 · 改体重记录**(5 条:改体重记录/改某日体重/删体重记录/删某日体重/批量删体重)
|
|
465
|
+
|
|
466
|
+
- 改体重记录 → `calorie.weight.update --params '{"id":1,"kg":70.2}'` → 步骤:先 `calorie.view.weight-history` 取 id → 再改该条的公斤数或备注;交付物:`weight_log_receipt.html` 回执(含改前 → 改后)。
|
|
467
|
+
- 改某日体重 → `calorie.weight.update --params '{"kg":70.2,"date":"<日期>"}'` → 步骤同上,按日期定位;交付物同上。
|
|
468
|
+
- 删体重记录 → `calorie.weight.remove --params '{"id":1}'` → 步骤:先取 id → 说明硬删不可恢复 → 用户确认后删该条;交付物:回执(含删前快照)。冻结表的命令串不带 `confirm`;要一道显式确认就在写命令前问一句。
|
|
469
|
+
- 删某日体重 → `calorie.weight.remove --params '{"date":"<日期>"}'` → 步骤同上,按日期定位;交付物同上。
|
|
470
|
+
- 批量删体重 → `calorie.weight.remove --params '{"start":"<开始日期>","end":"<结束日期>"}'` → 步骤:问清起止 → **先 `calorie.view.weight-history` 列区间内全部记录** → 用户确认后 `start`/`end` 各给一个日期删;交付物:回执逐行列删前取值。
|
|
471
|
+
|
|
472
|
+
**3 · 看体重明细**(7 条:看本周体重/看上周体重/看本月体重/看上月体重/看最近 7 天体重/看最近 90 天体重/看某段时间体重)
|
|
473
|
+
|
|
474
|
+
- 看本周体重 → `calorie.view.weight-history --params '{"window":"本周"}'` → 步骤:读该窗口明细 → 表格列出逐条记录;交付物:结果型页面(`window` 取本周/上周/本月/上月/`7d`/`90d`;`看某段时间体重` 给 `{"window":"custom","start":"<开始日期>","end":"<结束日期>"}`,起止都要)。
|
|
475
|
+
|
|
476
|
+
**4 · 看体重曲线**(10 条:看体重曲线+带目标/带里程碑/带异常点,及本月/上月/90 天/180 天/365 天/某段时间六条变体)
|
|
477
|
+
|
|
478
|
+
- 看体重曲线 → `calorie.view.weight-history --params '{"window":"30d"}'` → 步骤:读该窗口 → 出折线;交付物:曲线页(加重量用 `overlay`:`target` 目标线/`milestone` 里程碑/`anomaly` 异常点;月窗给 `{"window":"本月"}`/`{"window":"上月"}`,天数窗给 `{"window":"90d"}` 这类,自定义给 `start`+`end`)。
|
|
479
|
+
|
|
480
|
+
**5 · 看体重稳不稳**(5 条:看体重稳不稳(增强版)/看本月波动/看最近 90 天波动/看最近 180 天波动/看波动异常点)
|
|
481
|
+
|
|
482
|
+
- 看体重稳不稳(增强版) → `calorie.view.volatility --params '{"window":"7d"}'` → 步骤:读该窗口算波动;交付物:波动页(窗口取 `7d`/`本月`/`90d`/`180d`)。
|
|
483
|
+
|
|
484
|
+
- 看波动异常点 → `calorie.view.volatility --params '{"window":"7d","view":"anomalies-only"}'` → 步骤:读该窗口算波动、只取异常点那一支;交付物:只看异常点页(不出曲线段;#490 起与上一条分流——先前两条词走同一条命令、出页逐字相同)。
|
|
485
|
+
|
|
486
|
+
**6 · 看体重备注**(1 条:看「有备注」的体重记录)
|
|
487
|
+
|
|
488
|
+
- 看「有备注」的体重记录 → `calorie.view.weight-history --params '{"window":"30d","noteOnly":true}'` → 步骤:读该窗口、只留带备注的记录;交付物:明细页(带筛选徽章)。
|
|
489
|
+
|
|
490
|
+
**7 · 对比体重**(18 条:片段对比 11 条+场景对比 6 条+当前 vs 目标体重 1 条)
|
|
491
|
+
|
|
492
|
+
- 对比体重:本月 vs 上月 → `calorie.view.weight-compare --params '{"window":"本月","compareWindow":"上月"}'` → 步骤:两段窗口各取数 → 出对比;交付物:对比页(片段对比的重量用 `window`+`compareWindow`:本周 vs 上周/30 天 vs 之前 30 天/工作日 vs 周末/自定义两段给 4 个起止日期/今天 vs 一年前今天这类给 `compareOffset`;场景对比重量用 `{"scenario":"…"}`:`b8` 平台期首日/`e1` 历史最低/`e2` 历史最高/`e5` 入夏最低/`e6` 入冬最低/`c5` 运动多少两个月,减重那天给 `{"scenario":"e3","delta":5}` 这类)。
|
|
493
|
+
- 对比体重:当前 vs 目标体重 → `calorie.view.goal-weight --params '{"window":"30d"}'` → 步骤:读窗口+读体重目标 → 出差距;交付物:对比页(命令住 `src/goal/`,本组接线不实现)。
|
|
494
|
+
|
|
495
|
+
**8 · 体重复盘**(7 条:看体重总览/体重复盘(本周)/(本月)/(最近 90 天)/(今年)/(自定义时间)/看里程碑回溯)
|
|
496
|
+
|
|
497
|
+
- 看体重总览 → `calorie.view.weight --params '{"window":"30d"}'` → 步骤:读 30 天窗口出总览;交付物:体重盘页面(同「量体重」那一页,窗口取 30 天)。
|
|
498
|
+
- 体重复盘(本周) → `calorie.view.weight-review --params '{"window":"本周"}'` → 步骤:读该窗口出复盘;交付物:复盘页(窗口取本周/本月/`90d`/今年/自定义给 `start`+`end`)。
|
|
499
|
+
- 看里程碑回溯 → `calorie.view.weight-review --params '{"mode":"milestones"}'` → 步骤:读全史里程碑;交付物:里程碑页。
|
|
500
|
+
|
|
501
|
+
## 场景 06 目标管理常驻规则与工作流指针
|
|
502
|
+
|
|
503
|
+
- 常驻规则(照做;逐词细节见包外披露真源):
|
|
504
|
+
- 写类 11 条带空位先出预检页 `calorie.view.goal-wizard`(`wake`=本词;自动算与一键类加 `profile`),用户在页上核对后复制 prompt 回给 AI,AI 再调会改数据库的命令;写入仍走 5 条既有写命令,不新增组合写命令。
|
|
505
|
+
- 暂停所有目标/重启所有目标无空位不出页,直接调写命令,回执带恢复入口提示。
|
|
506
|
+
- 读类 15 条直接跑读命令出结果页;`看体重目标进度` 查词取 `wake_word` 逐字相等那条(子串搜首命中是邻词,取第二条)。
|
|
507
|
+
- 交付判据:HTML 落盘、`data.output` 是绝对路径、字节不为 0、文字只概括结论不超过三句话、该缺数据的出可读缺失阻断且不落盘。
|
|
508
|
+
- 逐词工作流(28 条每条从哪一步往下走):见 `docs/skills/skill-calorie/06-目标管理-工作流程.md`(真源;SKILL.md 只留本节常驻规则+这一行指针)。
|
|
509
|
+
|
|
510
|
+
## 场景 10 分析(拆 A)工作流程(88 条查询命令)
|
|
511
|
+
|
|
512
|
+
- 工作流程(读类直出):用户说唤醒词 → 复制冻结表里该词的 prompt → AI 用对应的命令执行 → 结果型 HTML 落盘,`data.output` 回绝对路径。本图 88 条全是查询命令,没有会改数据库的命令;写类流程的过程型 HTML 在本图是 0 条(沿 #171 §6 结论:分析命令全是查询命令,冻结表 prompt 无“先确认”写法,记账不开票)。
|
|
513
|
+
- 权威出处(本节不存第二份清单,数字以脚本输出为准):A-list 定义见 `docs/skills/skill-calorie/t171-边界与基线.md` §1(两指标配对 71+多指标整体趋势 15+趋势对照 2);每条词的 prompt 与命令以 `src/triggers/scene-10-analysis.ts`(85 条旧词:`main_prompt.cli`=`data_source`)与 `src/triggers/routes.generated.ts`(3 条新词)为准;路由层以 `src/analysis/routes.ts` 为准。
|
|
514
|
+
- 对账口径:路由层 `cli` 与冻结表逐条同序逐字同(对账脚本 `.scratch/t379/align-88.mjs`,`ALIGN-PASS: 88/88`);生成块(上方「联动速查」)由 `pnpm gen`+`pnpm help:build` 派生,谁都不手改。
|
|
515
|
+
- 页面归类(以 #171 §3 为准,主力同模板):两指标配对页 71 条与多指标趋势与对照页 17 条同走 `combined_analysis.html` 新形态;`calorie_deficit.html` 本图不碰(归 #161)。
|
|
516
|
+
|
|
517
|
+
| 组 | 条数 | 命令 | 代表cli(冻结表照抄即跑) |
|
|
518
|
+
|---|---|---|---|
|
|
519
|
+
| 两指标配对 | 71 | calorie.view.combined | `calorie-cmd-read calorie.view.combined --params '{"pair":"weight_calorie","window":"7d"}'` |
|
|
520
|
+
| 两指标配对(缺口例) | — | calorie.view.combined | `calorie-cmd-read calorie.view.combined --params '{"pair":"weight_deficit","window":"7d"}'` |
|
|
521
|
+
| 多指标整体趋势(分组例) | 15 | calorie.view.multi-trend | `calorie-cmd-read calorie.view.multi-trend --params '{"window":"90d","group":"g1","compare":"target"}'` |
|
|
522
|
+
| 多指标整体趋势(含目标对比) | — | calorie.view.multi-trend | `calorie-cmd-read calorie.view.multi-trend --params '{"window":"90d","compare":"target"}'` |
|
|
523
|
+
| 多指标整体趋势(含月度对比) | — | calorie.view.multi-trend | `calorie-cmd-read calorie.view.multi-trend --params '{"window":"60d","group":"comprehensive","compare":"monthly"}'` |
|
|
524
|
+
| 趋势对照 | 2 | calorie.view.calorie-trend/calorie.view.long-trend | `calorie-cmd-read calorie.view.calorie-trend --params '{"window":"7d"}'`/`calorie-cmd-read calorie.view.long-trend --params '{"group":"weight_calorie","window":"30d"}'` |
|
|
525
|
+
|
|
526
|
+
- 代表 prompt 原文(逐字同冻结表 `prompt_template`,其余 82 条见冻结表原文):
|
|
527
|
+
|
|
528
|
+
看体重 vs 摄入(最近 7 天):
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
请你加载技能 卡路里,执行唤醒词「看体重 vs 摄入(最近 7 天)」。
|
|
532
|
+
|
|
533
|
+
我想看最近 7 天的体重走势 vs 每日摄入热量的关系(吃多少影响体重吗)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
看整体趋势(含目标对比):
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
请你加载技能 卡路里,执行唤醒词「看整体趋势(含目标对比)」。
|
|
540
|
+
|
|
541
|
+
我想看全维度综合趋势图并含周期对比(含目标对比)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
- HELP 面:旧词 85 条走 `calorie.help.lookup --params '{"q":"<唤醒词>"}'` 现找(抽查 5/5 绿,见证据件);3 条新词(看组合分析/看热量趋势/看整体趋势)在冻结表无行,现找无精确命中,路由直达可执行(真出口已验),补行留收口(本票不改冻结表)。
|
|
545
|
+
- 固定种子抽查(`docs/research/t81-seed.mjs`):「今天」由测试把整只钟钉到种子日 2026-09-07(`test/freeze-clock.cjs`,父进程与子进程一起钉),故读数与机器时钟无关。每组至少 1 条真出口 exit 0,结果型 HTML 落盘、回执绝对路径,指标全有限数(判定①②绿,判定③视觉留用户肉眼;读数见证据件)。
|
|
546
|
+
|
|
196
547
|
## 环境与出 scope
|
|
197
548
|
|
|
198
|
-
-
|
|
549
|
+
- 路径类取值一律读配置文件 `~/.ilife/calorie.yaml`(**配置文件是唯一真相,环境变量不参与配置**):库目录=`db.dir`(空串=数据目录 `~/.ilife/data/`,首次读时自动建)、库文件名=`db.name`(默认 `calorie_data.db`)、产物目录=`html.dir`(默认 `calorie_html`)、照片目录=`photos.dir`(**空串=这一项还没配**:取数侧跳过「照片文件在不在」的校验、写侧直接阻断,不猜路径)、GIF 子目录=`photos.gifs`(默认 `gifs`)、训记五项=`xunji.*`、落地三项=`land.*`;`ILIFE_CONFIG_DIR` 设定且非空即整体接管配置目录。真实 DB 禁迁,测试 tmp 隔离;老家只读对照。取值面与环境项见 docs/env.md。
|
|
199
550
|
- 出 scope(一期外):面板(二期单 MAP)、定时任务、本技能外联动(router+作息/备忘/训记仅只读对照,不落本包)。
|
|
200
551
|
|
|
201
552
|
## 公共安装器运行时(skills-cli 装完必读,#47)
|
|
202
553
|
|
|
203
|
-
- 本仓库 `dist/` 不进 git:skills-cli 只把本目录(含本文件)装进 agent,不带可执行文件;“不走 npm”的只是 skill 发现这一步,运行时走 npm(`skill-calorie@0.2.
|
|
204
|
-
- 取运行时二选一:`npm install -g skill-calorie@0.2.
|
|
205
|
-
- HELP 现找→cmd_read→envelope→HTML
|
|
554
|
+
- 本仓库 `dist/` 不进 git:skills-cli 只把本目录(含本文件)装进 agent,不带可执行文件;“不走 npm”的只是 skill 发现这一步,运行时走 npm(`skill-calorie@0.2.5` 已发布)。
|
|
555
|
+
- 取运行时二选一:`npm install -g skill-calorie@0.2.5`(一劳永逸),或免安装 `npx -p skill-calorie@0.2.5 calorie-cmd-read …`(每次现拉)。若 npm 报 EUNSUPPORTEDPROTOCOL(workspace:),说明已发布包待重发(发版流修,见 docs/public-installer-47.md「已发布包阻塞」),先用本仓构建产物验证链路。
|
|
556
|
+
- HELP 现找→cmd_read→envelope→HTML 验证(隔离靠把**配置目录**指到临时目录:`ILIFE_CONFIG_DIR` 设定且非空即整体接管配置目录,配置里的 `db.dir` 再决定库与产物落哪;node>=22.13;完整口径见 docs/public-installer-47.md):
|
|
206
557
|
```sh
|
|
207
|
-
|
|
558
|
+
cfg="$(mktemp -d)" && mkdir -p "$cfg/db" && printf 'db:\n dir: %s\n' "$cfg/db" > "$cfg/calorie.yaml"
|
|
559
|
+
ILIFE_CONFIG_DIR="$cfg" calorie-cmd-read calorie.help.lookup --params '{"q":"看今日主页"}'
|
|
208
560
|
```
|
|
209
561
|
- stdout/落盘契约与「唯一出口(T11)」节同源(成功只一行 envelope JSON;HTML 落点见 `data.output`)。
|
|
210
|
-
- 版本钉死登记:本节版本硬编码现为 `@0.2.
|
|
562
|
+
- 版本钉死登记:本节版本硬编码现为 `@0.2.4`(已随 #44 发版流同步;历史登记见 docs/public-installer-47.md「版本钉死登记」)。
|