skill-home 0.3.52 → 0.3.54

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 (533) hide show
  1. package/dist/cli/cmd_read.d.ts +3 -0
  2. package/dist/cli/cmd_read.d.ts.map +1 -0
  3. package/dist/cli/cmd_read.js +317 -0
  4. package/dist/cli/cmd_read.js.map +1 -0
  5. package/dist/cli/config.d.ts +20 -0
  6. package/dist/cli/config.d.ts.map +1 -0
  7. package/dist/cli/config.js +100 -0
  8. package/dist/cli/config.js.map +1 -0
  9. package/dist/cli/health.d.ts +7 -0
  10. package/dist/cli/health.d.ts.map +1 -0
  11. package/dist/cli/health.js +32 -0
  12. package/dist/cli/health.js.map +1 -0
  13. package/dist/cli/keys.d.ts +4 -0
  14. package/dist/cli/keys.d.ts.map +1 -0
  15. package/dist/cli/keys.js +55 -0
  16. package/dist/cli/keys.js.map +1 -0
  17. package/dist/cli/language.d.ts +4 -0
  18. package/dist/cli/language.d.ts.map +1 -0
  19. package/dist/cli/language.js +19 -0
  20. package/dist/cli/language.js.map +1 -0
  21. package/dist/cli/registry.d.ts +4 -0
  22. package/dist/cli/registry.d.ts.map +1 -0
  23. package/dist/cli/registry.js +32 -0
  24. package/dist/cli/registry.js.map +1 -0
  25. package/dist/config.d.ts +66 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/config.js +132 -0
  28. package/dist/config.js.map +1 -0
  29. package/dist/data/commands.d.ts +11 -0
  30. package/dist/data/commands.d.ts.map +1 -0
  31. package/dist/data/commands.js +7 -0
  32. package/dist/data/commands.js.map +1 -0
  33. package/dist/data/index.d.ts +3 -0
  34. package/dist/data/index.d.ts.map +1 -0
  35. package/dist/data/index.js +4 -0
  36. package/dist/data/index.js.map +1 -0
  37. package/dist/data/query.d.ts +23 -0
  38. package/dist/data/query.d.ts.map +1 -0
  39. package/dist/data/query.js +19 -0
  40. package/dist/data/query.js.map +1 -0
  41. package/dist/data/routes.d.ts +3 -0
  42. package/dist/data/routes.d.ts.map +1 -0
  43. package/dist/data/routes.js +2 -0
  44. package/dist/data/routes.js.map +1 -0
  45. package/dist/data/schema.d.ts +15 -0
  46. package/dist/data/schema.d.ts.map +1 -0
  47. package/dist/data/schema.js +18 -0
  48. package/dist/data/schema.js.map +1 -0
  49. package/dist/data/tables.d.ts +48 -0
  50. package/dist/data/tables.d.ts.map +1 -0
  51. package/dist/data/tables.js +82 -0
  52. package/dist/data/tables.js.map +1 -0
  53. package/dist/express/commands.d.ts +3 -0
  54. package/dist/express/commands.d.ts.map +1 -0
  55. package/dist/express/commands.js +6 -0
  56. package/dist/express/commands.js.map +1 -0
  57. package/dist/express/index.d.ts +3 -0
  58. package/dist/express/index.d.ts.map +1 -0
  59. package/dist/express/index.js +4 -0
  60. package/dist/express/index.js.map +1 -0
  61. package/dist/express/pages/express.d.ts +24 -0
  62. package/dist/express/pages/express.d.ts.map +1 -0
  63. package/dist/express/pages/express.js +160 -0
  64. package/dist/express/pages/express.js.map +1 -0
  65. package/dist/express/pages/list.d.ts +24 -0
  66. package/dist/express/pages/list.d.ts.map +1 -0
  67. package/dist/express/pages/list.js +167 -0
  68. package/dist/express/pages/list.js.map +1 -0
  69. package/dist/express/pages/missing.d.ts +24 -0
  70. package/dist/express/pages/missing.d.ts.map +1 -0
  71. package/dist/express/pages/missing.js +146 -0
  72. package/dist/express/pages/missing.js.map +1 -0
  73. package/dist/express/pages/stock.d.ts +24 -0
  74. package/dist/express/pages/stock.d.ts.map +1 -0
  75. package/dist/express/pages/stock.js +176 -0
  76. package/dist/express/pages/stock.js.map +1 -0
  77. package/dist/express/routes.d.ts +3 -0
  78. package/dist/express/routes.d.ts.map +1 -0
  79. package/dist/express/routes.js +8 -0
  80. package/dist/express/routes.js.map +1 -0
  81. package/dist/express/shopping.d.ts +4 -0
  82. package/dist/express/shopping.d.ts.map +1 -0
  83. package/dist/express/shopping.js +145 -0
  84. package/dist/express/shopping.js.map +1 -0
  85. package/dist/family/care.d.ts +4 -0
  86. package/dist/family/care.d.ts.map +1 -0
  87. package/dist/family/care.js +103 -0
  88. package/dist/family/care.js.map +1 -0
  89. package/dist/family/commands.d.ts +3 -0
  90. package/dist/family/commands.d.ts.map +1 -0
  91. package/dist/family/commands.js +6 -0
  92. package/dist/family/commands.js.map +1 -0
  93. package/dist/family/index.d.ts +3 -0
  94. package/dist/family/index.d.ts.map +1 -0
  95. package/dist/family/index.js +4 -0
  96. package/dist/family/index.js.map +1 -0
  97. package/dist/family/pages/family_borrow.d.ts +24 -0
  98. package/dist/family/pages/family_borrow.d.ts.map +1 -0
  99. package/dist/family/pages/family_borrow.js +267 -0
  100. package/dist/family/pages/family_borrow.js.map +1 -0
  101. package/dist/family/pages/family_members.d.ts +24 -0
  102. package/dist/family/pages/family_members.d.ts.map +1 -0
  103. package/dist/family/pages/family_members.js +171 -0
  104. package/dist/family/pages/family_members.js.map +1 -0
  105. package/dist/family/routes.d.ts +3 -0
  106. package/dist/family/routes.d.ts.map +1 -0
  107. package/dist/family/routes.js +20 -0
  108. package/dist/family/routes.js.map +1 -0
  109. package/dist/fetch/archive.d.ts +13 -0
  110. package/dist/fetch/archive.d.ts.map +1 -0
  111. package/dist/fetch/archive.js +115 -0
  112. package/dist/fetch/archive.js.map +1 -0
  113. package/dist/fetch/backup.d.ts +75 -0
  114. package/dist/fetch/backup.d.ts.map +1 -0
  115. package/dist/fetch/backup.js +285 -0
  116. package/dist/fetch/backup.js.map +1 -0
  117. package/dist/fetch/db.d.ts +107 -0
  118. package/dist/fetch/db.d.ts.map +1 -0
  119. package/dist/fetch/db.js +443 -0
  120. package/dist/fetch/db.js.map +1 -0
  121. package/dist/fetch/domains.d.ts +151 -0
  122. package/dist/fetch/domains.d.ts.map +1 -0
  123. package/dist/fetch/domains.js +354 -0
  124. package/dist/fetch/domains.js.map +1 -0
  125. package/dist/fetch/errors.d.ts +11 -0
  126. package/dist/fetch/errors.d.ts.map +1 -0
  127. package/dist/fetch/errors.js +18 -0
  128. package/dist/fetch/errors.js.map +1 -0
  129. package/dist/fetch/index.d.ts +11 -0
  130. package/dist/fetch/index.d.ts.map +1 -0
  131. package/dist/fetch/index.js +14 -0
  132. package/dist/fetch/index.js.map +1 -0
  133. package/dist/fetch/masterKey.d.ts +11 -0
  134. package/dist/fetch/masterKey.d.ts.map +1 -0
  135. package/dist/fetch/masterKey.js +46 -0
  136. package/dist/fetch/masterKey.js.map +1 -0
  137. package/dist/fetch/paths.d.ts +55 -0
  138. package/dist/fetch/paths.d.ts.map +1 -0
  139. package/dist/fetch/paths.js +100 -0
  140. package/dist/fetch/paths.js.map +1 -0
  141. package/dist/health.d.ts +50 -0
  142. package/dist/health.d.ts.map +1 -0
  143. package/dist/health.js +524 -0
  144. package/dist/health.js.map +1 -0
  145. package/dist/help/helpAssets.d.ts +52 -0
  146. package/dist/help/helpAssets.d.ts.map +1 -0
  147. package/dist/help/helpAssets.js +2323 -0
  148. package/dist/help/helpAssets.js.map +1 -0
  149. package/dist/help/helpFile.d.ts +62 -0
  150. package/dist/help/helpFile.d.ts.map +1 -0
  151. package/dist/help/helpFile.js +219 -0
  152. package/dist/help/helpFile.js.map +1 -0
  153. package/dist/help/index.d.ts +6 -0
  154. package/dist/help/index.d.ts.map +1 -0
  155. package/dist/help/index.js +8 -0
  156. package/dist/help/index.js.map +1 -0
  157. package/dist/help/lookup.d.ts +11 -0
  158. package/dist/help/lookup.d.ts.map +1 -0
  159. package/dist/help/lookup.js +52 -0
  160. package/dist/help/lookup.js.map +1 -0
  161. package/dist/help/manifest.d.ts +17 -0
  162. package/dist/help/manifest.d.ts.map +1 -0
  163. package/dist/help/manifest.js +44 -0
  164. package/dist/help/manifest.js.map +1 -0
  165. package/dist/help/output.d.ts +12 -0
  166. package/dist/help/output.d.ts.map +1 -0
  167. package/dist/help/output.js +65 -0
  168. package/dist/help/output.js.map +1 -0
  169. package/dist/index.d.ts +5 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +6 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/items/add.d.ts +3 -0
  174. package/dist/items/add.d.ts.map +1 -0
  175. package/dist/items/add.js +34 -0
  176. package/dist/items/add.js.map +1 -0
  177. package/dist/items/commands.d.ts +3 -0
  178. package/dist/items/commands.d.ts.map +1 -0
  179. package/dist/items/commands.js +22 -0
  180. package/dist/items/commands.js.map +1 -0
  181. package/dist/items/detail.d.ts +3 -0
  182. package/dist/items/detail.d.ts.map +1 -0
  183. package/dist/items/detail.js +31 -0
  184. package/dist/items/detail.js.map +1 -0
  185. package/dist/items/index.d.ts +3 -0
  186. package/dist/items/index.d.ts.map +1 -0
  187. package/dist/items/index.js +4 -0
  188. package/dist/items/index.js.map +1 -0
  189. package/dist/items/inventory.d.ts +4 -0
  190. package/dist/items/inventory.d.ts.map +1 -0
  191. package/dist/items/inventory.js +63 -0
  192. package/dist/items/inventory.js.map +1 -0
  193. package/dist/items/pages/add_form.d.ts +24 -0
  194. package/dist/items/pages/add_form.d.ts.map +1 -0
  195. package/dist/items/pages/add_form.js +174 -0
  196. package/dist/items/pages/add_form.js.map +1 -0
  197. package/dist/items/pages/browse.d.ts +24 -0
  198. package/dist/items/pages/browse.d.ts.map +1 -0
  199. package/dist/items/pages/browse.js +143 -0
  200. package/dist/items/pages/browse.js.map +1 -0
  201. package/dist/items/pages/category_manage.d.ts +24 -0
  202. package/dist/items/pages/category_manage.d.ts.map +1 -0
  203. package/dist/items/pages/category_manage.js +153 -0
  204. package/dist/items/pages/category_manage.js.map +1 -0
  205. package/dist/items/pages/confirm.d.ts +24 -0
  206. package/dist/items/pages/confirm.d.ts.map +1 -0
  207. package/dist/items/pages/confirm.js +149 -0
  208. package/dist/items/pages/confirm.js.map +1 -0
  209. package/dist/items/pages/detail.d.ts +24 -0
  210. package/dist/items/pages/detail.d.ts.map +1 -0
  211. package/dist/items/pages/detail.js +160 -0
  212. package/dist/items/pages/detail.js.map +1 -0
  213. package/dist/items/pages/duplicates.d.ts +24 -0
  214. package/dist/items/pages/duplicates.d.ts.map +1 -0
  215. package/dist/items/pages/duplicates.js +138 -0
  216. package/dist/items/pages/duplicates.js.map +1 -0
  217. package/dist/items/pages/history.d.ts +24 -0
  218. package/dist/items/pages/history.d.ts.map +1 -0
  219. package/dist/items/pages/history.js +213 -0
  220. package/dist/items/pages/history.js.map +1 -0
  221. package/dist/items/pages/inventory_diff.d.ts +24 -0
  222. package/dist/items/pages/inventory_diff.d.ts.map +1 -0
  223. package/dist/items/pages/inventory_diff.js +126 -0
  224. package/dist/items/pages/inventory_diff.js.map +1 -0
  225. package/dist/items/pages/inventory_records.d.ts +24 -0
  226. package/dist/items/pages/inventory_records.d.ts.map +1 -0
  227. package/dist/items/pages/inventory_records.js +147 -0
  228. package/dist/items/pages/inventory_records.js.map +1 -0
  229. package/dist/items/pages/inventory_round.d.ts +24 -0
  230. package/dist/items/pages/inventory_round.d.ts.map +1 -0
  231. package/dist/items/pages/inventory_round.js +145 -0
  232. package/dist/items/pages/inventory_round.js.map +1 -0
  233. package/dist/items/pages/locate.d.ts +24 -0
  234. package/dist/items/pages/locate.d.ts.map +1 -0
  235. package/dist/items/pages/locate.js +129 -0
  236. package/dist/items/pages/locate.js.map +1 -0
  237. package/dist/items/pages/move_checklist.d.ts +24 -0
  238. package/dist/items/pages/move_checklist.d.ts.map +1 -0
  239. package/dist/items/pages/move_checklist.js +112 -0
  240. package/dist/items/pages/move_checklist.js.map +1 -0
  241. package/dist/items/pages/photo_wall.d.ts +24 -0
  242. package/dist/items/pages/photo_wall.d.ts.map +1 -0
  243. package/dist/items/pages/photo_wall.js +145 -0
  244. package/dist/items/pages/photo_wall.js.map +1 -0
  245. package/dist/items/pages/photos.d.ts +24 -0
  246. package/dist/items/pages/photos.d.ts.map +1 -0
  247. package/dist/items/pages/photos.js +182 -0
  248. package/dist/items/pages/photos.js.map +1 -0
  249. package/dist/items/pages/receipt.d.ts +24 -0
  250. package/dist/items/pages/receipt.d.ts.map +1 -0
  251. package/dist/items/pages/receipt.js +252 -0
  252. package/dist/items/pages/receipt.js.map +1 -0
  253. package/dist/items/pages/relations.d.ts +24 -0
  254. package/dist/items/pages/relations.d.ts.map +1 -0
  255. package/dist/items/pages/relations.js +144 -0
  256. package/dist/items/pages/relations.js.map +1 -0
  257. package/dist/items/pages/search_list.d.ts +24 -0
  258. package/dist/items/pages/search_list.d.ts.map +1 -0
  259. package/dist/items/pages/search_list.js +133 -0
  260. package/dist/items/pages/search_list.js.map +1 -0
  261. package/dist/items/pages/tag_manage.d.ts +24 -0
  262. package/dist/items/pages/tag_manage.d.ts.map +1 -0
  263. package/dist/items/pages/tag_manage.js +238 -0
  264. package/dist/items/pages/tag_manage.js.map +1 -0
  265. package/dist/items/pages/undo_select.d.ts +24 -0
  266. package/dist/items/pages/undo_select.d.ts.map +1 -0
  267. package/dist/items/pages/undo_select.js +143 -0
  268. package/dist/items/pages/undo_select.js.map +1 -0
  269. package/dist/items/routes.d.ts +3 -0
  270. package/dist/items/routes.d.ts.map +1 -0
  271. package/dist/items/routes.js +62 -0
  272. package/dist/items/routes.js.map +1 -0
  273. package/dist/items/search.d.ts +3 -0
  274. package/dist/items/search.d.ts.map +1 -0
  275. package/dist/items/search.js +47 -0
  276. package/dist/items/search.js.map +1 -0
  277. package/dist/items/tag.d.ts +25 -0
  278. package/dist/items/tag.d.ts.map +1 -0
  279. package/dist/items/tag.js +147 -0
  280. package/dist/items/tag.js.map +1 -0
  281. package/dist/items/update.d.ts +20 -0
  282. package/dist/items/update.d.ts.map +1 -0
  283. package/dist/items/update.js +211 -0
  284. package/dist/items/update.js.map +1 -0
  285. package/dist/outfit/commands.d.ts +3 -0
  286. package/dist/outfit/commands.d.ts.map +1 -0
  287. package/dist/outfit/commands.js +7 -0
  288. package/dist/outfit/commands.js.map +1 -0
  289. package/dist/outfit/index.d.ts +3 -0
  290. package/dist/outfit/index.d.ts.map +1 -0
  291. package/dist/outfit/index.js +4 -0
  292. package/dist/outfit/index.js.map +1 -0
  293. package/dist/outfit/outfit.d.ts +3 -0
  294. package/dist/outfit/outfit.d.ts.map +1 -0
  295. package/dist/outfit/outfit.js +187 -0
  296. package/dist/outfit/outfit.js.map +1 -0
  297. package/dist/outfit/pages/outfit_picker.d.ts +24 -0
  298. package/dist/outfit/pages/outfit_picker.d.ts.map +1 -0
  299. package/dist/outfit/pages/outfit_picker.js +185 -0
  300. package/dist/outfit/pages/outfit_picker.js.map +1 -0
  301. package/dist/outfit/pages/travel_trip.d.ts +24 -0
  302. package/dist/outfit/pages/travel_trip.d.ts.map +1 -0
  303. package/dist/outfit/pages/travel_trip.js +185 -0
  304. package/dist/outfit/pages/travel_trip.js.map +1 -0
  305. package/dist/outfit/pages/trip_outfit_plan.d.ts +24 -0
  306. package/dist/outfit/pages/trip_outfit_plan.d.ts.map +1 -0
  307. package/dist/outfit/pages/trip_outfit_plan.js +173 -0
  308. package/dist/outfit/pages/trip_outfit_plan.js.map +1 -0
  309. package/dist/outfit/pages/wardrobe_analyze.d.ts +24 -0
  310. package/dist/outfit/pages/wardrobe_analyze.d.ts.map +1 -0
  311. package/dist/outfit/pages/wardrobe_analyze.js +171 -0
  312. package/dist/outfit/pages/wardrobe_analyze.js.map +1 -0
  313. package/dist/outfit/pages/wardrobe_season.d.ts +24 -0
  314. package/dist/outfit/pages/wardrobe_season.d.ts.map +1 -0
  315. package/dist/outfit/pages/wardrobe_season.js +167 -0
  316. package/dist/outfit/pages/wardrobe_season.js.map +1 -0
  317. package/dist/outfit/routes.d.ts +3 -0
  318. package/dist/outfit/routes.d.ts.map +1 -0
  319. package/dist/outfit/routes.js +9 -0
  320. package/dist/outfit/routes.js.map +1 -0
  321. package/dist/outfit/trip.d.ts +3 -0
  322. package/dist/outfit/trip.d.ts.map +1 -0
  323. package/dist/outfit/trip.js +59 -0
  324. package/dist/outfit/trip.js.map +1 -0
  325. package/dist/output.d.ts +13 -0
  326. package/dist/output.d.ts.map +1 -0
  327. package/dist/output.js +57 -0
  328. package/dist/output.js.map +1 -0
  329. package/dist/policy/care.d.ts +4 -0
  330. package/dist/policy/care.d.ts.map +1 -0
  331. package/dist/policy/care.js +12 -0
  332. package/dist/policy/care.js.map +1 -0
  333. package/dist/policy/category.d.ts +8 -0
  334. package/dist/policy/category.d.ts.map +1 -0
  335. package/dist/policy/category.js +44 -0
  336. package/dist/policy/category.js.map +1 -0
  337. package/dist/policy/index.d.ts +9 -0
  338. package/dist/policy/index.d.ts.map +1 -0
  339. package/dist/policy/index.js +6 -0
  340. package/dist/policy/index.js.map +1 -0
  341. package/dist/policy/item.d.ts +18 -0
  342. package/dist/policy/item.d.ts.map +1 -0
  343. package/dist/policy/item.js +81 -0
  344. package/dist/policy/item.js.map +1 -0
  345. package/dist/policy/routes.generated.d.ts +3 -0
  346. package/dist/policy/routes.generated.d.ts.map +1 -0
  347. package/dist/policy/routes.generated.js +128 -0
  348. package/dist/policy/routes.generated.js.map +1 -0
  349. package/dist/policy/ticket.d.ts +6 -0
  350. package/dist/policy/ticket.d.ts.map +1 -0
  351. package/dist/policy/ticket.js +25 -0
  352. package/dist/policy/ticket.js.map +1 -0
  353. package/dist/policy/wakewords.d.ts +16 -0
  354. package/dist/policy/wakewords.d.ts.map +1 -0
  355. package/dist/policy/wakewords.js +38 -0
  356. package/dist/policy/wakewords.js.map +1 -0
  357. package/dist/receipt/commands.d.ts +3 -0
  358. package/dist/receipt/commands.d.ts.map +1 -0
  359. package/dist/receipt/commands.js +6 -0
  360. package/dist/receipt/commands.js.map +1 -0
  361. package/dist/receipt/index.d.ts +3 -0
  362. package/dist/receipt/index.d.ts.map +1 -0
  363. package/dist/receipt/index.js +4 -0
  364. package/dist/receipt/index.js.map +1 -0
  365. package/dist/receipt/pages/accounts.d.ts +24 -0
  366. package/dist/receipt/pages/accounts.d.ts.map +1 -0
  367. package/dist/receipt/pages/accounts.js +217 -0
  368. package/dist/receipt/pages/accounts.js.map +1 -0
  369. package/dist/receipt/pages/certificates.d.ts +24 -0
  370. package/dist/receipt/pages/certificates.d.ts.map +1 -0
  371. package/dist/receipt/pages/certificates.js +231 -0
  372. package/dist/receipt/pages/certificates.js.map +1 -0
  373. package/dist/receipt/pages/purchase_records.d.ts +24 -0
  374. package/dist/receipt/pages/purchase_records.d.ts.map +1 -0
  375. package/dist/receipt/pages/purchase_records.js +267 -0
  376. package/dist/receipt/pages/purchase_records.js.map +1 -0
  377. package/dist/receipt/pages/warranty.d.ts +24 -0
  378. package/dist/receipt/pages/warranty.d.ts.map +1 -0
  379. package/dist/receipt/pages/warranty.js +142 -0
  380. package/dist/receipt/pages/warranty.js.map +1 -0
  381. package/dist/receipt/routes.d.ts +3 -0
  382. package/dist/receipt/routes.d.ts.map +1 -0
  383. package/dist/receipt/routes.js +21 -0
  384. package/dist/receipt/routes.js.map +1 -0
  385. package/dist/receipt/ticket.d.ts +4 -0
  386. package/dist/receipt/ticket.d.ts.map +1 -0
  387. package/dist/receipt/ticket.js +282 -0
  388. package/dist/receipt/ticket.js.map +1 -0
  389. package/dist/render/copyArea.d.ts +64 -0
  390. package/dist/render/copyArea.d.ts.map +1 -0
  391. package/dist/render/copyArea.js +196 -0
  392. package/dist/render/copyArea.js.map +1 -0
  393. package/dist/render/envelope.d.ts +6 -0
  394. package/dist/render/envelope.d.ts.map +1 -0
  395. package/dist/render/envelope.js +42 -0
  396. package/dist/render/envelope.js.map +1 -0
  397. package/dist/render/errors.d.ts +5 -0
  398. package/dist/render/errors.d.ts.map +1 -0
  399. package/dist/render/errors.js +10 -0
  400. package/dist/render/errors.js.map +1 -0
  401. package/dist/render/familyPage.d.ts +20 -0
  402. package/dist/render/familyPage.d.ts.map +1 -0
  403. package/dist/render/familyPage.js +106 -0
  404. package/dist/render/familyPage.js.map +1 -0
  405. package/dist/render/html.d.ts +16 -0
  406. package/dist/render/html.d.ts.map +1 -0
  407. package/dist/render/html.js +135 -0
  408. package/dist/render/html.js.map +1 -0
  409. package/dist/render/index.d.ts +14 -0
  410. package/dist/render/index.d.ts.map +1 -0
  411. package/dist/render/index.js +13 -0
  412. package/dist/render/index.js.map +1 -0
  413. package/dist/render/pageFamilies.d.ts +8 -0
  414. package/dist/render/pageFamilies.d.ts.map +1 -0
  415. package/dist/render/pageFamilies.js +169 -0
  416. package/dist/render/pageFamilies.js.map +1 -0
  417. package/dist/render/sceneNaming.d.ts +14 -0
  418. package/dist/render/sceneNaming.d.ts.map +1 -0
  419. package/dist/render/sceneNaming.js +173 -0
  420. package/dist/render/sceneNaming.js.map +1 -0
  421. package/dist/render/templates.d.ts +5 -0
  422. package/dist/render/templates.d.ts.map +1 -0
  423. package/dist/render/templates.js +68 -0
  424. package/dist/render/templates.js.map +1 -0
  425. package/dist/render/views.d.ts +115 -0
  426. package/dist/render/views.d.ts.map +1 -0
  427. package/dist/render/views.js +81 -0
  428. package/dist/render/views.js.map +1 -0
  429. package/dist/setup/commands.d.ts +3 -0
  430. package/dist/setup/commands.d.ts.map +1 -0
  431. package/dist/setup/commands.js +9 -0
  432. package/dist/setup/commands.js.map +1 -0
  433. package/dist/setup/index.d.ts +3 -0
  434. package/dist/setup/index.d.ts.map +1 -0
  435. package/dist/setup/index.js +4 -0
  436. package/dist/setup/index.js.map +1 -0
  437. package/dist/setup/pages/backup_receipt.d.ts +24 -0
  438. package/dist/setup/pages/backup_receipt.d.ts.map +1 -0
  439. package/dist/setup/pages/backup_receipt.js +198 -0
  440. package/dist/setup/pages/backup_receipt.js.map +1 -0
  441. package/dist/setup/pages/first_use_wizard.d.ts +24 -0
  442. package/dist/setup/pages/first_use_wizard.d.ts.map +1 -0
  443. package/dist/setup/pages/first_use_wizard.js +169 -0
  444. package/dist/setup/pages/first_use_wizard.js.map +1 -0
  445. package/dist/setup/pages/health_report.d.ts +24 -0
  446. package/dist/setup/pages/health_report.d.ts.map +1 -0
  447. package/dist/setup/pages/health_report.js +152 -0
  448. package/dist/setup/pages/health_report.js.map +1 -0
  449. package/dist/setup/pages/import_restore.d.ts +24 -0
  450. package/dist/setup/pages/import_restore.d.ts.map +1 -0
  451. package/dist/setup/pages/import_restore.js +179 -0
  452. package/dist/setup/pages/import_restore.js.map +1 -0
  453. package/dist/setup/routes.d.ts +3 -0
  454. package/dist/setup/routes.d.ts.map +1 -0
  455. package/dist/setup/routes.js +2 -0
  456. package/dist/setup/routes.js.map +1 -0
  457. package/dist/shared/commandSpec.d.ts +34 -0
  458. package/dist/shared/commandSpec.d.ts.map +1 -0
  459. package/dist/shared/commandSpec.js +8 -0
  460. package/dist/shared/commandSpec.js.map +1 -0
  461. package/dist/shared/fail.d.ts +4 -0
  462. package/dist/shared/fail.d.ts.map +1 -0
  463. package/dist/shared/fail.js +16 -0
  464. package/dist/shared/fail.js.map +1 -0
  465. package/dist/shared/params.d.ts +4 -0
  466. package/dist/shared/params.d.ts.map +1 -0
  467. package/dist/shared/params.js +31 -0
  468. package/dist/shared/params.js.map +1 -0
  469. package/dist/space/commands.d.ts +3 -0
  470. package/dist/space/commands.d.ts.map +1 -0
  471. package/dist/space/commands.js +6 -0
  472. package/dist/space/commands.js.map +1 -0
  473. package/dist/space/index.d.ts +3 -0
  474. package/dist/space/index.d.ts.map +1 -0
  475. package/dist/space/index.js +4 -0
  476. package/dist/space/index.js.map +1 -0
  477. package/dist/space/location.d.ts +82 -0
  478. package/dist/space/location.d.ts.map +1 -0
  479. package/dist/space/location.js +324 -0
  480. package/dist/space/location.js.map +1 -0
  481. package/dist/space/pages/fixed_spot.d.ts +24 -0
  482. package/dist/space/pages/fixed_spot.d.ts.map +1 -0
  483. package/dist/space/pages/fixed_spot.js +122 -0
  484. package/dist/space/pages/fixed_spot.js.map +1 -0
  485. package/dist/space/pages/location_manage.d.ts +24 -0
  486. package/dist/space/pages/location_manage.d.ts.map +1 -0
  487. package/dist/space/pages/location_manage.js +182 -0
  488. package/dist/space/pages/location_manage.js.map +1 -0
  489. package/dist/space/pages/space_view.d.ts +24 -0
  490. package/dist/space/pages/space_view.d.ts.map +1 -0
  491. package/dist/space/pages/space_view.js +185 -0
  492. package/dist/space/pages/space_view.js.map +1 -0
  493. package/dist/space/pages/suggest_storage.d.ts +24 -0
  494. package/dist/space/pages/suggest_storage.d.ts.map +1 -0
  495. package/dist/space/pages/suggest_storage.js +179 -0
  496. package/dist/space/pages/suggest_storage.js.map +1 -0
  497. package/dist/space/routes.d.ts +3 -0
  498. package/dist/space/routes.d.ts.map +1 -0
  499. package/dist/space/routes.js +24 -0
  500. package/dist/space/routes.js.map +1 -0
  501. package/dist/stats/commands.d.ts +3 -0
  502. package/dist/stats/commands.d.ts.map +1 -0
  503. package/dist/stats/commands.js +6 -0
  504. package/dist/stats/commands.js.map +1 -0
  505. package/dist/stats/index.d.ts +3 -0
  506. package/dist/stats/index.d.ts.map +1 -0
  507. package/dist/stats/index.js +4 -0
  508. package/dist/stats/index.js.map +1 -0
  509. package/dist/stats/pages/expiring.d.ts +24 -0
  510. package/dist/stats/pages/expiring.d.ts.map +1 -0
  511. package/dist/stats/pages/expiring.js +220 -0
  512. package/dist/stats/pages/expiring.js.map +1 -0
  513. package/dist/stats/pages/idle.d.ts +24 -0
  514. package/dist/stats/pages/idle.d.ts.map +1 -0
  515. package/dist/stats/pages/idle.js +181 -0
  516. package/dist/stats/pages/idle.js.map +1 -0
  517. package/dist/stats/pages/inventory_stat.d.ts +24 -0
  518. package/dist/stats/pages/inventory_stat.d.ts.map +1 -0
  519. package/dist/stats/pages/inventory_stat.js +165 -0
  520. package/dist/stats/pages/inventory_stat.js.map +1 -0
  521. package/dist/stats/pages/overview.d.ts +24 -0
  522. package/dist/stats/pages/overview.d.ts.map +1 -0
  523. package/dist/stats/pages/overview.js +238 -0
  524. package/dist/stats/pages/overview.js.map +1 -0
  525. package/dist/stats/routes.d.ts +3 -0
  526. package/dist/stats/routes.d.ts.map +1 -0
  527. package/dist/stats/routes.js +16 -0
  528. package/dist/stats/routes.js.map +1 -0
  529. package/dist/stats/stats.d.ts +4 -0
  530. package/dist/stats/stats.d.ts.map +1 -0
  531. package/dist/stats/stats.js +92 -0
  532. package/dist/stats/stats.js.map +1 -0
  533. package/package.json +3 -3
@@ -0,0 +1,19 @@
1
+ /** #1198 · 出口的语言选择包装:未识别的语言走「预检」那一档(exit 1),不抛原始栈。
2
+ *
3
+ * 为什么单立一件:判定住 `base-link-core`(抛 `ConfigError` 是它对外的契约),而「这一档算哪个退出码」
4
+ * 是出口自己的事。包装放这里,出口件只多一行调用——记账那件正被 #686 棘轮钉着(只许变短)。 */
5
+ import { ConfigError, resolveSkillLanguage } from 'base-link-core';
6
+ import { HOME_CONFIG_STEM, HOME_CONFIG_DEFAULTS, HOME_CONFIG_RETIRED } from '../config.js';
7
+ import { fail } from '../shared/fail.js';
8
+ /** 读配置 + 解语言;未识别的值(argv 或配置文件)= exit 1 并原样带出报文(含可用语言)。 */
9
+ export function resolveLanguageOrFail(argv) {
10
+ try {
11
+ return resolveSkillLanguage({ stem: HOME_CONFIG_STEM, defaults: HOME_CONFIG_DEFAULTS, retired: HOME_CONFIG_RETIRED, argv });
12
+ }
13
+ catch (e) {
14
+ if (e instanceof ConfigError)
15
+ fail(1, e.message);
16
+ throw e;
17
+ }
18
+ }
19
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/cli/language.ts"],"names":[],"mappings":"AAAA;;;uDAGuD;AACvD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,0DAA0D;AAC1D,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,IAAI,CAAC;QACH,OAAO,oBAAoB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9H,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,WAAW;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HomeCommandSpec } from '../shared/commandSpec.js';
2
+ export declare const REGISTRY: Record<string, HomeCommandSpec>;
3
+ export declare const REGISTRY_KEYS: string[];
4
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA+BhE,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAkB,CAAC;AACxE,eAAO,MAAM,aAAa,UAA+B,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { DATA_COMMANDS } from '../data/index.js';
2
+ import { EXPRESS_COMMANDS } from '../express/index.js';
3
+ import { FAMILY_COMMANDS } from '../family/index.js';
4
+ import { ITEM_COMMANDS } from '../items/index.js';
5
+ import { OUTFIT_COMMANDS } from '../outfit/index.js';
6
+ import { RECEIPT_COMMANDS } from '../receipt/index.js';
7
+ import { SPACE_COMMANDS } from '../space/index.js';
8
+ import { STATS_COMMANDS } from '../stats/index.js';
9
+ const SOURCES = [
10
+ DATA_COMMANDS,
11
+ EXPRESS_COMMANDS,
12
+ FAMILY_COMMANDS,
13
+ ITEM_COMMANDS,
14
+ OUTFIT_COMMANDS,
15
+ RECEIPT_COMMANDS,
16
+ SPACE_COMMANDS,
17
+ STATS_COMMANDS,
18
+ ];
19
+ /** 汇总各家声明;同键两个人声明即抛(生成期已先拦一道)。 */
20
+ function build(sources) {
21
+ const out = {};
22
+ for (const list of sources)
23
+ for (const spec of list) {
24
+ if (out[spec.key])
25
+ throw new Error('同键两处声明(运行期):' + spec.key);
26
+ out[spec.key] = spec;
27
+ }
28
+ return out;
29
+ }
30
+ export const REGISTRY = build(SOURCES);
31
+ export const REGISTRY_KEYS = Object.keys(REGISTRY).sort();
32
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,GAA4C;IACvD,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,cAAc;CACf,CAAC;AAEF,kCAAkC;AAClC,SAAS,KAAK,CAAC,OAAgD;IAC7D,MAAM,GAAG,GAAoC,EAAE,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,OAAO;QAAE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACpD,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAoC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { ConfigRecord, ResolvedLanguage } from 'base-link-core';
2
+ /** 配置文件主体名:`<配置目录>/home.yaml`。 */
3
+ export declare const HOME_CONFIG_STEM: "home";
4
+ /** 居家管家那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。 */
5
+ export declare const HOME_CONFIG_DEFAULTS: {
6
+ db: {
7
+ dir: string;
8
+ name: string;
9
+ };
10
+ html: {
11
+ dir: string;
12
+ };
13
+ key: {
14
+ file: string;
15
+ };
16
+ backup: {
17
+ dir: string;
18
+ };
19
+ language: {
20
+ text: string;
21
+ format: string;
22
+ };
23
+ };
24
+ /** **已退休键**(#762 过渡件):我们自己删过、老配置文件里必然还留着的键的叶子全路径。命中的键跳过校验、
25
+ * 不进取值、也不会被写回(任何一次保存/重置天然抹掉它)。名单**只许写已经删掉的键**——键还在默认值表里
26
+ * 就写进清单=在护栏上开洞,`base-link-core` 收到清单时当场拒。
27
+ * `files.help`/`files.lookup`(#793 定稿)删于本票 #794:两个产物文件名主体回到代码常量
28
+ * (`src/help/manifest.ts` 的 `HELP_FILE_STEM` 与 `LOOKUP_FILE_STEM`)。
29
+ * 退出条件:下一个大版本删掉这张清单。 */
30
+ export declare const HOME_CONFIG_RETIRED: readonly string[];
31
+ /** #1198 · 本技能的语言选择入口:读这份配置 + 解语言(text/format 两条链)。
32
+ *
33
+ * 唯一实现住 `base-link-core` 的 `config/language`(铁律一);本件只把「哪份表、哪个主体名」喂进去。
34
+ * argv 覆盖 > 配置文件 `language.*` > 调用方偏好 > `zh`;未识别的值抛 `ConfigError`(报文列出可用语言)。
35
+ * 本轮只接线与校验:不设语言时行为与产物逐字节不变(渲染消费方随词条层 #1200 落地后接)。 */
36
+ export declare function resolveHomeLanguage(options?: {
37
+ readonly argv?: readonly string[] | undefined;
38
+ readonly caller?: string | undefined;
39
+ }): ResolvedLanguage;
40
+ /** 取值形状由默认值表派生(同一件事只有一个定义地)。 */
41
+ export type HomeConfigValues = typeof HOME_CONFIG_DEFAULTS;
42
+ /** 读回来的一份配置:文件路径(人话报错要指它)+数据目录+取值。 */
43
+ export interface LoadedHomeConfig {
44
+ readonly path: string;
45
+ readonly dataDir: string;
46
+ readonly created: boolean;
47
+ readonly values: HomeConfigValues;
48
+ }
49
+ /** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
50
+ *
51
+ * 读回来的 `values` 是**文件里那份 ⊕ 默认值**(文件里写空串则仍是空串=按默认落点);
52
+ * 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。 */
53
+ export declare function loadHomeConfig(): LoadedHomeConfig;
54
+ /** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
55
+ export declare function saveHomeConfig(values: ConfigRecord): {
56
+ path: string;
57
+ };
58
+ /** 重置为默认(先另存 `<配置目录>/home.yaml.bak`)。 */
59
+ export declare function resetHomeConfig(): {
60
+ path: string;
61
+ backupPath: string | null;
62
+ };
63
+ /** 把配置里的相对段串拆成段(`home_manager_html` → `['home_manager_html']`;`\` 与 `/` 都认,
64
+ * 空段丢弃——Windows 用户手写路径时两种分隔符都会用)。段数由值决定,故「几段」这件事配置形状能表达。 */
65
+ export declare function splitDirSegments(value: string): string[];
66
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAErE,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAEhD,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;CAOhC,CAAC;AAEF;;;;;yBAKyB;AACzB,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAmC,CAAC;AAErF;;;;sDAIsD;AACtD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAAG,gBAAgB,CAE3J;AACD,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,OAAO,oBAAoB,CAAC;AAoC3D,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAQD;;;mDAGmD;AACnD,wBAAgB,cAAc,IAAI,gBAAgB,CAiBjD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIrE;AAED,yCAAyC;AACzC,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAI7E;AAED;6DAC6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAExD"}
package/dist/config.js ADDED
@@ -0,0 +1,132 @@
1
+ /** 居家管家自己的配置面:那份默认值表 + 读/写/重置三个薄转调。
2
+ *
3
+ * 口径出处(「配置的存与生效口径裁定」#675 的解决评论,本票 #695 落地):**每个技能一份 YAML 配置文件,
4
+ * 配置文件是唯一真相,环境变量不参与配置**。默认落点 `~/.ilife/home.yaml`(由 `os.homedir()` 派生,
5
+ * 平台无关,只此一处);数据目录默认 `~/.ilife/data/`,
6
+ * 首次读时自动建;「重置为默认」先另存 `<配置目录>/home.yaml.bak`。
7
+ *
8
+ * 读写实现(受限 YAML 子集解析、键表与类型校验、备份、建目录)住 `base-link-core` 的 `src/config/`
9
+ * ——#694 已交付,本件只做「居家管家的那份表 + 转调」,一份实现不抄第二处(结构纪律铁律一)。
10
+ *
11
+ * 默认值逐项等于改造前的代码常量(对照读数见 `docs/skills/skill-home/t695-证据.md`):
12
+ * · `db.dir`=`''`(空串=按默认落点:数据目录 `~/.ilife/data/`,由取用处算——见 `src/fetch/paths.ts`);
13
+ * · `db.name`=`home.db`(原 `src/fetch/paths.ts` 的 `DB_FILENAME`);
14
+ * · `html.dir`=`home_manager_html`(原 `src/help/manifest.ts` 的 `HELP_HTML_DIR_NAME`——家是**一段**目录,
15
+ * 配置形状是字符串、段间用 `/` 或 `\` 分隔,因为受限子集不收数组;见 `base-link-core/README.md` §支持范围);
16
+ * · `key.file`=`.master.key`(#794 新增:主密钥文件,绝对优先、否则数据目录下);
17
+ * · `backup.dir`=`backups`(原 `src/fetch/backup.ts` 的 `BACKUP_DIR_NAME`,老家 `ops.py:26` 同值)。
18
+ * `files.help`/`files.lookup`(原 `manifest.ts` 的两个主体名)已于 #794 出表,
19
+ * 文件名回到代码常量(见 `src/help/manifest.ts` 的 `HELP_FILE_STEM`/`LOOKUP_FILE_STEM`)。
20
+ * 用法上一处约定:**空串=按默认落点**——`db.dir` 空即用数据目录,由取用处算,
21
+ * 所以空串不是「没配」,老数据不会看起来丢了。
22
+ * #794 起这条约定的**两半分头**(照记账 #749 样板):**读**认空串;**写**(首次落文件/保存/重置)
23
+ * 把面板上可改的那一格(`db.dir`)落成算出来的绝对路径——见下面 `writableDefaults()` 的注释。
24
+ */
25
+ import { configPaths, loadConfig, resetConfig, saveConfig, resolveSkillLanguage } from 'base-link-core';
26
+ /** 配置文件主体名:`<配置目录>/home.yaml`。 */
27
+ export const HOME_CONFIG_STEM = 'home';
28
+ /** 居家管家那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。 */
29
+ export const HOME_CONFIG_DEFAULTS = {
30
+ db: { dir: '', name: 'home.db' },
31
+ html: { dir: 'home_manager_html' },
32
+ key: { file: '.master.key' },
33
+ backup: { dir: 'backups' },
34
+ // #1198 语言选择:空串=跟随调用方,最终回退 zh(判定住 base-link-core 的 config/language)。
35
+ language: { text: '', format: '' },
36
+ };
37
+ /** **已退休键**(#762 过渡件):我们自己删过、老配置文件里必然还留着的键的叶子全路径。命中的键跳过校验、
38
+ * 不进取值、也不会被写回(任何一次保存/重置天然抹掉它)。名单**只许写已经删掉的键**——键还在默认值表里
39
+ * 就写进清单=在护栏上开洞,`base-link-core` 收到清单时当场拒。
40
+ * `files.help`/`files.lookup`(#793 定稿)删于本票 #794:两个产物文件名主体回到代码常量
41
+ * (`src/help/manifest.ts` 的 `HELP_FILE_STEM` 与 `LOOKUP_FILE_STEM`)。
42
+ * 退出条件:下一个大版本删掉这张清单。 */
43
+ export const HOME_CONFIG_RETIRED = ['files.help', 'files.lookup'];
44
+ /** #1198 · 本技能的语言选择入口:读这份配置 + 解语言(text/format 两条链)。
45
+ *
46
+ * 唯一实现住 `base-link-core` 的 `config/language`(铁律一);本件只把「哪份表、哪个主体名」喂进去。
47
+ * argv 覆盖 > 配置文件 `language.*` > 调用方偏好 > `zh`;未识别的值抛 `ConfigError`(报文列出可用语言)。
48
+ * 本轮只接线与校验:不设语言时行为与产物逐字节不变(渲染消费方随词条层 #1200 落地后接)。 */
49
+ export function resolveHomeLanguage(options = {}) {
50
+ return resolveSkillLanguage({ stem: HOME_CONFIG_STEM, defaults: HOME_CONFIG_DEFAULTS, retired: HOME_CONFIG_RETIRED, argv: options.argv, caller: options.caller });
51
+ }
52
+ /** 写盘那一份用的默认值表:**可改落点**(`db.dir`)写成算出来的绝对路径(#746 总口径回灌,本票 #794 落地,
53
+ * 照记账 #749 样板)。
54
+ *
55
+ * 为什么写绝对路径:面板上「数据目录」那一格显示的是从配置文件算出的生效值,而空串的语义是「按默认落点」
56
+ * ——默认落点由 `os.homedir()` 派生,换机器/改用户名就会漂到别处;写死了才是「这一格写的是什么就是什么」。
57
+ * **代价**(维护者已确认接受):换机器后 yaml 指向不存在的目录。**只读落点保持相对**(`backup.dir` 与
58
+ * `key.file` 的值是「库目录/数据目录下的哪个位置」,绝对化=改语义)。
59
+ *
60
+ * 口径的两半:**读**仍认空串(=按默认落点,老文件一份不用动,也不与 #762 的退休键过渡打架);
61
+ * **写**(首次落文件/保存/重置)一律落绝对路径。那一格不自己拼路径——直接用 `configPaths(stem).dataDir`,
62
+ * 今天算数据目录只有这一处算法(`base-link-core/src/config/dirs.ts`)。 */
63
+ function writableDefaults() {
64
+ return {
65
+ ...HOME_CONFIG_DEFAULTS,
66
+ db: { ...HOME_CONFIG_DEFAULTS.db, dir: configPaths(HOME_CONFIG_STEM).dataDir },
67
+ };
68
+ }
69
+ /** 写盘前把可改落点那一格的**空白值**去掉:空串=按默认落点,而写的时候那个落点要落成绝对路径
70
+ * (见 `writableDefaults`)——去掉这一格,`base-link-core` 的 `fillDefaults` 自会补上写盘用的默认值。
71
+ * 组里一个子项都不剩时连组一起去掉(空组写出去解析不回来)。 */
72
+ function withoutBlankEditableDir(values) {
73
+ const group = values['db'];
74
+ if (typeof group !== 'object' || group === null || Array.isArray(group))
75
+ return values;
76
+ const dir = group['dir'];
77
+ if (typeof dir !== 'string' || dir !== '')
78
+ return values;
79
+ const next = { ...group };
80
+ delete next['dir'];
81
+ const out = { ...values };
82
+ if (Object.keys(next).length === 0)
83
+ delete out['db'];
84
+ else
85
+ out['db'] = next;
86
+ return out;
87
+ }
88
+ /** 每进程按**配置文件路径**记一份(#915 就地摆正:与五家兄弟件同形,`skill-bill/src/config.ts` 的
89
+ * 理由逐字相同——「记忆位不绑『进程』而绑『配置文件路径』,是为了不让换目录后的读落到上一份的缓存上」:
90
+ * 测试逐用例换临时家目录、同一进程里连读几份配置,绑进程就会把第二份读成第一份)。
91
+ * 「保存即生效」仍由写路径清记忆保证(见 `saveHomeConfig`/`resetHomeConfig`),不靠长连接。 */
92
+ let memo = null;
93
+ /** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
94
+ *
95
+ * 读回来的 `values` 是**文件里那份 ⊕ 默认值**(文件里写空串则仍是空串=按默认落点);
96
+ * 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。 */
97
+ export function loadHomeConfig() {
98
+ const file = configPaths(HOME_CONFIG_STEM).configFile;
99
+ if (memo === null || memo.file !== file) {
100
+ const loaded = loadConfig(HOME_CONFIG_STEM, writableDefaults(), HOME_CONFIG_RETIRED);
101
+ // base-link-core 读回来时已经过了「键齐 + 类型对」两道校验(不认识的键、类型不符一律抛),
102
+ // 故这一处从宽松记录到形状记录的转换是有依据的投影,不是猜测。
103
+ memo = {
104
+ file,
105
+ loaded: {
106
+ path: loaded.path,
107
+ dataDir: loaded.dataDir,
108
+ created: loaded.created,
109
+ values: loaded.values,
110
+ },
111
+ };
112
+ }
113
+ return memo.loaded;
114
+ }
115
+ /** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
116
+ export function saveHomeConfig(values) {
117
+ const r = saveConfig(HOME_CONFIG_STEM, writableDefaults(), withoutBlankEditableDir(values), HOME_CONFIG_RETIRED);
118
+ memo = null;
119
+ return r;
120
+ }
121
+ /** 重置为默认(先另存 `<配置目录>/home.yaml.bak`)。 */
122
+ export function resetHomeConfig() {
123
+ const r = resetConfig(HOME_CONFIG_STEM, writableDefaults(), HOME_CONFIG_RETIRED);
124
+ memo = null;
125
+ return r;
126
+ }
127
+ /** 把配置里的相对段串拆成段(`home_manager_html` → `['home_manager_html']`;`\` 与 `/` 都认,
128
+ * 空段丢弃——Windows 用户手写路径时两种分隔符都会用)。段数由值决定,故「几段」这件事配置形状能表达。 */
129
+ export function splitDirSegments(value) {
130
+ return value.split(/[\\/]+/).filter((s) => s.length > 0);
131
+ }
132
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { runDataSchema } from './schema.js';
2
+ export declare const DATA_COMMANDS: {
3
+ kind: "read";
4
+ key: string;
5
+ shape: string;
6
+ title: string;
7
+ surface: "program";
8
+ run: typeof runDataSchema;
9
+ example: string;
10
+ }[];
11
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/data/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,aAAa;;;;;;;;GAGY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { runDataSchema } from './schema.js';
2
+ import { runDataQuery } from './query.js';
3
+ export const DATA_COMMANDS = [
4
+ { kind: 'read', key: 'home.data.schema', shape: 'resultset', title: '数据目录', surface: 'program', run: runDataSchema, example: 'home-cmd-read home.data.schema' },
5
+ { kind: 'read', key: 'home.data.query', shape: 'resultset', title: '数据查询', surface: 'program', run: runDataQuery, example: 'home-cmd-read home.data.query --params \'{"queries":[{"from":"items","select":["name"],"orderBy":[{"field":"name","dir":"asc"}]}]}\'' },
6
+ ];
7
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/data/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,gCAAgC,EAAE;IAC/J,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,sIAAsI,EAAE;CAC/N,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DATA_COMMANDS } from './commands.js';
2
+ export { DATA_ROUTES } from './routes.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ // 数据能力门:对外只给声明(跨能力调用只走这道门)。
2
+ export { DATA_COMMANDS } from './commands.js';
3
+ export { DATA_ROUTES } from './routes.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,23 @@
1
+ /** #962 · 居家管家引擎命令的实现:`home.data.query` 的 `run`。
2
+ *
3
+ * 干什么:把整份 `--params`(`{ queries: [...] }`)经公共层引擎件
4
+ * (`executeDataQueries`:查询单解析、目录校验、结果集装配)跑成
5
+ * `shape: resultset` 的结果集(与请求同序对应;坏项按项拒,好项照常)。
6
+ * 单表(选字段、条件、排序)+显式 `on` 两表连接(`join` 长度只许 1,
7
+ * 结果字段可来自两表;`via` 预定义关联路径只留语法位,出现即按项拒)+
8
+ * 单表分组聚合(`groupBy`+`agg` 成对出现,聚合列按 `as` 起名;`select` 与
9
+ * `agg` 不可同存,`join` 与 `agg` 组合另票)+分页续取(`page.size/page.next`,
10
+ * 行走游标、聚合走偏移)+批量(`queries` 同序容器,坏项按项拒)。
11
+ *
12
+ * 不产任何文件:回数据对象(出口层对数据键走文本态直回 envelope,不进 HTML 交付链);
13
+ * 库以只读方式打开(出口层对数据键走只读打开,不建表、不迁移)。
14
+ * 请求级非法(不是对象/`queries` 不是非空数组)抛 `HomePolicyError`
15
+ * (出口层归 exit 2,与卡路里 `bad-input` 同档);单项问题不出错码,
16
+ * 走项里的 `{ ok: false, error }`(exit 0)。
17
+ */
18
+ import type { DatabaseSync } from 'node:sqlite';
19
+ import type { HomeDb } from '../fetch/db.js';
20
+ export declare function runDataQuery(params: Record<string, unknown>, handle: HomeDb | DatabaseSync): {
21
+ results: unknown[];
22
+ };
23
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/data/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,GAAG,YAAY,GAC5B;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAYxB"}
@@ -0,0 +1,19 @@
1
+ import { executeDataQueries, LinkCoreError } from 'base-link-core';
2
+ import { HomePolicyError } from '../fetch/errors.js';
3
+ import { HOME_DATA_TABLES } from './tables.js';
4
+ export function runDataQuery(params, handle) {
5
+ const db = handle.db ?? handle;
6
+ let results;
7
+ try {
8
+ results = executeDataQueries(db, HOME_DATA_TABLES, params);
9
+ }
10
+ catch (e) {
11
+ if (e instanceof LinkCoreError)
12
+ throw new HomePolicyError('POLICY_BAD_INPUT', e.message);
13
+ throw e;
14
+ }
15
+ return {
16
+ results,
17
+ };
18
+ }
19
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/data/query.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,YAAY,CAC1B,MAA+B,EAC/B,MAA6B;IAE7B,MAAM,EAAE,GAAI,MAAiB,CAAC,EAAE,IAAK,MAAuB,CAAC;IAC7D,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,aAAa;YAAE,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,CAAC,CAAC;IACV,CAAC;IACD,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HomeRouteSpec } from '../shared/commandSpec.js';
2
+ export declare const DATA_ROUTES: readonly HomeRouteSpec[];
3
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/data/routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,eAAO,MAAM,WAAW,EAAE,SAAS,aAAa,EAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const DATA_ROUTES = [];
2
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/data/routes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,WAAW,GAA6B,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ /** #962 · 居家管家目录命令的实现:`home.data.schema` 的 `run`。
2
+ *
3
+ * 干什么:用允许清单(`./tables.ts`)经公共层目录读取件(`readDataSchema`)
4
+ * 现读各表的列与类型,装成 `shape: resultset` 的一份结果(单项,`{ ok: true, tables }`)。
5
+ * 校验用的目录与返回的目录是同一份——后续引擎命令复用同一件做目录校验。
6
+ *
7
+ * 不产任何文件:回数据对象(出口层对数据键走文本态直回 envelope,不进 HTML 交付链);
8
+ * 不读参数(目录无参数);库以只读方式打开(出口层对数据键走只读打开,不建表、不迁移)。
9
+ */
10
+ import type { DatabaseSync } from 'node:sqlite';
11
+ import type { HomeDb } from '../fetch/db.js';
12
+ export declare function runDataSchema(_params: Record<string, unknown>, handle: HomeDb | DatabaseSync): {
13
+ results: unknown[];
14
+ };
15
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/data/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GAAG,YAAY,GAC5B;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAcxB"}
@@ -0,0 +1,18 @@
1
+ import { readDataSchema } from 'base-link-core';
2
+ import { HOME_DATA_TABLES } from './tables.js';
3
+ export function runDataSchema(_params, handle) {
4
+ const db = handle.db ?? handle;
5
+ const tables = readDataSchema(db, HOME_DATA_TABLES);
6
+ return {
7
+ results: [
8
+ {
9
+ ok: true,
10
+ tables: tables.map((t) => ({
11
+ table: t.table,
12
+ fields: t.fields.map((f) => ({ name: f.name, type: f.type })),
13
+ })),
14
+ },
15
+ ],
16
+ };
17
+ }
18
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/data/schema.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,aAAa,CAC3B,OAAgC,EAChC,MAA6B;IAE7B,MAAM,EAAE,GAAI,MAAiB,CAAC,EAAE,IAAK,MAAuB,CAAC;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACpD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC9D,CAAC,CAAC;aACJ;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,48 @@
1
+ /** #962 · 居家管家数据族允许清单(显式声明):目录命令允许暴露哪些表。
2
+ *
3
+ * 出处:`docs/agents/数据族-规格.md` §五——表清单必须显式,不能“库里有什么就给什么”。
4
+ * 本家库里有 16 张表(见 `src/fetch/db.ts` 的 `openHomeDb` 建表序),是六家里最多的一家。
5
+ * 允许清单只列其中 15 张;列目录不另存第二份,运行时 `PRAGMA table_info` 现读
6
+ * (公共层 `readDataSchema`,校验用的目录与返回的目录是同一份)。
7
+ *
8
+ * 逐表点名(16 张全到,顺序即建表序):
9
+ * - items:物品主体,允许。
10
+ * - item_locations:物品位置与数量,允许。
11
+ * - item_tags:物品标签,允许。
12
+ * - categories:分类树,允许(含内部列 `seed_key`:种子标识,程序面可读,模型不可见;
13
+ * 按 PRAGMA 现读无法隐列,卡路里样板对 `is_deleted` 等内部列同口径容忍)。
14
+ * - accounts:**不允许**(见 `HOME_DATA_DENIED`:含 `encrypted_password` 加密口令列,
15
+ * 配套主密钥文件 `.master.key`;视图层 `listAccounts` 已主动不回该列,数据族无法隐列故整表不暴露)。
16
+ * - purchase_records:购买记录,允许。
17
+ * - warranties:保修记录,允许。
18
+ * - service_events:维修事件,允许。
19
+ * - certificates:证件记录,允许(视图层对人显示时脱敏为 `number_masked`,
20
+ * 数据族面只给程序用〈`surface: program`,模型不可见〉,故程序可读原文;口径见本件头)。
21
+ * - family_members:家人,允许。
22
+ * - borrow_records:借用记录,允许。
23
+ * - shopping_items:购物清单,允许。
24
+ * - stock_thresholds:库存阈值,允许。
25
+ * - item_events:物品事件审计,允许。
26
+ * - inventory_records:盘点记录,允许。
27
+ * - location_nodes:位置节点索引,允许。
28
+ *
29
+ * 顺序即目录命令返回的顺序(确定性可比,判据按此逐条断言)。
30
+ */
31
+ export declare const HOME_DATA_TABLES: readonly ["items", "item_locations", "item_tags", "categories", "purchase_records", "warranties", "service_events", "certificates", "family_members", "borrow_records", "shopping_items", "stock_thresholds", "item_events", "inventory_records", "location_nodes"];
32
+ export type HomeDataTable = (typeof HOME_DATA_TABLES)[number];
33
+ /** 本家不允许暴露的表(逐条登记并留说明;将来各家表清单裁定的样板)。
34
+ *
35
+ * - accounts:含 `encrypted_password` 加密口令列,配套主密钥文件 `.master.key`
36
+ * (`src/fetch/paths.ts` 的 `keyFileOf`/`src/fetch/masterKey.ts` 的 `loadMasterKey`;
37
+ * 口令不经调用参数传,只落磁盘一处)。视图层 `listAccounts` 只回
38
+ * `platform/username/type` 三列、从不回密文;数据族按 `PRAGMA` 现读无法隐列,
39
+ * 一旦允许即把密文交给程序消费,故整表不暴露。`accounts` 行的增删改查仍走既有
40
+ * 票据读写键(视图族/写族),不在本族。
41
+ */
42
+ export declare const HOME_DATA_DENIED: readonly [{
43
+ readonly table: "accounts";
44
+ readonly reason: "含 encrypted_password 加密口令列,配套主密钥文件 .master.key;视图层 listAccounts 已主动不回该列,数据族按 PRAGMA 现读无法隐列,故整表不暴露";
45
+ }];
46
+ /** 本家库内 16 张表的全集(允许 15 + 不允许 1):判据用它断“逐表点名无遗漏”。 */
47
+ export declare const HOME_DATA_ALL_TABLES: readonly ["items", "item_locations", "item_tags", "categories", "accounts", "purchase_records", "warranties", "service_events", "certificates", "family_members", "borrow_records", "shopping_items", "stock_thresholds", "item_events", "inventory_records", "location_nodes"];
48
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/data/tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,gBAAgB,qQAgBnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;EAMnB,CAAC;AAEX,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,iRAiBvB,CAAC"}
@@ -0,0 +1,82 @@
1
+ /** #962 · 居家管家数据族允许清单(显式声明):目录命令允许暴露哪些表。
2
+ *
3
+ * 出处:`docs/agents/数据族-规格.md` §五——表清单必须显式,不能“库里有什么就给什么”。
4
+ * 本家库里有 16 张表(见 `src/fetch/db.ts` 的 `openHomeDb` 建表序),是六家里最多的一家。
5
+ * 允许清单只列其中 15 张;列目录不另存第二份,运行时 `PRAGMA table_info` 现读
6
+ * (公共层 `readDataSchema`,校验用的目录与返回的目录是同一份)。
7
+ *
8
+ * 逐表点名(16 张全到,顺序即建表序):
9
+ * - items:物品主体,允许。
10
+ * - item_locations:物品位置与数量,允许。
11
+ * - item_tags:物品标签,允许。
12
+ * - categories:分类树,允许(含内部列 `seed_key`:种子标识,程序面可读,模型不可见;
13
+ * 按 PRAGMA 现读无法隐列,卡路里样板对 `is_deleted` 等内部列同口径容忍)。
14
+ * - accounts:**不允许**(见 `HOME_DATA_DENIED`:含 `encrypted_password` 加密口令列,
15
+ * 配套主密钥文件 `.master.key`;视图层 `listAccounts` 已主动不回该列,数据族无法隐列故整表不暴露)。
16
+ * - purchase_records:购买记录,允许。
17
+ * - warranties:保修记录,允许。
18
+ * - service_events:维修事件,允许。
19
+ * - certificates:证件记录,允许(视图层对人显示时脱敏为 `number_masked`,
20
+ * 数据族面只给程序用〈`surface: program`,模型不可见〉,故程序可读原文;口径见本件头)。
21
+ * - family_members:家人,允许。
22
+ * - borrow_records:借用记录,允许。
23
+ * - shopping_items:购物清单,允许。
24
+ * - stock_thresholds:库存阈值,允许。
25
+ * - item_events:物品事件审计,允许。
26
+ * - inventory_records:盘点记录,允许。
27
+ * - location_nodes:位置节点索引,允许。
28
+ *
29
+ * 顺序即目录命令返回的顺序(确定性可比,判据按此逐条断言)。
30
+ */
31
+ export const HOME_DATA_TABLES = [
32
+ 'items',
33
+ 'item_locations',
34
+ 'item_tags',
35
+ 'categories',
36
+ 'purchase_records',
37
+ 'warranties',
38
+ 'service_events',
39
+ 'certificates',
40
+ 'family_members',
41
+ 'borrow_records',
42
+ 'shopping_items',
43
+ 'stock_thresholds',
44
+ 'item_events',
45
+ 'inventory_records',
46
+ 'location_nodes',
47
+ ];
48
+ /** 本家不允许暴露的表(逐条登记并留说明;将来各家表清单裁定的样板)。
49
+ *
50
+ * - accounts:含 `encrypted_password` 加密口令列,配套主密钥文件 `.master.key`
51
+ * (`src/fetch/paths.ts` 的 `keyFileOf`/`src/fetch/masterKey.ts` 的 `loadMasterKey`;
52
+ * 口令不经调用参数传,只落磁盘一处)。视图层 `listAccounts` 只回
53
+ * `platform/username/type` 三列、从不回密文;数据族按 `PRAGMA` 现读无法隐列,
54
+ * 一旦允许即把密文交给程序消费,故整表不暴露。`accounts` 行的增删改查仍走既有
55
+ * 票据读写键(视图族/写族),不在本族。
56
+ */
57
+ export const HOME_DATA_DENIED = [
58
+ {
59
+ table: 'accounts',
60
+ reason: '含 encrypted_password 加密口令列,配套主密钥文件 .master.key;视图层 listAccounts 已主动不回该列,数据族按 PRAGMA 现读无法隐列,故整表不暴露',
61
+ },
62
+ ];
63
+ /** 本家库内 16 张表的全集(允许 15 + 不允许 1):判据用它断“逐表点名无遗漏”。 */
64
+ export const HOME_DATA_ALL_TABLES = [
65
+ 'items',
66
+ 'item_locations',
67
+ 'item_tags',
68
+ 'categories',
69
+ 'accounts',
70
+ 'purchase_records',
71
+ 'warranties',
72
+ 'service_events',
73
+ 'certificates',
74
+ 'family_members',
75
+ 'borrow_records',
76
+ 'shopping_items',
77
+ 'stock_thresholds',
78
+ 'item_events',
79
+ 'inventory_records',
80
+ 'location_nodes',
81
+ ];
82
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/data/tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,gBAAgB;CACR,CAAC;AAIX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,KAAK,EAAE,UAAU;QACjB,MAAM,EACJ,mGAAmG;KACtG;CACO,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,gBAAgB;CACR,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HomeCommandSpec } from '../shared/commandSpec.js';
2
+ export declare const EXPRESS_COMMANDS: readonly HomeCommandSpec[];
3
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/express/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 { runShoppingQuery, runShoppingWrite } from './shopping.js';
2
+ export const EXPRESS_COMMANDS = [
3
+ { kind: 'read', key: 'home.shopping.query', shape: 'list', title: '查快递', wakeWord: '查快递', example: 'home-cmd-read home.shopping.query --params \'{"kind":"express"}\'', run: runShoppingQuery },
4
+ { kind: 'write', key: 'home.shopping.write', title: '改购物清单', wakeWord: '改购物清单', example: 'home-cmd-read home.shopping.write --params \'{"op":"list-add","name":"鸡蛋","quantity":2}\'', run: runShoppingWrite },
5
+ ];
6
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/express/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,mEAAmE,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAC/L,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,2FAA2F,EAAE,GAAG,EAAE,gBAAgB,EAAE;CAC9M,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { EXPRESS_COMMANDS } from './commands.js';
2
+ export { EXPRESS_ROUTES } from './routes.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}