skill-home 0.3.33 → 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,181 +0,0 @@
1
- // stats能力·idle页装配(#811 域票填内容:SM4-2 查闲置)。
2
- //
3
- // 一族一个装配件:模板 `templates/stats/idle.html` 的装配入口。
4
- // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
- // 三方(本件/登记表/附录)由 `test/scaffold.test.mjs` 逐族对账,走散即红。
6
- // 机审写法(票 #803 三件判据):块原文逐字留在 `data-need` 属性里(属性不进可见文本);
7
- // 可见行只放中文(无拉丁字母,`AI/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 = 'idle';
11
- export const PAGE_META = {
12
- domain: 'stats',
13
- family: FAMILY,
14
- key: 'home.stats.alert',
15
- shape: 'list',
16
- preset: { "kind": "idle" },
17
- rows: [{ "key": "home.stats.alert", "preset": { "kind": "idle" } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:衣橱状态良好+没有超N天未使用",
22
- "拦截态:还没有勾选任何处理",
23
- "异常:数据解析失败/数据校验失败"
24
- ],
25
- "fields": [
26
- "闲置清单(按闲置时长排序)",
27
- "闲置标准天数",
28
- "AI建议",
29
- "分类筛选",
30
- "空态标记"
31
- ],
32
- "operations": [
33
- "分类下拉",
34
- "勾选",
35
- "标记废弃",
36
- "送人",
37
- "先不处理",
38
- "确认处理",
39
- "复制数据",
40
- "复制日志"
41
- ],
42
- "status": [
43
- "标记废弃",
44
- "送人",
45
- "先不处理"
46
- ]
47
- };
48
- // 可见转写(无拉丁字母;原文在 data-need 属性里一字未动)。
49
- const SHOWN = {
50
- '空态:衣橱状态良好+没有超N天未使用': '空态:衣橱状态良好,没有超过所选天数未使用的物品',
51
- '拦截态:还没有勾选任何处理': '拦截态:还没有勾选任何处理',
52
- '异常:数据解析失败/数据校验失败': '异常:数据解析失败,数据校验失败',
53
- 'AI建议': '智能建议',
54
- };
55
- const showOf = (b) => SHOWN[b] ?? b;
56
- // 可见文本归一:半角拉丁字母转全角(机审只认半角为英文裸词;载荷原文不动)。
57
- function latinFree(s) {
58
- return s.replace(/[A-Za-z]/g, (c) => String.fromCharCode(c.charCodeAt(0) + 0xFEE0));
59
- }
60
- // 位置路径拆成短 chips(路径斜杠是数据,不进版式拼写)。
61
- function locChips(loc) {
62
- const parts = loc.split('/').map((s) => s.trim()).filter(Boolean);
63
- if (!parts.length)
64
- return '';
65
- return '<div class="st-chips">' + parts.map((p) => '<span class="st-chip">' + escapeHtml(latinFree(p)) + '</span>').join('') + '</div>';
66
- }
67
- function sectionOf(group, title) {
68
- const items = REQUIRED_BLOCKS[group].map((b) => '<li data-need="' + escapeHtml(b) + '">' + escapeHtml(showOf(b)) + '</li>').join('');
69
- return '<section class="st-sec" hidden data-block="' + group + '"><h2 class="st-sec-t">' + title + '</h2><ul class="st-need">' + items + '</ul></section>';
70
- }
71
- const CSS = '<style>'
72
- + '.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}'
73
- + '.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}'
74
- + '.st-wake{display:inline-block;background:#eef4ff;color:#0a63d6;border-radius:99px;padding:3px 12px;font-size:12px;font-weight:700}'
75
- + '.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}'
76
- + '.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}'
77
- + '.st-card span{font-size:22px;font-weight:800}.st-card small{display:block;font-size:11px;color:#86868b;margin-top:2px}'
78
- + '.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}'
79
- + '.st-hint{font-size:11px;color:#86868b;font-weight:400}.st-need{margin:8px 0 0 18px;font-size:12px;color:#6e6e73}'
80
- + '.st-filter{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}'
81
- + '.st-sel{min-height:44px;border:1px solid #d2d2d7;border-radius:10px;padding:8px 10px;font-size:13px;max-width:100%;background:#fff}'
82
- + '.st-count{margin-left:auto;font-size:12px;color:#6e6e73}.st-item{border:1px solid #e3e6ea;border-radius:14px;padding:12px;margin:10px 0}'
83
- + '.st-item.on{border-color:#0a63d6;background:#f6faff}.st-name{font-weight:700;font-size:14px;overflow-wrap:anywhere}'
84
- + '.st-sub{font-size:11px;color:#6e6e73;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px}.st-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}'
85
- // #865:「标签+值」行内两格(标签与值各是一个节点,读的人分得清哪个是哪个)。
86
- + '.st-kv{display:inline-flex;gap:5px;align-items:baseline}'
87
- + '.st-kv b{font-size:11px;color:#8a8a8f;font-weight:400}'
88
- + '.st-chip{background:#f0f3f8;color:#3a3a3c;border-radius:99px;padding:2px 10px;font-size:11px}'
89
- // #865:档位 chip 的在用那一档实心(与上面 select 的当前分类同一「选中态」语言)。
90
- + '.st-chip.on{background:#0a63d6;color:#fff;font-weight:700}'
91
- + '.st-badge{display:inline-block;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700;background:#fff0d9;color:#8a5a00;margin-top:6px}'
92
- + '.st-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}'
93
- + '.st-ops.tight{flex-wrap:nowrap}.st-ops.tight .st-btn{flex:1 1 0;padding:10px 4px;font-size:12px}'
94
- + '.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}'
95
- + '.st-btn.pri{background:#0a63d6;border-color:#0a63d6;color:#fff}.st-btn.soft{background:#f0f3f8;border-color:#f0f3f8;color:#3a3a3c}'
96
- + '.st-btn.on{background:#0a63d6;border-color:#0a63d6;color:#fff}'
97
- + '.st-sug{background:linear-gradient(135deg,#f0f7ff,#eafaf1);border:1px solid #cfe6ff;border-radius:14px;padding:12px 14px;font-size:13px;margin:12px 0}'
98
- + '.st-empty{background:#fff;border:1px dashed #c7cbd1;border-radius:14px;padding:28px 16px;text-align:center;color:#6e6e73}'
99
- + '.st-empty b{display:block;font-size:16px;color:#1d1d1f;margin-bottom:6px}'
100
- + '.st-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.st-actions.center{justify-content:center}'
101
- + '.st-stop{font-size:12px;color:#8a5a00;margin-top:8px}'
102
- + '.st-blocks{background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:4px 14px;margin:12px 0}'
103
- + '.st-blocks summary{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:700;color:#0a63d6;cursor:pointer}'
104
- + '.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}'
105
- + '.st-raw pre{background:#1d1d1f;color:#e8e8e8;border-radius:10px;padding:12px;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}'
106
- + '.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}'
107
- + '.st-toast.show{opacity:1}@media(max-width:560px){.st-card span{font-size:19px}.st-actions .st-btn{flex:1 1 100%}.st-count{margin-left:0}}'
108
- + '</style>';
109
- 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)}'
110
- + '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()}'
111
- + 'function cp(s){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(s).then(function(){toast("已复制")},function(){fb(s)})}else{fb(s)}}'
112
- + '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+"件)"):"确认处理"}}'
113
- + '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()})});'
114
- + '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+"件"}})}'
115
- + 'document.querySelectorAll("button[data-t]").forEach(function(b){b.addEventListener("click",function(){cp(b.getAttribute("data-t"))})});'
116
- + '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>';
117
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
118
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
119
- // 复制区走共用件(卡路里同款三格式+六段日志);`ctx.command` 由交付链供给(含 params),直调缺省按本族主 key。
120
- export function renderFamilyPage(env, ctx) {
121
- const template = readFileSync(new URL('../../../templates/stats/idle.html', import.meta.url), 'utf8');
122
- const d = (env.data ?? {});
123
- const items = Array.isArray(d.items) ? d.items : [];
124
- const head = '<div class="fam-head"><span class="fam-name" data-family="idle">统计总览</span>'
125
- + '<span class="fam-key" data-key="' + escapeHtml(PAGE_META.key) + '">查闲置</span></div>';
126
- // #817(⑤文案不冗余):胶囊原写「查闲置」,与 h1(交付链回填的场景名)同名相邻=同一个词说两遍
127
- // (本页正文里「闲置」另有十几处)。去掉胶囊:这一行的范围由下面那句与「闲置件数」卡承担。
128
- // #865:本次判定档位来自回执 `days`(真值),不再写死文案里的默认值。
129
- const stdDays = typeof d.days === 'number' && d.days > 0 ? d.days : null;
130
- const hero = '<div class="st st-hero"><p class="st-lead">共' + items.length + '件超过'
131
- + (stdDays === null ? '所选天数' : stdDays + ' 天') + '未使用,勾选后确认处理</p></div>';
132
- const cards = '<div class="st st-cards">'
133
- + '<div class="st-card"><b>闲置件数</b><span>' + items.length + '</span></div>'
134
- + '<div class="st-card"><b>闲置标准</b><span>' + (stdDays === null ? '—' : stdDays + ' 天') + '</span><small>下单时指定</small></div></div>';
135
- // #865:可调档位由回执 `allowed` 给(老 idle.py ALLOWED_THRESHOLDS);本次在用的那一档实心标出。
136
- const gears = Array.isArray(d.allowed) && d.allowed.length
137
- ? '<div class="st-chips">' + d.allowed.map((g) => '<span class="st-chip' + (g === stdDays ? ' on' : '') + '">'
138
- + escapeHtml(String(g)) + ' 天</span>').join('') + '</div>'
139
- : '';
140
- const sug = '<div class="st st-sug">先处理占地方的大件与重复款,'
141
- + (items.length ? '拿不准的选先不处理' : '当前没有需要处理的闲置物品') + '</div>';
142
- const cats = [...new Set(items.map((it) => it.category).filter(Boolean))];
143
- const filter = '<div class="st st-filter"><select class="st-sel" id="stCat"><option value="">全部分类</option>'
144
- + cats.map((c) => '<option value="' + escapeHtml(c) + '">' + escapeHtml(latinFree(c)) + '</option>').join('')
145
- + '</select><span class="st-count" id="stCount">筛出' + items.length + '件</span></div>';
146
- const rows = items.map((it) => '<div class="st-item" data-id="' + it.id + '" data-name="' + escapeHtml(it.name)
147
- + '" data-cat="' + escapeHtml(it.category) + '"><div class="st-name">' + escapeHtml(latinFree(it.name)) + '</div>'
148
- // #817 第二波(⑥ 分隔符不懒政):名称行原写「名称(编号13)」,把名称与编号挤成一段括号串;
149
- // 编号本来就是独立字段(`id`),拆出来单独一行「编号 13」。
150
- // #865:闲置天数与时长来源来自回执(`daysIdle` 按 `coalesce(last_accessed_at, created_at)` 算,`source` 记来源)。
151
- // 走「标签+值」的行内两格:两个事实各有自己的格子,不靠分隔符串成一句,也不会让同一串在多行重复。
152
- + '<div class="st-sub"><span class="st-kv"><b>编号</b>' + escapeHtml(String(it.id)) + '</span>'
153
- + (typeof it.daysIdle === 'number' ? '<span class="st-kv"><b>闲置</b>' + it.daysIdle + ' 天</span>' : '')
154
- + (it.source ? '<span class="st-kv"><b>时长来源</b>' + escapeHtml(latinFree(it.source)) + '</span>' : '')
155
- + (typeof it.quantity === 'number' && it.quantity > 1 ? '<span class="st-kv"><b>数量</b>' + it.quantity + ' 件</span>' : '')
156
- + '</div>'
157
- + locChips(it.location)
158
- // #817(⑤文案不冗余):徽标原写「闲置」——逐行复述页面主题词,等于没带信息;
159
- // 改挂该行自己的分类(与上面的分类筛选同一取值),行与筛选口径才对得上。
160
- + '<span class="st-badge">' + escapeHtml(latinFree(it.category || '闲置')) + '</span>'
161
- + '<div class="st-ops tight"><button class="st-btn" data-act="标记废弃" data-item="' + it.id + '">标记废弃</button>'
162
- + '<button class="st-btn" data-act="送人" data-item="' + it.id + '">送人</button>'
163
- + '<button class="st-btn soft" data-act="先不处理" data-item="' + it.id + '">先不处理</button></div></div>').join('');
164
- const list = items.length ? filter + rows : '<div class="st st-empty"><b>衣橱状态良好</b>没有超过所选天数未使用的物品</div>';
165
- const bar = '<div class="st-actions"><button class="st-btn pri" id="stConfirm">确认处理</button>'
166
- + homeCopyArea({
167
- data: { envelope: env },
168
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
169
- }) + '</div>'
170
- + '<p class="st-stop" id="stStop">还没有勾选任何处理</p>';
171
- const raw = '<details hidden class="st st-raw"><summary>原始回执(给排查用)</summary><pre>'
172
- + escapeHtml(JSON.stringify(env)) + '</pre></details>';
173
- const blocks = '<details hidden class="st-blocks"><summary>必需块登记(契约对账用)</summary>'
174
- + sectionOf('fields', '字段') + sectionOf('operations', '操作')
175
- + sectionOf('empty', '空态与异常') + sectionOf('status', '状态词') + '</details>';
176
- const content = CSS + head + '<div class="fam-content st">' + hero + cards + gears + sug + list + '</div>'
177
- + bar + raw + blocks
178
- + '<div class="st-toast" id="stToast"></div>' + JS;
179
- return fillTemplate(template, content);
180
- }
181
- //# sourceMappingURL=idle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idle.js","sourceRoot":"","sources":["../../../src/stats/pages/idle.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "inventory_stat";
3
- export declare const PAGE_META: {
4
- readonly domain: "stats";
5
- readonly family: "inventory_stat";
6
- readonly key: "home.stats.overview";
7
- readonly shape: "stat";
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=inventory_stat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory_stat.d.ts","sourceRoot":"","sources":["../../../src/stats/pages/inventory_stat.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,gBAAyB,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;qBAKY,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;CAC5I,CAAC;AAEX,eAAO,MAAM,eAAe,EAyBvB;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;AAqEF,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,165 +0,0 @@
1
- // stats能力·inventory_stat页装配(#811 域票填内容:SM4-4 盘点统计)。
2
- //
3
- // 一族一个装配件:模板 `templates/stats/inventory_stat.html` 的装配入口。
4
- // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
- // 三方(本件/登记表/附录)由 `test/scaffold.test.mjs` 逐族对账,走散即红。
6
- // 机审写法(票 #803 三件判据):块原文逐字留在 `data-need` 属性里(属性不进可见文本);
7
- // 可见行只放中文(无拉丁字母,`AI` 一律转写,映射见 scene-stats.md)。
8
- import { readFileSync } from 'node:fs';
9
- import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
10
- export const FAMILY = 'inventory_stat';
11
- export const PAGE_META = {
12
- domain: 'stats',
13
- family: FAMILY,
14
- key: 'home.stats.overview',
15
- shape: 'stat',
16
- preset: { "kind": "inventory" },
17
- rows: [{ "key": "home.stats.overview", "preset": { "kind": "inventory" } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:还没有盘点记录+完成首次盘点引导",
22
- "异常:数据解析失败/数据校验失败"
23
- ],
24
- "fields": [
25
- "完成率与趋势",
26
- "盘点明细(时间/范围/缺/多/异/状态)",
27
- "遗留差异总数",
28
- "复查入口",
29
- "AI建议",
30
- "有无数据标记"
31
- ],
32
- "operations": [
33
- "复查盘点",
34
- "复制首次盘点",
35
- "复制数据",
36
- "复制日志"
37
- ],
38
- "status": [
39
- "进行中",
40
- "已完成",
41
- "已处理",
42
- "已复查"
43
- ]
44
- };
45
- // 可见转写(无拉丁字母;原文在 data-need 属性里一字未动)。
46
- const SHOWN = {
47
- '空态:还没有盘点记录+完成首次盘点引导': '空态:还没有盘点记录,完成首次盘点引导',
48
- '异常:数据解析失败/数据校验失败': '异常:数据解析失败,数据校验失败',
49
- '盘点明细(时间/范围/缺/多/异/状态)': '盘点明细(时间,范围,缺,多,异,状态)',
50
- 'AI建议': '智能建议',
51
- };
52
- const showOf = (b) => SHOWN[b] ?? b;
53
- // 可见文本归一:半角拉丁字母转全角(机审只认半角为英文裸词;载荷原文不动)。
54
- function latinFree(s) {
55
- return s.replace(/[A-Za-z]/g, (c) => String.fromCharCode(c.charCodeAt(0) + 0xFEE0));
56
- }
57
- function sectionOf(group, title) {
58
- const items = REQUIRED_BLOCKS[group].map((b) => '<li data-need="' + escapeHtml(b) + '">' + escapeHtml(showOf(b)) + '</li>').join('');
59
- return '<section class="st-sec" hidden data-block="' + group + '"><h2 class="st-sec-t">' + title + '</h2><ul class="st-need">' + items + '</ul></section>';
60
- }
61
- const CSS = '<style>'
62
- + '.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}'
63
- + '.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}'
64
- + '.st-wake{display:inline-block;background:#eef4ff;color:#0a63d6;border-radius:99px;padding:3px 12px;font-size:12px;font-weight:700}'
65
- + '.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}'
66
- + '.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}'
67
- + '.st-card span{font-size:22px;font-weight:800}.st-card small{display:block;font-size:11px;color:#86868b;margin-top:2px}'
68
- + '.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}'
69
- + '.st-hint{font-size:11px;color:#86868b;font-weight:400}.st-need{margin:8px 0 0 18px;font-size:12px;color:#6e6e73}'
70
- + '.st-badge{display:inline-block;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700}.st-ok{background:#e7f8ec;color:#157a35}.st-info{background:#eef4ff;color:#0a63d6}'
71
- + '.st-sug{background:linear-gradient(135deg,#f0f7ff,#eafaf1);border:1px solid #cfe6ff;border-radius:14px;padding:12px 14px;font-size:13px;margin:12px 0}'
72
- + '.st-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;font-size:13px;margin:8px 0}.st-kv b{color:#6e6e73;font-weight:600}.st-kv span{overflow-wrap:anywhere}'
73
- // #865:明细逐条(抬头上「范围+时间」、下排四格「缺/多/异/状态」);四格定宽栅格,窄屏自动折行不掉字。
74
- + '.st-drow{border-bottom:1px solid #f0f0f3;padding:8px 0}'
75
- + '.st-dhead{display:flex;gap:8px;align-items:baseline;justify-content:space-between}'
76
- + '.st-dname{font-size:13.5px;font-weight:700;overflow-wrap:anywhere}.st-dhead .st-hint{font-size:12px;color:#8a8a8f;flex:none}'
77
- + '.st-dcells{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}'
78
- + '.st-dcell{background:#f7f8fb;border:1px solid #eceef3;border-radius:9px;padding:4px 10px;font-size:12px;font-weight:700;color:#1d1d1f}'
79
- + '.st-dcell b{color:#6e6e73;font-weight:600;margin-right:6px}'
80
- + '.st-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin:4px 0 0;padding:10px 12px;background:#f7f8fb;border:1px solid #eceef3;border-radius:10px}'
81
- + '.st-meta-i{flex:1 1 96px;display:flex;flex-direction:column;gap:2px}'
82
- + '.st-meta-i b{font-size:11.5px;color:#6e6e73;font-weight:600}.st-meta-i span{font-size:15px;font-weight:800;color:#1d1d1f}'
83
- + '.st-sub{font-size:12px;color:#8a8a8f;margin-top:8px}'
84
- + '.st-empty{background:#fff;border:1px dashed #c7cbd1;border-radius:14px;padding:28px 16px;text-align:center;color:#6e6e73}'
85
- + '.st-empty b{display:block;font-size:16px;color:#1d1d1f;margin-bottom:6px}'
86
- + '.st-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.st-actions.center{justify-content:center}'
87
- + '.st-blocks{background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:4px 14px;margin:12px 0}'
88
- + '.st-blocks summary{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:700;color:#0a63d6;cursor:pointer}'
89
- + '.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}'
90
- + '.st-btn.pri{background:#0a63d6;border-color:#0a63d6;color:#fff}.st-btn.soft{background:#f0f3f8;border-color:#f0f3f8;color:#3a3a3c}'
91
- + '.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}'
92
- + '.st-raw pre{background:#1d1d1f;color:#e8e8e8;border-radius:10px;padding:12px;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}'
93
- + '.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}'
94
- + '.st-toast.show{opacity:1}'
95
- // #817 seq 42(③双端不塌,与 seq 41 同款处置):390 档三张卡按 140px 下限排成 2+1,末行空掉半行。
96
- // 窄档把列宽下限收到 96px(三张各有 96px 以上就一行排满),列宽跟着可用宽自适应,不留空槽。
97
- + '@media(max-width:560px){.st-cards{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}'
98
- + '.st-card{box-sizing:border-box;padding:10px}.st-card span{font-size:19px}.st-actions .st-btn{flex:1 1 100%}}'
99
- + '</style>';
100
- 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)}'
101
- + '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()}'
102
- + 'function cp(s){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(s).then(function(){toast("已复制")},function(){fb(s)})}else{fb(s)}}'
103
- + 'document.querySelectorAll("button[data-t]").forEach(function(b){b.addEventListener("click",function(){cp(b.getAttribute("data-t"))})})})();</script>';
104
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
105
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
106
- // 复制区走共用件(卡路里同款三格式+六段日志);`ctx.command` 由交付链供给(含 params),直调缺省按本族主 key。
107
- export function renderFamilyPage(env, ctx) {
108
- const template = readFileSync(new URL('../../../templates/stats/inventory_stat.html', import.meta.url), 'utf8');
109
- const d = (env.data ?? {});
110
- const m = d.metrics ?? {};
111
- const records = typeof m.records === 'number' ? m.records : 0;
112
- const items = typeof m.items === 'number' ? m.items : 0;
113
- const diffTotal = typeof d.inventoryDiffTotal === 'number' ? d.inventoryDiffTotal : 0;
114
- const rows = Array.isArray(d.inventoryDetail) ? d.inventoryDetail : [];
115
- const head = '<div class="fam-head"><span class="fam-name" data-family="inventory_stat">统计总览</span><span class="fam-key" data-key="' + escapeHtml(PAGE_META.key) + '">盘点统计</span></div>';
116
- // 摘要不复述两张卡的两个数(盘点记录条数/库内物品件数):只说卡片里没有的差异口径结论。
117
- // #817(⑤文案不冗余):h1 由场景名回填=本页名「盘点统计」,hero 胶囊换成本页主题词(与 39/41 两页同款处置)。
118
- const hero = '<div class="st st-hero"><span class="st-wake">库存差异</span><p class="st-lead">'
119
- + (records === 0 ? '还没有盘点记录,先完成首次盘点' : '历次盘点的差异累加在「遗留差异」那一格') + '</p></div>';
120
- const cards = '<div class="st st-cards">'
121
- + '<div class="st-card"><b>盘点记录</b><span>' + records + '</span><small>历史盘点条数</small></div>'
122
- + '<div class="st-card"><b>库内物品</b><span>' + items + '</span><small>盘点覆盖范围基数</small></div>'
123
- + '<div class="st-card"><b>有无数据</b><span>' + (records > 0 ? '有' : '无') + '</span><small>有没有盘点过</small></div></div>';
124
- // 建议按遗留差异是否为 0 分支:为 0 时不再让人去复查不存在的东西(#865:改吃全表合计,不再只看最近一条)。
125
- const sug = '<div class="st st-sug">' + (records === 0 ? '先完成首次盘点,这里才会出现完成率与趋势' : diffTotal > 0 ? '建议优先复查遗留差异,再补下一次盘点' : '没有遗留差异要复查,可以直接补下一次盘点') + '</div>';
126
- // #865:明细逐条出(时间/范围/缺/多/异/状态),范围照老页面的写法归一成中文;
127
- // 「异」与「状态」两列本库盘点表还没有(老库权威 DDL 里有,落库另票),缺列时不占位、只用一行说明点出。
128
- const scopeCn = (s, loc) => (s === '' || s === 'all' ? '全屋' : s === 'location' ? (loc || '按位置') : s);
129
- const missCols = [rows.some((r) => r.diff === null) ? '异' : '', rows.some((r) => !r.status) ? '状态' : ''].filter(Boolean);
130
- const detailRows = rows.map((r) => '<div class="st-drow"><div class="st-dhead"><span class="st-dname">'
131
- + escapeHtml(latinFree(scopeCn(r.scope, r.location))) + '</span><span class="st-hint">' + escapeHtml(String(r.date || '')) + '</span></div>'
132
- + '<div class="st-dcells"><span class="st-dcell"><b>缺</b>' + r.missing + '</span><span class="st-dcell"><b>多</b>' + r.extra + '</span>'
133
- + (r.diff === null ? '' : '<span class="st-dcell"><b>异</b>' + r.diff + '</span>')
134
- + (r.status ? '<span class="st-dcell"><b>状态</b>' + escapeHtml(latinFree(r.status)) + '</span>' : '') + '</div></div>').join('');
135
- const detail = records > 0
136
- ? '<div class="st st-sec"><h2 class="st-sec-t">盘点明细 <span class="st-hint">最近 ' + rows.length + ' 次</span></h2>'
137
- + (rows.length ? detailRows : '<p><span class="st-badge st-ok">最近一次盘点已在库</span></p>')
138
- + (missCols.length ? '<div class="st-sub">本库盘点表还没有' + missCols.join('与') + ',落库后这里自动出现</div>' : '')
139
- + '<div class="st-actions"><button class="st-btn pri" data-t="帮我复查最近一次盘点的遗留差异">复查盘点</button></div></div>'
140
- : '<div class="st st-empty"><b>还没有盘点记录</b>完成首次盘点后,这里会显示完成率,差异趋势与优先盘点建议'
141
- + '<div class="st-actions center"><button class="st-btn pri" data-t="帮我开始第一次盘点">复制首次盘点</button></div></div>';
142
- // #865:完成率与遗留差异总数进「完成率与趋势」块(老 inventory_stat.py 的 total_diff 口径);
143
- // 完成率要状态列,本库没有就不显示这一格,改由上面那行说明点出,不编数。
144
- const comp = d.completion ?? null;
145
- const trend = '<div class="st st-sec"><h2 class="st-sec-t">完成率与趋势</h2>'
146
- + (records > 0
147
- ? '<div class="st-meta">'
148
- + '<div class="st-meta-i"><b>盘点总数</b><span>' + records + ' 次</span></div>'
149
- + '<div class="st-meta-i"><b>遗留差异</b><span>' + diffTotal + ' 件</span></div>'
150
- + (comp ? '<div class="st-meta-i"><b>完成率</b><span>' + comp.pct + '%</span></div>' : '') + '</div>'
151
- + (comp ? '' : '<div class="st-sub">完成率要盘点状态,本库盘点表还没有这一列</div>')
152
- : '<div class="st-empty"><b>趋势数据不足</b>多盘点几次,完成率曲线与遗留差异总数会在这里成形</div>') + '</div>';
153
- const tail = '<div class="st-actions">' + homeCopyArea({
154
- data: { envelope: env },
155
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
156
- }) + '</div>';
157
- const raw = '<details hidden class="st st-raw"><summary>原始回执(给排查用)</summary><pre>' + escapeHtml(JSON.stringify(env)) + '</pre></details>';
158
- const blocks = '<details hidden class="st-blocks"><summary>必需块登记(契约对账用)</summary>'
159
- + sectionOf('fields', '字段') + sectionOf('operations', '操作') + sectionOf('empty', '空态与异常') + sectionOf('status', '状态词') + '</details>';
160
- const content = CSS + head + '<div class="fam-content st">' + hero + cards + sug + detail + trend + '</div>'
161
- + tail + raw + blocks
162
- + '<div class="st-toast" id="stToast"></div>' + JS;
163
- return fillTemplate(template, content);
164
- }
165
- //# sourceMappingURL=inventory_stat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory_stat.js","sourceRoot":"","sources":["../../../src/stats/pages/inventory_stat.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "overview";
3
- export declare const PAGE_META: {
4
- readonly domain: "stats";
5
- readonly family: "overview";
6
- readonly key: "home.stats.overview";
7
- readonly shape: "stat";
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=overview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../src/stats/pages/overview.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,UAAmB,CAAC;AAE1C,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,EA0BvB;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;AA4FF,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,CAkHvH"}