skill-calorie 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/analysis/anomaly/common.d.ts +53 -0
  2. package/dist/analysis/anomaly/common.d.ts.map +1 -0
  3. package/dist/analysis/anomaly/common.js +69 -0
  4. package/dist/analysis/anomaly/common.js.map +1 -0
  5. package/dist/analysis/anomaly/diet.d.ts +8 -0
  6. package/dist/analysis/anomaly/diet.d.ts.map +1 -0
  7. package/dist/analysis/anomaly/diet.js +95 -0
  8. package/dist/analysis/anomaly/diet.js.map +1 -0
  9. package/dist/analysis/anomaly/exercise.d.ts +9 -0
  10. package/dist/analysis/anomaly/exercise.d.ts.map +1 -0
  11. package/dist/analysis/anomaly/exercise.js +116 -0
  12. package/dist/analysis/anomaly/exercise.js.map +1 -0
  13. package/dist/analysis/anomaly/index.d.ts +19 -0
  14. package/dist/analysis/anomaly/index.d.ts.map +1 -0
  15. package/dist/analysis/anomaly/index.js +51 -0
  16. package/dist/analysis/anomaly/index.js.map +1 -0
  17. package/dist/analysis/anomaly/overall.d.ts +13 -0
  18. package/dist/analysis/anomaly/overall.d.ts.map +1 -0
  19. package/dist/analysis/anomaly/overall.js +128 -0
  20. package/dist/analysis/anomaly/overall.js.map +1 -0
  21. package/dist/analysis/anomaly/overall2.d.ts +5 -0
  22. package/dist/analysis/anomaly/overall2.d.ts.map +1 -0
  23. package/dist/analysis/anomaly/overall2.js +94 -0
  24. package/dist/analysis/anomaly/overall2.js.map +1 -0
  25. package/dist/analysis/anomaly/weight.d.ts +8 -0
  26. package/dist/analysis/anomaly/weight.d.ts.map +1 -0
  27. package/dist/analysis/anomaly/weight.js +106 -0
  28. package/dist/analysis/anomaly/weight.js.map +1 -0
  29. package/dist/analysis/anomaly/weight2.d.ts +4 -0
  30. package/dist/analysis/anomaly/weight2.d.ts.map +1 -0
  31. package/dist/analysis/anomaly/weight2.js +59 -0
  32. package/dist/analysis/anomaly/weight2.js.map +1 -0
  33. package/dist/analysis/contraindications.d.ts +63 -0
  34. package/dist/analysis/contraindications.d.ts.map +1 -0
  35. package/dist/analysis/contraindications.js +121 -0
  36. package/dist/analysis/contraindications.js.map +1 -0
  37. package/dist/analysis/cross.d.ts +75 -0
  38. package/dist/analysis/cross.d.ts.map +1 -0
  39. package/dist/analysis/cross.js +283 -0
  40. package/dist/analysis/cross.js.map +1 -0
  41. package/dist/analysis/dashboard.d.ts +18 -0
  42. package/dist/analysis/dashboard.d.ts.map +1 -0
  43. package/dist/analysis/dashboard.js +48 -0
  44. package/dist/analysis/dashboard.js.map +1 -0
  45. package/dist/analysis/deficit.d.ts +44 -0
  46. package/dist/analysis/deficit.d.ts.map +1 -0
  47. package/dist/analysis/deficit.js +54 -0
  48. package/dist/analysis/deficit.js.map +1 -0
  49. package/dist/analysis/diet.d.ts +76 -0
  50. package/dist/analysis/diet.d.ts.map +1 -0
  51. package/dist/analysis/diet.js +164 -0
  52. package/dist/analysis/diet.js.map +1 -0
  53. package/dist/analysis/exercise.d.ts +98 -0
  54. package/dist/analysis/exercise.d.ts.map +1 -0
  55. package/dist/analysis/exercise.js +298 -0
  56. package/dist/analysis/exercise.js.map +1 -0
  57. package/dist/analysis/exerciseReview.d.ts +36 -0
  58. package/dist/analysis/exerciseReview.d.ts.map +1 -0
  59. package/dist/analysis/exerciseReview.js +50 -0
  60. package/dist/analysis/exerciseReview.js.map +1 -0
  61. package/dist/analysis/precision.d.ts +15 -0
  62. package/dist/analysis/precision.d.ts.map +1 -0
  63. package/dist/analysis/precision.js +38 -0
  64. package/dist/analysis/precision.js.map +1 -0
  65. package/dist/analysis/result.d.ts +15 -0
  66. package/dist/analysis/result.d.ts.map +1 -0
  67. package/dist/analysis/result.js +13 -0
  68. package/dist/analysis/result.js.map +1 -0
  69. package/dist/analysis/review.d.ts +118 -0
  70. package/dist/analysis/review.d.ts.map +1 -0
  71. package/dist/analysis/review.js +195 -0
  72. package/dist/analysis/review.js.map +1 -0
  73. package/dist/analysis/series.d.ts +42 -0
  74. package/dist/analysis/series.d.ts.map +1 -0
  75. package/dist/analysis/series.js +127 -0
  76. package/dist/analysis/series.js.map +1 -0
  77. package/dist/analysis/simulate.d.ts +43 -0
  78. package/dist/analysis/simulate.d.ts.map +1 -0
  79. package/dist/analysis/simulate.js +109 -0
  80. package/dist/analysis/simulate.js.map +1 -0
  81. package/dist/analysis/simulate2.d.ts +65 -0
  82. package/dist/analysis/simulate2.d.ts.map +1 -0
  83. package/dist/analysis/simulate2.js +173 -0
  84. package/dist/analysis/simulate2.js.map +1 -0
  85. package/dist/analysis/trend.d.ts +39 -0
  86. package/dist/analysis/trend.d.ts.map +1 -0
  87. package/dist/analysis/trend.js +48 -0
  88. package/dist/analysis/trend.js.map +1 -0
  89. package/dist/analysis/utils.d.ts +17 -0
  90. package/dist/analysis/utils.d.ts.map +1 -0
  91. package/dist/analysis/utils.js +52 -0
  92. package/dist/analysis/utils.js.map +1 -0
  93. package/dist/analysis/volatility.d.ts +43 -0
  94. package/dist/analysis/volatility.d.ts.map +1 -0
  95. package/dist/analysis/volatility.js +96 -0
  96. package/dist/analysis/volatility.js.map +1 -0
  97. package/dist/analysis/weight.d.ts +86 -0
  98. package/dist/analysis/weight.d.ts.map +1 -0
  99. package/dist/analysis/weight.js +219 -0
  100. package/dist/analysis/weight.js.map +1 -0
  101. package/dist/analysis/weightCompare.d.ts +63 -0
  102. package/dist/analysis/weightCompare.d.ts.map +1 -0
  103. package/dist/analysis/weightCompare.js +212 -0
  104. package/dist/analysis/weightCompare.js.map +1 -0
  105. package/dist/analysis/weightCompare2.d.ts +63 -0
  106. package/dist/analysis/weightCompare2.d.ts.map +1 -0
  107. package/dist/analysis/weightCompare2.js +211 -0
  108. package/dist/analysis/weightCompare2.js.map +1 -0
  109. package/dist/analysis/weightCompare3.d.ts +13 -0
  110. package/dist/analysis/weightCompare3.d.ts.map +1 -0
  111. package/dist/analysis/weightCompare3.js +199 -0
  112. package/dist/analysis/weightCompare3.js.map +1 -0
  113. package/dist/cli/cmd_read.d.ts +8 -0
  114. package/dist/cli/cmd_read.d.ts.map +1 -0
  115. package/dist/cli/cmd_read.js +719 -0
  116. package/dist/cli/cmd_read.js.map +1 -0
  117. package/dist/cli/keys.d.ts +333 -0
  118. package/dist/cli/keys.d.ts.map +1 -0
  119. package/dist/cli/keys.js +103 -0
  120. package/dist/cli/keys.js.map +1 -0
  121. package/dist/cli/write.d.ts +24 -0
  122. package/dist/cli/write.d.ts.map +1 -0
  123. package/dist/cli/write.js +832 -0
  124. package/dist/cli/write.js.map +1 -0
  125. package/dist/fetch/audit.d.ts +25 -0
  126. package/dist/fetch/audit.d.ts.map +1 -0
  127. package/dist/fetch/audit.js +46 -0
  128. package/dist/fetch/audit.js.map +1 -0
  129. package/dist/fetch/batch.d.ts +68 -0
  130. package/dist/fetch/batch.d.ts.map +1 -0
  131. package/dist/fetch/batch.js +183 -0
  132. package/dist/fetch/batch.js.map +1 -0
  133. package/dist/fetch/body.d.ts +89 -0
  134. package/dist/fetch/body.d.ts.map +1 -0
  135. package/dist/fetch/body.js +217 -0
  136. package/dist/fetch/body.js.map +1 -0
  137. package/dist/fetch/cli.d.ts +3 -0
  138. package/dist/fetch/cli.d.ts.map +1 -0
  139. package/dist/fetch/cli.js +195 -0
  140. package/dist/fetch/cli.js.map +1 -0
  141. package/dist/fetch/cross-skill.d.ts +29 -0
  142. package/dist/fetch/cross-skill.d.ts.map +1 -0
  143. package/dist/fetch/cross-skill.js +42 -0
  144. package/dist/fetch/cross-skill.js.map +1 -0
  145. package/dist/fetch/db.d.ts +5 -0
  146. package/dist/fetch/db.d.ts.map +1 -0
  147. package/dist/fetch/db.js +4 -0
  148. package/dist/fetch/db.js.map +1 -0
  149. package/dist/fetch/diet.d.ts +174 -0
  150. package/dist/fetch/diet.d.ts.map +1 -0
  151. package/dist/fetch/diet.js +239 -0
  152. package/dist/fetch/diet.js.map +1 -0
  153. package/dist/fetch/errors.d.ts +5 -0
  154. package/dist/fetch/errors.d.ts.map +1 -0
  155. package/dist/fetch/errors.js +8 -0
  156. package/dist/fetch/errors.js.map +1 -0
  157. package/dist/fetch/exercise.d.ts +72 -0
  158. package/dist/fetch/exercise.d.ts.map +1 -0
  159. package/dist/fetch/exercise.js +270 -0
  160. package/dist/fetch/exercise.js.map +1 -0
  161. package/dist/fetch/goal.d.ts +48 -0
  162. package/dist/fetch/goal.d.ts.map +1 -0
  163. package/dist/fetch/goal.js +73 -0
  164. package/dist/fetch/goal.js.map +1 -0
  165. package/dist/fetch/goalHistory.d.ts +24 -0
  166. package/dist/fetch/goalHistory.d.ts.map +1 -0
  167. package/dist/fetch/goalHistory.js +51 -0
  168. package/dist/fetch/goalHistory.js.map +1 -0
  169. package/dist/fetch/history.d.ts +28 -0
  170. package/dist/fetch/history.d.ts.map +1 -0
  171. package/dist/fetch/history.js +29 -0
  172. package/dist/fetch/history.js.map +1 -0
  173. package/dist/fetch/index.d.ts +23 -0
  174. package/dist/fetch/index.d.ts.map +1 -0
  175. package/dist/fetch/index.js +16 -0
  176. package/dist/fetch/index.js.map +1 -0
  177. package/dist/fetch/nutritionGoal.d.ts +115 -0
  178. package/dist/fetch/nutritionGoal.d.ts.map +1 -0
  179. package/dist/fetch/nutritionGoal.js +154 -0
  180. package/dist/fetch/nutritionGoal.js.map +1 -0
  181. package/dist/fetch/photos.d.ts +76 -0
  182. package/dist/fetch/photos.d.ts.map +1 -0
  183. package/dist/fetch/photos.js +193 -0
  184. package/dist/fetch/photos.js.map +1 -0
  185. package/dist/fetch/plan.d.ts +145 -0
  186. package/dist/fetch/plan.d.ts.map +1 -0
  187. package/dist/fetch/plan.js +258 -0
  188. package/dist/fetch/plan.js.map +1 -0
  189. package/dist/fetch/products.d.ts +62 -0
  190. package/dist/fetch/products.d.ts.map +1 -0
  191. package/dist/fetch/products.js +73 -0
  192. package/dist/fetch/products.js.map +1 -0
  193. package/dist/fetch/profile.d.ts +46 -0
  194. package/dist/fetch/profile.d.ts.map +1 -0
  195. package/dist/fetch/profile.js +105 -0
  196. package/dist/fetch/profile.js.map +1 -0
  197. package/dist/fetch/shapes.d.ts +41 -0
  198. package/dist/fetch/shapes.d.ts.map +1 -0
  199. package/dist/fetch/shapes.js +38 -0
  200. package/dist/fetch/shapes.js.map +1 -0
  201. package/dist/fetch/validate.d.ts +11 -0
  202. package/dist/fetch/validate.d.ts.map +1 -0
  203. package/dist/fetch/validate.js +64 -0
  204. package/dist/fetch/validate.js.map +1 -0
  205. package/dist/fetch/weight.d.ts +109 -0
  206. package/dist/fetch/weight.d.ts.map +1 -0
  207. package/dist/fetch/weight.js +210 -0
  208. package/dist/fetch/weight.js.map +1 -0
  209. package/dist/fetch/xunji-catalog.d.ts +17 -0
  210. package/dist/fetch/xunji-catalog.d.ts.map +1 -0
  211. package/dist/fetch/xunji-catalog.js +57 -0
  212. package/dist/fetch/xunji-catalog.js.map +1 -0
  213. package/dist/index.d.ts +17 -0
  214. package/dist/index.d.ts.map +1 -0
  215. package/dist/index.js +12 -0
  216. package/dist/index.js.map +1 -0
  217. package/dist/kcal.d.ts +21 -0
  218. package/dist/kcal.d.ts.map +1 -0
  219. package/dist/kcal.js +27 -0
  220. package/dist/kcal.js.map +1 -0
  221. package/dist/migrate/migrate.d.ts +71 -0
  222. package/dist/migrate/migrate.d.ts.map +1 -0
  223. package/dist/migrate/migrate.js +450 -0
  224. package/dist/migrate/migrate.js.map +1 -0
  225. package/dist/paths.d.ts +6 -0
  226. package/dist/paths.d.ts.map +1 -0
  227. package/dist/paths.js +34 -0
  228. package/dist/paths.js.map +1 -0
  229. package/dist/render/analysisPlate.d.ts +49 -0
  230. package/dist/render/analysisPlate.d.ts.map +1 -0
  231. package/dist/render/analysisPlate.js +149 -0
  232. package/dist/render/analysisPlate.js.map +1 -0
  233. package/dist/render/bodyPlate.d.ts +55 -0
  234. package/dist/render/bodyPlate.d.ts.map +1 -0
  235. package/dist/render/bodyPlate.js +97 -0
  236. package/dist/render/bodyPlate.js.map +1 -0
  237. package/dist/render/diet.d.ts +47 -0
  238. package/dist/render/diet.d.ts.map +1 -0
  239. package/dist/render/diet.js +94 -0
  240. package/dist/render/diet.js.map +1 -0
  241. package/dist/render/envelope.d.ts +60 -0
  242. package/dist/render/envelope.d.ts.map +1 -0
  243. package/dist/render/envelope.js +111 -0
  244. package/dist/render/envelope.js.map +1 -0
  245. package/dist/render/errors.d.ts +10 -0
  246. package/dist/render/errors.d.ts.map +1 -0
  247. package/dist/render/errors.js +9 -0
  248. package/dist/render/errors.js.map +1 -0
  249. package/dist/render/exercise.d.ts +20 -0
  250. package/dist/render/exercise.d.ts.map +1 -0
  251. package/dist/render/exercise.js +32 -0
  252. package/dist/render/exercise.js.map +1 -0
  253. package/dist/render/goal.d.ts +24 -0
  254. package/dist/render/goal.d.ts.map +1 -0
  255. package/dist/render/goal.js +23 -0
  256. package/dist/render/goal.js.map +1 -0
  257. package/dist/render/goalExtra.d.ts +45 -0
  258. package/dist/render/goalExtra.d.ts.map +1 -0
  259. package/dist/render/goalExtra.js +94 -0
  260. package/dist/render/goalExtra.js.map +1 -0
  261. package/dist/render/goalPlate.d.ts +66 -0
  262. package/dist/render/goalPlate.d.ts.map +1 -0
  263. package/dist/render/goalPlate.js +110 -0
  264. package/dist/render/goalPlate.js.map +1 -0
  265. package/dist/render/health.d.ts +21 -0
  266. package/dist/render/health.d.ts.map +1 -0
  267. package/dist/render/health.js +41 -0
  268. package/dist/render/health.js.map +1 -0
  269. package/dist/render/help.d.ts +18 -0
  270. package/dist/render/help.d.ts.map +1 -0
  271. package/dist/render/help.js +58 -0
  272. package/dist/render/help.js.map +1 -0
  273. package/dist/render/home.d.ts +30 -0
  274. package/dist/render/home.d.ts.map +1 -0
  275. package/dist/render/home.js +73 -0
  276. package/dist/render/home.js.map +1 -0
  277. package/dist/render/html.d.ts +66 -0
  278. package/dist/render/html.d.ts.map +1 -0
  279. package/dist/render/html.js +510 -0
  280. package/dist/render/html.js.map +1 -0
  281. package/dist/render/index.d.ts +47 -0
  282. package/dist/render/index.d.ts.map +1 -0
  283. package/dist/render/index.js +26 -0
  284. package/dist/render/index.js.map +1 -0
  285. package/dist/render/insightPlate.d.ts +55 -0
  286. package/dist/render/insightPlate.d.ts.map +1 -0
  287. package/dist/render/insightPlate.js +97 -0
  288. package/dist/render/insightPlate.js.map +1 -0
  289. package/dist/render/library.d.ts +32 -0
  290. package/dist/render/library.d.ts.map +1 -0
  291. package/dist/render/library.js +54 -0
  292. package/dist/render/library.js.map +1 -0
  293. package/dist/render/photo.d.ts +101 -0
  294. package/dist/render/photo.d.ts.map +1 -0
  295. package/dist/render/photo.js +241 -0
  296. package/dist/render/photo.js.map +1 -0
  297. package/dist/render/planPlate.d.ts +40 -0
  298. package/dist/render/planPlate.d.ts.map +1 -0
  299. package/dist/render/planPlate.js +72 -0
  300. package/dist/render/planPlate.js.map +1 -0
  301. package/dist/render/profilePlate.d.ts +17 -0
  302. package/dist/render/profilePlate.d.ts.map +1 -0
  303. package/dist/render/profilePlate.js +18 -0
  304. package/dist/render/profilePlate.js.map +1 -0
  305. package/dist/render/ranking.d.ts +22 -0
  306. package/dist/render/ranking.d.ts.map +1 -0
  307. package/dist/render/ranking.js +63 -0
  308. package/dist/render/ranking.js.map +1 -0
  309. package/dist/render/receipt.d.ts +71 -0
  310. package/dist/render/receipt.d.ts.map +1 -0
  311. package/dist/render/receipt.js +65 -0
  312. package/dist/render/receipt.js.map +1 -0
  313. package/dist/render/weightPlate.d.ts +54 -0
  314. package/dist/render/weightPlate.d.ts.map +1 -0
  315. package/dist/render/weightPlate.js +110 -0
  316. package/dist/render/weightPlate.js.map +1 -0
  317. package/dist/schema.d.ts +25 -0
  318. package/dist/schema.d.ts.map +1 -0
  319. package/dist/schema.js +281 -0
  320. package/dist/schema.js.map +1 -0
  321. package/dist/triggers/help-lookup.d.ts +28 -0
  322. package/dist/triggers/help-lookup.d.ts.map +1 -0
  323. package/dist/triggers/help-lookup.js +163 -0
  324. package/dist/triggers/help-lookup.js.map +1 -0
  325. package/dist/triggers/index.d.ts +24 -0
  326. package/dist/triggers/index.d.ts.map +1 -0
  327. package/dist/triggers/index.js +78 -0
  328. package/dist/triggers/index.js.map +1 -0
  329. package/dist/triggers/scene-01-home.d.ts +4 -0
  330. package/dist/triggers/scene-01-home.d.ts.map +1 -0
  331. package/dist/triggers/scene-01-home.js +13 -0
  332. package/dist/triggers/scene-01-home.js.map +1 -0
  333. package/dist/triggers/scene-02-diet.d.ts +4 -0
  334. package/dist/triggers/scene-02-diet.d.ts.map +1 -0
  335. package/dist/triggers/scene-02-diet.js +74 -0
  336. package/dist/triggers/scene-02-diet.js.map +1 -0
  337. package/dist/triggers/scene-03-weight.d.ts +4 -0
  338. package/dist/triggers/scene-03-weight.d.ts.map +1 -0
  339. package/dist/triggers/scene-03-weight.js +62 -0
  340. package/dist/triggers/scene-03-weight.js.map +1 -0
  341. package/dist/triggers/scene-04-exercise.d.ts +4 -0
  342. package/dist/triggers/scene-04-exercise.d.ts.map +1 -0
  343. package/dist/triggers/scene-04-exercise.js +43 -0
  344. package/dist/triggers/scene-04-exercise.js.map +1 -0
  345. package/dist/triggers/scene-05-workout.d.ts +4 -0
  346. package/dist/triggers/scene-05-workout.d.ts.map +1 -0
  347. package/dist/triggers/scene-05-workout.js +36 -0
  348. package/dist/triggers/scene-05-workout.js.map +1 -0
  349. package/dist/triggers/scene-06-goal.d.ts +4 -0
  350. package/dist/triggers/scene-06-goal.d.ts.map +1 -0
  351. package/dist/triggers/scene-06-goal.js +29 -0
  352. package/dist/triggers/scene-06-goal.js.map +1 -0
  353. package/dist/triggers/scene-07-profile.d.ts +4 -0
  354. package/dist/triggers/scene-07-profile.d.ts.map +1 -0
  355. package/dist/triggers/scene-07-profile.js +8 -0
  356. package/dist/triggers/scene-07-profile.js.map +1 -0
  357. package/dist/triggers/scene-08-body.d.ts +4 -0
  358. package/dist/triggers/scene-08-body.d.ts.map +1 -0
  359. package/dist/triggers/scene-08-body.js +17 -0
  360. package/dist/triggers/scene-08-body.js.map +1 -0
  361. package/dist/triggers/scene-09-photo.d.ts +4 -0
  362. package/dist/triggers/scene-09-photo.d.ts.map +1 -0
  363. package/dist/triggers/scene-09-photo.js +14 -0
  364. package/dist/triggers/scene-09-photo.js.map +1 -0
  365. package/dist/triggers/scene-10-analysis.d.ts +4 -0
  366. package/dist/triggers/scene-10-analysis.d.ts.map +1 -0
  367. package/dist/triggers/scene-10-analysis.js +180 -0
  368. package/dist/triggers/scene-10-analysis.js.map +1 -0
  369. package/dist/triggers/types.d.ts +66 -0
  370. package/dist/triggers/types.d.ts.map +1 -0
  371. package/dist/triggers/types.js +3 -0
  372. package/dist/triggers/types.js.map +1 -0
  373. package/package.json +35 -0
@@ -0,0 +1,163 @@
1
+ /** 分类 → 场景编号(复盘并入 10-分析;食品库/综合在 SoT 中为空) */
2
+ export const CATEGORY_SCENE = {
3
+ '主页': '01',
4
+ '饮食': '02',
5
+ '体重': '03',
6
+ '运动': '04',
7
+ '健身计划': '05',
8
+ '目标管理': '06',
9
+ '基础信息': '07',
10
+ '身体细节': '08',
11
+ '身材照片': '09',
12
+ '分析': '10',
13
+ '复盘': '10',
14
+ };
15
+ function triggerKey(t) {
16
+ return 'key' in t && typeof t.key === 'string' ? t.key : null;
17
+ }
18
+ function triggerAliases(t) {
19
+ return 'aliases' in t && Array.isArray(t.aliases) ? t.aliases : [];
20
+ }
21
+ /** 全量速查表:主唤醒词与其 aliases 同指同一命中;记身材照一词三命中(按 key 区分)。 */
22
+ export function buildHelpLookup(triggers) {
23
+ const map = {};
24
+ for (const t of triggers) {
25
+ const hit = {
26
+ wake_word: t.wake_word,
27
+ scene: CATEGORY_SCENE[t.category] ?? '??',
28
+ key: triggerKey(t),
29
+ cli: t.main_prompt.cli,
30
+ desc: t.desc,
31
+ };
32
+ for (const w of [t.wake_word, ...triggerAliases(t)]) {
33
+ (map[w] ??= []).push(hit);
34
+ }
35
+ }
36
+ // C2 #43 · WAKE_TABLE 别名注入(SoT 零改动):记早餐/午餐/晚餐同指 diet.add 可执行命中。
37
+ for (const e of WAKE_TABLE) {
38
+ (map[e.phrase] ??= []).push({ wake_word: e.phrase, scene: '02', key: 'diet_add_meal', cli: 'calorie-cmd-read calorie.diet.add', desc: '记一餐(别名同走 calorie.diet.add)' });
39
+ }
40
+ return map;
41
+ }
42
+ export function lookupWake(map, word) {
43
+ return map[word] ?? [];
44
+ }
45
+ /** C2 #43 · 餐别别名 WAKE_TABLE(SoT 不动:TRIGGERS 原文零改动,别名唯一上游为本表;buildHelpLookup/searchHelp 双注入)。 */
46
+ export const WAKE_TABLE = [
47
+ { phrase: '记早餐', key: 'calorie.diet.add', cli: 'calorie-cmd-read calorie.diet.add' },
48
+ { phrase: '记午餐', key: 'calorie.diet.add', cli: 'calorie-cmd-read calorie.diet.add' },
49
+ { phrase: '记晚餐', key: 'calorie.diet.add', cli: 'calorie-cmd-read calorie.diet.add' },
50
+ ];
51
+ export function routeWakeword(phrase) {
52
+ const hit = WAKE_TABLE.find((e) => e.phrase === String(phrase ?? '').trim());
53
+ return hit ? { key: hit.key, cli: hit.cli } : null;
54
+ }
55
+ /** C3 #43 · cli 是否可执行(唯一出口 calorie-cmd-read)。 */
56
+ export function isExecCli(cli) {
57
+ return String(cli ?? '').startsWith('calorie-cmd-read calorie.');
58
+ }
59
+ /** C3 #43 · legacy 内部 key → 可执行 cli 映射(SoT 原文不动,呈现层替换首命中)。 */
60
+ export const HELP_EXEC_OVERRIDES = {
61
+ home_today_overview: 'calorie-cmd-read calorie.view.home --params \u0027{"date":"2026-09-07"}\u0027',
62
+ home_today_diet_overview: 'calorie-cmd-read calorie.view.diet --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
63
+ home_today_exercise_overview: 'calorie-cmd-read calorie.view.exercise --params \u0027{"start":"2026-09-06","end":"2026-09-07"}\u0027',
64
+ home_today_weight_overview: 'calorie-cmd-read calorie.view.weight',
65
+ home_today_goal_progress: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
66
+ home_week_overview: 'calorie-cmd-read calorie.view.home --params \u0027{"date":"2026-09-07","windowDays":7}\u0027',
67
+ home_month_overview: 'calorie-cmd-read calorie.view.home --params \u0027{"date":"2026-09-07","windowDays":30}\u0027',
68
+ home_streak_days: 'calorie-cmd-read calorie.view.home --params \u0027{"date":"2026-09-07"}\u0027',
69
+ home_today_budget: 'calorie-cmd-read calorie.view.home --params \u0027{"date":"2026-09-07"}\u0027',
70
+ goal_view_today: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
71
+ goal_view_week: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-01","end":"2026-09-07"}\u0027',
72
+ goal_view_nutrition_progress: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
73
+ goal_view_weight_progress: 'calorie-cmd-read calorie.view.goal-weight --params \u0027{"start":"2026-09-01","end":"2026-09-07"}\u0027',
74
+ goal_view_water_progress: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
75
+ goal_view_vs_actual: 'calorie-cmd-read calorie.view.goal-vs-actual --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
76
+ goal_view_completion: 'calorie-cmd-read calorie.view.goal --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
77
+ goal_view_expiring: 'calorie-cmd-read calorie.view.goal-expiring',
78
+ goal_view_completion_rate_week: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-01","end":"2026-09-07"}\u0027',
79
+ goal_view_completion_rate_month: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-01","end":"2026-09-07"}\u0027',
80
+ goal_view_history_complete: 'calorie-cmd-read calorie.view.goal --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
81
+ goal_view_predict: 'calorie-cmd-read calorie.view.goal-predict --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
82
+ diag_strategy_check: 'calorie-cmd-read calorie.view.goal-progress --params \u0027{"start":"2026-09-05","end":"2026-09-07"}\u0027',
83
+ diag_gap_to_goal: 'calorie-cmd-read calorie.view.goal-weight --params \u0027{"start":"2026-09-01","end":"2026-09-07"}\u0027',
84
+ };
85
+ export function execCliFor(internalKey, fallbackCli) {
86
+ if (isExecCli(fallbackCli))
87
+ return fallbackCli;
88
+ if (internalKey && HELP_EXEC_OVERRIDES[internalKey])
89
+ return HELP_EXEC_OVERRIDES[internalKey];
90
+ return fallbackCli;
91
+ }
92
+ function matchAliases(t, q) {
93
+ const aliases = triggerAliases(t);
94
+ return aliases.some((a) => a.includes(q) || q.includes(a));
95
+ }
96
+ /** C3 #43 · 别名感知 + 可执行排前 + 知名高频词合成首条(唯一搜索入口,cmd_read 同逻辑)。 */
97
+ export function searchHelp(triggers, q) {
98
+ const query = String(q ?? '').trim();
99
+ if (!query)
100
+ return [];
101
+ const cands = triggers.filter((t) => {
102
+ const key = triggerKey(t) ?? '';
103
+ return (t.wake_word.includes(query) ||
104
+ t.category.includes(query) ||
105
+ t.desc.includes(query) ||
106
+ key.includes(query) ||
107
+ matchAliases(t, query));
108
+ });
109
+ const hits = cands.map((t) => {
110
+ const key = triggerKey(t);
111
+ return {
112
+ wake_word: t.wake_word,
113
+ scene: CATEGORY_SCENE[t.category] ?? '??',
114
+ key,
115
+ cli: execCliFor(key, t.main_prompt.cli),
116
+ desc: t.desc,
117
+ };
118
+ });
119
+ // C2 #43 · WAKE_TABLE 别名前置(SoT 零改动):记早餐/午餐/晚餐一律首命中 diet.add。
120
+ for (const e of [...WAKE_TABLE].reverse()) {
121
+ if (e.phrase.includes(query) || query.includes(e.phrase)) {
122
+ hits.unshift({ wake_word: e.phrase, scene: '02', key: 'diet_add_meal', cli: 'calorie-cmd-read calorie.diet.add', desc: '记一餐(别名同走 calorie.diet.add)' });
123
+ }
124
+ }
125
+ hits.sort((a, b) => Number(!isExecCli(a.cli)) - Number(!isExecCli(b.cli)));
126
+ // C2 别名经 WAKE_TABLE 已为可执行,保首条即 diet.add(排序稳定,可执行内保原序)。
127
+ const wakeFirst = WAKE_TABLE.some((e) => e.phrase.includes(query) || query.includes(e.phrase));
128
+ if (wakeFirst) {
129
+ hits.sort((a, b) => Number(!(a.cli.includes('calorie.diet.add'))) - Number(!(b.cli.includes('calorie.diet.add'))));
130
+ }
131
+ const firstExec = hits.length > 0 && isExecCli(hits[0]?.cli ?? '');
132
+ if (!firstExec) {
133
+ if (query.includes('今日主页') || query.includes('主页')) {
134
+ hits.unshift({
135
+ wake_word: '看今日主页',
136
+ scene: '01',
137
+ key: 'home_today_overview',
138
+ cli: HELP_EXEC_OVERRIDES['home_today_overview'],
139
+ desc: '看今天主页的整体数据(可执行)',
140
+ });
141
+ }
142
+ else if (query.includes('减肥') || query.includes('减脂')) {
143
+ hits.unshift({
144
+ wake_word: '看今日目标进度',
145
+ scene: '06',
146
+ key: 'home_today_goal_progress',
147
+ cli: HELP_EXEC_OVERRIDES['home_today_goal_progress'],
148
+ desc: '减肥首选:今日目标进度(可执行)',
149
+ });
150
+ }
151
+ else if (query.includes('目标')) {
152
+ hits.unshift({
153
+ wake_word: '定营养目标',
154
+ scene: '06',
155
+ key: 'goal_set_nutrition',
156
+ cli: 'calorie-cmd-read calorie.goal.set --params \u0027{"calorie":1800,"protein":150,"carbs":200,"fat":50,"water":2000}\u0027',
157
+ desc: '设每日 4 项宏量营养目标(可执行)',
158
+ });
159
+ }
160
+ }
161
+ return hits.slice(0, 50);
162
+ }
163
+ //# sourceMappingURL=help-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-lookup.js","sourceRoot":"","sources":["../../src/triggers/help-lookup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { HelpHit, Summary, Trigger } from './types.js';
2
+ export { CATEGORY_SCENE, buildHelpLookup, lookupWake, WAKE_TABLE, routeWakeword, isExecCli, HELP_EXEC_OVERRIDES, execCliFor, searchHelp } from './help-lookup.js';
3
+ export type { HelpHit, SceneDataContractV1, SceneTrigger, LegacyTrigger, MainPrompt, Summary, Trigger, TriggerVariant, TriggerBase } from './types.js';
4
+ /** CATEGORIES 原样照搬 SoT([emoji, 展示名, key]×13,展示名与触发 category 允许不同) */
5
+ export declare const CATEGORIES: Array<readonly [string, string, string]>;
6
+ export declare const SCENES: {
7
+ readonly '01': Trigger[];
8
+ readonly '02': Trigger[];
9
+ readonly '03': Trigger[];
10
+ readonly '04': Trigger[];
11
+ readonly '05': Trigger[];
12
+ readonly '06': Trigger[];
13
+ readonly '07': Trigger[];
14
+ readonly '08': Trigger[];
15
+ readonly '09': Trigger[];
16
+ readonly '10': Trigger[];
17
+ };
18
+ export declare const TRIGGERS: Trigger[];
19
+ /** 与 SoT get_summary() 同口径(total_categories 取 CATEGORIES 长 13) */
20
+ export declare function getSummary(): Summary;
21
+ /** HELP 速查行(供 help_template 注入):每唤醒词一行 */
22
+ export declare function getHelpCards(): HelpHit[];
23
+ export declare const HELP_LOOKUP: Record<string, HelpHit[]>;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/triggers/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClK,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvJ,qEAAqE;AACrE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAc/D,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,OAAO,EAW7B,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,UAAU,IAAI,OAAO,CAWpC;AAED,0CAA0C;AAC1C,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAQxC;AAED,eAAO,MAAM,WAAW,2BAA4B,CAAC"}
@@ -0,0 +1,78 @@
1
+ /** 卡路里唤醒词路由总表:10 场景(SoT 436 唤醒词全量,顺序按场景 01→10,场景内保 SoT 序)。 */
2
+ import { SCENE_01_HOME } from './scene-01-home.js';
3
+ import { SCENE_02_DIET } from './scene-02-diet.js';
4
+ import { SCENE_03_WEIGHT } from './scene-03-weight.js';
5
+ import { SCENE_04_EXERCISE } from './scene-04-exercise.js';
6
+ import { SCENE_05_WORKOUT } from './scene-05-workout.js';
7
+ import { SCENE_06_GOAL } from './scene-06-goal.js';
8
+ import { SCENE_07_PROFILE } from './scene-07-profile.js';
9
+ import { SCENE_08_BODY } from './scene-08-body.js';
10
+ import { SCENE_09_PHOTO } from './scene-09-photo.js';
11
+ import { SCENE_10_ANALYSIS } from './scene-10-analysis.js';
12
+ import { buildHelpLookup, CATEGORY_SCENE } from './help-lookup.js';
13
+ export { CATEGORY_SCENE, buildHelpLookup, lookupWake, WAKE_TABLE, routeWakeword, isExecCli, HELP_EXEC_OVERRIDES, execCliFor, searchHelp } from './help-lookup.js';
14
+ /** CATEGORIES 原样照搬 SoT([emoji, 展示名, key]×13,展示名与触发 category 允许不同) */
15
+ export const CATEGORIES = [
16
+ ['🏠', '主页', 'home'],
17
+ ['🍚', '饮食记录', 'diet'],
18
+ ['📦', '食品库', 'food_lib'],
19
+ ['⚖️', '体重', 'weight'],
20
+ ['🏃', '运动', 'exercise'],
21
+ ['💪', '健身计划', 'workout'],
22
+ ['📊', '分析', 'analysis'],
23
+ ['📋', '综合', 'general'],
24
+ ['🔄', '复盘', 'review'],
25
+ ['🧬', '身体细节', 'body_detail'],
26
+ ['📸', '身材照片', 'body_photo'],
27
+ ['🎯', '目标管理', 'goal'],
28
+ ['🛠', '基础信息', 'profile'],
29
+ ];
30
+ export const SCENES = {
31
+ '01': SCENE_01_HOME,
32
+ '02': SCENE_02_DIET,
33
+ '03': SCENE_03_WEIGHT,
34
+ '04': SCENE_04_EXERCISE,
35
+ '05': SCENE_05_WORKOUT,
36
+ '06': SCENE_06_GOAL,
37
+ '07': SCENE_07_PROFILE,
38
+ '08': SCENE_08_BODY,
39
+ '09': SCENE_09_PHOTO,
40
+ '10': SCENE_10_ANALYSIS,
41
+ };
42
+ export const TRIGGERS = [
43
+ ...SCENE_01_HOME,
44
+ ...SCENE_02_DIET,
45
+ ...SCENE_03_WEIGHT,
46
+ ...SCENE_04_EXERCISE,
47
+ ...SCENE_05_WORKOUT,
48
+ ...SCENE_06_GOAL,
49
+ ...SCENE_07_PROFILE,
50
+ ...SCENE_08_BODY,
51
+ ...SCENE_09_PHOTO,
52
+ ...SCENE_10_ANALYSIS,
53
+ ];
54
+ /** 与 SoT get_summary() 同口径(total_categories 取 CATEGORIES 长 13) */
55
+ export function getSummary() {
56
+ const by_category = {};
57
+ for (const t of TRIGGERS) {
58
+ by_category[t.category] = (by_category[t.category] ?? 0) + 1 + t.variants.length;
59
+ }
60
+ return {
61
+ total_wake_words: TRIGGERS.length,
62
+ total_prompts: TRIGGERS.length + TRIGGERS.reduce((n, t) => n + t.variants.length, 0),
63
+ total_categories: CATEGORIES.length,
64
+ by_category,
65
+ };
66
+ }
67
+ /** HELP 速查行(供 help_template 注入):每唤醒词一行 */
68
+ export function getHelpCards() {
69
+ return TRIGGERS.map((t) => ({
70
+ wake_word: t.wake_word,
71
+ scene: CATEGORY_SCENE[t.category] ?? '??',
72
+ key: 'key' in t && typeof t.key === 'string' ? t.key : null,
73
+ cli: t.main_prompt.cli,
74
+ desc: t.desc,
75
+ }));
76
+ }
77
+ export const HELP_LOOKUP = buildHelpLookup(TRIGGERS);
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Trigger } from './types.js';
2
+ /** 01-主页:9 唤醒词(SoT scripts/_triggers.py 原样拆分,顺序保留) */
3
+ export declare const SCENE_01_HOME: Trigger[];
4
+ //# sourceMappingURL=scene-01-home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-01-home.d.ts","sourceRoot":"","sources":["../../src/triggers/scene-01-home.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAAE,OAAO,EAUlC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** 01-主页:9 唤醒词(SoT scripts/_triggers.py 原样拆分,顺序保留) */
2
+ export const SCENE_01_HOME = [
3
+ { "category": "主页", "wake_word": "看今日主页", "aliases": ["开卡路里", "卡路里面板", "今日卡路里"], "desc": "看今天主页的整体数据,了解今天哪些做得好/差", "main_prompt": { "cli": "python scripts/render_home.py --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日主页」。\n\n我想看今天的主页 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_overview", "name": "看今日主页", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日主页」。\n\n我想看今天的主页 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今天主页的整体数据,了解今天哪些做得好/差", "data_fields": ["today_kpi", "goal_progress", "weekly_trend", "streak_days"], "depends_on_external": false, "order": 0 },
4
+ { "category": "主页", "wake_word": "看今日饮食概览", "desc": "只看今天饮食维度的完成情况", "main_prompt": { "cli": "python scripts/render_home.py --section diet --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日饮食概览」。\n\n我想看今天饮食 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_diet_overview", "name": "看今日饮食概览", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section diet --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日饮食概览」。\n\n我想看今天饮食 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "只看今天饮食维度的完成情况", "data_fields": ["diet_calories", "diet_protein", "diet_goal", "diet_vs_target"], "depends_on_external": false, "order": 1 },
5
+ { "category": "主页", "wake_word": "看今日运动概览", "desc": "只看今天运动维度的完成情况", "main_prompt": { "cli": "python scripts/render_home.py --section exercise --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日运动概览」。\n\n我想看今天运动 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_exercise_overview", "name": "看今日运动概览", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section exercise --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日运动概览」。\n\n我想看今天运动 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "只看今天运动维度的完成情况", "data_fields": ["exercise_burn", "exercise_duration", "exercise_goal", "exercise_vs_target"], "depends_on_external": false, "order": 2 },
6
+ { "category": "主页", "wake_word": "看今日体重概览", "desc": "只看今天体重维度的状态", "main_prompt": { "cli": "python scripts/render_home.py --section weight --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日体重概览」。\n\n我想看今天体重 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_weight_overview", "name": "看今日体重概览", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section weight --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日体重概览」。\n\n我想看今天体重 widget。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "只看今天体重维度的状态", "data_fields": ["latest_weight", "weight_goal_gap", "weight_delta_7d"], "depends_on_external": false, "order": 3 },
7
+ { "category": "主页", "wake_word": "看今日目标进度", "desc": "看今天 4 项目标(热量/蛋白/饮水/运动)的完成度", "main_prompt": { "cli": "python scripts/render_home.py --section goals --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日目标进度」。\n\n我想看今天 4 项目标(热量/蛋白/饮水/运动)完成度。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_goal_progress", "name": "看今日目标进度", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section goals --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日目标进度」。\n\n我想看今天 4 项目标(热量/蛋白/饮水/运动)完成度。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今天 4 项目标(热量/蛋白/饮水/运动)的完成度", "data_fields": ["goal_calorie_pct", "goal_protein_pct", "goal_water_pct", "goal_exercise_pct"], "depends_on_external": false, "order": 4 },
8
+ { "category": "主页", "wake_word": "看本周主页", "desc": "看本周的整体数据总览", "main_prompt": { "cli": "python scripts/render_home.py --period week --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看本周主页」。\n\n我想看本周 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_week_overview", "name": "看本周主页", "subfunction": "看周期主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --period week --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本周主页」。\n\n我想看本周 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周的整体数据总览", "data_fields": ["week_diet_total", "week_exercise_total", "week_weight_trend"], "depends_on_external": false, "order": 5 },
9
+ { "category": "主页", "wake_word": "看本月主页", "desc": "看本月的整体数据总览", "main_prompt": { "cli": "python scripts/render_home.py --period month --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看本月主页」。\n\n我想看本月 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_month_overview", "name": "看本月主页", "subfunction": "看周期主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --period month --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本月主页」。\n\n我想看本月 dashboard。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月的整体数据总览", "data_fields": ["month_diet_total", "month_exercise_total", "month_weight_trend"], "depends_on_external": false, "order": 6 },
10
+ { "category": "主页", "wake_word": "看连续记录天数", "desc": "看连续记录天数,获得激励", "main_prompt": { "cli": "python scripts/render_home.py --section streak --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看连续记录天数」。\n\n我想看我的连续记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_streak_days", "name": "看连续记录天数", "subfunction": "看今日成就", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section streak --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看连续记录天数」。\n\n我想看我的连续记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看连续记录天数,获得激励", "data_fields": ["streak_current", "streak_longest"], "depends_on_external": false, "order": 7 },
11
+ { "category": "主页", "wake_word": "看今日热量预算", "desc": "看今天还剩多少热量可吃", "main_prompt": { "cli": "python scripts/render_home.py --section budget --chain \"1.识别→2.读DB聚合→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日热量预算」。\n\n我想看今天还能吃多少。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "home_today_budget", "name": "看今日热量预算", "subfunction": "看今日主页", "output_type": "result", "html_template": "templates/home_dashboard.html", "data_source": "python scripts/render_home.py --section budget --chain \"1.识别→2.读DB聚合→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日热量预算」。\n\n我想看今天还能吃多少。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今天还剩多少热量可吃", "data_fields": ["tdee", "exercise_burn", "intake_today", "remaining_calories", "goal_gap"], "depends_on_external": false, "order": 8 },
12
+ ];
13
+ //# sourceMappingURL=scene-01-home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-01-home.js","sourceRoot":"","sources":["../../src/triggers/scene-01-home.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Trigger } from './types.js';
2
+ /** 02-饮食:70 唤醒词(SoT scripts/_triggers.py 原样拆分,顺序保留) */
3
+ export declare const SCENE_02_DIET: Trigger[];
4
+ //# sourceMappingURL=scene-02-diet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-02-diet.d.ts","sourceRoot":"","sources":["../../src/triggers/scene-02-diet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,OAAO,EAuElC,CAAC"}