skill-home 0.3.0 → 0.3.12

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 (508) hide show
  1. package/SKILL.md +97 -53
  2. package/dist/cli/cmd_read.js +62 -777
  3. package/dist/cli/cmd_read.js.map +1 -1
  4. package/dist/cli/config.d.ts +5 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +8 -2
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/keys.d.ts +4 -0
  9. package/dist/cli/keys.d.ts.map +1 -0
  10. package/dist/cli/keys.js +51 -0
  11. package/dist/cli/keys.js.map +1 -0
  12. package/dist/cli/registry.d.ts +4 -0
  13. package/dist/cli/registry.d.ts.map +1 -0
  14. package/dist/cli/registry.js +30 -0
  15. package/dist/cli/registry.js.map +1 -0
  16. package/dist/config.d.ts +13 -4
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +58 -8
  19. package/dist/config.js.map +1 -1
  20. package/dist/express/commands.d.ts +3 -0
  21. package/dist/express/commands.d.ts.map +1 -0
  22. package/dist/express/commands.js +6 -0
  23. package/dist/express/commands.js.map +1 -0
  24. package/dist/express/index.d.ts +3 -0
  25. package/dist/express/index.d.ts.map +1 -0
  26. package/dist/express/index.js +4 -0
  27. package/dist/express/index.js.map +1 -0
  28. package/dist/express/pages/express.d.ts +21 -0
  29. package/dist/express/pages/express.d.ts.map +1 -0
  30. package/dist/express/pages/express.js +156 -0
  31. package/dist/express/pages/express.js.map +1 -0
  32. package/dist/express/pages/list.d.ts +21 -0
  33. package/dist/express/pages/list.d.ts.map +1 -0
  34. package/dist/express/pages/list.js +161 -0
  35. package/dist/express/pages/list.js.map +1 -0
  36. package/dist/express/pages/missing.d.ts +21 -0
  37. package/dist/express/pages/missing.d.ts.map +1 -0
  38. package/dist/express/pages/missing.js +141 -0
  39. package/dist/express/pages/missing.js.map +1 -0
  40. package/dist/express/pages/stock.d.ts +21 -0
  41. package/dist/express/pages/stock.d.ts.map +1 -0
  42. package/dist/express/pages/stock.js +164 -0
  43. package/dist/express/pages/stock.js.map +1 -0
  44. package/dist/express/routes.d.ts +3 -0
  45. package/dist/express/routes.d.ts.map +1 -0
  46. package/dist/express/routes.js +8 -0
  47. package/dist/express/routes.js.map +1 -0
  48. package/dist/express/shopping.d.ts +4 -0
  49. package/dist/express/shopping.d.ts.map +1 -0
  50. package/dist/express/shopping.js +143 -0
  51. package/dist/express/shopping.js.map +1 -0
  52. package/dist/family/care.d.ts +4 -0
  53. package/dist/family/care.d.ts.map +1 -0
  54. package/dist/family/care.js +103 -0
  55. package/dist/family/care.js.map +1 -0
  56. package/dist/family/commands.d.ts +3 -0
  57. package/dist/family/commands.d.ts.map +1 -0
  58. package/dist/family/commands.js +6 -0
  59. package/dist/family/commands.js.map +1 -0
  60. package/dist/family/index.d.ts +3 -0
  61. package/dist/family/index.d.ts.map +1 -0
  62. package/dist/family/index.js +4 -0
  63. package/dist/family/index.js.map +1 -0
  64. package/dist/family/pages/family_borrow.d.ts +21 -0
  65. package/dist/family/pages/family_borrow.d.ts.map +1 -0
  66. package/dist/family/pages/family_borrow.js +267 -0
  67. package/dist/family/pages/family_borrow.js.map +1 -0
  68. package/dist/family/pages/family_members.d.ts +21 -0
  69. package/dist/family/pages/family_members.d.ts.map +1 -0
  70. package/dist/family/pages/family_members.js +171 -0
  71. package/dist/family/pages/family_members.js.map +1 -0
  72. package/dist/family/routes.d.ts +3 -0
  73. package/dist/family/routes.d.ts.map +1 -0
  74. package/dist/family/routes.js +20 -0
  75. package/dist/family/routes.js.map +1 -0
  76. package/dist/fetch/backup.d.ts +4 -6
  77. package/dist/fetch/backup.d.ts.map +1 -1
  78. package/dist/fetch/backup.js +4 -13
  79. package/dist/fetch/backup.js.map +1 -1
  80. package/dist/fetch/db.d.ts.map +1 -1
  81. package/dist/fetch/db.js +9 -1
  82. package/dist/fetch/db.js.map +1 -1
  83. package/dist/fetch/domains.d.ts +3 -0
  84. package/dist/fetch/domains.d.ts.map +1 -1
  85. package/dist/fetch/domains.js +5 -4
  86. package/dist/fetch/domains.js.map +1 -1
  87. package/dist/fetch/errors.d.ts +1 -1
  88. package/dist/fetch/errors.d.ts.map +1 -1
  89. package/dist/fetch/errors.js.map +1 -1
  90. package/dist/fetch/index.d.ts +4 -0
  91. package/dist/fetch/index.d.ts.map +1 -1
  92. package/dist/fetch/index.js +3 -0
  93. package/dist/fetch/index.js.map +1 -1
  94. package/dist/fetch/masterKey.d.ts +11 -0
  95. package/dist/fetch/masterKey.d.ts.map +1 -0
  96. package/dist/fetch/masterKey.js +46 -0
  97. package/dist/fetch/masterKey.js.map +1 -0
  98. package/dist/fetch/paths.d.ts +48 -1
  99. package/dist/fetch/paths.d.ts.map +1 -1
  100. package/dist/fetch/paths.js +82 -8
  101. package/dist/fetch/paths.js.map +1 -1
  102. package/dist/health.d.ts.map +1 -1
  103. package/dist/health.js +47 -35
  104. package/dist/health.js.map +1 -1
  105. package/dist/help/helpAssets.js +4 -4
  106. package/dist/help/helpAssets.js.map +1 -1
  107. package/dist/help/manifest.d.ts +8 -2
  108. package/dist/help/manifest.d.ts.map +1 -1
  109. package/dist/help/manifest.js +10 -4
  110. package/dist/help/manifest.js.map +1 -1
  111. package/dist/items/add.d.ts +3 -0
  112. package/dist/items/add.d.ts.map +1 -0
  113. package/dist/items/add.js +34 -0
  114. package/dist/items/add.js.map +1 -0
  115. package/dist/items/commands.d.ts +3 -0
  116. package/dist/items/commands.d.ts.map +1 -0
  117. package/dist/items/commands.js +22 -0
  118. package/dist/items/commands.js.map +1 -0
  119. package/dist/items/detail.d.ts +3 -0
  120. package/dist/items/detail.d.ts.map +1 -0
  121. package/dist/items/detail.js +31 -0
  122. package/dist/items/detail.js.map +1 -0
  123. package/dist/items/index.d.ts +3 -0
  124. package/dist/items/index.d.ts.map +1 -0
  125. package/dist/items/index.js +4 -0
  126. package/dist/items/index.js.map +1 -0
  127. package/dist/items/inventory.d.ts +4 -0
  128. package/dist/items/inventory.d.ts.map +1 -0
  129. package/dist/items/inventory.js +41 -0
  130. package/dist/items/inventory.js.map +1 -0
  131. package/dist/items/pages/add_form.d.ts +21 -0
  132. package/dist/items/pages/add_form.d.ts.map +1 -0
  133. package/dist/items/pages/add_form.js +169 -0
  134. package/dist/items/pages/add_form.js.map +1 -0
  135. package/dist/items/pages/browse.d.ts +21 -0
  136. package/dist/items/pages/browse.d.ts.map +1 -0
  137. package/dist/items/pages/browse.js +143 -0
  138. package/dist/items/pages/browse.js.map +1 -0
  139. package/dist/items/pages/category_manage.d.ts +21 -0
  140. package/dist/items/pages/category_manage.d.ts.map +1 -0
  141. package/dist/items/pages/category_manage.js +153 -0
  142. package/dist/items/pages/category_manage.js.map +1 -0
  143. package/dist/items/pages/confirm.d.ts +21 -0
  144. package/dist/items/pages/confirm.d.ts.map +1 -0
  145. package/dist/items/pages/confirm.js +147 -0
  146. package/dist/items/pages/confirm.js.map +1 -0
  147. package/dist/items/pages/detail.d.ts +21 -0
  148. package/dist/items/pages/detail.d.ts.map +1 -0
  149. package/dist/items/pages/detail.js +160 -0
  150. package/dist/items/pages/detail.js.map +1 -0
  151. package/dist/items/pages/duplicates.d.ts +21 -0
  152. package/dist/items/pages/duplicates.d.ts.map +1 -0
  153. package/dist/items/pages/duplicates.js +138 -0
  154. package/dist/items/pages/duplicates.js.map +1 -0
  155. package/dist/items/pages/history.d.ts +21 -0
  156. package/dist/items/pages/history.d.ts.map +1 -0
  157. package/dist/items/pages/history.js +213 -0
  158. package/dist/items/pages/history.js.map +1 -0
  159. package/dist/items/pages/inventory_diff.d.ts +21 -0
  160. package/dist/items/pages/inventory_diff.d.ts.map +1 -0
  161. package/dist/items/pages/inventory_diff.js +126 -0
  162. package/dist/items/pages/inventory_diff.js.map +1 -0
  163. package/dist/items/pages/inventory_records.d.ts +21 -0
  164. package/dist/items/pages/inventory_records.d.ts.map +1 -0
  165. package/dist/items/pages/inventory_records.js +142 -0
  166. package/dist/items/pages/inventory_records.js.map +1 -0
  167. package/dist/items/pages/inventory_round.d.ts +21 -0
  168. package/dist/items/pages/inventory_round.d.ts.map +1 -0
  169. package/dist/items/pages/inventory_round.js +145 -0
  170. package/dist/items/pages/inventory_round.js.map +1 -0
  171. package/dist/items/pages/locate.d.ts +21 -0
  172. package/dist/items/pages/locate.d.ts.map +1 -0
  173. package/dist/items/pages/locate.js +126 -0
  174. package/dist/items/pages/locate.js.map +1 -0
  175. package/dist/items/pages/move_checklist.d.ts +21 -0
  176. package/dist/items/pages/move_checklist.d.ts.map +1 -0
  177. package/dist/items/pages/move_checklist.js +112 -0
  178. package/dist/items/pages/move_checklist.js.map +1 -0
  179. package/dist/items/pages/photo_wall.d.ts +21 -0
  180. package/dist/items/pages/photo_wall.d.ts.map +1 -0
  181. package/dist/items/pages/photo_wall.js +145 -0
  182. package/dist/items/pages/photo_wall.js.map +1 -0
  183. package/dist/items/pages/photos.d.ts +21 -0
  184. package/dist/items/pages/photos.d.ts.map +1 -0
  185. package/dist/items/pages/photos.js +180 -0
  186. package/dist/items/pages/photos.js.map +1 -0
  187. package/dist/items/pages/receipt.d.ts +21 -0
  188. package/dist/items/pages/receipt.d.ts.map +1 -0
  189. package/dist/items/pages/receipt.js +252 -0
  190. package/dist/items/pages/receipt.js.map +1 -0
  191. package/dist/items/pages/relations.d.ts +21 -0
  192. package/dist/items/pages/relations.d.ts.map +1 -0
  193. package/dist/items/pages/relations.js +144 -0
  194. package/dist/items/pages/relations.js.map +1 -0
  195. package/dist/items/pages/search_list.d.ts +21 -0
  196. package/dist/items/pages/search_list.d.ts.map +1 -0
  197. package/dist/items/pages/search_list.js +133 -0
  198. package/dist/items/pages/search_list.js.map +1 -0
  199. package/dist/items/pages/tag_manage.d.ts +21 -0
  200. package/dist/items/pages/tag_manage.d.ts.map +1 -0
  201. package/dist/items/pages/tag_manage.js +213 -0
  202. package/dist/items/pages/tag_manage.js.map +1 -0
  203. package/dist/items/pages/undo_select.d.ts +21 -0
  204. package/dist/items/pages/undo_select.d.ts.map +1 -0
  205. package/dist/items/pages/undo_select.js +143 -0
  206. package/dist/items/pages/undo_select.js.map +1 -0
  207. package/dist/items/routes.d.ts +3 -0
  208. package/dist/items/routes.d.ts.map +1 -0
  209. package/dist/items/routes.js +62 -0
  210. package/dist/items/routes.js.map +1 -0
  211. package/dist/items/search.d.ts +3 -0
  212. package/dist/items/search.d.ts.map +1 -0
  213. package/dist/items/search.js +47 -0
  214. package/dist/items/search.js.map +1 -0
  215. package/dist/items/tag.d.ts +25 -0
  216. package/dist/items/tag.d.ts.map +1 -0
  217. package/dist/items/tag.js +133 -0
  218. package/dist/items/tag.js.map +1 -0
  219. package/dist/items/update.d.ts +20 -0
  220. package/dist/items/update.d.ts.map +1 -0
  221. package/dist/items/update.js +211 -0
  222. package/dist/items/update.js.map +1 -0
  223. package/dist/outfit/commands.d.ts +3 -0
  224. package/dist/outfit/commands.d.ts.map +1 -0
  225. package/dist/outfit/commands.js +7 -0
  226. package/dist/outfit/commands.js.map +1 -0
  227. package/dist/outfit/index.d.ts +3 -0
  228. package/dist/outfit/index.d.ts.map +1 -0
  229. package/dist/outfit/index.js +4 -0
  230. package/dist/outfit/index.js.map +1 -0
  231. package/dist/outfit/outfit.d.ts +3 -0
  232. package/dist/outfit/outfit.d.ts.map +1 -0
  233. package/dist/outfit/outfit.js +182 -0
  234. package/dist/outfit/outfit.js.map +1 -0
  235. package/dist/outfit/pages/outfit_picker.d.ts +21 -0
  236. package/dist/outfit/pages/outfit_picker.d.ts.map +1 -0
  237. package/dist/outfit/pages/outfit_picker.js +185 -0
  238. package/dist/outfit/pages/outfit_picker.js.map +1 -0
  239. package/dist/outfit/pages/travel_trip.d.ts +21 -0
  240. package/dist/outfit/pages/travel_trip.d.ts.map +1 -0
  241. package/dist/outfit/pages/travel_trip.js +185 -0
  242. package/dist/outfit/pages/travel_trip.js.map +1 -0
  243. package/dist/outfit/pages/trip_outfit_plan.d.ts +21 -0
  244. package/dist/outfit/pages/trip_outfit_plan.d.ts.map +1 -0
  245. package/dist/outfit/pages/trip_outfit_plan.js +173 -0
  246. package/dist/outfit/pages/trip_outfit_plan.js.map +1 -0
  247. package/dist/outfit/pages/wardrobe_analyze.d.ts +21 -0
  248. package/dist/outfit/pages/wardrobe_analyze.d.ts.map +1 -0
  249. package/dist/outfit/pages/wardrobe_analyze.js +171 -0
  250. package/dist/outfit/pages/wardrobe_analyze.js.map +1 -0
  251. package/dist/outfit/pages/wardrobe_season.d.ts +21 -0
  252. package/dist/outfit/pages/wardrobe_season.d.ts.map +1 -0
  253. package/dist/outfit/pages/wardrobe_season.js +167 -0
  254. package/dist/outfit/pages/wardrobe_season.js.map +1 -0
  255. package/dist/outfit/routes.d.ts +3 -0
  256. package/dist/outfit/routes.d.ts.map +1 -0
  257. package/dist/outfit/routes.js +9 -0
  258. package/dist/outfit/routes.js.map +1 -0
  259. package/dist/outfit/trip.d.ts +3 -0
  260. package/dist/outfit/trip.d.ts.map +1 -0
  261. package/dist/outfit/trip.js +59 -0
  262. package/dist/outfit/trip.js.map +1 -0
  263. package/dist/output.d.ts +13 -0
  264. package/dist/output.d.ts.map +1 -0
  265. package/dist/output.js +57 -0
  266. package/dist/output.js.map +1 -0
  267. package/dist/policy/routes.generated.d.ts +3 -0
  268. package/dist/policy/routes.generated.d.ts.map +1 -0
  269. package/dist/policy/routes.generated.js +128 -0
  270. package/dist/policy/routes.generated.js.map +1 -0
  271. package/dist/policy/wakewords.d.ts +1 -0
  272. package/dist/policy/wakewords.d.ts.map +1 -1
  273. package/dist/policy/wakewords.js +11 -93
  274. package/dist/policy/wakewords.js.map +1 -1
  275. package/dist/receipt/commands.d.ts +3 -0
  276. package/dist/receipt/commands.d.ts.map +1 -0
  277. package/dist/receipt/commands.js +6 -0
  278. package/dist/receipt/commands.js.map +1 -0
  279. package/dist/receipt/index.d.ts +3 -0
  280. package/dist/receipt/index.d.ts.map +1 -0
  281. package/dist/receipt/index.js +4 -0
  282. package/dist/receipt/index.js.map +1 -0
  283. package/dist/receipt/pages/accounts.d.ts +21 -0
  284. package/dist/receipt/pages/accounts.d.ts.map +1 -0
  285. package/dist/receipt/pages/accounts.js +217 -0
  286. package/dist/receipt/pages/accounts.js.map +1 -0
  287. package/dist/receipt/pages/certificates.d.ts +21 -0
  288. package/dist/receipt/pages/certificates.d.ts.map +1 -0
  289. package/dist/receipt/pages/certificates.js +236 -0
  290. package/dist/receipt/pages/certificates.js.map +1 -0
  291. package/dist/receipt/pages/purchase_records.d.ts +21 -0
  292. package/dist/receipt/pages/purchase_records.d.ts.map +1 -0
  293. package/dist/receipt/pages/purchase_records.js +250 -0
  294. package/dist/receipt/pages/purchase_records.js.map +1 -0
  295. package/dist/receipt/pages/warranty.d.ts +21 -0
  296. package/dist/receipt/pages/warranty.d.ts.map +1 -0
  297. package/dist/receipt/pages/warranty.js +142 -0
  298. package/dist/receipt/pages/warranty.js.map +1 -0
  299. package/dist/receipt/routes.d.ts +3 -0
  300. package/dist/receipt/routes.d.ts.map +1 -0
  301. package/dist/receipt/routes.js +21 -0
  302. package/dist/receipt/routes.js.map +1 -0
  303. package/dist/receipt/ticket.d.ts +4 -0
  304. package/dist/receipt/ticket.d.ts.map +1 -0
  305. package/dist/receipt/ticket.js +173 -0
  306. package/dist/receipt/ticket.js.map +1 -0
  307. package/dist/render/copyArea.d.ts +45 -0
  308. package/dist/render/copyArea.d.ts.map +1 -0
  309. package/dist/render/copyArea.js +74 -0
  310. package/dist/render/copyArea.js.map +1 -0
  311. package/dist/render/envelope.d.ts.map +1 -1
  312. package/dist/render/envelope.js +4 -23
  313. package/dist/render/envelope.js.map +1 -1
  314. package/dist/render/errors.d.ts +1 -1
  315. package/dist/render/errors.d.ts.map +1 -1
  316. package/dist/render/errors.js.map +1 -1
  317. package/dist/render/familyPage.d.ts +20 -0
  318. package/dist/render/familyPage.d.ts.map +1 -0
  319. package/dist/render/familyPage.js +108 -0
  320. package/dist/render/familyPage.js.map +1 -0
  321. package/dist/render/html.d.ts +7 -2
  322. package/dist/render/html.d.ts.map +1 -1
  323. package/dist/render/html.js +21 -5
  324. package/dist/render/html.js.map +1 -1
  325. package/dist/render/index.d.ts +7 -1
  326. package/dist/render/index.d.ts.map +1 -1
  327. package/dist/render/index.js +8 -1
  328. package/dist/render/index.js.map +1 -1
  329. package/dist/render/pageFamilies.d.ts +8 -0
  330. package/dist/render/pageFamilies.d.ts.map +1 -0
  331. package/dist/render/pageFamilies.js +169 -0
  332. package/dist/render/pageFamilies.js.map +1 -0
  333. package/dist/render/sceneNaming.d.ts +14 -0
  334. package/dist/render/sceneNaming.d.ts.map +1 -0
  335. package/dist/render/sceneNaming.js +171 -0
  336. package/dist/render/sceneNaming.js.map +1 -0
  337. package/dist/setup/commands.d.ts +3 -0
  338. package/dist/setup/commands.d.ts.map +1 -0
  339. package/dist/setup/commands.js +9 -0
  340. package/dist/setup/commands.js.map +1 -0
  341. package/dist/setup/index.d.ts +3 -0
  342. package/dist/setup/index.d.ts.map +1 -0
  343. package/dist/setup/index.js +4 -0
  344. package/dist/setup/index.js.map +1 -0
  345. package/dist/setup/pages/backup_receipt.d.ts +21 -0
  346. package/dist/setup/pages/backup_receipt.d.ts.map +1 -0
  347. package/dist/setup/pages/backup_receipt.js +198 -0
  348. package/dist/setup/pages/backup_receipt.js.map +1 -0
  349. package/dist/setup/pages/first_use_wizard.d.ts +21 -0
  350. package/dist/setup/pages/first_use_wizard.d.ts.map +1 -0
  351. package/dist/setup/pages/first_use_wizard.js +169 -0
  352. package/dist/setup/pages/first_use_wizard.js.map +1 -0
  353. package/dist/setup/pages/health_report.d.ts +21 -0
  354. package/dist/setup/pages/health_report.d.ts.map +1 -0
  355. package/dist/setup/pages/health_report.js +152 -0
  356. package/dist/setup/pages/health_report.js.map +1 -0
  357. package/dist/setup/pages/import_restore.d.ts +21 -0
  358. package/dist/setup/pages/import_restore.d.ts.map +1 -0
  359. package/dist/setup/pages/import_restore.js +179 -0
  360. package/dist/setup/pages/import_restore.js.map +1 -0
  361. package/dist/setup/routes.d.ts +3 -0
  362. package/dist/setup/routes.d.ts.map +1 -0
  363. package/dist/setup/routes.js +2 -0
  364. package/dist/setup/routes.js.map +1 -0
  365. package/dist/shared/commandSpec.d.ts +30 -0
  366. package/dist/shared/commandSpec.d.ts.map +1 -0
  367. package/dist/shared/commandSpec.js +8 -0
  368. package/dist/shared/commandSpec.js.map +1 -0
  369. package/dist/shared/fail.d.ts +4 -0
  370. package/dist/shared/fail.d.ts.map +1 -0
  371. package/dist/shared/fail.js +16 -0
  372. package/dist/shared/fail.js.map +1 -0
  373. package/dist/shared/params.d.ts +2 -0
  374. package/dist/shared/params.d.ts.map +1 -0
  375. package/dist/shared/params.js +12 -0
  376. package/dist/shared/params.js.map +1 -0
  377. package/dist/space/commands.d.ts +3 -0
  378. package/dist/space/commands.d.ts.map +1 -0
  379. package/dist/space/commands.js +6 -0
  380. package/dist/space/commands.js.map +1 -0
  381. package/dist/space/index.d.ts +3 -0
  382. package/dist/space/index.d.ts.map +1 -0
  383. package/dist/space/index.js +4 -0
  384. package/dist/space/index.js.map +1 -0
  385. package/dist/space/location.d.ts +82 -0
  386. package/dist/space/location.d.ts.map +1 -0
  387. package/dist/space/location.js +310 -0
  388. package/dist/space/location.js.map +1 -0
  389. package/dist/space/pages/fixed_spot.d.ts +21 -0
  390. package/dist/space/pages/fixed_spot.d.ts.map +1 -0
  391. package/dist/space/pages/fixed_spot.js +122 -0
  392. package/dist/space/pages/fixed_spot.js.map +1 -0
  393. package/dist/space/pages/location_manage.d.ts +21 -0
  394. package/dist/space/pages/location_manage.d.ts.map +1 -0
  395. package/dist/space/pages/location_manage.js +169 -0
  396. package/dist/space/pages/location_manage.js.map +1 -0
  397. package/dist/space/pages/space_view.d.ts +21 -0
  398. package/dist/space/pages/space_view.d.ts.map +1 -0
  399. package/dist/space/pages/space_view.js +185 -0
  400. package/dist/space/pages/space_view.js.map +1 -0
  401. package/dist/space/pages/suggest_storage.d.ts +21 -0
  402. package/dist/space/pages/suggest_storage.d.ts.map +1 -0
  403. package/dist/space/pages/suggest_storage.js +179 -0
  404. package/dist/space/pages/suggest_storage.js.map +1 -0
  405. package/dist/space/routes.d.ts +3 -0
  406. package/dist/space/routes.d.ts.map +1 -0
  407. package/dist/space/routes.js +24 -0
  408. package/dist/space/routes.js.map +1 -0
  409. package/dist/stats/commands.d.ts +3 -0
  410. package/dist/stats/commands.d.ts.map +1 -0
  411. package/dist/stats/commands.js +6 -0
  412. package/dist/stats/commands.js.map +1 -0
  413. package/dist/stats/index.d.ts +3 -0
  414. package/dist/stats/index.d.ts.map +1 -0
  415. package/dist/stats/index.js +4 -0
  416. package/dist/stats/index.js.map +1 -0
  417. package/dist/stats/pages/expiring.d.ts +21 -0
  418. package/dist/stats/pages/expiring.d.ts.map +1 -0
  419. package/dist/stats/pages/expiring.js +204 -0
  420. package/dist/stats/pages/expiring.js.map +1 -0
  421. package/dist/stats/pages/idle.d.ts +21 -0
  422. package/dist/stats/pages/idle.d.ts.map +1 -0
  423. package/dist/stats/pages/idle.js +163 -0
  424. package/dist/stats/pages/idle.js.map +1 -0
  425. package/dist/stats/pages/inventory_stat.d.ts +21 -0
  426. package/dist/stats/pages/inventory_stat.d.ts.map +1 -0
  427. package/dist/stats/pages/inventory_stat.js +133 -0
  428. package/dist/stats/pages/inventory_stat.js.map +1 -0
  429. package/dist/stats/pages/overview.d.ts +21 -0
  430. package/dist/stats/pages/overview.d.ts.map +1 -0
  431. package/dist/stats/pages/overview.js +179 -0
  432. package/dist/stats/pages/overview.js.map +1 -0
  433. package/dist/stats/routes.d.ts +3 -0
  434. package/dist/stats/routes.d.ts.map +1 -0
  435. package/dist/stats/routes.js +16 -0
  436. package/dist/stats/routes.js.map +1 -0
  437. package/dist/stats/stats.d.ts +4 -0
  438. package/dist/stats/stats.d.ts.map +1 -0
  439. package/dist/stats/stats.js +38 -0
  440. package/dist/stats/stats.js.map +1 -0
  441. package/package.json +8 -5
  442. package/templates/care_query.html +1 -0
  443. package/templates/care_receipt.html +1 -0
  444. package/templates/express/express.html +17 -0
  445. package/templates/express/list.html +17 -0
  446. package/templates/express/missing.html +17 -0
  447. package/templates/express/stock.html +17 -0
  448. package/templates/family/family_borrow.html +17 -0
  449. package/templates/family/family_members.html +17 -0
  450. package/templates/help.html +1 -0
  451. package/templates/inventory_records.html +1 -0
  452. package/templates/inventory_round.html +1 -0
  453. package/templates/item_detail.html +1 -0
  454. package/templates/item_receipt.html +1 -0
  455. package/templates/item_search.html +1 -0
  456. package/templates/item_update_receipt.html +1 -0
  457. package/templates/items/add_form.html +17 -0
  458. package/templates/items/browse.html +17 -0
  459. package/templates/items/category_manage.html +17 -0
  460. package/templates/items/confirm.html +17 -0
  461. package/templates/items/detail.html +17 -0
  462. package/templates/items/duplicates.html +17 -0
  463. package/templates/items/history.html +17 -0
  464. package/templates/items/inventory_diff.html +17 -0
  465. package/templates/items/inventory_records.html +17 -0
  466. package/templates/items/inventory_round.html +17 -0
  467. package/templates/items/locate.html +17 -0
  468. package/templates/items/move_checklist.html +17 -0
  469. package/templates/items/photo_wall.html +17 -0
  470. package/templates/items/photos.html +17 -0
  471. package/templates/items/receipt.html +17 -0
  472. package/templates/items/relations.html +17 -0
  473. package/templates/items/search_list.html +17 -0
  474. package/templates/items/tag_manage.html +17 -0
  475. package/templates/items/undo_select.html +17 -0
  476. package/templates/location_query.html +1 -0
  477. package/templates/location_receipt.html +1 -0
  478. package/templates/outfit/outfit_picker.html +17 -0
  479. package/templates/outfit/travel_trip.html +17 -0
  480. package/templates/outfit/trip_outfit_plan.html +17 -0
  481. package/templates/outfit/wardrobe_analyze.html +17 -0
  482. package/templates/outfit/wardrobe_season.html +17 -0
  483. package/templates/outfit_pick.html +1 -0
  484. package/templates/receipt/accounts.html +17 -0
  485. package/templates/receipt/certificates.html +17 -0
  486. package/templates/receipt/purchase_records.html +17 -0
  487. package/templates/receipt/warranty.html +17 -0
  488. package/templates/setup/backup_receipt.html +17 -0
  489. package/templates/setup/first_use_wizard.html +17 -0
  490. package/templates/setup/health_report.html +17 -0
  491. package/templates/setup/import_restore.html +17 -0
  492. package/templates/shopping_query.html +1 -0
  493. package/templates/shopping_receipt.html +1 -0
  494. package/templates/space/fixed_spot.html +63 -0
  495. package/templates/space/location_manage.html +70 -0
  496. package/templates/space/space_view.html +65 -0
  497. package/templates/space/suggest_storage.html +58 -0
  498. package/templates/stats/expiring.html +17 -0
  499. package/templates/stats/idle.html +17 -0
  500. package/templates/stats/inventory_stat.html +17 -0
  501. package/templates/stats/overview.html +17 -0
  502. package/templates/stats_alert.html +1 -0
  503. package/templates/stats_overview.html +1 -0
  504. package/templates/tag_query.html +1 -0
  505. package/templates/tag_receipt.html +1 -0
  506. package/templates/ticket_query.html +1 -0
  507. package/templates/ticket_receipt.html +1 -0
  508. package/templates/trip_receipt.html +1 -0
@@ -0,0 +1,128 @@
1
+ export const ROUTES_GENERATED = [
2
+ { phrase: '居家管家 帮助', key: 'home.help.lookup' },
3
+ { phrase: '居家管家帮助', key: 'home.help.lookup' },
4
+ { phrase: '居家管家能做什么', key: 'home.help.lookup' },
5
+ { phrase: '查快递', key: 'home.shopping.query', preset: { kind: 'express' } },
6
+ { phrase: '购物清单', key: 'home.shopping.query', preset: { kind: 'list' } },
7
+ { phrase: '缺货检测', key: 'home.shopping.query', preset: { kind: 'missing' } },
8
+ { phrase: '囤货盘点', key: 'home.shopping.query', preset: { kind: 'stock' } },
9
+ { phrase: '改购物清单', key: 'home.shopping.write', preset: { op: 'check' } },
10
+ { phrase: '查异常', key: 'home.care.query', preset: { kind: 'lint' } },
11
+ { phrase: '借用', key: 'home.care.query', preset: { kind: 'borrow' } },
12
+ { phrase: '借出', key: 'home.care.write', preset: { kind: 'borrow', op: 'borrow' } },
13
+ { phrase: '借入', key: 'home.care.write', preset: { kind: 'borrow', op: 'borrow' } },
14
+ { phrase: '归还', key: 'home.care.write', preset: { kind: 'borrow', op: 'return' } },
15
+ { phrase: '催还', key: 'home.care.query', preset: { kind: 'borrow' } },
16
+ { phrase: '家人档案', key: 'home.care.query', preset: { kind: 'member' } },
17
+ { phrase: '首次使用', key: 'home.care.write', preset: { kind: 'init' } },
18
+ { phrase: '备份导出', key: 'home.care.write', preset: { kind: 'backup' } },
19
+ { phrase: '导入恢复', key: 'home.care.write', preset: { kind: 'import' } },
20
+ { phrase: '查物品(HTML)', key: 'home.item.search' },
21
+ { phrase: '查物品', key: 'home.item.search' },
22
+ { phrase: '紧急定位', key: 'home.item.search', preset: { locate: true } },
23
+ { phrase: '筛选浏览', key: 'home.item.search', preset: { browse: true } },
24
+ { phrase: '拍照找物品', key: 'home.item.search', preset: { photo: true } },
25
+ { phrase: '查重复', key: 'home.item.search', preset: { dupes: true } },
26
+ { phrase: '照片墙', key: 'home.item.search', preset: { wall: true } },
27
+ { phrase: '搜索物品', key: 'home.item.search' },
28
+ { phrase: '找一下物品', key: 'home.item.search' },
29
+ { phrase: '帮我找找', key: 'home.item.search' },
30
+ { phrase: '看看家里有啥', key: 'home.item.search' },
31
+ { phrase: '看物品(HTML)', key: 'home.item.detail', needs: ['id'] },
32
+ { phrase: '看物品', key: 'home.item.detail', needs: ['id'] },
33
+ { phrase: '查看照片', key: 'home.item.detail', needs: ['id'], preset: { view: 'photos' } },
34
+ { phrase: '历史', key: 'home.item.detail', needs: ['id'], preset: { view: 'history' } },
35
+ { phrase: '查看物品', key: 'home.item.detail', needs: ['id'] },
36
+ { phrase: '物品详情', key: 'home.item.detail', needs: ['id'] },
37
+ { phrase: '录物品', key: 'home.item.add' },
38
+ { phrase: '拍物品', key: 'home.item.add', preset: { photo: '1' } },
39
+ { phrase: '批量录入', key: 'home.item.add', preset: { op: 'batch' } },
40
+ { phrase: '补录', key: 'home.item.add', preset: { op: 'backfill' } },
41
+ { phrase: '登记物品', key: 'home.item.add' },
42
+ { phrase: '添加物品', key: 'home.item.add' },
43
+ { phrase: '帮我记一下', key: 'home.item.add' },
44
+ { phrase: '家里又多了个东西', key: 'home.item.add' },
45
+ { phrase: '新到货了', key: 'home.item.add' },
46
+ { phrase: '改物品', key: 'home.item.update', needs: ['id'] },
47
+ { phrase: '移物品', key: 'home.item.update', needs: ['id'], preset: { op: 'move' } },
48
+ { phrase: '补物品', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
49
+ { phrase: '减物品', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
50
+ { phrase: '标物品', key: 'home.item.update', needs: ['id'], preset: { op: 'tags' } },
51
+ { phrase: '废物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
52
+ { phrase: '借物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
53
+ { phrase: '修物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
54
+ { phrase: '合并物品', key: 'home.item.update', needs: ['id'], preset: { op: 'merge' } },
55
+ { phrase: '撤销操作', key: 'home.item.update', preset: { op: 'undo' } },
56
+ { phrase: '物品关联', key: 'home.item.update', needs: ['id'], preset: { op: 'relate' } },
57
+ { phrase: '管照片', key: 'home.item.update', needs: ['id'], preset: { op: 'photo' } },
58
+ { phrase: '数量变更', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
59
+ { phrase: '状态变更', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
60
+ { phrase: '看标签', key: 'home.tag.query' },
61
+ { phrase: '管标签', key: 'home.tag.write', preset: { op: 'overview' } },
62
+ { phrase: '管分类', key: 'home.tag.write', preset: { op: 'category' } },
63
+ { phrase: '整理建议', key: 'home.tag.write', preset: { op: 'tidy' } },
64
+ { phrase: '合标签', key: 'home.tag.write', preset: { op: 'merge' } },
65
+ { phrase: '盘物品', key: 'home.inventory.round', preset: { op: 'round' } },
66
+ { phrase: '盘全部', key: 'home.inventory.round', preset: { op: 'round', scope: 'all' } },
67
+ { phrase: '盘点', key: 'home.inventory.round', preset: { op: 'round' } },
68
+ { phrase: '差异处理', key: 'home.inventory.round', preset: { op: 'resolve' } },
69
+ { phrase: '搬家盘点', key: 'home.inventory.round', preset: { op: 'move' } },
70
+ { phrase: '清点物品', key: 'home.inventory.round', preset: { op: 'round' } },
71
+ { phrase: '核对库存', key: 'home.inventory.round', preset: { op: 'round' } },
72
+ { phrase: '数数这里', key: 'home.inventory.round', preset: { op: 'round' } },
73
+ { phrase: '盘点记录', key: 'home.inventory.records' },
74
+ { phrase: '穿什么', key: 'home.outfit.pick' },
75
+ { phrase: '衣橱分析', key: 'home.outfit.pick', preset: { kind: 'wardrobe' } },
76
+ { phrase: '换季', key: 'home.outfit.pick', preset: { kind: 'season' } },
77
+ { phrase: '旅行穿搭', key: 'home.outfit.pick', preset: { kind: 'trip-plan' } },
78
+ { phrase: '带物品', key: 'home.trip.manage', preset: { mode: 'pack' } },
79
+ { phrase: '归物品', key: 'home.trip.manage', preset: { mode: 'return' } },
80
+ { phrase: '查账号', key: 'home.ticket.query', preset: { kind: 'account' } },
81
+ { phrase: '存账号', key: 'home.ticket.write', preset: { kind: 'account', op: 'add' } },
82
+ { phrase: '改账号', key: 'home.ticket.write', preset: { kind: 'account', op: 'update' } },
83
+ { phrase: '看密码', key: 'home.ticket.write', preset: { kind: 'account', op: 'show' } },
84
+ { phrase: '查购买记录', key: 'home.ticket.query', preset: { kind: 'purchase' } },
85
+ { phrase: '查上月购买', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'last-month' } },
86
+ { phrase: '查今年花费', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'year' } },
87
+ { phrase: '查退货窗口', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'return' } },
88
+ { phrase: '登记购买记录', key: 'home.ticket.write', preset: { kind: 'purchase', op: 'add' } },
89
+ { phrase: '查保修状态', key: 'home.ticket.query', preset: { kind: 'warranty' } },
90
+ { phrase: '登记保修', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'register' } },
91
+ { phrase: '记录维修', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'repair' } },
92
+ { phrase: '设置保养周期', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'cycle' } },
93
+ { phrase: '执行保养', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'maintain' } },
94
+ { phrase: '查证件到期', key: 'home.ticket.query', preset: { kind: 'cert' } },
95
+ { phrase: '登记证件', key: 'home.ticket.write', preset: { kind: 'cert', op: 'add' } },
96
+ { phrase: '证件归档', key: 'home.ticket.write', preset: { kind: 'cert', op: 'archive' } },
97
+ { phrase: '更新证件', key: 'home.ticket.write', preset: { kind: 'cert', op: 'update' } },
98
+ { phrase: '推位置', key: 'home.location.query', needs: ['category_id'], preset: { mode: 'suggest' } },
99
+ { phrase: '找位置', key: 'home.location.query', needs: ['reference'], preset: { mode: 'find' } },
100
+ { phrase: '管位置', key: 'home.location.write', preset: { op: 'manage' } },
101
+ { phrase: '固定位', key: 'home.location.write', preset: { op: 'fixed' } },
102
+ { phrase: '收纳建议', key: 'home.location.query', preset: { mode: 'storage' } },
103
+ { phrase: '空间视图', key: 'home.location.query', preset: { mode: 'space' } },
104
+ { phrase: '位置管理', key: 'home.location.write', preset: { op: 'manage' } },
105
+ { phrase: '整理一下家里的位置', key: 'home.location.write', preset: { op: 'manage' } },
106
+ { phrase: '位置怎么分的', key: 'home.location.write', preset: { op: 'manage' } },
107
+ { phrase: '设置固定位', key: 'home.location.write', preset: { op: 'fixed' } },
108
+ { phrase: '给我定个固定位置', key: 'home.location.write', preset: { op: 'fixed' } },
109
+ { phrase: '收纳位置建议', key: 'home.location.query', preset: { mode: 'storage' } },
110
+ { phrase: '帮我找个地方放', key: 'home.location.query', preset: { mode: 'storage' } },
111
+ { phrase: '浏览空间视图', key: 'home.location.query', preset: { mode: 'space' } },
112
+ { phrase: '看看家里每个地方都有啥', key: 'home.location.query', preset: { mode: 'space' } },
113
+ { phrase: '客厅里都有什么', key: 'home.location.query', preset: { mode: 'space' } },
114
+ { phrase: '统物品(HTML)', key: 'home.stats.overview' },
115
+ { phrase: '统物品', key: 'home.stats.overview', preset: { kind: 'summary' } },
116
+ { phrase: '查高频', key: 'home.stats.overview', preset: { kind: 'summary' } },
117
+ { phrase: '盘点统计', key: 'home.stats.overview', preset: { kind: 'inventory' } },
118
+ { phrase: '统计物品', key: 'home.stats.overview', preset: { kind: 'summary' } },
119
+ { phrase: '物品总览', key: 'home.stats.overview', preset: { kind: 'summary' } },
120
+ { phrase: '家里都有啥', key: 'home.stats.overview', preset: { kind: 'summary' } },
121
+ { phrase: '给我个总数', key: 'home.stats.overview', preset: { kind: 'summary' } },
122
+ { phrase: '一共多少件', key: 'home.stats.overview', preset: { kind: 'summary' } },
123
+ { phrase: '整体啥情况', key: 'home.stats.overview', preset: { kind: 'summary' } },
124
+ { phrase: '查低频', key: 'home.stats.alert', preset: { kind: 'idle' } },
125
+ { phrase: '查过期', key: 'home.stats.alert', preset: { kind: 'expiring' } },
126
+ { phrase: '查闲置', key: 'home.stats.alert', preset: { kind: 'idle' } },
127
+ ];
128
+ //# sourceMappingURL=routes.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.generated.js","sourceRoot":"","sources":["../../src/policy/routes.generated.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface WakeEntry {
9
9
  needs?: string[];
10
10
  preset?: Record<string, unknown>;
11
11
  }
12
+ /** 运行期路由表(派生件的运行期形态;词增删走能力声明+`pnpm gen`)。 */
12
13
  export declare const WAKE_TABLE: WakeEntry[];
13
14
  export declare const DEPRECATED_PHRASES: string[];
14
15
  export declare function routeWakeword(text: string, ctx?: Record<string, unknown>): WakeRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"wakewords.d.ts","sourceRoot":"","sources":["../../src/policy/wakewords.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GACf,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,GAC9E,gBAAgB,GAAG,gBAAgB,GACnC,sBAAsB,GAAG,wBAAwB,GACjD,qBAAqB,GAAG,qBAAqB,GAC7C,kBAAkB,GAAG,kBAAkB,GACvC,qBAAqB,GAAG,kBAAkB,GAC1C,qBAAqB,GAAG,qBAAqB,GAC7C,mBAAmB,GAAG,mBAAmB,GACzC,iBAAiB,GAAG,iBAAiB,GACrC,kBAAkB,CAAC;AAEvB,MAAM,WAAW,SAAS;IAAG,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC7E,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAEhH,eAAO,MAAM,UAAU,EAAE,SAAS,EA4FjC,CAAC;AAGF,eAAO,MAAM,kBAAkB,UAA4B,CAAC;AAI5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,SAAS,CAYxF"}
1
+ {"version":3,"file":"wakewords.d.ts","sourceRoot":"","sources":["../../src/policy/wakewords.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GACf,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,GAC9E,gBAAgB,GAAG,gBAAgB,GACnC,sBAAsB,GAAG,wBAAwB,GACjD,qBAAqB,GAAG,qBAAqB,GAC7C,kBAAkB,GAAG,kBAAkB,GACvC,qBAAqB,GAAG,kBAAkB,GAC1C,qBAAqB,GAAG,qBAAqB,GAC7C,mBAAmB,GAAG,mBAAmB,GACzC,iBAAiB,GAAG,iBAAiB,GACrC,kBAAkB,CAAC;AAEvB,MAAM,WAAW,SAAS;IAAG,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC7E,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAEhH,6CAA6C;AAC7C,eAAO,MAAM,UAAU,EAAE,SAAS,EAK/B,CAAC;AAGJ,eAAO,MAAM,kBAAkB,UAA4B,CAAC;AAI5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,SAAS,CAYxF"}
@@ -1,99 +1,17 @@
1
1
  // 口径层·唤醒词路由:自然语言 → 21 联动 key;最长匹配;联动 3 词废弃不路由。
2
2
  // HELP 速查唯一上游;改这里,HELP 构建期跟进。
3
+ // #800 起路由记录面住派生件 `routes.generated.ts`(各能力 `routes.ts` 声明组装),
4
+ // 本文件只做运行期适配(类型收窄+最长匹配),不再手写词表:加词改它那个能力的
5
+ // `routes.ts`,跑 `pnpm gen` 重生成。
6
+ import { ROUTES_GENERATED } from './routes.generated.js';
3
7
  import { HomePolicyError } from '../fetch/errors.js';
4
- export const WAKE_TABLE = [
5
- { phrase: '居家管家 帮助', key: 'home.help.lookup' },
6
- { phrase: '居家管家帮助', key: 'home.help.lookup' },
7
- { phrase: '居家管家能做什么', key: 'home.help.lookup' },
8
- { phrase: '查物品(HTML)', key: 'home.item.search' },
9
- { phrase: '看物品(HTML)', key: 'home.item.detail', needs: ['id'] },
10
- { phrase: '统物品(HTML)', key: 'home.stats.overview' },
11
- { phrase: '查物品', key: 'home.item.search' },
12
- { phrase: '看物品', key: 'home.item.detail', needs: ['id'] },
13
- { phrase: '录物品', key: 'home.item.add' },
14
- { phrase: '拍物品', key: 'home.item.add', preset: { photo: '1' } },
15
- { phrase: '改物品', key: 'home.item.update', needs: ['id'] },
16
- { phrase: '移物品', key: 'home.item.update', needs: ['id'], preset: { op: 'move' } },
17
- { phrase: '补物品', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
18
- { phrase: '减物品', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
19
- { phrase: '标物品', key: 'home.item.update', needs: ['id'], preset: { op: 'tags' } },
20
- { phrase: '废物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
21
- { phrase: '借物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
22
- { phrase: '修物品', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
23
- { phrase: '盘物品', key: 'home.inventory.round', preset: { op: 'round' } },
24
- { phrase: '盘全部', key: 'home.inventory.round', preset: { op: 'round', scope: 'all' } },
25
- { phrase: '穿什么', key: 'home.outfit.pick' },
26
- { phrase: '带物品', key: 'home.trip.manage', preset: { mode: 'pack' } },
27
- { phrase: '归物品', key: 'home.trip.manage', preset: { mode: 'return' } },
28
- { phrase: '统物品', key: 'home.stats.overview', preset: { kind: 'summary' } },
29
- { phrase: '查高频', key: 'home.stats.overview', preset: { kind: 'summary' } },
30
- { phrase: '查低频', key: 'home.stats.alert', preset: { kind: 'idle' } },
31
- { phrase: '查过期', key: 'home.stats.alert', preset: { kind: 'expiring' } },
32
- { phrase: '看标签', key: 'home.tag.query' },
33
- { phrase: '合标签', key: 'home.tag.write', preset: { op: 'merge' } },
34
- { phrase: '查快递', key: 'home.shopping.query', preset: { kind: 'express' } },
35
- { phrase: '推位置', key: 'home.location.query', preset: { mode: 'suggest' } },
36
- { phrase: '找位置', key: 'home.location.query', preset: { mode: 'find' } },
37
- { phrase: '查账号', key: 'home.ticket.query', preset: { kind: 'account' } },
38
- { phrase: '存账号', key: 'home.ticket.write', preset: { kind: 'account', op: 'add' } },
39
- { phrase: '改账号', key: 'home.ticket.write', preset: { kind: 'account', op: 'update' } },
40
- { phrase: '看密码', key: 'home.ticket.write', preset: { kind: 'account', op: 'show' } },
41
- { phrase: '查异常', key: 'home.care.query', preset: { kind: 'lint' } },
42
- { phrase: '借用', key: 'home.care.query', preset: { kind: 'borrow' } },
43
- { phrase: '家人档案', key: 'home.care.query', preset: { kind: 'member' } },
44
- { phrase: '管位置', key: 'home.location.write', preset: { op: 'manage' } },
45
- { phrase: '固定位', key: 'home.location.write', preset: { op: 'fixed' } },
46
- { phrase: '收纳建议', key: 'home.location.query', preset: { mode: 'storage' } },
47
- { phrase: '空间视图', key: 'home.location.query', preset: { mode: 'space' } },
48
- { phrase: '查闲置', key: 'home.stats.alert', preset: { kind: 'idle' } },
49
- { phrase: '盘点统计', key: 'home.stats.overview', preset: { kind: 'inventory' } },
50
- { phrase: '首次使用', key: 'home.care.write', preset: { kind: 'init' } },
51
- { phrase: '备份导出', key: 'home.care.write', preset: { kind: 'backup' } },
52
- { phrase: '导入恢复', key: 'home.care.write', preset: { kind: 'import' } },
53
- { phrase: '批量录入', key: 'home.item.add', preset: { op: 'batch' } },
54
- { phrase: '补录', key: 'home.item.add', preset: { op: 'backfill' } },
55
- { phrase: '紧急定位', key: 'home.item.search', preset: { locate: true } },
56
- { phrase: '筛选浏览', key: 'home.item.search', preset: { browse: true } },
57
- { phrase: '拍照找物品', key: 'home.item.search', preset: { photo: true } },
58
- { phrase: '查重复', key: 'home.item.search', preset: { dupes: true } },
59
- { phrase: '合并物品', key: 'home.item.update', needs: ['id'], preset: { op: 'merge' } },
60
- { phrase: '撤销操作', key: 'home.item.update', preset: { op: 'undo' } },
61
- { phrase: '物品关联', key: 'home.item.update', needs: ['id'], preset: { op: 'relate' } },
62
- { phrase: '管标签', key: 'home.tag.write', preset: { op: 'overview' } },
63
- { phrase: '管分类', key: 'home.tag.write', preset: { op: 'category' } },
64
- { phrase: '整理建议', key: 'home.tag.write', preset: { op: 'tidy' } },
65
- { phrase: '查看照片', key: 'home.item.detail', needs: ['id'], preset: { view: 'photos' } },
66
- { phrase: '管照片', key: 'home.item.update', needs: ['id'], preset: { op: 'photo' } },
67
- { phrase: '照片墙', key: 'home.item.search', preset: { wall: true } },
68
- { phrase: '盘点记录', key: 'home.inventory.records' },
69
- { phrase: '差异处理', key: 'home.inventory.round', preset: { op: 'resolve' } },
70
- { phrase: '搬家盘点', key: 'home.inventory.round', preset: { op: 'move' } },
71
- { phrase: '历史', key: 'home.item.detail', needs: ['id'], preset: { view: 'history' } },
72
- { phrase: '数量变更', key: 'home.item.update', needs: ['id'], preset: { op: 'qty' } },
73
- { phrase: '状态变更', key: 'home.item.update', needs: ['id'], preset: { op: 'status' } },
74
- { phrase: '盘点', key: 'home.inventory.round', preset: { op: 'round' } },
75
- { phrase: '购物清单', key: 'home.shopping.query', preset: { kind: 'list' } },
76
- { phrase: '缺货检测', key: 'home.shopping.query', preset: { kind: 'missing' } },
77
- { phrase: '囤货盘点', key: 'home.shopping.query', preset: { kind: 'stock' } },
78
- { phrase: '查购买记录', key: 'home.ticket.query', preset: { kind: 'purchase' } },
79
- { phrase: '查上月购买', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'last-month' } },
80
- { phrase: '查今年花费', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'year' } },
81
- { phrase: '查退货窗口', key: 'home.ticket.query', preset: { kind: 'purchase', range: 'return' } },
82
- { phrase: '登记购买记录', key: 'home.ticket.write', preset: { kind: 'purchase', op: 'add' } },
83
- { phrase: '查保修状态', key: 'home.ticket.query', preset: { kind: 'warranty' } },
84
- { phrase: '登记保修', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'register' } },
85
- { phrase: '记录维修', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'repair' } },
86
- { phrase: '设置保养周期', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'cycle' } },
87
- { phrase: '执行保养', key: 'home.ticket.write', preset: { kind: 'warranty', op: 'maintain' } },
88
- { phrase: '查证件到期', key: 'home.ticket.query', preset: { kind: 'cert' } },
89
- { phrase: '登记证件', key: 'home.ticket.write', preset: { kind: 'cert', op: 'add' } },
90
- { phrase: '证件归档', key: 'home.ticket.write', preset: { kind: 'cert', op: 'archive' } },
91
- { phrase: '更新证件', key: 'home.ticket.write', preset: { kind: 'cert', op: 'update' } },
92
- { phrase: '衣橱分析', key: 'home.outfit.pick', preset: { kind: 'wardrobe' } },
93
- { phrase: '换季', key: 'home.outfit.pick', preset: { kind: 'season' } },
94
- { phrase: '旅行穿搭', key: 'home.outfit.pick', preset: { kind: 'trip-plan' } },
95
- { phrase: '改购物清单', key: 'home.shopping.write', preset: { op: 'check' } },
96
- ];
8
+ /** 运行期路由表(派生件的运行期形态;词增删走能力声明+`pnpm gen`)。 */
9
+ export const WAKE_TABLE = ROUTES_GENERATED.map((e) => ({
10
+ phrase: e.phrase,
11
+ key: e.key,
12
+ needs: e.needs ? [...e.needs] : undefined,
13
+ preset: e.preset ? { ...e.preset } : undefined,
14
+ }));
97
15
  // 废弃词(SM9 外联动 3 词,本技能不路由;combos 登记走后续票)。
98
16
  export const DEPRECATED_PHRASES = ['联动总览', '记到卡路里', '记到记账'];
99
17
  const SORTED = [...WAKE_TABLE].sort((a, b) => b.phrase.length - a.phrase.length);
@@ -1 +1 @@
1
- {"version":3,"file":"wakewords.js","sourceRoot":"","sources":["../../src/policy/wakewords.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wakewords.js","sourceRoot":"","sources":["../../src/policy/wakewords.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,8BAA8B;AAC9B,+DAA+D;AAC/D,yCAAyC;AACzC,gCAAgC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiBrD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAgB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,GAAG,EAAE,CAAC,CAAC,GAAc;IACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;CAC/C,CAAC,CAAC,CAAC;AAEJ,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAA+B,EAAE;IAC3E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,SAAS,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,OAAO,CAAC,GAA4B,EAAE,KAAe;IAC5D,MAAM,CAAC,GAA4B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HomeCommandSpec } from '../shared/commandSpec.js';
2
+ export declare const RECEIPT_COMMANDS: readonly HomeCommandSpec[];
3
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/receipt/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAGtD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { runTicketQuery, runTicketWrite } from './ticket.js';
2
+ export const RECEIPT_COMMANDS = [
3
+ { kind: 'read', key: 'home.ticket.query', shape: 'list', title: '查购买记录', wakeWord: '查购买记录', example: 'home-cmd-read home.ticket.query --params \'{"kind":"purchase"}\'', run: runTicketQuery },
4
+ { kind: 'write', key: 'home.ticket.write', title: '登记购买记录', wakeWord: '登记购买记录', example: 'home-cmd-read home.ticket.write --params \'{"kind":"purchase","op":"add","item_id":1,"date":"2026-09-21"}\'', run: runTicketWrite },
5
+ ];
6
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/receipt/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,kEAAkE,EAAE,GAAG,EAAE,cAAc,EAAE;IAC9L,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,6GAA6G,EAAE,GAAG,EAAE,cAAc,EAAE;CAC9N,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { RECEIPT_COMMANDS } from './commands.js';
2
+ export { RECEIPT_ROUTES } from './routes.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/receipt/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ // 票据凭证能力门:对外只给声明(跨能力调用只走这道门)。
2
+ export { RECEIPT_COMMANDS } from './commands.js';
3
+ export { RECEIPT_ROUTES } from './routes.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/receipt/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Envelope } from 'base-link-core';
2
+ export declare const FAMILY: "accounts";
3
+ export declare const PAGE_META: {
4
+ readonly domain: "receipt";
5
+ readonly family: "accounts";
6
+ readonly key: "home.ticket.query";
7
+ readonly shape: "list";
8
+ readonly preset: Record<string, unknown>;
9
+ readonly scenarios: readonly string[];
10
+ };
11
+ export declare const REQUIRED_BLOCKS: {
12
+ readonly fields: readonly string[];
13
+ readonly operations: readonly string[];
14
+ readonly empty: readonly string[];
15
+ readonly status: readonly string[];
16
+ };
17
+ export declare function renderFamilyPage(env: Envelope, ctx?: {
18
+ readonly command?: string;
19
+ readonly actionAt?: string;
20
+ }): string;
21
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/receipt/pages/accounts.ts"],"names":[],"mappings":"AAmBA,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;wBACD,SAAS,MAAM,EAAE;CAC7D,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;AAgKF,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,CAgBvH"}
@@ -0,0 +1,217 @@
1
+ // receipt能力·accounts页装配(#805 脚手架生成,#814 域票填内容)。
2
+ //
3
+ // 一族一个装配件:模板 `templates/receipt/accounts.html` 的装配入口。
4
+ // 必需块原文=契约附录(事实源),登记表 `scripts/lib/page-blocks.mjs` 由同一附录派生;
5
+ // 三方(本件/登记表/附录)由 `test/scaffold.test.mjs` 逐族对账,走散即红。
6
+ // 可见文案中文-only:机审 `audit-separators` 判载荷区外英文裸词行进红,
7
+ // 而平台名与用户名含拉丁字符,故清单行一律走表格单元格
8
+ // (判据把单元格文本排除在英文裸词之外),可见标题只用中文。
9
+ // 空态与异常态位:`renderFamilyPage` 按 REQUIRED_BLOCKS.empty 原样输出槽位,域票把真空态填进来。
10
+ // 数据形状声明:PAGE_META(主命令/形状/场景预设示例/服务场景清单)。
11
+ //
12
+ // 密码红线:明文永不进页(含可见文本、复制载荷、预埋摘要);
13
+ // 本页只显脱敏符号与操作入口,查看与复制均经对话二次确认。
14
+ //
15
+ // 保守处置(#886):数据位不走 envelope 投影——清单信封虽已脱敏(`listAccounts`
16
+ // 只取平台/用户名/类型三字段),但看密码回执的 message 含明文(`ticket.ts` 看密码
17
+ // 分支),`buildDataText` 会把 message 原样打出;故数据位保留原占位按钮,
18
+ // 日志位走共用件(日志首段只派生 skill.key(shape),不含 message,安全)。
19
+ import { readFileSync } from 'node:fs';
20
+ import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
21
+ export const FAMILY = 'accounts';
22
+ export const PAGE_META = {
23
+ domain: 'receipt',
24
+ family: FAMILY,
25
+ key: 'home.ticket.query',
26
+ shape: 'list',
27
+ preset: { "kind": "account" },
28
+ scenarios: ["SM6-15", "SM6-16", "SM6-17", "SM6-18"],
29
+ };
30
+ export const REQUIRED_BLOCKS = {
31
+ "empty": [
32
+ "空态:暂无账号",
33
+ "异常:数据解析失败/数据校验失败",
34
+ "敏感横幅:本页不含任何明文密码",
35
+ "复制密码前二次确认"
36
+ ],
37
+ "fields": [
38
+ "账号分组(平台/用户名/类型)",
39
+ "总数",
40
+ "空态提示"
41
+ ],
42
+ "operations": [
43
+ "新增账号",
44
+ "查看密码",
45
+ "复制密码",
46
+ "复制数据",
47
+ "复制日志"
48
+ ],
49
+ "status": [
50
+ "购物",
51
+ "银行",
52
+ "社交",
53
+ "其他"
54
+ ]
55
+ };
56
+ function sectionOf(group, title) {
57
+ const items = REQUIRED_BLOCKS[group].map((b) => '<li data-need="' + escapeHtml(b) + '">' + escapeHtml(b) + '</li>').join('');
58
+ return '<section hidden data-block="' + group + '"><h2>' + title + '</h2><ul>' + items + '</ul></section>';
59
+ }
60
+ function parseThinName(name) {
61
+ const open = name.indexOf('(');
62
+ const close = name.indexOf(')');
63
+ if (open >= 0 && close > open) {
64
+ return { platform: name.slice(0, open), username: name.slice(open + 1, close), typeText: '待补' };
65
+ }
66
+ return { platform: name, username: '待补', typeText: '待补' };
67
+ }
68
+ function isRich(item) {
69
+ return item.platform !== undefined
70
+ || item.username !== undefined
71
+ || item.type !== undefined;
72
+ }
73
+ function rowOf(item) {
74
+ if (!isRich(item))
75
+ return parseThinName(String(item.name ?? ''));
76
+ return {
77
+ platform: String(item.platform ?? '待补'),
78
+ username: String(item.username ?? '待补'),
79
+ typeText: String(item.type ?? '待补'),
80
+ };
81
+ }
82
+ function groupTitle(t) {
83
+ if (t === '购物' || t === '银行' || t === '社交' || t === '其他')
84
+ return t;
85
+ return '其他';
86
+ }
87
+ /** 一组账号的清单表:表头四列,格子挂 `data-label`(390 档改纵排卡片时由 CSS 伪元素挂字段名,
88
+ * 主字段「密码」不再被横滑区推到屏外,见 PAGE_CSS 的 560 断点)。 */
89
+ function rowsTable(list) {
90
+ return '<div class="rc-scroll"><table><thead><tr><th>平台</th><th>用户名</th><th>类型</th><th>密码</th></tr></thead><tbody>'
91
+ + list.map((r) => '<tr><td data-label="平台">' + escapeHtml(r.platform) + '</td>'
92
+ + '<td data-label="用户名">' + escapeHtml(r.username) + '</td>'
93
+ + '<td data-label="类型">' + escapeHtml(groupTitle(r.typeText)) + '</td>'
94
+ + '<td data-label="密码">******</td></tr>').join('')
95
+ + '</tbody></table></div>';
96
+ }
97
+ function listGroups(env) {
98
+ const data = env.data;
99
+ const items = Array.isArray(data.items)
100
+ ? data.items
101
+ : [];
102
+ if (!items.length) {
103
+ return '<div><p class="rc-note">暂无账号,可新增一个账号后回来按类型复核</p></div>';
104
+ }
105
+ const rows = items.map(rowOf);
106
+ const groups = new Map();
107
+ for (const r of rows) {
108
+ const g = groupTitle(r.typeText);
109
+ const hit = groups.get(g);
110
+ if (hit)
111
+ hit.push(r);
112
+ else
113
+ groups.set(g, [r]);
114
+ }
115
+ const order = ['购物', '银行', '社交', '其他'];
116
+ const parts = ['<div>'];
117
+ for (const g of order) {
118
+ const list = groups.get(g);
119
+ if (!list || !list.length)
120
+ continue;
121
+ parts.push('<h2 class="rc-group">' + escapeHtml(g) + '(共' + list.length + '个)</h2>');
122
+ parts.push(rowsTable(list));
123
+ }
124
+ const rest = [...groups.keys()].filter((k) => !order.includes(k));
125
+ for (const g of rest) {
126
+ const list = groups.get(g);
127
+ parts.push('<h2 class="rc-group">' + escapeHtml(g) + '(共' + list.length + '个)</h2>');
128
+ parts.push(rowsTable(list));
129
+ }
130
+ parts.push('</div>');
131
+ return parts.join('');
132
+ }
133
+ function receiptNote(env) {
134
+ const data = env.data;
135
+ const msg = String(data.message ?? '已落盘');
136
+ // 明文只走对话 JSON 回显;「页上不展示明文」这条由页首敏感横幅说一次,回执里不再说。
137
+ const safe = /密码/.test(msg) ? '密码已回显' : msg;
138
+ // 存账号(新增)补一句密码怎么存;改账号(更新)说清只填要改的——消息文本带动作词,据此分流。
139
+ const byOp = /(新增|新建|已存)/.test(msg)
140
+ ? '<p class="rc-note">密码加密落库,只在对话里回显</p>'
141
+ : /(更新|已改|修改)/.test(msg) ? '<p class="rc-note">只填要改的字段,其余留空即保持原值</p>' : '';
142
+ // 真实回执放绿卡(回执是本页主内容,字号/字重抬到说明句之上,见 PAGE_CSS 的层级阶梯)。
143
+ return '<div>' + byOp + '<p class="receipt rc-receipt">' + escapeHtml(safe) + '</p></div>';
144
+ }
145
+ function opsBlock(env, ctx) {
146
+ // 主次:四颗动作按钮里「新增账号」是本页主命令(写类入口),走实心蓝;其余三颗保持白底(#817 seq 61–64 的 ④)。
147
+ return '<div>'
148
+ + '<button type="button" class="rc-primary" data-t="请新增账号">新增账号</button>'
149
+ + '<button type="button" data-t="请查看密码,经对话回显">查看密码</button>'
150
+ + '<button type="button" data-t="请复制密码,复制前二次确认">复制密码</button>'
151
+ + '<button type="button" data-t="复制账号脱敏数据">复制数据</button>'
152
+ + homeCopyArea({
153
+ log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
154
+ })
155
+ + '</div>';
156
+ }
157
+ function envelopeBrief(env) {
158
+ const data = env.data;
159
+ const total = data.total;
160
+ const ok = data.ok;
161
+ return JSON.stringify({ key: String(env.key ?? ''), shape: String(env.shape ?? ''), total: typeof total === 'number' ? total : undefined, ok: typeof ok === 'boolean' ? ok : undefined });
162
+ }
163
+ function sensitiveBanner() {
164
+ return '<div><p class="rc-note">说明页不展示明文,查看与复制均需二次确认</p></div>';
165
+ }
166
+ /** 按钮绑定(#817 收口补):操作区这 5 颗是 `data-t` 复制按钮,只渲染不绑点击=点了没反应
167
+ * (本票已发现过两处同类:一页畸形标签让复选框链路恒空、一页少一个分号让整段脚本不解析)。
168
+ * 照仓内既有写法(`setup/pages/first_use_wizard.ts` 同款)给所有 `[data-t]` 挂 addEventListener;
169
+ * 载荷只有按钮自带的 data-t 文本,明文密码不在这条链上(密码红线不受影响)。 */
170
+ const PAGE_SCRIPT = '<script>function copyText(t){if(navigator.clipboard){navigator.clipboard.writeText(t);}}'
171
+ + 'document.querySelectorAll("[data-t]").forEach(function(b){b.addEventListener("click",function(){copyText(b.getAttribute("data-t")||"");});});</script>';
172
+ /** 页内样式(#817 收口补):裸 <button> 升到 44px 命中区;<pre> 折行,免得长 JSON 把 390 档撑出横向滚动;
173
+ * 清单表套横滑容器(长邮箱等会把表撑宽,容器内滑、不撑破文档);
174
+ * 操作区主按钮(`rc-primary`=新增账号)实心蓝,与其余三颗白底按钮分出主次(#817 seq 61–64 的 ④)。
175
+ *
176
+ * 第二波(#817 seq 61–64 的 ②/③):
177
+ * ② 层级阶梯——组头(`.rc-group`)从浏览器缺省 h2(22.5px/700,比区块标头还大=倒挂)降到 15px/700
178
+ * 并加下边线;说明句/空态句(`.rc-note`)降到 12.5px 灰字;回执(`.rc-receipt`)抬到 15.5px/600。
179
+ * ③ 390 档不裁列——560 断点把清单表改纵排卡片,每格用 `data-label` 伪元素挂字段名,
180
+ * 主字段「密码」不再被 `min-width:520px` 推到横滑区外。 */
181
+ const PAGE_CSS = '<style>button{min-height:44px;min-width:44px;padding:0 14px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;font-size:13px;font-weight:700;color:#1d1d1f;cursor:pointer;margin:4px 6px 4px 0}'
182
+ + 'button.rc-primary{background:#007aff;border-color:#007aff;color:#fff}'
183
+ + 'pre{white-space:pre-wrap;overflow-wrap:anywhere}'
184
+ + '.rc-scroll{overflow-x:auto}'
185
+ + '.rc-scroll table{min-width:520px;border-collapse:collapse}'
186
+ + 'th,td{border:1px solid #e3e6ea;padding:6px 8px;font-size:12px;text-align:left;white-space:nowrap}'
187
+ + '.rc-group{font-size:15px;font-weight:700;color:#1d1d1f;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid #ececf1}'
188
+ + '.rc-note{font-size:12.5px;line-height:1.6;color:#6e6e73;margin:8px 0}'
189
+ + '.rc-receipt{font-size:15.5px;font-weight:600}'
190
+ + '@media(max-width:560px){'
191
+ + '.rc-scroll table{min-width:0}'
192
+ + '.rc-scroll thead{display:none}'
193
+ + '.rc-scroll tr{display:block;border:1px solid #e3e6ea;border-radius:12px;padding:8px 10px;margin:0 0 8px}'
194
+ + '.rc-scroll td{display:block;border:none;padding:3px 0;white-space:normal;overflow-wrap:anywhere}'
195
+ + '.rc-scroll td::before{content:attr(data-label);display:inline-block;min-width:3.6em;color:#6e6e73}'
196
+ + '}</style>';
197
+ // 装配入口:真 envelope(真命令链产出)+本族模板 → 同形整页。
198
+ // fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
199
+ // 日志位走共用件(卡路里同款六段日志);`ctx.command` 由交付链供给(含 params),直调缺省按本族主 key。
200
+ export function renderFamilyPage(env, ctx) {
201
+ const template = readFileSync(new URL('../../../templates/receipt/accounts.html', import.meta.url), 'utf8');
202
+ const head = '<div class="fam-head" data-family="' + FAMILY + '" data-key="' + escapeHtml(String(env.key ?? PAGE_META.key)) + '">'
203
+ + '<span>账号密码</span></div>';
204
+ const main = env.shape === 'receipt' ? receiptNote(env) : listGroups(env);
205
+ const content = PAGE_CSS
206
+ + head
207
+ + sensitiveBanner()
208
+ + main
209
+ + opsBlock(env, ctx)
210
+ + PAGE_SCRIPT
211
+ + sectionOf('fields', '字段')
212
+ + sectionOf('operations', '操作')
213
+ + sectionOf('empty', '空态与异常')
214
+ + sectionOf('status', '状态词');
215
+ return fillTemplate(template, content);
216
+ }
217
+ //# sourceMappingURL=accounts.js.map