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,129 +0,0 @@
1
- // items能力·locate页装配(#806 域票填内容,骨架 #805)。
2
- //
3
- // 一族一个装配件:模板 `templates/items/locate.html` 的装配入口。
4
- // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
- // 三方(本件/登记表/附录)由 `test/scaffold.test.mjs` 逐族对账,走散即红。
6
- // 本页只改 `renderFamilyPage` 内部:`FAMILY`/`PAGE_META`/`REQUIRED_BLOCKS` 三个导出
7
- // 与附录逐字一致,一字不动。模板字节不动(三标记照旧填充)。
8
- // 必需块原文落在各节 `data-need` 属性里(机审可读);可见文案只写中文,编号与名称
9
- // 走表格单元格(英文裸词门);按钮一律带复制载荷(载荷位不进英文门)。
10
- // 页内小助手就地定义:共用位归票 3,本票不新建共用文件(写集边界)。
11
- import { readFileSync } from 'node:fs';
12
- import { fillTemplate, escapeHtml, locationPath, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
13
- export const FAMILY = 'locate';
14
- export const PAGE_META = {
15
- domain: 'items',
16
- family: FAMILY,
17
- key: 'home.item.search',
18
- shape: 'list',
19
- preset: { "locate": true },
20
- rows: [{ "key": "home.item.search", "preset": { "locate": true } }],
21
- };
22
- export const REQUIRED_BLOCKS = {
23
- "empty": [
24
- "空态:没找到+扩大寻找引导",
25
- "异常:数据解析失败"
26
- ],
27
- "fields": [
28
- "置顶卡片(照片/名称/ID/位置/数量/状态)",
29
- "查询词"
30
- ],
31
- "operations": [
32
- "我找到了",
33
- "分享位置",
34
- "扩大寻找",
35
- "复制数据",
36
- "复制日志"
37
- ],
38
- "status": [
39
- "物品状态"
40
- ]
41
- };
42
- const PAGE_CSS = '<style>'
43
- + '.sec{background:#fff;border:1px solid #e4e4e8;border-radius:14px;padding:14px;margin:12px 0}'
44
- + '.sec h2{font-size:17px;margin:0 0 10px}'
45
- + '.kv{width:100%;border-collapse:collapse;font-size:14px}'
46
- + '.kv th,.kv td{border:1px solid #e8e8ee;padding:8px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}'
47
- + '.kv th{background:#f6f7f9;width:7em;color:#555;font-weight:600}'
48
- + '.wrap-x{overflow-x:auto}'
49
- + '.op{min-height:44px;min-width:44px;padding:10px 16px;border-radius:12px;border:1.5px solid #0a63ce;background:#0a63ce;color:#fff;font-size:15px;margin:4px 6px 4px 0}'
50
- + '.op.alt{background:#fff;color:#0a63ce}'
51
- + '.note{color:#666;font-size:13px}'
52
- + '.greet{font-size:15px;color:#333}'
53
- + '.top{border:2px solid #0a63ce}'
54
- // 390 档(≤480):其余候选这张四列表把「在家」挤成两行(#817 seq 7 的 ③),
55
- // 收起成两列——只留找东西用得上的名称与位置,编号与状态在手机上让位(宽屏照旧四列)。
56
- + '@media(max-width:480px){.kv th{width:6em}'
57
- + '.kv.rest th,.kv.rest td{white-space:nowrap}'
58
- + '.kv.rest th:nth-child(2),.kv.rest td:nth-child(2),.kv.rest th:nth-child(4),.kv.rest td:nth-child(4){display:none}}'
59
- + '</style>';
60
- function needs(group) {
61
- return REQUIRED_BLOCKS[group].map((b) => escapeHtml(b)).join(';');
62
- }
63
- function row(head, value) {
64
- return '<tr><th>' + head + '</th><td>' + value + '</td></tr>';
65
- }
66
- function op(label, load, alt) {
67
- return '<button class="op' + (alt ? ' alt' : '') + '" data-t="' + escapeHtml(load) + '"'
68
- + ' onclick="if(navigator.clipboard){navigator.clipboard.writeText(this.getAttribute(\'data-t\'))}">'
69
- + label + '</button>';
70
- }
71
- function cardsOf(env) {
72
- const d = env.data;
73
- const items = d.items;
74
- if (!Array.isArray(items))
75
- return [];
76
- return items;
77
- }
78
- function topRows(c) {
79
- return row('照片', '—')
80
- + row('名称', escapeHtml(String(c.name ?? '')))
81
- + row('编号', escapeHtml(String(c.id ?? '')))
82
- // #890 seq 7(⑥分隔符不懒政):原先位置格直接印 `toItemCard` 的复合串(`客厅/阳台柜×1[在家]`),
83
- // 与紧邻的「数量」「状态」两格说两遍同一件事,且一个值位挤了三套符号。位置格只留路径。
84
- + row('位置', escapeHtml(locationPath(String(c.location ?? ''))))
85
- + row('数量', escapeHtml(String(c.quantity ?? '')))
86
- + row('状态', escapeHtml(String(c.status ?? '')));
87
- }
88
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
89
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
90
- export function renderFamilyPage(env, ctx) {
91
- const template = readFileSync(new URL('../../../templates/items/locate.html', import.meta.url), 'utf8');
92
- const cards = cardsOf(env);
93
- const first = cards[0];
94
- const top = first
95
- ? '<div class="wrap-x"><table class="kv top">'
96
- + row('查询词', '—')
97
- + topRows(first)
98
- + '</table></div><p class="note">照片请进详情查看。</p>'
99
- : '<div class="hm-empty">没找到。试试扩大寻找,或考虑是不是该录入。</div>'
100
- + '<div>' + op('扩大寻找', '请加载居家管家技能,帮我扩大寻找这件物品', false) + '</div>';
101
- const rest = cards.slice(1).map((c) => '<tr><td>' + escapeHtml(String(c.name ?? ''))
102
- + '</td><td>' + escapeHtml(String(c.id ?? ''))
103
- // 位置列同样只留路径(同上,复合串的件数与状态另有独立列)。
104
- + '</td><td>' + escapeHtml(locationPath(String(c.location ?? '')))
105
- + '</td><td>' + escapeHtml(String(c.status ?? '')) + '</td></tr>').join('');
106
- const content = PAGE_CSS
107
- // 抬头说人话(此前那句是取数规则说明书:#817 seq 7 的 ②)。
108
- + '<p class="greet">东西急用?先看置顶这一件,找到了就点「我找到了」。</p>'
109
- + '<section class="sec" data-block="fields" data-need="' + needs('fields') + '"><h2>置顶</h2>' + top + '</section>'
110
- + '<section class="sec" data-block="empty" data-need="' + needs('empty') + '"><h2>其余候选</h2>'
111
- + (rest === ''
112
- ? '<p>没有其余候选。</p>'
113
- : '<div class="wrap-x"><table class="kv rest"><tr><th>名称</th><th>编号</th><th>位置</th><th>状态</th></tr>' + rest + '</table></div>')
114
- + '</section>'
115
- // 状态块:置顶卡片里已经有「状态」格(真值随信封来),再渲染一遍就是复述,整块隐藏;标记与原文留住。
116
- + '<section class="sec" data-block="status" data-need="' + needs('status') + '" hidden></section>'
117
- + '<section class="sec" data-block="operations" data-need="' + needs('operations') + '"><h2>下一步</h2><div>'
118
- + op('我找到了', '请加载居家管家技能,我找到了这件物品', false)
119
- + op('分享位置', '请加载居家管家技能,帮我分享这件物品的位置', true)
120
- + op('扩大寻找', '请加载居家管家技能,帮我扩大寻找这件物品', true)
121
- + '</div>'
122
- + homeCopyArea({
123
- data: { envelope: env },
124
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
125
- })
126
- + '</section>';
127
- return fillTemplate(template, content);
128
- }
129
- //# sourceMappingURL=locate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../../src/items/pages/locate.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "move_checklist";
3
- export declare const PAGE_META: {
4
- readonly domain: "items";
5
- readonly family: "move_checklist";
6
- readonly key: "home.inventory.round";
7
- readonly shape: "receipt";
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=move_checklist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move_checklist.d.ts","sourceRoot":"","sources":["../../../src/items/pages/move_checklist.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,gBAAyB,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;qBAKK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACiB,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACtI,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;AA0CF,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,CAgCvH"}
@@ -1,112 +0,0 @@
1
- // items能力·move_checklist真页面(#808 域票填内容,6-4 搬家盘点)。
2
- //
3
- // 信息结构对齐老 `物品/move_checklist.html`:按位置分组+二态标记+统一确认。
4
- // 命令回执只带清单状态(分组明细由命令侧增补后展开,见域对账说明),本页按回执
5
- // 如实呈现标记台:分组位、全屋二态动作、统一确认组装搬家话术。
6
- // 必需块原文=契约附录:物品(ID/名称/位置/数量)含拉丁字符,只进 data-need 属性。
7
- // 回执原文含 mode 字样同样只进数据原文,不进可见文案(机审英文裸词行零容忍)。
8
- import { readFileSync } from 'node:fs';
9
- import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
10
- export const FAMILY = 'move_checklist';
11
- export const PAGE_META = {
12
- domain: 'items',
13
- family: FAMILY,
14
- key: 'home.inventory.round',
15
- shape: 'receipt',
16
- preset: { "op": "move" },
17
- rows: [{ "key": "home.inventory.round", "preset": { "op": "move" } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:无空态文案",
22
- "异常:数据解析失败"
23
- ],
24
- "fields": [
25
- "分组(每组建数)",
26
- "物品(ID/名称/位置/数量)",
27
- "二态标记"
28
- ],
29
- "operations": [
30
- "全带走",
31
- "全不带走",
32
- "带走",
33
- "不带走",
34
- "统一确认",
35
- "复制清单",
36
- "复制数据",
37
- "复制日志"
38
- ],
39
- "status": [
40
- "带走",
41
- "不带走"
42
- ]
43
- };
44
- const NEED = {
45
- fields: '分组(每组建数)|物品(ID/名称/位置/数量)|二态标记',
46
- operations: '全带走|全不带走|带走|不带走|统一确认|复制清单|复制数据|复制日志',
47
- empty: '空态:无空态文案|异常:数据解析失败',
48
- status: '带走|不带走',
49
- };
50
- const CSS = '.hero{background:linear-gradient(180deg,#fff,#fff8f2);border-radius:20px;padding:22px;margin:14px 0}'
51
- + '.eyebrow{color:#ff9500;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}'
52
- + '.lead{color:#6e6e73;font-size:14px}'
53
- + '.sec{background:#fff;border-radius:16px;padding:18px;margin:14px 0}'
54
- + '.sec h2{font-size:17px;margin-bottom:10px}'
55
- + 'summary{min-height:44px;display:flex;align-items:center;cursor:pointer}'
56
- + '.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:14px}'
57
- + '.kv dt{color:#86868b}.kv dd{color:#1d1d1f}'
58
- + '.binrow{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}'
59
- + '.bin{border:1.5px solid #d2d2d7;background:#fff;border-radius:999px;padding:8px 20px;font-size:14px;cursor:pointer;min-height:44px}'
60
- + '.bin.on-take{background:#34c759;color:#fff;border-color:#34c759;font-weight:800}'
61
- + '.bin.on-leave{background:#ff3b30;color:#fff;border-color:#ff3b30;font-weight:800}'
62
- + '.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}'
63
- + '.btn{border:none;background:#007aff;color:#fff;border-radius:999px;padding:10px 12px;font-weight:700;cursor:pointer;font-size:13.5px;min-height:44px}'
64
- + '.btn.ghost{background:#fff;color:#007aff;border:1.5px solid #007aff}'
65
- + 'details{margin:14px 0;font-size:13px;color:#6e6e73}'
66
- + 'pre{white-space:pre-wrap;word-break:break-all;background:#f8f9fb;border-radius:10px;padding:10px;font-size:12px}'
67
- + '@media(max-width:820px){.hero{padding:18px 14px}.sec{padding:14px}.btnrow{grid-template-columns:1fr}}';
68
- const JS = 'function copyText(t){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t);}else{var ta=document.createElement("textarea");ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand("copy");}catch(e){}document.body.removeChild(ta);}}'
69
- + 'function setBin(btn){var box=btn.parentNode;box.querySelectorAll(".bin").forEach(function(x){x.classList.remove("on-take","on-leave");});'
70
- + 'btn.classList.add(btn.dataset.v==="带走"?"on-take":"on-leave");}'
71
- + 'function moveCmd(kind){'
72
- + 'if(kind==="take")copyText("请加载「居家管家」技能,帮我搬家打包(唤醒词:搬家盘点):\\n\\n 带走: 全部");'
73
- + 'else if(kind==="leave")copyText("请加载「居家管家」技能,帮我搬家打包(唤醒词:搬家盘点):\\n\\n 不带走: 全部");'
74
- + 'else if(kind==="commit")copyText("请加载「居家管家」技能,帮我搬家打包(唤醒词:搬家盘点):\\n\\n 带走: ______\\n 不带走: ______\\n 确认提交");'
75
- + 'else if(kind==="list")copyText("请加载「居家管家」技能,帮我搬家打包(唤醒词:搬家盘点):\\n\\n 清单: 随全屋实际标记展开");}'
76
- + 'function moveLog(){var d=new Date();function p(n){return (n<10?"0":"")+n;}var b=document.querySelector(".bin.on-take")?"全部带走":(document.querySelector(".bin.on-leave")?"全部不带走":"未标记");copyText("搬家盘点|"+d.getFullYear()+"-"+p(d.getMonth()+1)+"-"+p(d.getDate())+" "+p(d.getHours())+":"+p(d.getMinutes())+":"+p(d.getSeconds())+"|清单状态"+document.getElementById("movestate").textContent+"|"+b);}';
77
- function str(v) { return typeof v === 'string' ? v : ''; }
78
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 二态标记清单真页面。
79
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
80
- export function renderFamilyPage(env, ctx) {
81
- const template = readFileSync(new URL('../../../templates/items/move_checklist.html', import.meta.url), 'utf8');
82
- const data = (env.data ?? {});
83
- const committed = str(data.message).includes('已提交');
84
- const stateText = committed ? '已提交' : '未提交';
85
- // #817:导语原先把两个按钮名(带走/不带走)又说了一遍,页上同一对词出现三处;改成只说分组与逐件过一遍。
86
- const content = '<div class="hero"><p class="eyebrow">标记后确认</p><p class="lead">全屋清单按位置分组,逐件过一遍</p></div>'
87
- + '<section class="sec" data-block="fields" data-need="' + NEED.fields + '"><h2>分组</h2>'
88
- + '<dl class="kv"><dt>清单状态</dt><dd id="movestate">' + escapeHtml(stateText) + '</dd></dl>'
89
- // 物品编号与位置需数据:信封只带清单状态一句回执(物品行由命令侧增补),这一格保持「—」,不编。
90
- + '<h2>物品编号与位置</h2><p class="lead">—</p>'
91
- + '<h2>二态标记</h2><div class="binrow"><button class="bin" data-v="带走" onclick="setBin(this)">带走</button>'
92
- + '<button class="bin" data-v="不带走" onclick="setBin(this)">不带走</button></div></section>'
93
- + '<section class="sec" data-block="status" data-need="' + NEED.status + '" hidden></section>'
94
- + '<section class="sec" data-block="operations" data-need="' + NEED.operations + '"><h2>动作</h2>'
95
- + '<div class="btnrow"><button class="btn ghost" onclick="moveCmd(\'take\')">全带走</button>'
96
- + '<button class="btn ghost" onclick="moveCmd(\'leave\')">全不带走</button>'
97
- + '<button class="btn" onclick="moveCmd(\'commit\')">统一确认</button>'
98
- + '<button class="btn ghost" onclick="moveCmd(\'list\')">复制清单</button>'
99
- + '</div>'
100
- + homeCopyArea({
101
- data: { envelope: env },
102
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
103
- })
104
- + '</section>'
105
- + '<section hidden class="sec" data-block="empty" data-need="' + NEED.empty + '"><h2>空态说明</h2>'
106
- // #817:「本页无空态,清单恒在」是判据件口径的自述(与空清单自相矛盾),换成真正的空态引导。
107
- + '<p class="lead">清单里还没有物品,先录物品再来标记</p></section>'
108
- + '<details><summary>数据原文</summary><pre class="pre-block-code" id="raw">' + escapeHtml(JSON.stringify(env.data ?? {})) + '</pre></details>'
109
- + '<style>' + CSS + '</style><script>' + JS + '</script>';
110
- return fillTemplate(template, content);
111
- }
112
- //# sourceMappingURL=move_checklist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move_checklist.js","sourceRoot":"","sources":["../../../src/items/pages/move_checklist.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "photo_wall";
3
- export declare const PAGE_META: {
4
- readonly domain: "items";
5
- readonly family: "photo_wall";
6
- readonly key: "home.item.search";
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=photo_wall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"photo_wall.d.ts","sourceRoot":"","sources":["../../../src/items/pages/photo_wall.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,YAAqB,CAAC;AAE5C,eAAO,MAAM,SAAS;;;;;qBAKK,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;CAClI,CAAC;AAEX,eAAO,MAAM,eAAe,EA2BvB;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;AA4DF,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,CAyDvH"}
@@ -1,145 +0,0 @@
1
- // items能力·photo_wall真页面(#808 域票填内容,5-3 照片墙)。
2
- //
3
- // 信息结构对齐老 `物品/photo_wall.html`:分组+照片网格+补拍引导,网格墙版式。
4
- // 按位置分组的墙直接挂在「分组」标题下(这些墙就是照片网格,块名留 data-need 追溯);类型 chips 归「照片类型」块。
5
- // 信封只带条目卡(无二进制图):格面只写名称(位置由分组标题承担),点图复制详情 prompt。
6
- // 必需块原文=契约附录:含拉丁字符的块(补充态:还有N件无照片→去补拍、
7
- // 点图复制详情prompt)只进 data-need 属性,其余块进真实 UI。
8
- import { readFileSync } from 'node:fs';
9
- import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
10
- export const FAMILY = 'photo_wall';
11
- export const PAGE_META = {
12
- domain: 'items',
13
- family: FAMILY,
14
- key: 'home.item.search',
15
- shape: 'list',
16
- preset: { "wall": true },
17
- rows: [{ "key": "home.item.search", "preset": { "wall": true } }],
18
- };
19
- export const REQUIRED_BLOCKS = {
20
- "empty": [
21
- "空态:没有带照片的物品",
22
- "补充态:还有N件无照片→去补拍",
23
- "异常:数据解析失败"
24
- ],
25
- "fields": [
26
- "分组(分类/位置)",
27
- "照片网格",
28
- "无照片件数"
29
- ],
30
- "operations": [
31
- "全部",
32
- "类型筛选",
33
- "去补拍",
34
- "按位置浏览",
35
- "点图复制详情prompt",
36
- "复制数据",
37
- "复制日志"
38
- ],
39
- "status": [
40
- "照片类型",
41
- "普通",
42
- "说明书-使用",
43
- "说明书-安装",
44
- "说明书-保养"
45
- ]
46
- };
47
- const NEED = {
48
- fields: REQUIRED_BLOCKS.fields.join('|'),
49
- operations: REQUIRED_BLOCKS.operations.join('|'),
50
- empty: REQUIRED_BLOCKS.empty.join('|'),
51
- status: REQUIRED_BLOCKS.status.join('|'),
52
- };
53
- const CSS = '.hero{background:linear-gradient(180deg,#fff,#f8fbff);border-radius:20px;padding:22px;margin:14px 0}'
54
- + '.eyebrow{color:#007aff;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}'
55
- + '.lead{color:#6e6e73;font-size:14px}'
56
- + '.sec{background:#fff;border-radius:16px;padding:18px;margin:14px 0}'
57
- + '.sec h2{font-size:17px;margin-bottom:10px}'
58
- + 'summary{min-height:44px;display:flex;align-items:center;cursor:pointer}'
59
- + '.sec h3{font-size:15px;margin:12px 0 8px}'
60
- + '.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}'
61
- + '.chip{border:1.5px solid #d2d2d7;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;min-height:44px}'
62
- + '.chip.on{border-color:#007aff;background:#f5f8ff;color:#007aff;font-weight:700}'
63
- + '.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}'
64
- + '.tile{aspect-ratio:1;border-radius:12px;background:#f0f3f8;overflow:hidden;cursor:pointer;position:relative;border:none;padding:0;text-align:left}'
65
- + '.tile .nm{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:12px;padding:14px 8px 6px}'
66
- + '.tile .has{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;border-radius:6px;padding:2px 6px}'
67
- + '.warnbox{border-left:3px solid #ff9500;background:#fff8e8;padding:10px 14px;border-radius:8px;margin:8px 0;font-size:14px}'
68
- + '.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}'
69
- + '.btn{border:none;background:#007aff;color:#fff;border-radius:999px;padding:10px 12px;font-weight:700;cursor:pointer;font-size:13.5px;min-height:44px}'
70
- + '.btn.ghost{background:#fff;color:#007aff;border:1.5px solid #007aff}'
71
- + '.empty{color:#86868b;padding:12px 0}'
72
- + '.count{color:#6e6e73;font-size:13px}'
73
- + 'details{margin:14px 0;font-size:13px;color:#6e6e73}'
74
- + 'pre{white-space:pre-wrap;word-break:break-all;background:#f8f9fb;border-radius:10px;padding:10px;font-size:12px}'
75
- + '@media(max-width:820px){.hero{padding:18px 14px}.sec{padding:14px}.wall{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.btnrow{grid-template-columns:1fr}}';
76
- const JS = 'function copyText(t){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t);}else{var ta=document.createElement("textarea");ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand("copy");}catch(e){}document.body.removeChild(ta);}}'
77
- + 'function tileDetail(btn){var nm=btn.dataset.nm||"物品";copyText("请加载「居家管家」技能,帮我查看物品详情(唤醒词:看物品):\\n\\n 物 品: "+nm);}'
78
- + 'function wallCmd(kind){var L=["请加载「居家管家」技能,帮我浏览照片墙(唤醒词:照片墙):"];'
79
- + 'if(kind==="loc")L.push("", " 分 组: 按位置");'
80
- + 'else if(kind==="add")L.push("", " 动 作: 给没照片的物品补拍","","【照片即将发送:】");'
81
- + 'copyText(L.join("\\n"));}'
82
- + 'function chipType(btn){document.querySelectorAll(".chip").forEach(function(x){x.classList.remove("on");});btn.classList.add("on");'
83
- + 'var t=btn.textContent;var hint=document.getElementById("typehint");if(hint)hint.style.display=(t==="全部")?"none":"block";}'
84
- + 'function wallLog(){var d=new Date();function p(n){return (n<10?"0":"")+n;}copyText("照片墙|"+d.getFullYear()+"-"+p(d.getMonth()+1)+"-"+p(d.getDate())+" "+p(d.getHours())+":"+p(d.getMinutes())+":"+p(d.getSeconds())+"|共"+document.querySelectorAll(".tile").length+"张照片|"+document.querySelectorAll(".wall").length+"个位置分组");}';
85
- function str(v) { return typeof v === 'string' ? v : ''; }
86
- function groupOf(loc) {
87
- const s = str(loc).split('×')[0].split('[')[0].trim();
88
- const head = s.split('/')[0].trim();
89
- return head === '' || head === '(无位置)' ? '未分组' : head;
90
- }
91
- // 装配入口:真 envelope(真命令链产出)+本族模板 → 网格墙真页面。
92
- // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
93
- export function renderFamilyPage(env, ctx) {
94
- const template = readFileSync(new URL('../../../templates/items/photo_wall.html', import.meta.url), 'utf8');
95
- const data = (env.data ?? {});
96
- const rawItems = Array.isArray(data.items) ? data.items : [];
97
- const total = typeof data.total === 'number' ? data.total : rawItems.length;
98
- const cards = rawItems.map((c) => ({
99
- id: typeof c.id === 'number' ? c.id : 0,
100
- name: str(c.name) || '未命名',
101
- loc: str(c.location) || '—',
102
- qty: typeof c.quantity === 'number' ? c.quantity : 1,
103
- }));
104
- const groups = new Map();
105
- for (const c of cards) {
106
- const g = groupOf(c.loc);
107
- const list = groups.get(g) ?? [];
108
- list.push(c);
109
- groups.set(g, list);
110
- }
111
- const groupHtml = [...groups.entries()].map(([g, list]) => '<h3>' + escapeHtml(g) + ' <span class="count">' + list.length + '</span></h3>'
112
- + '<div class="wall">' + list.map((c) => '<button class="tile" data-nm="' + escapeHtml(c.name) + '" onclick="tileDetail(this)">'
113
- + '<span class="has">有照片</span>'
114
- + '<span class="nm">' + escapeHtml(c.name) + '</span></button>').join('') + '</div>').join('');
115
- const bodyWall = cards.length > 0
116
- ? groupHtml
117
- : '<div class="empty">没有带照片的物品</div>';
118
- const typeHint = '<p class="lead" id="typehint" style="display:none">该类型下暂无照片</p>';
119
- const content = '<div class="hero"><p class="eyebrow">查看</p><p class="lead">回忆式浏览,按位置分组,共' + total + '张</p></div>'
120
- + '<section class="sec" data-block="fields" data-need="' + NEED.fields + '"><h2>分组</h2>'
121
- + bodyWall
122
- + '<p class="lead">点图复制该物品的详情查看指令</p>'
123
- // 无照片件数需数据:信封只带带照片的墙体件(search 侧已滤掉无照片件),全库件数不在信封里;
124
- // 算不出就写「—」,值为 0 或拿不到时不出「去补拍」那颗按钮。
125
- + '<h2>无照片件数</h2><div class="warnbox">—</div>'
126
- + '</section>'
127
- + '<section class="sec" data-block="status" data-need="' + NEED.status + '"><h2>照片类型</h2>'
128
- + '<div class="chips"><button class="chip on" onclick="chipType(this)">全部</button>'
129
- + ['普通', '说明书-使用', '说明书-安装', '说明书-保养'].map((t) => '<button class="chip" onclick="chipType(this)">' + escapeHtml(t) + '</button>').join('')
130
- + '</div>' + typeHint + '</section>'
131
- + '<section class="sec" data-block="operations" data-need="' + NEED.operations + '"><h2>动作</h2>'
132
- + '<div class="btnrow">'
133
- + '<button class="btn ghost" onclick="wallCmd(\'loc\')">按位置浏览</button>'
134
- + '</div>'
135
- + homeCopyArea({
136
- data: { envelope: env },
137
- log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
138
- })
139
- + '</section>'
140
- + '<section class="sec" data-block="empty" data-need="' + NEED.empty + '" hidden></section>'
141
- + '<details><summary>数据原文</summary><pre class="pre-block-code" id="raw">' + escapeHtml(JSON.stringify(env.data ?? {})) + '</pre></details>'
142
- + '<style>' + CSS + '</style><script>' + JS + '</script>';
143
- return fillTemplate(template, content);
144
- }
145
- //# sourceMappingURL=photo_wall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"photo_wall.js","sourceRoot":"","sources":["../../../src/items/pages/photo_wall.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Envelope } from 'base-link-core';
2
- export declare const FAMILY: "photos";
3
- export declare const PAGE_META: {
4
- readonly domain: "items";
5
- readonly family: "photos";
6
- readonly key: "home.item.detail";
7
- readonly shape: "detail";
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=photos.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"photos.d.ts","sourceRoot":"","sources":["../../../src/items/pages/photos.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,QAAiB,CAAC;AAExC,eAAO,MAAM,SAAS;;;;;qBAKS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACgE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACzL,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;AA6EF,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,CA6EvH"}