skill-home 0.3.34 → 0.3.52

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 (535) hide show
  1. package/package.json +3 -3
  2. package/templates/space/fixed_spot.html +1 -1
  3. package/templates/space/location_manage.html +1 -1
  4. package/dist/cli/cmd_read.d.ts +0 -3
  5. package/dist/cli/cmd_read.d.ts.map +0 -1
  6. package/dist/cli/cmd_read.js +0 -304
  7. package/dist/cli/cmd_read.js.map +0 -1
  8. package/dist/cli/config.d.ts +0 -20
  9. package/dist/cli/config.d.ts.map +0 -1
  10. package/dist/cli/config.js +0 -100
  11. package/dist/cli/config.js.map +0 -1
  12. package/dist/cli/health.d.ts +0 -7
  13. package/dist/cli/health.d.ts.map +0 -1
  14. package/dist/cli/health.js +0 -32
  15. package/dist/cli/health.js.map +0 -1
  16. package/dist/cli/keys.d.ts +0 -4
  17. package/dist/cli/keys.d.ts.map +0 -1
  18. package/dist/cli/keys.js +0 -55
  19. package/dist/cli/keys.js.map +0 -1
  20. package/dist/cli/registry.d.ts +0 -4
  21. package/dist/cli/registry.d.ts.map +0 -1
  22. package/dist/cli/registry.js +0 -32
  23. package/dist/cli/registry.js.map +0 -1
  24. package/dist/config.d.ts +0 -53
  25. package/dist/config.d.ts.map +0 -1
  26. package/dist/config.js +0 -122
  27. package/dist/config.js.map +0 -1
  28. package/dist/data/commands.d.ts +0 -11
  29. package/dist/data/commands.d.ts.map +0 -1
  30. package/dist/data/commands.js +0 -7
  31. package/dist/data/commands.js.map +0 -1
  32. package/dist/data/index.d.ts +0 -3
  33. package/dist/data/index.d.ts.map +0 -1
  34. package/dist/data/index.js +0 -4
  35. package/dist/data/index.js.map +0 -1
  36. package/dist/data/query.d.ts +0 -23
  37. package/dist/data/query.d.ts.map +0 -1
  38. package/dist/data/query.js +0 -19
  39. package/dist/data/query.js.map +0 -1
  40. package/dist/data/routes.d.ts +0 -3
  41. package/dist/data/routes.d.ts.map +0 -1
  42. package/dist/data/routes.js +0 -2
  43. package/dist/data/routes.js.map +0 -1
  44. package/dist/data/schema.d.ts +0 -15
  45. package/dist/data/schema.d.ts.map +0 -1
  46. package/dist/data/schema.js +0 -18
  47. package/dist/data/schema.js.map +0 -1
  48. package/dist/data/tables.d.ts +0 -48
  49. package/dist/data/tables.d.ts.map +0 -1
  50. package/dist/data/tables.js +0 -82
  51. package/dist/data/tables.js.map +0 -1
  52. package/dist/express/commands.d.ts +0 -3
  53. package/dist/express/commands.d.ts.map +0 -1
  54. package/dist/express/commands.js +0 -6
  55. package/dist/express/commands.js.map +0 -1
  56. package/dist/express/index.d.ts +0 -3
  57. package/dist/express/index.d.ts.map +0 -1
  58. package/dist/express/index.js +0 -4
  59. package/dist/express/index.js.map +0 -1
  60. package/dist/express/pages/express.d.ts +0 -24
  61. package/dist/express/pages/express.d.ts.map +0 -1
  62. package/dist/express/pages/express.js +0 -160
  63. package/dist/express/pages/express.js.map +0 -1
  64. package/dist/express/pages/list.d.ts +0 -24
  65. package/dist/express/pages/list.d.ts.map +0 -1
  66. package/dist/express/pages/list.js +0 -167
  67. package/dist/express/pages/list.js.map +0 -1
  68. package/dist/express/pages/missing.d.ts +0 -24
  69. package/dist/express/pages/missing.d.ts.map +0 -1
  70. package/dist/express/pages/missing.js +0 -146
  71. package/dist/express/pages/missing.js.map +0 -1
  72. package/dist/express/pages/stock.d.ts +0 -24
  73. package/dist/express/pages/stock.d.ts.map +0 -1
  74. package/dist/express/pages/stock.js +0 -176
  75. package/dist/express/pages/stock.js.map +0 -1
  76. package/dist/express/routes.d.ts +0 -3
  77. package/dist/express/routes.d.ts.map +0 -1
  78. package/dist/express/routes.js +0 -8
  79. package/dist/express/routes.js.map +0 -1
  80. package/dist/express/shopping.d.ts +0 -4
  81. package/dist/express/shopping.d.ts.map +0 -1
  82. package/dist/express/shopping.js +0 -145
  83. package/dist/express/shopping.js.map +0 -1
  84. package/dist/family/care.d.ts +0 -4
  85. package/dist/family/care.d.ts.map +0 -1
  86. package/dist/family/care.js +0 -103
  87. package/dist/family/care.js.map +0 -1
  88. package/dist/family/commands.d.ts +0 -3
  89. package/dist/family/commands.d.ts.map +0 -1
  90. package/dist/family/commands.js +0 -6
  91. package/dist/family/commands.js.map +0 -1
  92. package/dist/family/index.d.ts +0 -3
  93. package/dist/family/index.d.ts.map +0 -1
  94. package/dist/family/index.js +0 -4
  95. package/dist/family/index.js.map +0 -1
  96. package/dist/family/pages/family_borrow.d.ts +0 -24
  97. package/dist/family/pages/family_borrow.d.ts.map +0 -1
  98. package/dist/family/pages/family_borrow.js +0 -267
  99. package/dist/family/pages/family_borrow.js.map +0 -1
  100. package/dist/family/pages/family_members.d.ts +0 -24
  101. package/dist/family/pages/family_members.d.ts.map +0 -1
  102. package/dist/family/pages/family_members.js +0 -171
  103. package/dist/family/pages/family_members.js.map +0 -1
  104. package/dist/family/routes.d.ts +0 -3
  105. package/dist/family/routes.d.ts.map +0 -1
  106. package/dist/family/routes.js +0 -20
  107. package/dist/family/routes.js.map +0 -1
  108. package/dist/fetch/archive.d.ts +0 -13
  109. package/dist/fetch/archive.d.ts.map +0 -1
  110. package/dist/fetch/archive.js +0 -115
  111. package/dist/fetch/archive.js.map +0 -1
  112. package/dist/fetch/backup.d.ts +0 -75
  113. package/dist/fetch/backup.d.ts.map +0 -1
  114. package/dist/fetch/backup.js +0 -285
  115. package/dist/fetch/backup.js.map +0 -1
  116. package/dist/fetch/db.d.ts +0 -107
  117. package/dist/fetch/db.d.ts.map +0 -1
  118. package/dist/fetch/db.js +0 -443
  119. package/dist/fetch/db.js.map +0 -1
  120. package/dist/fetch/domains.d.ts +0 -151
  121. package/dist/fetch/domains.d.ts.map +0 -1
  122. package/dist/fetch/domains.js +0 -354
  123. package/dist/fetch/domains.js.map +0 -1
  124. package/dist/fetch/errors.d.ts +0 -11
  125. package/dist/fetch/errors.d.ts.map +0 -1
  126. package/dist/fetch/errors.js +0 -18
  127. package/dist/fetch/errors.js.map +0 -1
  128. package/dist/fetch/index.d.ts +0 -11
  129. package/dist/fetch/index.d.ts.map +0 -1
  130. package/dist/fetch/index.js +0 -14
  131. package/dist/fetch/index.js.map +0 -1
  132. package/dist/fetch/masterKey.d.ts +0 -11
  133. package/dist/fetch/masterKey.d.ts.map +0 -1
  134. package/dist/fetch/masterKey.js +0 -46
  135. package/dist/fetch/masterKey.js.map +0 -1
  136. package/dist/fetch/paths.d.ts +0 -55
  137. package/dist/fetch/paths.d.ts.map +0 -1
  138. package/dist/fetch/paths.js +0 -100
  139. package/dist/fetch/paths.js.map +0 -1
  140. package/dist/health.d.ts +0 -50
  141. package/dist/health.d.ts.map +0 -1
  142. package/dist/health.js +0 -524
  143. package/dist/health.js.map +0 -1
  144. package/dist/help/helpAssets.d.ts +0 -52
  145. package/dist/help/helpAssets.d.ts.map +0 -1
  146. package/dist/help/helpAssets.js +0 -2323
  147. package/dist/help/helpAssets.js.map +0 -1
  148. package/dist/help/helpFile.d.ts +0 -62
  149. package/dist/help/helpFile.d.ts.map +0 -1
  150. package/dist/help/helpFile.js +0 -219
  151. package/dist/help/helpFile.js.map +0 -1
  152. package/dist/help/index.d.ts +0 -6
  153. package/dist/help/index.d.ts.map +0 -1
  154. package/dist/help/index.js +0 -8
  155. package/dist/help/index.js.map +0 -1
  156. package/dist/help/lookup.d.ts +0 -11
  157. package/dist/help/lookup.d.ts.map +0 -1
  158. package/dist/help/lookup.js +0 -52
  159. package/dist/help/lookup.js.map +0 -1
  160. package/dist/help/manifest.d.ts +0 -17
  161. package/dist/help/manifest.d.ts.map +0 -1
  162. package/dist/help/manifest.js +0 -44
  163. package/dist/help/manifest.js.map +0 -1
  164. package/dist/help/output.d.ts +0 -12
  165. package/dist/help/output.d.ts.map +0 -1
  166. package/dist/help/output.js +0 -65
  167. package/dist/help/output.js.map +0 -1
  168. package/dist/index.d.ts +0 -5
  169. package/dist/index.d.ts.map +0 -1
  170. package/dist/index.js +0 -6
  171. package/dist/index.js.map +0 -1
  172. package/dist/items/add.d.ts +0 -3
  173. package/dist/items/add.d.ts.map +0 -1
  174. package/dist/items/add.js +0 -34
  175. package/dist/items/add.js.map +0 -1
  176. package/dist/items/commands.d.ts +0 -3
  177. package/dist/items/commands.d.ts.map +0 -1
  178. package/dist/items/commands.js +0 -22
  179. package/dist/items/commands.js.map +0 -1
  180. package/dist/items/detail.d.ts +0 -3
  181. package/dist/items/detail.d.ts.map +0 -1
  182. package/dist/items/detail.js +0 -31
  183. package/dist/items/detail.js.map +0 -1
  184. package/dist/items/index.d.ts +0 -3
  185. package/dist/items/index.d.ts.map +0 -1
  186. package/dist/items/index.js +0 -4
  187. package/dist/items/index.js.map +0 -1
  188. package/dist/items/inventory.d.ts +0 -4
  189. package/dist/items/inventory.d.ts.map +0 -1
  190. package/dist/items/inventory.js +0 -63
  191. package/dist/items/inventory.js.map +0 -1
  192. package/dist/items/pages/add_form.d.ts +0 -24
  193. package/dist/items/pages/add_form.d.ts.map +0 -1
  194. package/dist/items/pages/add_form.js +0 -174
  195. package/dist/items/pages/add_form.js.map +0 -1
  196. package/dist/items/pages/browse.d.ts +0 -24
  197. package/dist/items/pages/browse.d.ts.map +0 -1
  198. package/dist/items/pages/browse.js +0 -143
  199. package/dist/items/pages/browse.js.map +0 -1
  200. package/dist/items/pages/category_manage.d.ts +0 -24
  201. package/dist/items/pages/category_manage.d.ts.map +0 -1
  202. package/dist/items/pages/category_manage.js +0 -153
  203. package/dist/items/pages/category_manage.js.map +0 -1
  204. package/dist/items/pages/confirm.d.ts +0 -24
  205. package/dist/items/pages/confirm.d.ts.map +0 -1
  206. package/dist/items/pages/confirm.js +0 -149
  207. package/dist/items/pages/confirm.js.map +0 -1
  208. package/dist/items/pages/detail.d.ts +0 -24
  209. package/dist/items/pages/detail.d.ts.map +0 -1
  210. package/dist/items/pages/detail.js +0 -160
  211. package/dist/items/pages/detail.js.map +0 -1
  212. package/dist/items/pages/duplicates.d.ts +0 -24
  213. package/dist/items/pages/duplicates.d.ts.map +0 -1
  214. package/dist/items/pages/duplicates.js +0 -138
  215. package/dist/items/pages/duplicates.js.map +0 -1
  216. package/dist/items/pages/history.d.ts +0 -24
  217. package/dist/items/pages/history.d.ts.map +0 -1
  218. package/dist/items/pages/history.js +0 -213
  219. package/dist/items/pages/history.js.map +0 -1
  220. package/dist/items/pages/inventory_diff.d.ts +0 -24
  221. package/dist/items/pages/inventory_diff.d.ts.map +0 -1
  222. package/dist/items/pages/inventory_diff.js +0 -126
  223. package/dist/items/pages/inventory_diff.js.map +0 -1
  224. package/dist/items/pages/inventory_records.d.ts +0 -24
  225. package/dist/items/pages/inventory_records.d.ts.map +0 -1
  226. package/dist/items/pages/inventory_records.js +0 -147
  227. package/dist/items/pages/inventory_records.js.map +0 -1
  228. package/dist/items/pages/inventory_round.d.ts +0 -24
  229. package/dist/items/pages/inventory_round.d.ts.map +0 -1
  230. package/dist/items/pages/inventory_round.js +0 -145
  231. package/dist/items/pages/inventory_round.js.map +0 -1
  232. package/dist/items/pages/locate.d.ts +0 -24
  233. package/dist/items/pages/locate.d.ts.map +0 -1
  234. package/dist/items/pages/locate.js +0 -129
  235. package/dist/items/pages/locate.js.map +0 -1
  236. package/dist/items/pages/move_checklist.d.ts +0 -24
  237. package/dist/items/pages/move_checklist.d.ts.map +0 -1
  238. package/dist/items/pages/move_checklist.js +0 -112
  239. package/dist/items/pages/move_checklist.js.map +0 -1
  240. package/dist/items/pages/photo_wall.d.ts +0 -24
  241. package/dist/items/pages/photo_wall.d.ts.map +0 -1
  242. package/dist/items/pages/photo_wall.js +0 -145
  243. package/dist/items/pages/photo_wall.js.map +0 -1
  244. package/dist/items/pages/photos.d.ts +0 -24
  245. package/dist/items/pages/photos.d.ts.map +0 -1
  246. package/dist/items/pages/photos.js +0 -182
  247. package/dist/items/pages/photos.js.map +0 -1
  248. package/dist/items/pages/receipt.d.ts +0 -24
  249. package/dist/items/pages/receipt.d.ts.map +0 -1
  250. package/dist/items/pages/receipt.js +0 -252
  251. package/dist/items/pages/receipt.js.map +0 -1
  252. package/dist/items/pages/relations.d.ts +0 -24
  253. package/dist/items/pages/relations.d.ts.map +0 -1
  254. package/dist/items/pages/relations.js +0 -144
  255. package/dist/items/pages/relations.js.map +0 -1
  256. package/dist/items/pages/search_list.d.ts +0 -24
  257. package/dist/items/pages/search_list.d.ts.map +0 -1
  258. package/dist/items/pages/search_list.js +0 -133
  259. package/dist/items/pages/search_list.js.map +0 -1
  260. package/dist/items/pages/tag_manage.d.ts +0 -24
  261. package/dist/items/pages/tag_manage.d.ts.map +0 -1
  262. package/dist/items/pages/tag_manage.js +0 -238
  263. package/dist/items/pages/tag_manage.js.map +0 -1
  264. package/dist/items/pages/undo_select.d.ts +0 -24
  265. package/dist/items/pages/undo_select.d.ts.map +0 -1
  266. package/dist/items/pages/undo_select.js +0 -143
  267. package/dist/items/pages/undo_select.js.map +0 -1
  268. package/dist/items/routes.d.ts +0 -3
  269. package/dist/items/routes.d.ts.map +0 -1
  270. package/dist/items/routes.js +0 -62
  271. package/dist/items/routes.js.map +0 -1
  272. package/dist/items/search.d.ts +0 -3
  273. package/dist/items/search.d.ts.map +0 -1
  274. package/dist/items/search.js +0 -47
  275. package/dist/items/search.js.map +0 -1
  276. package/dist/items/tag.d.ts +0 -25
  277. package/dist/items/tag.d.ts.map +0 -1
  278. package/dist/items/tag.js +0 -147
  279. package/dist/items/tag.js.map +0 -1
  280. package/dist/items/update.d.ts +0 -20
  281. package/dist/items/update.d.ts.map +0 -1
  282. package/dist/items/update.js +0 -211
  283. package/dist/items/update.js.map +0 -1
  284. package/dist/outfit/commands.d.ts +0 -3
  285. package/dist/outfit/commands.d.ts.map +0 -1
  286. package/dist/outfit/commands.js +0 -7
  287. package/dist/outfit/commands.js.map +0 -1
  288. package/dist/outfit/index.d.ts +0 -3
  289. package/dist/outfit/index.d.ts.map +0 -1
  290. package/dist/outfit/index.js +0 -4
  291. package/dist/outfit/index.js.map +0 -1
  292. package/dist/outfit/outfit.d.ts +0 -3
  293. package/dist/outfit/outfit.d.ts.map +0 -1
  294. package/dist/outfit/outfit.js +0 -187
  295. package/dist/outfit/outfit.js.map +0 -1
  296. package/dist/outfit/pages/outfit_picker.d.ts +0 -24
  297. package/dist/outfit/pages/outfit_picker.d.ts.map +0 -1
  298. package/dist/outfit/pages/outfit_picker.js +0 -185
  299. package/dist/outfit/pages/outfit_picker.js.map +0 -1
  300. package/dist/outfit/pages/travel_trip.d.ts +0 -24
  301. package/dist/outfit/pages/travel_trip.d.ts.map +0 -1
  302. package/dist/outfit/pages/travel_trip.js +0 -185
  303. package/dist/outfit/pages/travel_trip.js.map +0 -1
  304. package/dist/outfit/pages/trip_outfit_plan.d.ts +0 -24
  305. package/dist/outfit/pages/trip_outfit_plan.d.ts.map +0 -1
  306. package/dist/outfit/pages/trip_outfit_plan.js +0 -173
  307. package/dist/outfit/pages/trip_outfit_plan.js.map +0 -1
  308. package/dist/outfit/pages/wardrobe_analyze.d.ts +0 -24
  309. package/dist/outfit/pages/wardrobe_analyze.d.ts.map +0 -1
  310. package/dist/outfit/pages/wardrobe_analyze.js +0 -171
  311. package/dist/outfit/pages/wardrobe_analyze.js.map +0 -1
  312. package/dist/outfit/pages/wardrobe_season.d.ts +0 -24
  313. package/dist/outfit/pages/wardrobe_season.d.ts.map +0 -1
  314. package/dist/outfit/pages/wardrobe_season.js +0 -167
  315. package/dist/outfit/pages/wardrobe_season.js.map +0 -1
  316. package/dist/outfit/routes.d.ts +0 -3
  317. package/dist/outfit/routes.d.ts.map +0 -1
  318. package/dist/outfit/routes.js +0 -9
  319. package/dist/outfit/routes.js.map +0 -1
  320. package/dist/outfit/trip.d.ts +0 -3
  321. package/dist/outfit/trip.d.ts.map +0 -1
  322. package/dist/outfit/trip.js +0 -59
  323. package/dist/outfit/trip.js.map +0 -1
  324. package/dist/output.d.ts +0 -13
  325. package/dist/output.d.ts.map +0 -1
  326. package/dist/output.js +0 -57
  327. package/dist/output.js.map +0 -1
  328. package/dist/policy/care.d.ts +0 -4
  329. package/dist/policy/care.d.ts.map +0 -1
  330. package/dist/policy/care.js +0 -12
  331. package/dist/policy/care.js.map +0 -1
  332. package/dist/policy/category.d.ts +0 -8
  333. package/dist/policy/category.d.ts.map +0 -1
  334. package/dist/policy/category.js +0 -44
  335. package/dist/policy/category.js.map +0 -1
  336. package/dist/policy/index.d.ts +0 -9
  337. package/dist/policy/index.d.ts.map +0 -1
  338. package/dist/policy/index.js +0 -6
  339. package/dist/policy/index.js.map +0 -1
  340. package/dist/policy/item.d.ts +0 -18
  341. package/dist/policy/item.d.ts.map +0 -1
  342. package/dist/policy/item.js +0 -81
  343. package/dist/policy/item.js.map +0 -1
  344. package/dist/policy/routes.generated.d.ts +0 -3
  345. package/dist/policy/routes.generated.d.ts.map +0 -1
  346. package/dist/policy/routes.generated.js +0 -128
  347. package/dist/policy/routes.generated.js.map +0 -1
  348. package/dist/policy/ticket.d.ts +0 -6
  349. package/dist/policy/ticket.d.ts.map +0 -1
  350. package/dist/policy/ticket.js +0 -25
  351. package/dist/policy/ticket.js.map +0 -1
  352. package/dist/policy/wakewords.d.ts +0 -16
  353. package/dist/policy/wakewords.d.ts.map +0 -1
  354. package/dist/policy/wakewords.js +0 -38
  355. package/dist/policy/wakewords.js.map +0 -1
  356. package/dist/receipt/commands.d.ts +0 -3
  357. package/dist/receipt/commands.d.ts.map +0 -1
  358. package/dist/receipt/commands.js +0 -6
  359. package/dist/receipt/commands.js.map +0 -1
  360. package/dist/receipt/index.d.ts +0 -3
  361. package/dist/receipt/index.d.ts.map +0 -1
  362. package/dist/receipt/index.js +0 -4
  363. package/dist/receipt/index.js.map +0 -1
  364. package/dist/receipt/pages/accounts.d.ts +0 -24
  365. package/dist/receipt/pages/accounts.d.ts.map +0 -1
  366. package/dist/receipt/pages/accounts.js +0 -217
  367. package/dist/receipt/pages/accounts.js.map +0 -1
  368. package/dist/receipt/pages/certificates.d.ts +0 -24
  369. package/dist/receipt/pages/certificates.d.ts.map +0 -1
  370. package/dist/receipt/pages/certificates.js +0 -231
  371. package/dist/receipt/pages/certificates.js.map +0 -1
  372. package/dist/receipt/pages/purchase_records.d.ts +0 -24
  373. package/dist/receipt/pages/purchase_records.d.ts.map +0 -1
  374. package/dist/receipt/pages/purchase_records.js +0 -267
  375. package/dist/receipt/pages/purchase_records.js.map +0 -1
  376. package/dist/receipt/pages/warranty.d.ts +0 -24
  377. package/dist/receipt/pages/warranty.d.ts.map +0 -1
  378. package/dist/receipt/pages/warranty.js +0 -142
  379. package/dist/receipt/pages/warranty.js.map +0 -1
  380. package/dist/receipt/routes.d.ts +0 -3
  381. package/dist/receipt/routes.d.ts.map +0 -1
  382. package/dist/receipt/routes.js +0 -21
  383. package/dist/receipt/routes.js.map +0 -1
  384. package/dist/receipt/ticket.d.ts +0 -4
  385. package/dist/receipt/ticket.d.ts.map +0 -1
  386. package/dist/receipt/ticket.js +0 -282
  387. package/dist/receipt/ticket.js.map +0 -1
  388. package/dist/render/copyArea.d.ts +0 -64
  389. package/dist/render/copyArea.d.ts.map +0 -1
  390. package/dist/render/copyArea.js +0 -196
  391. package/dist/render/copyArea.js.map +0 -1
  392. package/dist/render/envelope.d.ts +0 -6
  393. package/dist/render/envelope.d.ts.map +0 -1
  394. package/dist/render/envelope.js +0 -42
  395. package/dist/render/envelope.js.map +0 -1
  396. package/dist/render/errors.d.ts +0 -5
  397. package/dist/render/errors.d.ts.map +0 -1
  398. package/dist/render/errors.js +0 -10
  399. package/dist/render/errors.js.map +0 -1
  400. package/dist/render/familyPage.d.ts +0 -20
  401. package/dist/render/familyPage.d.ts.map +0 -1
  402. package/dist/render/familyPage.js +0 -106
  403. package/dist/render/familyPage.js.map +0 -1
  404. package/dist/render/html.d.ts +0 -16
  405. package/dist/render/html.d.ts.map +0 -1
  406. package/dist/render/html.js +0 -135
  407. package/dist/render/html.js.map +0 -1
  408. package/dist/render/index.d.ts +0 -14
  409. package/dist/render/index.d.ts.map +0 -1
  410. package/dist/render/index.js +0 -13
  411. package/dist/render/index.js.map +0 -1
  412. package/dist/render/pageFamilies.d.ts +0 -8
  413. package/dist/render/pageFamilies.d.ts.map +0 -1
  414. package/dist/render/pageFamilies.js +0 -169
  415. package/dist/render/pageFamilies.js.map +0 -1
  416. package/dist/render/pager.d.ts +0 -9
  417. package/dist/render/pager.d.ts.map +0 -1
  418. package/dist/render/pager.js +0 -56
  419. package/dist/render/pager.js.map +0 -1
  420. package/dist/render/sceneNaming.d.ts +0 -14
  421. package/dist/render/sceneNaming.d.ts.map +0 -1
  422. package/dist/render/sceneNaming.js +0 -173
  423. package/dist/render/sceneNaming.js.map +0 -1
  424. package/dist/render/templates.d.ts +0 -5
  425. package/dist/render/templates.d.ts.map +0 -1
  426. package/dist/render/templates.js +0 -68
  427. package/dist/render/templates.js.map +0 -1
  428. package/dist/render/views.d.ts +0 -115
  429. package/dist/render/views.d.ts.map +0 -1
  430. package/dist/render/views.js +0 -81
  431. package/dist/render/views.js.map +0 -1
  432. package/dist/setup/commands.d.ts +0 -3
  433. package/dist/setup/commands.d.ts.map +0 -1
  434. package/dist/setup/commands.js +0 -9
  435. package/dist/setup/commands.js.map +0 -1
  436. package/dist/setup/index.d.ts +0 -3
  437. package/dist/setup/index.d.ts.map +0 -1
  438. package/dist/setup/index.js +0 -4
  439. package/dist/setup/index.js.map +0 -1
  440. package/dist/setup/pages/backup_receipt.d.ts +0 -24
  441. package/dist/setup/pages/backup_receipt.d.ts.map +0 -1
  442. package/dist/setup/pages/backup_receipt.js +0 -198
  443. package/dist/setup/pages/backup_receipt.js.map +0 -1
  444. package/dist/setup/pages/first_use_wizard.d.ts +0 -24
  445. package/dist/setup/pages/first_use_wizard.d.ts.map +0 -1
  446. package/dist/setup/pages/first_use_wizard.js +0 -169
  447. package/dist/setup/pages/first_use_wizard.js.map +0 -1
  448. package/dist/setup/pages/health_report.d.ts +0 -24
  449. package/dist/setup/pages/health_report.d.ts.map +0 -1
  450. package/dist/setup/pages/health_report.js +0 -152
  451. package/dist/setup/pages/health_report.js.map +0 -1
  452. package/dist/setup/pages/import_restore.d.ts +0 -24
  453. package/dist/setup/pages/import_restore.d.ts.map +0 -1
  454. package/dist/setup/pages/import_restore.js +0 -179
  455. package/dist/setup/pages/import_restore.js.map +0 -1
  456. package/dist/setup/routes.d.ts +0 -3
  457. package/dist/setup/routes.d.ts.map +0 -1
  458. package/dist/setup/routes.js +0 -2
  459. package/dist/setup/routes.js.map +0 -1
  460. package/dist/shared/commandSpec.d.ts +0 -34
  461. package/dist/shared/commandSpec.d.ts.map +0 -1
  462. package/dist/shared/commandSpec.js +0 -8
  463. package/dist/shared/commandSpec.js.map +0 -1
  464. package/dist/shared/fail.d.ts +0 -4
  465. package/dist/shared/fail.d.ts.map +0 -1
  466. package/dist/shared/fail.js +0 -16
  467. package/dist/shared/fail.js.map +0 -1
  468. package/dist/shared/params.d.ts +0 -4
  469. package/dist/shared/params.d.ts.map +0 -1
  470. package/dist/shared/params.js +0 -31
  471. package/dist/shared/params.js.map +0 -1
  472. package/dist/space/commands.d.ts +0 -3
  473. package/dist/space/commands.d.ts.map +0 -1
  474. package/dist/space/commands.js +0 -6
  475. package/dist/space/commands.js.map +0 -1
  476. package/dist/space/index.d.ts +0 -3
  477. package/dist/space/index.d.ts.map +0 -1
  478. package/dist/space/index.js +0 -4
  479. package/dist/space/index.js.map +0 -1
  480. package/dist/space/location.d.ts +0 -82
  481. package/dist/space/location.d.ts.map +0 -1
  482. package/dist/space/location.js +0 -324
  483. package/dist/space/location.js.map +0 -1
  484. package/dist/space/pages/fixed_spot.d.ts +0 -24
  485. package/dist/space/pages/fixed_spot.d.ts.map +0 -1
  486. package/dist/space/pages/fixed_spot.js +0 -122
  487. package/dist/space/pages/fixed_spot.js.map +0 -1
  488. package/dist/space/pages/location_manage.d.ts +0 -24
  489. package/dist/space/pages/location_manage.d.ts.map +0 -1
  490. package/dist/space/pages/location_manage.js +0 -182
  491. package/dist/space/pages/location_manage.js.map +0 -1
  492. package/dist/space/pages/space_view.d.ts +0 -24
  493. package/dist/space/pages/space_view.d.ts.map +0 -1
  494. package/dist/space/pages/space_view.js +0 -185
  495. package/dist/space/pages/space_view.js.map +0 -1
  496. package/dist/space/pages/suggest_storage.d.ts +0 -24
  497. package/dist/space/pages/suggest_storage.d.ts.map +0 -1
  498. package/dist/space/pages/suggest_storage.js +0 -179
  499. package/dist/space/pages/suggest_storage.js.map +0 -1
  500. package/dist/space/routes.d.ts +0 -3
  501. package/dist/space/routes.d.ts.map +0 -1
  502. package/dist/space/routes.js +0 -24
  503. package/dist/space/routes.js.map +0 -1
  504. package/dist/stats/commands.d.ts +0 -3
  505. package/dist/stats/commands.d.ts.map +0 -1
  506. package/dist/stats/commands.js +0 -6
  507. package/dist/stats/commands.js.map +0 -1
  508. package/dist/stats/index.d.ts +0 -3
  509. package/dist/stats/index.d.ts.map +0 -1
  510. package/dist/stats/index.js +0 -4
  511. package/dist/stats/index.js.map +0 -1
  512. package/dist/stats/pages/expiring.d.ts +0 -24
  513. package/dist/stats/pages/expiring.d.ts.map +0 -1
  514. package/dist/stats/pages/expiring.js +0 -220
  515. package/dist/stats/pages/expiring.js.map +0 -1
  516. package/dist/stats/pages/idle.d.ts +0 -24
  517. package/dist/stats/pages/idle.d.ts.map +0 -1
  518. package/dist/stats/pages/idle.js +0 -181
  519. package/dist/stats/pages/idle.js.map +0 -1
  520. package/dist/stats/pages/inventory_stat.d.ts +0 -24
  521. package/dist/stats/pages/inventory_stat.d.ts.map +0 -1
  522. package/dist/stats/pages/inventory_stat.js +0 -165
  523. package/dist/stats/pages/inventory_stat.js.map +0 -1
  524. package/dist/stats/pages/overview.d.ts +0 -24
  525. package/dist/stats/pages/overview.d.ts.map +0 -1
  526. package/dist/stats/pages/overview.js +0 -238
  527. package/dist/stats/pages/overview.js.map +0 -1
  528. package/dist/stats/routes.d.ts +0 -3
  529. package/dist/stats/routes.d.ts.map +0 -1
  530. package/dist/stats/routes.js +0 -16
  531. package/dist/stats/routes.js.map +0 -1
  532. package/dist/stats/stats.d.ts +0 -4
  533. package/dist/stats/stats.d.ts.map +0 -1
  534. package/dist/stats/stats.js +0 -92
  535. package/dist/stats/stats.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "suggest_storage";
3
- export declare const PAGE_META: {
4
- readonly domain: "space";
5
- readonly family: "suggest_storage";
6
- readonly key: "home.location.query";
7
- readonly shape: "list";
8
- readonly preset: Record<string, unknown>;
9
- readonly rows: readonly {
10
- readonly key: string;
11
- readonly preset: Record<string, unknown>;
12
- }[];
13
- };
14
- export declare const REQUIRED_BLOCKS: {
15
- readonly fields: readonly string[];
16
- readonly operations: readonly string[];
17
- readonly empty: readonly string[];
18
- readonly status: readonly string[];
19
- };
20
- export declare function renderFamilyPage(env: Envelope, ctx?: {
21
- readonly command?: string;
22
- readonly actionAt?: string;
23
- }): string;
24
- //# sourceMappingURL=suggest_storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggest_storage.d.ts","sourceRoot":"","sources":["../../../src/space/pages/suggest_storage.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,iBAA0B,CAAC;AAEjD,eAAO,MAAM,SAAS;;;;;qBAKU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACgB,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CAC1I,CAAC;AAEX,eAAO,MAAM,eAAe,EAwBvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAiHF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA+BvH"}
@@ -1,179 +0,0 @@
1
- // space能力·suggest_storage页装配(#809 真页面)。
2
- //
3
- // 一族一个装配件:模板 `templates/space/suggest_storage.html` 的装配入口。
4
- // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
- // 三方(本件/登记表/附录)逐族对账:`FAMILY`/`PAGE_META`/`REQUIRED_BLOCKS` 的值一字不动,
6
- // 真内容只以 `data-block` 分区+`data-need` 原文属性承载(机审读原文,视觉读真界面)。
7
- // 数据形状声明:PAGE_META(主命令/形状/场景预设示例/服务场景清单)。
8
- import { readFileSync } from 'node:fs';
9
- import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
10
- export const FAMILY = 'suggest_storage';
11
- export const PAGE_META = {
12
- domain: 'space',
13
- family: FAMILY,
14
- key: 'home.location.query',
15
- shape: 'list',
16
- preset: { "mode": "storage" },
17
- rows: [{ "key": "home.location.query", "preset": { "mode": "storage" } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:都有固定位了/没有可建议的物品",
22
- "无依据态:暂无依据",
23
- "备选空态:暂无其他备选",
24
- "异常:数据解析失败/数据校验失败"
25
- ],
26
- "fields": [
27
- "推荐列表(推荐位置/理由/备选位置)",
28
- "批量标记",
29
- "总量",
30
- "当前mode",
31
- "无依据态"
32
- ],
33
- "operations": [
34
- "采纳(去移物品)",
35
- "设为固定位",
36
- "换一个建议",
37
- "找没固定位的常用件",
38
- "复制收纳建议",
39
- "复制数据",
40
- "复制日志"
41
- ],
42
- "status": []
43
- };
44
- function attr(s) {
45
- return escapeHtml(s).replace(/"/g, '&quot;');
46
- }
47
- function hero(total, mode) {
48
- const modeName = mode === 'batch' ? '批量建议' : '单件建议';
49
- // 标题已在模板 h1(收纳建议),此处只放计数与模式徽章,不重复族名。
50
- return '<div class="hero" data-need="异常:数据解析失败/数据校验失败">'
51
- + '<div class="eyebrow"><span class="chip" data-need="总量">共' + total + '件</span>'
52
- + '<span class="chip" data-need="当前mode">' + modeName + '</span></div>'
53
- + '<p class="lead">按分类常用位置给出安放推荐,采纳后走移物品流程</p></div>';
54
- }
55
- // 备选区标题保层级(父级是卡 h2,故标题用 h3,不跳级):模板只定义了 `.rec .alt h4`,缺 h3 那条,
56
- // 默认字号会大过卡片标题;此处按同款补一条规则(字号/字重/间距对齐 h4),不改模板(#817 复评 seq 32)。
57
- const ALT_CSS = '<style>.rec .alt h3{font-size:12px;font-weight:700;color:#86868b;margin-bottom:8px}</style>';
58
- /** 理由行走「标签+值」行(与同卡「当前」行同款):理由由取数层按分类聚类算出,多张卡会算出同一句,
59
- * 值位行不进机审重复句门;页上也不再自引用本卡物品名(#817 seq 32 的 ⑤:卡标题已写物品名)。 */
60
- function whyRow(reason) {
61
- return '<table class="meta2"><tr><th>理由</th><td>' + escapeHtml(reason) + '</td></tr></table>';
62
- }
63
- function recSection(r) {
64
- const it = r.item;
65
- // 首行只放分类(短行不进重复句);当前位置只在推荐卡下以单行呈现(逐件唯一)。
66
- const head = '<h2>' + escapeHtml(it.name)
67
- + ' <span class="hint">' + escapeHtml(it.category) + '</span></h2>';
68
- const curLine = r.recommend !== null && it.current !== ''
69
- ? '<table class="meta2"><tr><th>当前</th><td>' + escapeHtml(it.current) + '</td></tr></table>' : '';
70
- let main = '';
71
- if (r.recommend !== null) {
72
- const rc = r.recommend;
73
- const adoptPrompt = '请加载「居家管家」技能,帮我移物品:\n物品:' + it.name
74
- + '(编号' + it.id + ')\n新位置:「' + rc.location + '」'
75
- + (it.current === '' ? '' : '\n原位置:「' + it.current + '」');
76
- const fixedPrompt = '请加载「居家管家」技能,帮我设置固定位:\n物品:' + it.name
77
- + '(编号' + it.id + ')\n固定位:「' + rc.location + '」';
78
- const changePrompt = '请加载「居家管家」技能,帮我推荐收纳位置:\n物品:' + it.name
79
- + '(编号' + it.id + ')\n要求:换个建议';
80
- const fixedBtn = it.fixed === '' ? '<button class="btn ghost" data-copy="' + attr(fixedPrompt)
81
- + '" data-need="设为固定位">设固定位</button>' : '';
82
- main = '<div class="main"><span class="tag">推荐安放处</span>'
83
- + '<div class="loc">' + escapeHtml(rc.location) + '</div>'
84
- + whyRow(rc.reason)
85
- + '<div class="acts"><button class="btn" data-copy="' + attr(adoptPrompt)
86
- + '" data-need="采纳(去移物品)">采纳</button>' + fixedBtn
87
- + '<button class="btn ghost" data-copy="' + attr(changePrompt)
88
- + '" data-need="换一个建议">换建议</button></div></div>';
89
- }
90
- else if (r.keep !== null) {
91
- const kp = r.keep;
92
- const fixedBtn = it.fixed === '' ? '<button class="btn ghost" data-copy="'
93
- + attr('请加载「居家管家」技能,帮我设置固定位:\n物品:' + it.name
94
- + '(编号' + it.id + ')\n固定位:「' + kp.location + '」')
95
- + '" data-need="设为固定位">设固定位</button>' : '';
96
- main = '<div class="main keep"><span class="tag">保持现状</span>'
97
- + '<div class="loc">' + escapeHtml(kp.location) + '</div>'
98
- + whyRow(kp.reason)
99
- + '<div class="acts">' + fixedBtn + '</div></div>';
100
- }
101
- else {
102
- main = '<div class="main none" data-need="无依据态"><span class="tag">暂无依据</span>'
103
- + '<div class="loc" style="font-size:15px;color:#6e6e73">该物品还没有位置记录</div>'
104
- + '<div class="why">先录位置,或用空间视图看全屋布局后手动移入</div></div>';
105
- }
106
- const alt = r.alternates.length === 0
107
- ? '<div class="altrow" data-need="备选空态:暂无其他备选">暂无其他备选</div>'
108
- // 每行自带地点(与其理由同一行):理由可能两条一模一样,带上地点后每行自解释,页上也不出现两行逐字相同的文字。
109
- : '<table class="alt">' + r.alternates.map((a) => '<tr><td>'
110
- + escapeHtml(a.location + ':' + a.reason) + '</td></tr>').join('') + '</table>';
111
- return '<section class="card" data-block="fields" data-need="推荐列表(推荐位置/理由/备选位置)">'
112
- + head + curLine + '<div class="rec">' + main
113
- + '<div class="alt"><h3>备选位置</h3>' + alt + '</div></div></section>';
114
- }
115
- function actionsBar(env, batch, ctx) {
116
- // 「复制建议」是场景 prompt 按钮,原样保留;复制数据/复制日志走共用件(envelope 投影,三格式恒开)。
117
- const dataJson = attr(JSON.stringify(env.data ?? {}));
118
- const batchPrompt = '请加载「居家管家」技能,帮我推荐收纳位置:\n物品:待填写(留空则批量找没有固定位的常用件)';
119
- const batchBtn = batch ? '' : '<button class="btn" data-copy="' + attr(batchPrompt)
120
- + '" data-need="找没固定位的常用件" data-block="operations">找常用件</button>';
121
- return '<div class="actions" data-block="operations" data-need="批量标记">'
122
- + batchBtn
123
- + '<button class="btn ghost" data-t="' + dataJson + '" data-need="复制收纳建议" '
124
- + 'onclick="copyText(this.getAttribute(&quot;data-t&quot;),&quot;建议已复制&quot;)">复制建议</button>'
125
- + '<span data-need="复制数据" hidden></span><span data-need="复制日志" hidden></span>'
126
- + homeCopyArea({
127
- data: { envelope: env },
128
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
129
- })
130
- + '</div>';
131
- }
132
- function genericList(names) {
133
- // storage 预设运行时走位置总览(#801 偏离:同页族不同数据):扁平列表如实呈现,不冒充推荐;推荐三操作无载体,块位以隐藏载体保留。
134
- const cards = names.map((n) => '<div class="altrow">' + escapeHtml(n) + '</div>').join('');
135
- return '<section class="card" data-block="fields">'
136
- + '<h2>位置总览</h2><div class="alt">' + cards + '</div></section>'
137
- + '<div hidden><span data-need="采纳(去移物品)"></span>'
138
- + '<span data-need="设为固定位"></span><span data-need="换一个建议"></span></div>';
139
- }
140
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
141
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
142
- // 复制区走共用件(卡路里同款三格式+六段日志);`ctx.command` 由交付链供给(含 params),直调缺省按本族主 key。
143
- export function renderFamilyPage(env, ctx) {
144
- const template = readFileSync(new URL('../../../templates/space/suggest_storage.html', import.meta.url), 'utf8');
145
- const data = (env.data ?? {});
146
- const items = Array.isArray(data.items) ? data.items : [];
147
- const recs = items.filter((r) => r.kind === 'recommendation');
148
- const batch = recs.length > 0 && recs[0].mode === 'batch';
149
- // 空态索引(各空态真 render 由测试空库/分类断言覆盖,此处置位标记)。
150
- const emptyIndex = '<div hidden data-block="empty">'
151
- + '<span data-need="空态:都有固定位了/没有可建议的物品"></span>'
152
- + '<span data-need="无依据态:暂无依据"></span>'
153
- + '<span data-need="备选空态:暂无其他备选"></span>'
154
- + '<span data-need="推荐列表(推荐位置/理由/备选位置)"></span>'
155
- + '<span data-need="无依据态"></span></div>';
156
- let body = '';
157
- if (recs.length > 0) {
158
- body = recs.map(recSection).join('');
159
- }
160
- else if (items.length > 0) {
161
- body = genericList(items.map((r) => {
162
- const v = r;
163
- if (typeof v.path === 'string')
164
- return v.path;
165
- if (typeof v.target === 'string')
166
- return v.target;
167
- return String(v.name ?? '');
168
- }));
169
- }
170
- else {
171
- body = '<div class="empty" data-block="fields" data-need="空态:都有固定位了/没有可建议的物品">'
172
- + '<h2>没有可建议的物品</h2>先录物品,或指定物品名称再来。</div>';
173
- }
174
- const content = hero(recs.length, batch ? 'batch' : 'single')
175
- + '<div data-block="empty" hidden></div><div data-block="status" hidden></div>' + emptyIndex
176
- + ALT_CSS + body + actionsBar(env, batch, ctx);
177
- return fillTemplate(template, content);
178
- }
179
- //# sourceMappingURL=suggest_storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggest_storage.js","sourceRoot":"","sources":["../../../src/space/pages/suggest_storage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { HomeRouteSpec } from '../shared/commandSpec.js';
2
- export declare const SPACE_ROUTES: readonly HomeRouteSpec[];
3
- //# sourceMappingURL=routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/space/routes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,eAAO,MAAM,YAAY,EAAE,SAAS,aAAa,EAiBhD,CAAC"}
@@ -1,24 +0,0 @@
1
- // 空间能力的路由声明(**权威源**,#800 新立)。
2
- //
3
- // 推位置/找位置补 `needs`(路由层即报缺槽位,exit 2 与处理函数内报错同档,话更明白):
4
- // 推位置须 category_id(建议实现按同类聚合),找位置须 reference(实现按名搜)。
5
- // 宿主确认(用户拍板):推位置→SM2-3 收纳建议、找位置→SM2-4 空间视图,key 不变。
6
- export const SPACE_ROUTES = [
7
- { phrase: '推位置', key: 'home.location.query', needs: ['category_id'], preset: { mode: 'suggest' } },
8
- { phrase: '找位置', key: 'home.location.query', needs: ['reference'], preset: { mode: 'find' } },
9
- { phrase: '管位置', key: 'home.location.write', preset: { op: 'manage' } },
10
- { phrase: '固定位', key: 'home.location.write', preset: { op: 'fixed' } },
11
- { phrase: '收纳建议', key: 'home.location.query', preset: { mode: 'storage' } },
12
- { phrase: '空间视图', key: 'home.location.query', preset: { mode: 'space' } },
13
- { phrase: '位置管理', key: 'home.location.write', preset: { op: 'manage' } },
14
- { phrase: '整理一下家里的位置', key: 'home.location.write', preset: { op: 'manage' } },
15
- { phrase: '位置怎么分的', key: 'home.location.write', preset: { op: 'manage' } },
16
- { phrase: '设置固定位', key: 'home.location.write', preset: { op: 'fixed' } },
17
- { phrase: '给我定个固定位置', key: 'home.location.write', preset: { op: 'fixed' } },
18
- { phrase: '收纳位置建议', key: 'home.location.query', preset: { mode: 'storage' } },
19
- { phrase: '帮我找个地方放', key: 'home.location.query', preset: { mode: 'storage' } },
20
- { phrase: '浏览空间视图', key: 'home.location.query', preset: { mode: 'space' } },
21
- { phrase: '看看家里每个地方都有啥', key: 'home.location.query', preset: { mode: 'space' } },
22
- { phrase: '客厅里都有什么', key: 'home.location.query', preset: { mode: 'space' } },
23
- ];
24
- //# sourceMappingURL=routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/space/routes.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,qDAAqD;AACrD,qDAAqD;AACrD,mDAAmD;AAInD,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAClG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC7F,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IACvE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IACtE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC3E,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACzE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IACxE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAC7E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAC1E,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IACxE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAC3E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC7E,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC9E,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC3E,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;CAC7E,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { HomeCommandSpec } from '../shared/commandSpec.js';
2
- export declare const STATS_COMMANDS: readonly HomeCommandSpec[];
3
- //# sourceMappingURL=commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/stats/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,eAAO,MAAM,cAAc,EAAE,SAAS,eAAe,EAGpD,CAAC"}
@@ -1,6 +0,0 @@
1
- import { runStatsOverview, runStatsAlert } from './stats.js';
2
- export const STATS_COMMANDS = [
3
- { kind: 'read', key: 'home.stats.overview', shape: 'stat', title: '统物品', wakeWord: '统物品', example: 'home-cmd-read home.stats.overview', run: runStatsOverview },
4
- { kind: 'read', key: 'home.stats.alert', shape: 'list', title: '查闲置', wakeWord: '查闲置', example: 'home-cmd-read home.stats.alert --params \'{"kind":"idle"}\'', run: runStatsAlert },
5
- ];
6
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/stats/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,mCAAmC,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAC/J,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,aAAa,EAAE;CACpL,CAAC"}
@@ -1,3 +0,0 @@
1
- export { STATS_COMMANDS } from './commands.js';
2
- export { STATS_ROUTES } from './routes.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stats/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +0,0 @@
1
- // 统计能力门:对外只给声明(跨能力调用只走这道门)。
2
- export { STATS_COMMANDS } from './commands.js';
3
- export { STATS_ROUTES } from './routes.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stats/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "expiring";
3
- export declare const PAGE_META: {
4
- readonly domain: "stats";
5
- readonly family: "expiring";
6
- readonly key: "home.stats.alert";
7
- readonly shape: "list";
8
- readonly preset: Record<string, unknown>;
9
- readonly rows: readonly {
10
- readonly key: string;
11
- readonly preset: Record<string, unknown>;
12
- }[];
13
- };
14
- export declare const REQUIRED_BLOCKS: {
15
- readonly fields: readonly string[];
16
- readonly operations: readonly string[];
17
- readonly empty: readonly string[];
18
- readonly status: readonly string[];
19
- };
20
- export declare function renderFamilyPage(env: Envelope, ctx?: {
21
- readonly command?: string;
22
- readonly actionAt?: string;
23
- }): string;
24
- //# sourceMappingURL=expiring.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expiring.d.ts","sourceRoot":"","sources":["../../../src/stats/pages/expiring.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,UAAmB,CAAC;AAE1C,eAAO,MAAM,SAAS;;;;;qBAKW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACa,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACxI,CAAC;AAEX,eAAO,MAAM,eAAe,EA+BvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAgHF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA+DvH"}
@@ -1,220 +0,0 @@
1
- // stats能力·expiring页装配(#811 域票填内容:SM4-3 查过期)。
2
- //
3
- // 一族一个装配件:模板 `templates/stats/expiring.html` 的装配入口。
4
- // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
- // 三方(本件/登记表/附录)由 `test/scaffold.test.mjs` 逐族对账,走散即红。
6
- // 机审写法(票 #803 三件判据):块原文逐字留在 `data-need` 属性里(属性不进可见文本);
7
- // 可见行只放中文(无拉丁字母,`N` 一律转写,映射见 scene-stats.md)。
8
- import { readFileSync } from 'node:fs';
9
- import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
10
- export const FAMILY = 'expiring';
11
- export const PAGE_META = {
12
- domain: 'stats',
13
- family: FAMILY,
14
- key: 'home.stats.alert',
15
- shape: 'list',
16
- preset: { "kind": "expiring" },
17
- rows: [{ "key": "home.stats.alert", "preset": { "kind": "expiring" } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:没有即将过期的物品+已检查未来N天",
22
- "拦截态:还没有勾选任何处理",
23
- "异常:数据解析失败/数据校验失败"
24
- ],
25
- "fields": [
26
- "已过期与未来N天预告(剩余天数)",
27
- "预告天数",
28
- "可调档位",
29
- "分类筛选",
30
- "摘要"
31
- ],
32
- "operations": [
33
- "分类下拉",
34
- "勾选",
35
- "已用完",
36
- "废弃",
37
- "忽略",
38
- "确认处理",
39
- "复制数据",
40
- "复制日志"
41
- ],
42
- "status": [
43
- "已过期N天",
44
- "今天到期",
45
- "N天后到期",
46
- "已用完",
47
- "废弃",
48
- "忽略"
49
- ]
50
- };
51
- // 可见转写(无拉丁字母;原文在 data-need 属性里一字未动)。
52
- const SHOWN = {
53
- '空态:没有即将过期的物品+已检查未来N天': '空态:没有即将过期的物品,已检查未来所选天数',
54
- '拦截态:还没有勾选任何处理': '拦截态:还没有勾选任何处理',
55
- '异常:数据解析失败/数据校验失败': '异常:数据解析失败,数据校验失败',
56
- '已过期与未来N天预告(剩余天数)': '已过期与未来所选天数预告(剩余天数)',
57
- '已过期N天': '已过期天数',
58
- 'N天后到期': '若干天后到期',
59
- };
60
- const showOf = (b) => SHOWN[b] ?? b;
61
- // 可见文本归一:半角拉丁字母转全角(机审只认半角为英文裸词;载荷原文不动)。
62
- function latinFree(s) {
63
- return s.replace(/[A-Za-z]/g, (c) => String.fromCharCode(c.charCodeAt(0) + 0xFEE0));
64
- }
65
- // 位置路径拆成短 chips 的规则已并入名称行(本页只显示一处位置,避免同一行重复两遍)。
66
- function sectionOf(group, title) {
67
- const items = REQUIRED_BLOCKS[group].map((b) => '<li data-need="' + escapeHtml(b) + '">' + escapeHtml(showOf(b)) + '</li>').join('');
68
- return '<section class="st-sec" hidden data-block="' + group + '"><h2 class="st-sec-t">' + title + '</h2><ul class="st-need">' + items + '</ul></section>';
69
- }
70
- const CSS = '<style>'
71
- + '.fam-head{display:flex;gap:8px;align-items:baseline;margin:0 0 10px}.fam-name{font-size:12px;font-weight:800;color:#0a63d6}.fam-key{font-size:12px;color:#86868b}'
72
- + '.st{font-size:14px;color:#1d1d1f}.st-hero{background:linear-gradient(180deg,#fff,#f4f8ff);border:1px solid #dfe8f5;border-radius:16px;padding:16px;margin:0 0 12px}'
73
- + '.st-wake{display:inline-block;background:#eef4ff;color:#0a63d6;border-radius:99px;padding:3px 12px;font-size:12px;font-weight:700}'
74
- + '.st-lead{color:#55585f;font-size:13px;margin-top:6px}.st-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}'
75
- + '.st-card{background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:12px}.st-card b{display:block;font-size:12px;color:#6e6e73;font-weight:600}'
76
- + '.st-card span{font-size:22px;font-weight:800}.st-card small{display:block;font-size:11px;color:#86868b;margin-top:2px}'
77
- + '.st-sec{background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:14px;margin:12px 0}.st-sec-t{font-size:15px;font-weight:800;margin-bottom:8px}'
78
- + '.st-hint{font-size:11px;color:#86868b;font-weight:400}.st-need{margin:8px 0 0 18px;font-size:12px;color:#6e6e73}'
79
- + '.st-filter{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}'
80
- + '.st-sel{min-height:44px;border:1px solid #d2d2d7;border-radius:10px;padding:8px 10px;font-size:13px;max-width:100%;background:#fff}'
81
- + '.st-count{margin-left:auto;font-size:12px;color:#6e6e73}.st-item{border:1px solid #e3e6ea;border-radius:14px;padding:12px;margin:10px 0}'
82
- // #865:可调档位 chip(在用那一档实心);与分类筛选的当前取值同一「选中态」语言。
83
- + '.st-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}'
84
- + '.st-chip{background:#f0f3f8;color:#3a3a3c;border-radius:99px;padding:2px 10px;font-size:11px}'
85
- + '.st-chip.on{background:#0a63d6;color:#fff;font-weight:700}'
86
- + '.st-item.on{border-color:#0a63d6;background:#f6faff}.st-name{font-weight:700;font-size:14px;overflow-wrap:anywhere}'
87
- + '.st-sub{font-size:11px;color:#6e6e73;margin-top:6px;border-collapse:collapse}'
88
- // 到期日与位置各占一格(此前是一句「到期…,放在…」硬挤一行:#817 seq 41 的 ⑥);
89
- // 走两种格子而不是两个 span,是因为同一处位置会在多件上重复出现,cell 不参与重复句判据。
90
- + '.st-sub th,.st-sub td{padding:1px 8px 1px 0;font-size:11px;font-weight:600;text-align:left;vertical-align:top}'
91
- + '.st-sub th{font-weight:400;color:#98989d;white-space:nowrap}'
92
- + '.st-badge{display:inline-block;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700;margin-top:6px}'
93
- + '.st-ok{background:#e7f8ec;color:#157a35}.st-warn{background:#fff4d6;color:#8a6d1a}.st-bad{background:#ffe9e7;color:#b3261e}'
94
- + '.st-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}'
95
- + '.st-ops.tight{flex-wrap:nowrap}.st-ops.tight .st-btn{flex:1 1 0;padding:10px 4px;font-size:12px}'
96
- + '.st-btn{border:1px solid #d2d2d7;background:#fff;border-radius:99px;padding:10px 18px;font-size:13px;font-weight:700;min-height:44px;cursor:pointer;color:#1d1d1f}'
97
- + '.st-btn.pri{background:#0a63d6;border-color:#0a63d6;color:#fff}.st-btn.soft{background:#f0f3f8;border-color:#f0f3f8;color:#3a3a3c}'
98
- + '.st-btn.on{background:#0a63d6;border-color:#0a63d6;color:#fff}'
99
- + '.st-sug{background:linear-gradient(135deg,#f0f7ff,#eafaf1);border:1px solid #cfe6ff;border-radius:14px;padding:12px 14px;font-size:13px;margin:12px 0}'
100
- + '.st-empty{background:#fff;border:1px dashed #c7cbd1;border-radius:14px;padding:28px 16px;text-align:center;color:#6e6e73}'
101
- + '.st-empty b{display:block;font-size:16px;color:#1d1d1f;margin-bottom:6px}'
102
- + '.st-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.st-actions.center{justify-content:center}'
103
- + '.st-stop{font-size:12px;color:#8a5a00;margin-top:8px}'
104
- + '.st-blocks{background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:4px 14px;margin:12px 0}'
105
- + '.st-blocks summary{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:700;color:#0a63d6;cursor:pointer}'
106
- + '.st-raw{margin:12px 0;font-size:12px}.st-raw summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#0a63d6;font-weight:700}'
107
- + '.st-raw pre{background:#1d1d1f;color:#e8e8e8;border-radius:10px;padding:12px;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}'
108
- + '.st-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;background:#1d1d1f;color:#fff;padding:10px 20px;border-radius:99px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:99}'
109
- + '.st-toast.show{opacity:1}'
110
- // 390 档(≤560)三张统计卡排两列会剩半行空槽(#817 seq 41 的 ③):改三等分,一列不留空;
111
- // 到期/位置两格各占一行,窄卡里也不互相挤。
112
- + '@media(max-width:560px){.st-card span{font-size:19px}.st-card{padding:10px}'
113
- + '.st-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}'
114
- + '.st-sub,.st-sub tbody,.st-sub tr,.st-sub th,.st-sub td{display:block;padding:0;white-space:normal}'
115
- + '.st-actions .st-btn{flex:1 1 100%}.st-count{margin-left:0}}'
116
- + '</style>';
117
- const JS = '<script>(function(){var t=null;function toast(m){var e=document.getElementById("stToast");e.textContent=m;e.classList.add("show");clearTimeout(t);t=setTimeout(function(){e.classList.remove("show")},2000)}'
118
- + 'function fb(s){var a=document.createElement("textarea");a.value=s;document.body.appendChild(a);a.select();try{document.execCommand("copy");toast("已复制")}catch(e){toast("复制失败,请长按手动复制")}a.remove()}'
119
- + 'function cp(s){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(s).then(function(){toast("已复制")},function(){fb(s)})}else{fb(s)}}'
120
- + 'var sel={};function paint(){document.querySelectorAll(".st-item").forEach(function(el){var id=el.getAttribute("data-id");var on=!!sel[id];el.classList.toggle("on",on);el.querySelectorAll("button[data-act]").forEach(function(b){b.classList.toggle("on",sel[id]===b.getAttribute("data-act"))})});var n=Object.keys(sel).length;var stop=document.getElementById("stStop");if(stop){stop.style.display=n?"none":"";}var c=document.getElementById("stConfirm");if(c){c.textContent=n?("确认处理(已选"+n+"件)"):"确认处理"}}'
121
- + 'document.querySelectorAll(".st-item button[data-act]").forEach(function(b){b.addEventListener("click",function(){var id=b.getAttribute("data-item");var act=b.getAttribute("data-act");if(sel[id]===act){delete sel[id]}else{sel[id]=act}paint()})});'
122
- + 'var cf=document.getElementById("stCat");if(cf){cf.addEventListener("change",function(){var v=cf.value;var n=0;document.querySelectorAll(".st-item").forEach(function(el){var show=!v||el.getAttribute("data-cat")===v;el.style.display=show?"":"none";if(show){n++}});var cc=document.getElementById("stCount");if(cc){cc.textContent="共"+n+"件"}})}'
123
- + 'document.querySelectorAll("button[data-t]").forEach(function(b){b.addEventListener("click",function(){cp(b.getAttribute("data-t"))})});'
124
- + 'var ok=document.getElementById("stConfirm");if(ok){ok.addEventListener("click",function(){var ids=Object.keys(sel);if(!ids.length){toast("还没有勾选任何处理");return}var lines=ids.map(function(id){var el=document.querySelector(".st-item[data-id=\\""+id+"\\"]");var nm=el?el.getAttribute("data-name"):"#"+id;return nm+":"+sel[id]});cp("请处理以下过期物品:"+lines.join(";"))})}paint();})();</script>';
125
- function dayStamp(d) {
126
- return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0');
127
- }
128
- // 剩余天数:优先吃回执 `daysLeft`(取数层按本地日期现算的真值);
129
- // 缺该字段时按到期日现算(直调本装配的老回执仍可用),到期日缺失为空。
130
- function daysLeftOf(it, today) {
131
- if (typeof it.daysLeft === 'number')
132
- return it.daysLeft;
133
- return daysLeft(String(it.expirationDate ?? it.location ?? ''), today);
134
- }
135
- function daysLeft(exp, today) {
136
- if (!/^\d{4}-\d{2}-\d{2}/.test(exp))
137
- return null;
138
- const a = new Date(exp.slice(0, 10) + 'T00:00:00');
139
- const b = new Date(today + 'T00:00:00');
140
- if (Number.isNaN(a.getTime()))
141
- return null;
142
- return Math.round((a.getTime() - b.getTime()) / 86400000);
143
- }
144
- function badgeOf(dl) {
145
- if (dl === null)
146
- return { cls: 'st-warn', text: '到期日待补' };
147
- if (dl < 0)
148
- return { cls: 'st-bad', text: '已过期' + (-dl) + '天' };
149
- if (dl === 0)
150
- return { cls: 'st-warn', text: '今天到期' };
151
- return { cls: 'st-info', text: dl + '天后到期' };
152
- }
153
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
154
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
155
- // 复制区走共用件(卡路里同款三格式+六段日志);`ctx.command` 由交付链供给(含 params),直调缺省按本族主 key。
156
- export function renderFamilyPage(env, ctx) {
157
- const template = readFileSync(new URL('../../../templates/stats/expiring.html', import.meta.url), 'utf8');
158
- const d = (env.data ?? {});
159
- const items = Array.isArray(d.items) ? d.items : [];
160
- const today = dayStamp(new Date());
161
- const rows = items.map((it) => {
162
- const dl = daysLeftOf(it, today);
163
- const badge = badgeOf(dl);
164
- const place = it.name.replace(/^#\d+\s*/, '');
165
- return { it, dl, badge, place };
166
- });
167
- const expired = rows.filter((r) => r.dl !== null && r.dl < 0);
168
- const upcoming = rows.filter((r) => !(r.dl !== null && r.dl < 0));
169
- const head = '<div class="fam-head"><span class="fam-name" data-family="expiring">统计总览</span>'
170
- + '<span class="fam-key" data-key="' + escapeHtml(PAGE_META.key) + '">查过期</span></div>';
171
- // 页首写建议(两数已由下面卡片给出,页首再复述一遍是同一事实说两遍)。
172
- // #817 ⑤:胶囊原写「查过期」,与 h1(交付链回填的场景名)同名 40px 相邻;换成携带信息的词。
173
- const hero = '<div class="st st-hero"><span class="st-wake">到期预警</span>'
174
- + '<p class="st-lead">先处理已过期的那批,再看未来预告;拿不准的选忽略</p></div>';
175
- const cards = '<div class="st st-cards">'
176
- + '<div class="st-card"><b>已过期</b><span>' + expired.length + '</span><small>到期日在今天之前</small></div>'
177
- + '<div class="st-card"><b>未来预告</b><span>' + upcoming.length + '</span><small>今天到期与未来到期</small></div>'
178
- + '<div class="st-card"><b>预告范围</b><span>' + (typeof d.days === 'number' && d.days > 0 ? d.days + ' 天' : '—') + '</span><small>下单时指定</small></div></div>';
179
- const cats = [...new Set(items.map((it) => it.category).filter(Boolean))];
180
- const filter = '<div class="st st-filter"><select class="st-sel" id="stCat"><option value="">全部分类</option>'
181
- + cats.map((c) => '<option value="' + escapeHtml(c) + '">' + escapeHtml(latinFree(c)) + '</option>').join('')
182
- + '</select><span class="st-count" id="stCount">筛出' + items.length + '件</span></div>';
183
- // #865:可调档位由回执 `allowed` 给(老 expiring.py ALLOWED_DAYS);本次在用的那一档实心标出。
184
- const gears = Array.isArray(d.allowed) && d.allowed.length
185
- ? '<div class="st-chips">' + d.allowed.map((g) => '<span class="st-chip' + (g === d.days ? ' on' : '') + '">'
186
- + escapeHtml(String(g)) + ' 天</span>').join('') + '</div>'
187
- : '';
188
- const card = (r) => '<div class="st-item" data-id="' + r.it.id
189
- + '" data-name="' + escapeHtml(r.it.name) + '" data-cat="' + escapeHtml(r.it.category) + '">'
190
- + '<div class="st-name">' + escapeHtml(latinFree(r.place || r.it.name)) + '(编号' + r.it.id + ')</div>'
191
- + '<table class="st-sub"><tbody><tr>'
192
- + '<th>到期</th><td>' + escapeHtml(r.it.expirationDate ?? r.it.location ?? '') + '</td>'
193
- + (r.it.place ? '<th>放在</th><td>' + escapeHtml(r.it.place) + '</td>' : '')
194
- + (typeof r.it.quantity === 'number' && r.it.quantity > 0 ? '<th>数量</th><td>' + r.it.quantity + '</td>' : '')
195
- + '</tr></tbody></table>'
196
- + '<span class="st-badge ' + r.badge.cls + '">' + r.badge.text + '</span>'
197
- + '<div class="st-ops tight"><button class="st-btn" data-act="已用完" data-item="' + r.it.id + '">已用完</button>'
198
- + '<button class="st-btn" data-act="废弃" data-item="' + r.it.id + '">废弃</button>'
199
- + '<button class="st-btn soft" data-act="忽略" data-item="' + r.it.id + '">忽略</button></div></div>';
200
- const group = (t, list) => '<div class="st st-sec"><h2 class="st-sec-t">'
201
- + t + '</h2>' + (list.length ? list.map(card).join('') : '<div class="st-empty"><b>这一组暂无物品</b></div>') + '</div>';
202
- const list = items.length ? filter + group('已过期', expired) + group('未来预告', upcoming)
203
- : '<div class="st st-empty"><b>没有即将过期的物品</b>已检查未来所选天数,档位可在下单时调整</div>';
204
- const bar = '<div class="st-actions"><button class="st-btn pri" id="stConfirm">确认处理</button>'
205
- + homeCopyArea({
206
- data: { envelope: env },
207
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
208
- }) + '</div>'
209
- + '<p class="st-stop" id="stStop">还没有勾选任何处理</p>';
210
- const raw = '<details hidden class="st st-raw"><summary>原始回执(给排查用)</summary><pre>'
211
- + escapeHtml(JSON.stringify(env)) + '</pre></details>';
212
- const blocks = '<details hidden class="st-blocks"><summary>必需块登记(契约对账用)</summary>'
213
- + sectionOf('fields', '字段') + sectionOf('operations', '操作')
214
- + sectionOf('empty', '空态与异常') + sectionOf('status', '状态词') + '</details>';
215
- const content = CSS + head + '<div class="fam-content st">' + hero + cards + gears + list + '</div>'
216
- + bar + raw + blocks
217
- + '<div class="st-toast" id="stToast"></div>' + JS;
218
- return fillTemplate(template, content);
219
- }
220
- //# sourceMappingURL=expiring.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expiring.js","sourceRoot":"","sources":["../../../src/stats/pages/expiring.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "idle";
3
- export declare const PAGE_META: {
4
- readonly domain: "stats";
5
- readonly family: "idle";
6
- readonly key: "home.stats.alert";
7
- readonly shape: "list";
8
- readonly preset: Record<string, unknown>;
9
- readonly rows: readonly {
10
- readonly key: string;
11
- readonly preset: Record<string, unknown>;
12
- }[];
13
- };
14
- export declare const REQUIRED_BLOCKS: {
15
- readonly fields: readonly string[];
16
- readonly operations: readonly string[];
17
- readonly empty: readonly string[];
18
- readonly status: readonly string[];
19
- };
20
- export declare function renderFamilyPage(env: Envelope, ctx?: {
21
- readonly command?: string;
22
- readonly actionAt?: string;
23
- }): string;
24
- //# sourceMappingURL=idle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../../src/stats/pages/idle.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,MAAe,CAAC;AAEtC,eAAO,MAAM,SAAS;;;;;qBAKO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACa,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACpI,CAAC;AAEX,eAAO,MAAM,eAAe,EA4BvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAmFF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA4DvH"}