skill-bill 0.2.0 → 0.2.2

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 (911) hide show
  1. package/SKILL.md +3 -2
  2. package/dist/.gen-inputs.json +21 -5
  3. package/dist/account/accounts.d.ts +98 -0
  4. package/dist/account/accounts.d.ts.map +1 -0
  5. package/dist/account/accounts.js +184 -0
  6. package/dist/account/accounts.js.map +1 -0
  7. package/dist/account/commands.d.ts +18 -0
  8. package/dist/account/commands.d.ts.map +1 -0
  9. package/dist/account/commands.js +21 -0
  10. package/dist/account/commands.js.map +1 -0
  11. package/dist/account/declaration.d.ts +9 -0
  12. package/dist/account/declaration.d.ts.map +1 -0
  13. package/dist/account/declaration.js +70 -0
  14. package/dist/account/declaration.js.map +1 -0
  15. package/dist/account/index.d.ts +15 -0
  16. package/dist/account/index.d.ts.map +1 -0
  17. package/dist/account/index.js +15 -0
  18. package/dist/account/index.js.map +1 -0
  19. package/dist/account/pageParts.d.ts +127 -0
  20. package/dist/account/pageParts.d.ts.map +1 -0
  21. package/dist/account/pageParts.js +222 -0
  22. package/dist/account/pageParts.js.map +1 -0
  23. package/dist/account/params.d.ts +52 -0
  24. package/dist/account/params.d.ts.map +1 -0
  25. package/dist/account/params.js +153 -0
  26. package/dist/account/params.js.map +1 -0
  27. package/dist/account/query.d.ts +11 -0
  28. package/dist/account/query.d.ts.map +1 -0
  29. package/dist/account/query.js +10 -0
  30. package/dist/account/query.js.map +1 -0
  31. package/dist/account/read.d.ts +8 -0
  32. package/dist/account/read.d.ts.map +1 -0
  33. package/dist/account/read.js +56 -0
  34. package/dist/account/read.js.map +1 -0
  35. package/dist/account/scene-add.d.ts +3 -0
  36. package/dist/account/scene-add.d.ts.map +1 -0
  37. package/dist/account/scene-add.js +54 -0
  38. package/dist/account/scene-add.js.map +1 -0
  39. package/dist/account/scene-transfer.d.ts +3 -0
  40. package/dist/account/scene-transfer.d.ts.map +1 -0
  41. package/dist/account/scene-transfer.js +73 -0
  42. package/dist/account/scene-transfer.js.map +1 -0
  43. package/dist/account/scene-update.d.ts +3 -0
  44. package/dist/account/scene-update.d.ts.map +1 -0
  45. package/dist/account/scene-update.js +56 -0
  46. package/dist/account/scene-update.js.map +1 -0
  47. package/dist/account/scene.d.ts +73 -0
  48. package/dist/account/scene.d.ts.map +1 -0
  49. package/dist/account/scene.js +34 -0
  50. package/dist/account/scene.js.map +1 -0
  51. package/dist/account/template-form.d.ts +52 -0
  52. package/dist/account/template-form.d.ts.map +1 -0
  53. package/dist/account/template-form.js +125 -0
  54. package/dist/account/template-form.js.map +1 -0
  55. package/dist/account/template-summary.d.ts +38 -0
  56. package/dist/account/template-summary.d.ts.map +1 -0
  57. package/dist/account/template-summary.js +179 -0
  58. package/dist/account/template-summary.js.map +1 -0
  59. package/dist/account/template-update.d.ts +35 -0
  60. package/dist/account/template-update.d.ts.map +1 -0
  61. package/dist/account/template-update.js +193 -0
  62. package/dist/account/template-update.js.map +1 -0
  63. package/dist/account/write.d.ts +14 -0
  64. package/dist/account/write.d.ts.map +1 -0
  65. package/dist/account/write.js +166 -0
  66. package/dist/account/write.js.map +1 -0
  67. package/dist/analysis/agg.d.ts +135 -0
  68. package/dist/analysis/agg.d.ts.map +1 -0
  69. package/dist/analysis/agg.js +196 -0
  70. package/dist/analysis/agg.js.map +1 -0
  71. package/dist/analysis/cards.d.ts +40 -0
  72. package/dist/analysis/cards.d.ts.map +1 -0
  73. package/dist/analysis/cards.js +97 -0
  74. package/dist/analysis/cards.js.map +1 -0
  75. package/dist/analysis/commands.d.ts +17 -0
  76. package/dist/analysis/commands.d.ts.map +1 -0
  77. package/dist/analysis/commands.js +28 -0
  78. package/dist/analysis/commands.js.map +1 -0
  79. package/dist/analysis/declaration.d.ts +9 -0
  80. package/dist/analysis/declaration.d.ts.map +1 -0
  81. package/dist/analysis/declaration.js +368 -0
  82. package/dist/analysis/declaration.js.map +1 -0
  83. package/dist/analysis/index.d.ts +14 -0
  84. package/dist/analysis/index.d.ts.map +1 -0
  85. package/dist/analysis/index.js +14 -0
  86. package/dist/analysis/index.js.map +1 -0
  87. package/dist/analysis/pageParts.d.ts +103 -0
  88. package/dist/analysis/pageParts.d.ts.map +1 -0
  89. package/dist/analysis/pageParts.js +158 -0
  90. package/dist/analysis/pageParts.js.map +1 -0
  91. package/dist/{policy/analysis.d.ts → analysis/params.d.ts} +1 -1
  92. package/dist/analysis/params.d.ts.map +1 -0
  93. package/dist/{policy/analysis.js → analysis/params.js} +10 -4
  94. package/dist/analysis/params.js.map +1 -0
  95. package/dist/analysis/read.d.ts +26 -0
  96. package/dist/analysis/read.d.ts.map +1 -0
  97. package/dist/analysis/read.js +84 -0
  98. package/dist/analysis/read.js.map +1 -0
  99. package/dist/analysis/scene-account.d.ts +3 -0
  100. package/dist/analysis/scene-account.d.ts.map +1 -0
  101. package/dist/analysis/scene-account.js +88 -0
  102. package/dist/analysis/scene-account.js.map +1 -0
  103. package/dist/analysis/scene-activity.d.ts +3 -0
  104. package/dist/analysis/scene-activity.d.ts.map +1 -0
  105. package/dist/analysis/scene-activity.js +108 -0
  106. package/dist/analysis/scene-activity.js.map +1 -0
  107. package/dist/analysis/scene-anomaly.d.ts +3 -0
  108. package/dist/analysis/scene-anomaly.d.ts.map +1 -0
  109. package/dist/analysis/scene-anomaly.js +173 -0
  110. package/dist/analysis/scene-anomaly.js.map +1 -0
  111. package/dist/analysis/scene-cat-compare.d.ts +3 -0
  112. package/dist/analysis/scene-cat-compare.d.ts.map +1 -0
  113. package/dist/analysis/scene-cat-compare.js +128 -0
  114. package/dist/analysis/scene-cat-compare.js.map +1 -0
  115. package/dist/analysis/scene-cat-trend.d.ts +3 -0
  116. package/dist/analysis/scene-cat-trend.d.ts.map +1 -0
  117. package/dist/analysis/scene-cat-trend.js +121 -0
  118. package/dist/analysis/scene-cat-trend.js.map +1 -0
  119. package/dist/analysis/scene-category.d.ts +3 -0
  120. package/dist/analysis/scene-category.d.ts.map +1 -0
  121. package/dist/analysis/scene-category.js +104 -0
  122. package/dist/analysis/scene-category.js.map +1 -0
  123. package/dist/analysis/scene-debt.d.ts +3 -0
  124. package/dist/analysis/scene-debt.d.ts.map +1 -0
  125. package/dist/analysis/scene-debt.js +111 -0
  126. package/dist/analysis/scene-debt.js.map +1 -0
  127. package/dist/analysis/scene-distribution.d.ts +3 -0
  128. package/dist/analysis/scene-distribution.d.ts.map +1 -0
  129. package/dist/analysis/scene-distribution.js +144 -0
  130. package/dist/analysis/scene-distribution.js.map +1 -0
  131. package/dist/analysis/scene-insight.d.ts +3 -0
  132. package/dist/analysis/scene-insight.d.ts.map +1 -0
  133. package/dist/analysis/scene-insight.js +151 -0
  134. package/dist/analysis/scene-insight.js.map +1 -0
  135. package/dist/analysis/scene-installment.d.ts +3 -0
  136. package/dist/analysis/scene-installment.d.ts.map +1 -0
  137. package/dist/analysis/scene-installment.js +168 -0
  138. package/dist/analysis/scene-installment.js.map +1 -0
  139. package/dist/analysis/scene-ledger.d.ts +3 -0
  140. package/dist/analysis/scene-ledger.d.ts.map +1 -0
  141. package/dist/analysis/scene-ledger.js +80 -0
  142. package/dist/analysis/scene-ledger.js.map +1 -0
  143. package/dist/analysis/scene-monthly.d.ts +3 -0
  144. package/dist/analysis/scene-monthly.d.ts.map +1 -0
  145. package/dist/analysis/scene-monthly.js +79 -0
  146. package/dist/analysis/scene-monthly.js.map +1 -0
  147. package/dist/analysis/scene-overview.d.ts +3 -0
  148. package/dist/analysis/scene-overview.d.ts.map +1 -0
  149. package/dist/analysis/scene-overview.js +82 -0
  150. package/dist/analysis/scene-overview.js.map +1 -0
  151. package/dist/analysis/scene-period-compare.d.ts +3 -0
  152. package/dist/analysis/scene-period-compare.d.ts.map +1 -0
  153. package/dist/analysis/scene-period-compare.js +127 -0
  154. package/dist/analysis/scene-period-compare.js.map +1 -0
  155. package/dist/analysis/scene-range-compare.d.ts +3 -0
  156. package/dist/analysis/scene-range-compare.d.ts.map +1 -0
  157. package/dist/analysis/scene-range-compare.js +144 -0
  158. package/dist/analysis/scene-range-compare.js.map +1 -0
  159. package/dist/analysis/scene-refund.d.ts +3 -0
  160. package/dist/analysis/scene-refund.d.ts.map +1 -0
  161. package/dist/analysis/scene-refund.js +78 -0
  162. package/dist/analysis/scene-refund.js.map +1 -0
  163. package/dist/analysis/scene-reimburse.d.ts +3 -0
  164. package/dist/analysis/scene-reimburse.d.ts.map +1 -0
  165. package/dist/analysis/scene-reimburse.js +88 -0
  166. package/dist/analysis/scene-reimburse.js.map +1 -0
  167. package/dist/analysis/scene-stats.d.ts +3 -0
  168. package/dist/analysis/scene-stats.d.ts.map +1 -0
  169. package/dist/analysis/scene-stats.js +80 -0
  170. package/dist/analysis/scene-stats.js.map +1 -0
  171. package/dist/analysis/scene-structure.d.ts +3 -0
  172. package/dist/analysis/scene-structure.d.ts.map +1 -0
  173. package/dist/analysis/scene-structure.js +93 -0
  174. package/dist/analysis/scene-structure.js.map +1 -0
  175. package/dist/analysis/scene-top-freq.d.ts +3 -0
  176. package/dist/analysis/scene-top-freq.d.ts.map +1 -0
  177. package/dist/analysis/scene-top-freq.js +91 -0
  178. package/dist/analysis/scene-top-freq.js.map +1 -0
  179. package/dist/analysis/scene-top.d.ts +3 -0
  180. package/dist/analysis/scene-top.d.ts.map +1 -0
  181. package/dist/analysis/scene-top.js +69 -0
  182. package/dist/analysis/scene-top.js.map +1 -0
  183. package/dist/analysis/scene-trend.d.ts +3 -0
  184. package/dist/analysis/scene-trend.d.ts.map +1 -0
  185. package/dist/analysis/scene-trend.js +131 -0
  186. package/dist/analysis/scene-trend.js.map +1 -0
  187. package/dist/analysis/scene-week.d.ts +3 -0
  188. package/dist/analysis/scene-week.d.ts.map +1 -0
  189. package/dist/analysis/scene-week.js +128 -0
  190. package/dist/analysis/scene-week.js.map +1 -0
  191. package/dist/analysis/scene-yearly.d.ts +3 -0
  192. package/dist/analysis/scene-yearly.d.ts.map +1 -0
  193. package/dist/analysis/scene-yearly.js +103 -0
  194. package/dist/analysis/scene-yearly.js.map +1 -0
  195. package/dist/analysis/scene-yoy.d.ts +3 -0
  196. package/dist/analysis/scene-yoy.d.ts.map +1 -0
  197. package/dist/analysis/scene-yoy.js +95 -0
  198. package/dist/analysis/scene-yoy.js.map +1 -0
  199. package/dist/analysis/scene.d.ts +240 -0
  200. package/dist/analysis/scene.d.ts.map +1 -0
  201. package/dist/analysis/scene.js +47 -0
  202. package/dist/analysis/scene.js.map +1 -0
  203. package/dist/analysis/template-bars.d.ts +3 -0
  204. package/dist/analysis/template-bars.d.ts.map +1 -0
  205. package/dist/analysis/template-bars.js +64 -0
  206. package/dist/analysis/template-bars.js.map +1 -0
  207. package/dist/analysis/template-charts.d.ts +3 -0
  208. package/dist/analysis/template-charts.d.ts.map +1 -0
  209. package/dist/analysis/template-charts.js +55 -0
  210. package/dist/analysis/template-charts.js.map +1 -0
  211. package/dist/analysis/template-compare.d.ts +3 -0
  212. package/dist/analysis/template-compare.d.ts.map +1 -0
  213. package/dist/analysis/template-compare.js +54 -0
  214. package/dist/analysis/template-compare.js.map +1 -0
  215. package/dist/analysis/template-insight.d.ts +3 -0
  216. package/dist/analysis/template-insight.d.ts.map +1 -0
  217. package/dist/analysis/template-insight.js +56 -0
  218. package/dist/analysis/template-insight.js.map +1 -0
  219. package/dist/analysis/template-tables.d.ts +3 -0
  220. package/dist/analysis/template-tables.d.ts.map +1 -0
  221. package/dist/analysis/template-tables.js +49 -0
  222. package/dist/analysis/template-tables.js.map +1 -0
  223. package/dist/analysis/views.d.ts +35 -0
  224. package/dist/analysis/views.d.ts.map +1 -0
  225. package/dist/{render → analysis}/views.js +2 -40
  226. package/dist/analysis/views.js.map +1 -0
  227. package/dist/cli/cmd_read.js +54 -302
  228. package/dist/cli/cmd_read.js.map +1 -1
  229. package/dist/cli/config.d.ts +16 -0
  230. package/dist/cli/config.d.ts.map +1 -0
  231. package/dist/cli/config.js +81 -0
  232. package/dist/cli/config.js.map +1 -0
  233. package/dist/cli/health.d.ts +7 -0
  234. package/dist/cli/health.d.ts.map +1 -0
  235. package/dist/cli/health.js +32 -0
  236. package/dist/cli/health.js.map +1 -0
  237. package/dist/cli/registry.d.ts +1 -1
  238. package/dist/cli/registry.d.ts.map +1 -1
  239. package/dist/cli/registry.js +9 -1
  240. package/dist/cli/registry.js.map +1 -1
  241. package/dist/config.d.ts +41 -0
  242. package/dist/config.d.ts.map +1 -0
  243. package/dist/config.js +64 -0
  244. package/dist/config.js.map +1 -0
  245. package/dist/fetch/db.d.ts +6 -1
  246. package/dist/fetch/db.d.ts.map +1 -1
  247. package/dist/fetch/db.js +8 -3
  248. package/dist/fetch/db.js.map +1 -1
  249. package/dist/fetch/index.d.ts +1 -1
  250. package/dist/fetch/index.d.ts.map +1 -1
  251. package/dist/fetch/index.js +1 -1
  252. package/dist/fetch/index.js.map +1 -1
  253. package/dist/fetch/paths.d.ts +16 -4
  254. package/dist/fetch/paths.d.ts.map +1 -1
  255. package/dist/fetch/paths.js +54 -24
  256. package/dist/fetch/paths.js.map +1 -1
  257. package/dist/goal/commands.d.ts +18 -0
  258. package/dist/goal/commands.d.ts.map +1 -0
  259. package/dist/goal/commands.js +21 -0
  260. package/dist/goal/commands.js.map +1 -0
  261. package/dist/goal/declaration.d.ts +9 -0
  262. package/dist/goal/declaration.d.ts.map +1 -0
  263. package/dist/goal/declaration.js +71 -0
  264. package/dist/goal/declaration.js.map +1 -0
  265. package/dist/goal/goalData.d.ts +126 -0
  266. package/dist/goal/goalData.d.ts.map +1 -0
  267. package/dist/goal/goalData.js +228 -0
  268. package/dist/goal/goalData.js.map +1 -0
  269. package/dist/goal/index.d.ts +19 -0
  270. package/dist/goal/index.d.ts.map +1 -0
  271. package/dist/goal/index.js +19 -0
  272. package/dist/goal/index.js.map +1 -0
  273. package/dist/goal/pageParts.d.ts +140 -0
  274. package/dist/goal/pageParts.d.ts.map +1 -0
  275. package/dist/goal/pageParts.js +233 -0
  276. package/dist/goal/pageParts.js.map +1 -0
  277. package/dist/goal/params.d.ts +63 -0
  278. package/dist/goal/params.d.ts.map +1 -0
  279. package/dist/goal/params.js +164 -0
  280. package/dist/goal/params.js.map +1 -0
  281. package/dist/goal/query.d.ts +12 -0
  282. package/dist/goal/query.d.ts.map +1 -0
  283. package/dist/goal/query.js +10 -0
  284. package/dist/goal/query.js.map +1 -0
  285. package/dist/goal/read.d.ts +5 -0
  286. package/dist/goal/read.d.ts.map +1 -0
  287. package/dist/goal/read.js +79 -0
  288. package/dist/goal/read.js.map +1 -0
  289. package/dist/goal/scene-budget.d.ts +3 -0
  290. package/dist/goal/scene-budget.d.ts.map +1 -0
  291. package/dist/goal/scene-budget.js +125 -0
  292. package/dist/goal/scene-budget.js.map +1 -0
  293. package/dist/goal/scene-saving.d.ts +3 -0
  294. package/dist/goal/scene-saving.d.ts.map +1 -0
  295. package/dist/goal/scene-saving.js +116 -0
  296. package/dist/goal/scene-saving.js.map +1 -0
  297. package/dist/goal/scene-set-budget.d.ts +3 -0
  298. package/dist/goal/scene-set-budget.d.ts.map +1 -0
  299. package/dist/goal/scene-set-budget.js +94 -0
  300. package/dist/goal/scene-set-budget.js.map +1 -0
  301. package/dist/goal/scene-set-saving.d.ts +3 -0
  302. package/dist/goal/scene-set-saving.d.ts.map +1 -0
  303. package/dist/goal/scene-set-saving.js +66 -0
  304. package/dist/goal/scene-set-saving.js.map +1 -0
  305. package/dist/goal/scene.d.ts +142 -0
  306. package/dist/goal/scene.d.ts.map +1 -0
  307. package/dist/goal/scene.js +51 -0
  308. package/dist/goal/scene.js.map +1 -0
  309. package/dist/goal/template-form.d.ts +32 -0
  310. package/dist/goal/template-form.d.ts.map +1 -0
  311. package/dist/goal/template-form.js +124 -0
  312. package/dist/goal/template-form.js.map +1 -0
  313. package/dist/goal/template-progress.d.ts +47 -0
  314. package/dist/goal/template-progress.d.ts.map +1 -0
  315. package/dist/goal/template-progress.js +79 -0
  316. package/dist/goal/template-progress.js.map +1 -0
  317. package/dist/goal/write.d.ts +6 -0
  318. package/dist/goal/write.d.ts.map +1 -0
  319. package/dist/goal/write.js +131 -0
  320. package/dist/goal/write.js.map +1 -0
  321. package/dist/health.d.ts +41 -0
  322. package/dist/health.d.ts.map +1 -0
  323. package/dist/health.js +456 -0
  324. package/dist/health.js.map +1 -0
  325. package/dist/help/declaration.d.ts +9 -0
  326. package/dist/help/declaration.d.ts.map +1 -0
  327. package/dist/help/declaration.js +28 -0
  328. package/dist/help/declaration.js.map +1 -0
  329. package/dist/{render → help}/helpFile.d.ts +5 -2
  330. package/dist/help/helpFile.d.ts.map +1 -0
  331. package/dist/{render → help}/helpFile.js +13 -4
  332. package/dist/help/helpFile.js.map +1 -0
  333. package/dist/help/helpPaths.d.ts +11 -0
  334. package/dist/help/helpPaths.d.ts.map +1 -0
  335. package/dist/help/helpPaths.js +36 -0
  336. package/dist/help/helpPaths.js.map +1 -0
  337. package/dist/help/index.d.ts +2 -1
  338. package/dist/help/index.d.ts.map +1 -1
  339. package/dist/help/index.js +2 -1
  340. package/dist/help/index.js.map +1 -1
  341. package/dist/help/items.d.ts +17 -0
  342. package/dist/help/items.d.ts.map +1 -0
  343. package/dist/help/items.js +5 -0
  344. package/dist/help/items.js.map +1 -0
  345. package/dist/help/lookup.d.ts +1 -1
  346. package/dist/help/lookup.d.ts.map +1 -1
  347. package/dist/help/lookup.js +2 -2
  348. package/dist/help/lookup.js.map +1 -1
  349. package/dist/index.d.ts +0 -1
  350. package/dist/index.d.ts.map +1 -1
  351. package/dist/index.js +5 -1
  352. package/dist/index.js.map +1 -1
  353. package/dist/link/declaration.d.ts +9 -0
  354. package/dist/link/declaration.d.ts.map +1 -0
  355. package/dist/link/declaration.js +40 -0
  356. package/dist/link/declaration.js.map +1 -0
  357. package/dist/query/commands.d.ts +0 -2
  358. package/dist/query/commands.d.ts.map +1 -1
  359. package/dist/query/commands.js +0 -4
  360. package/dist/query/commands.js.map +1 -1
  361. package/dist/query/declaration.d.ts +9 -0
  362. package/dist/query/declaration.d.ts.map +1 -0
  363. package/dist/query/declaration.js +251 -0
  364. package/dist/query/declaration.js.map +1 -0
  365. package/dist/query/detail.d.ts +4 -2
  366. package/dist/query/detail.d.ts.map +1 -1
  367. package/dist/query/detail.js +60 -32
  368. package/dist/query/detail.js.map +1 -1
  369. package/dist/query/index.d.ts +8 -2
  370. package/dist/query/index.d.ts.map +1 -1
  371. package/dist/query/index.js.map +1 -1
  372. package/dist/query/items.d.ts +22 -0
  373. package/dist/query/items.d.ts.map +1 -0
  374. package/dist/query/items.js +7 -0
  375. package/dist/query/items.js.map +1 -0
  376. package/dist/query/list.d.ts +31 -9
  377. package/dist/query/list.d.ts.map +1 -1
  378. package/dist/query/list.js +192 -55
  379. package/dist/query/list.js.map +1 -1
  380. package/dist/query/pageParts.d.ts +6 -0
  381. package/dist/query/pageParts.d.ts.map +1 -0
  382. package/dist/query/pageParts.js +18 -0
  383. package/dist/query/pageParts.js.map +1 -0
  384. package/dist/query/read.d.ts +8 -12
  385. package/dist/query/read.d.ts.map +1 -1
  386. package/dist/query/read.js +86 -63
  387. package/dist/query/read.js.map +1 -1
  388. package/dist/render/envelope.d.ts.map +1 -1
  389. package/dist/render/envelope.js +3 -11
  390. package/dist/render/envelope.js.map +1 -1
  391. package/dist/render/html.d.ts +0 -1
  392. package/dist/render/html.d.ts.map +1 -1
  393. package/dist/render/html.js +1 -3
  394. package/dist/render/html.js.map +1 -1
  395. package/dist/render/index.d.ts +5 -6
  396. package/dist/render/index.d.ts.map +1 -1
  397. package/dist/render/index.js +8 -4
  398. package/dist/render/index.js.map +1 -1
  399. package/dist/setup/backups.d.ts +52 -0
  400. package/dist/setup/backups.d.ts.map +1 -0
  401. package/dist/setup/backups.js +172 -0
  402. package/dist/setup/backups.js.map +1 -0
  403. package/dist/setup/blocked.d.ts +12 -0
  404. package/dist/setup/blocked.d.ts.map +1 -0
  405. package/dist/setup/blocked.js +65 -0
  406. package/dist/setup/blocked.js.map +1 -0
  407. package/dist/setup/commands.d.ts +10 -0
  408. package/dist/setup/commands.d.ts.map +1 -0
  409. package/dist/setup/commands.js +12 -0
  410. package/dist/setup/commands.js.map +1 -0
  411. package/dist/setup/declaration.d.ts +9 -0
  412. package/dist/setup/declaration.d.ts.map +1 -0
  413. package/dist/setup/declaration.js +92 -0
  414. package/dist/setup/declaration.js.map +1 -0
  415. package/dist/setup/import.d.ts +8 -0
  416. package/dist/setup/import.d.ts.map +1 -0
  417. package/dist/setup/import.js +111 -0
  418. package/dist/setup/import.js.map +1 -0
  419. package/dist/setup/importer.d.ts +79 -0
  420. package/dist/setup/importer.d.ts.map +1 -0
  421. package/dist/setup/importer.js +231 -0
  422. package/dist/setup/importer.js.map +1 -0
  423. package/dist/setup/index.d.ts +8 -0
  424. package/dist/setup/index.d.ts.map +1 -0
  425. package/dist/setup/index.js +8 -0
  426. package/dist/setup/index.js.map +1 -0
  427. package/dist/setup/pageParts.d.ts +93 -0
  428. package/dist/setup/pageParts.d.ts.map +1 -0
  429. package/dist/setup/pageParts.js +197 -0
  430. package/dist/setup/pageParts.js.map +1 -0
  431. package/dist/setup/params.d.ts +43 -0
  432. package/dist/setup/params.d.ts.map +1 -0
  433. package/dist/setup/params.js +94 -0
  434. package/dist/setup/params.js.map +1 -0
  435. package/dist/setup/restore.d.ts +5 -0
  436. package/dist/setup/restore.d.ts.map +1 -0
  437. package/dist/setup/restore.js +129 -0
  438. package/dist/setup/restore.js.map +1 -0
  439. package/dist/setup/run.d.ts +5 -0
  440. package/dist/setup/run.d.ts.map +1 -0
  441. package/dist/setup/run.js +188 -0
  442. package/dist/setup/run.js.map +1 -0
  443. package/dist/setup/scene-backup-create.d.ts +3 -0
  444. package/dist/setup/scene-backup-create.d.ts.map +1 -0
  445. package/dist/setup/scene-backup-create.js +26 -0
  446. package/dist/setup/scene-backup-create.js.map +1 -0
  447. package/dist/setup/scene-backup-list.d.ts +3 -0
  448. package/dist/setup/scene-backup-list.d.ts.map +1 -0
  449. package/dist/setup/scene-backup-list.js +24 -0
  450. package/dist/setup/scene-backup-list.js.map +1 -0
  451. package/dist/setup/scene-import.d.ts +3 -0
  452. package/dist/setup/scene-import.d.ts.map +1 -0
  453. package/dist/setup/scene-import.js +36 -0
  454. package/dist/setup/scene-import.js.map +1 -0
  455. package/dist/setup/scene-init-status.d.ts +14 -0
  456. package/dist/setup/scene-init-status.d.ts.map +1 -0
  457. package/dist/setup/scene-init-status.js +16 -0
  458. package/dist/setup/scene-init-status.js.map +1 -0
  459. package/dist/setup/scene-init.d.ts +3 -0
  460. package/dist/setup/scene-init.d.ts.map +1 -0
  461. package/dist/setup/scene-init.js +25 -0
  462. package/dist/setup/scene-init.js.map +1 -0
  463. package/dist/setup/scene-restore.d.ts +3 -0
  464. package/dist/setup/scene-restore.d.ts.map +1 -0
  465. package/dist/setup/scene-restore.js +33 -0
  466. package/dist/setup/scene-restore.js.map +1 -0
  467. package/dist/setup/scene.d.ts +26 -0
  468. package/dist/setup/scene.d.ts.map +1 -0
  469. package/dist/setup/scene.js +42 -0
  470. package/dist/setup/scene.js.map +1 -0
  471. package/dist/setup/status.d.ts +47 -0
  472. package/dist/setup/status.d.ts.map +1 -0
  473. package/dist/setup/status.js +68 -0
  474. package/dist/setup/status.js.map +1 -0
  475. package/dist/setup/steps.d.ts +66 -0
  476. package/dist/setup/steps.d.ts.map +1 -0
  477. package/dist/setup/steps.js +123 -0
  478. package/dist/setup/steps.js.map +1 -0
  479. package/dist/setup/template-list.d.ts +29 -0
  480. package/dist/setup/template-list.d.ts.map +1 -0
  481. package/dist/setup/template-list.js +187 -0
  482. package/dist/setup/template-list.js.map +1 -0
  483. package/dist/setup/template-receipt.d.ts +18 -0
  484. package/dist/setup/template-receipt.d.ts.map +1 -0
  485. package/dist/setup/template-receipt.js +93 -0
  486. package/dist/setup/template-receipt.js.map +1 -0
  487. package/dist/setup/template-wizard.d.ts +64 -0
  488. package/dist/setup/template-wizard.d.ts.map +1 -0
  489. package/dist/setup/template-wizard.js +233 -0
  490. package/dist/setup/template-wizard.js.map +1 -0
  491. package/dist/{policy → shared}/category.d.ts +0 -11
  492. package/dist/shared/category.d.ts.map +1 -0
  493. package/dist/{policy → shared}/category.js +15 -60
  494. package/dist/shared/category.js.map +1 -0
  495. package/dist/shared/commandSpec.d.ts +13 -10
  496. package/dist/shared/commandSpec.d.ts.map +1 -1
  497. package/dist/shared/copyArea.d.ts +15 -6
  498. package/dist/shared/copyArea.d.ts.map +1 -1
  499. package/dist/shared/copyArea.js +33 -14
  500. package/dist/shared/copyArea.js.map +1 -1
  501. package/dist/shared/dateRange.d.ts +31 -0
  502. package/dist/shared/dateRange.d.ts.map +1 -0
  503. package/dist/shared/dateRange.js +121 -0
  504. package/dist/shared/dateRange.js.map +1 -0
  505. package/dist/shared/docPage.d.ts +13 -1
  506. package/dist/shared/docPage.d.ts.map +1 -1
  507. package/dist/shared/docPage.js +65 -53
  508. package/dist/shared/docPage.js.map +1 -1
  509. package/dist/shared/kpi.d.ts +21 -0
  510. package/dist/shared/kpi.d.ts.map +1 -0
  511. package/dist/shared/kpi.js +20 -0
  512. package/dist/shared/kpi.js.map +1 -0
  513. package/dist/shared/pageIdentity.d.ts +11 -2
  514. package/dist/shared/pageIdentity.d.ts.map +1 -1
  515. package/dist/shared/pageIdentity.js +14 -2
  516. package/dist/shared/pageIdentity.js.map +1 -1
  517. package/dist/shared/pageSections.d.ts +23 -0
  518. package/dist/shared/pageSections.d.ts.map +1 -0
  519. package/dist/shared/pageSections.js +52 -0
  520. package/dist/shared/pageSections.js.map +1 -0
  521. package/dist/shared/pageShell.d.ts +2 -2
  522. package/dist/shared/pageShell.d.ts.map +1 -1
  523. package/dist/shared/pageShell.js +5 -10
  524. package/dist/shared/pageShell.js.map +1 -1
  525. package/dist/shared/params.d.ts +11 -0
  526. package/dist/shared/params.d.ts.map +1 -0
  527. package/dist/shared/params.js +60 -0
  528. package/dist/shared/params.js.map +1 -0
  529. package/dist/shared/sourceLine.d.ts +19 -0
  530. package/dist/shared/sourceLine.d.ts.map +1 -0
  531. package/dist/shared/sourceLine.js +52 -0
  532. package/dist/shared/sourceLine.js.map +1 -0
  533. package/dist/shared/writeParts.d.ts +5 -3
  534. package/dist/shared/writeParts.d.ts.map +1 -1
  535. package/dist/shared/writeParts.js.map +1 -1
  536. package/dist/triggers/routeSpec.d.ts +109 -0
  537. package/dist/triggers/routeSpec.d.ts.map +1 -0
  538. package/dist/triggers/routeSpec.js +19 -0
  539. package/dist/triggers/routeSpec.js.map +1 -0
  540. package/dist/triggers/wake-assets.d.ts +4 -26
  541. package/dist/triggers/wake-assets.d.ts.map +1 -1
  542. package/dist/triggers/wake-assets.js +52 -936
  543. package/dist/triggers/wake-assets.js.map +1 -1
  544. package/dist/triggers/wakeTable.d.ts +18 -0
  545. package/dist/triggers/wakeTable.d.ts.map +1 -0
  546. package/dist/triggers/wakeTable.js +135 -0
  547. package/dist/triggers/wakeTable.js.map +1 -0
  548. package/dist/write/blockedFold.d.ts +10 -0
  549. package/dist/write/blockedFold.d.ts.map +1 -0
  550. package/dist/write/blockedFold.js +31 -0
  551. package/dist/write/blockedFold.js.map +1 -0
  552. package/dist/{shared → write}/blockedSlots.d.ts +5 -2
  553. package/dist/write/blockedSlots.d.ts.map +1 -0
  554. package/dist/{shared → write}/blockedSlots.js +23 -17
  555. package/dist/write/blockedSlots.js.map +1 -0
  556. package/dist/write/candidatePick.d.ts.map +1 -0
  557. package/dist/{shared → write}/candidatePick.js +5 -4
  558. package/dist/write/candidatePick.js.map +1 -0
  559. package/dist/{record → write}/collect.d.ts +6 -4
  560. package/dist/write/collect.d.ts.map +1 -0
  561. package/dist/write/collect.js.map +1 -0
  562. package/dist/{record → write}/collectBody.d.ts +3 -3
  563. package/dist/write/collectBody.d.ts.map +1 -0
  564. package/dist/{record → write}/collectBody.js +13 -13
  565. package/dist/write/collectBody.js.map +1 -0
  566. package/dist/{shared → write}/collectFrame.d.ts +3 -1
  567. package/dist/{shared → write}/collectFrame.d.ts.map +1 -1
  568. package/dist/write/collectFrame.js +36 -0
  569. package/dist/write/collectFrame.js.map +1 -0
  570. package/dist/{record → write}/commands.d.ts +0 -1
  571. package/dist/write/commands.d.ts.map +1 -0
  572. package/dist/{record → write}/commands.js +0 -2
  573. package/dist/write/commands.js.map +1 -0
  574. package/dist/write/declaration.d.ts +9 -0
  575. package/dist/write/declaration.d.ts.map +1 -0
  576. package/dist/write/declaration.js +239 -0
  577. package/dist/write/declaration.js.map +1 -0
  578. package/dist/write/diffTable.d.ts.map +1 -0
  579. package/dist/{shared → write}/diffTable.js +2 -2
  580. package/dist/write/diffTable.js.map +1 -0
  581. package/dist/write/duplicateNote.d.ts.map +1 -0
  582. package/dist/{shared → write}/duplicateNote.js +14 -7
  583. package/dist/write/duplicateNote.js.map +1 -0
  584. package/dist/write/emptyNote.d.ts.map +1 -0
  585. package/dist/{shared → write}/emptyNote.js +2 -2
  586. package/dist/write/emptyNote.js.map +1 -0
  587. package/dist/{shared → write}/errorReceipt.d.ts +1 -1
  588. package/dist/write/errorReceipt.d.ts.map +1 -0
  589. package/dist/{shared → write}/errorReceipt.js +2 -2
  590. package/dist/write/errorReceipt.js.map +1 -0
  591. package/dist/write/flowSteps.d.ts.map +1 -0
  592. package/dist/{shared → write}/flowSteps.js +1 -1
  593. package/dist/write/flowSteps.js.map +1 -0
  594. package/dist/{record → write}/index.d.ts +7 -3
  595. package/dist/write/index.d.ts.map +1 -0
  596. package/dist/{record → write}/index.js +1 -0
  597. package/dist/write/index.js.map +1 -0
  598. package/dist/write/installmentPreview.d.ts.map +1 -0
  599. package/dist/{shared → write}/installmentPreview.js +3 -3
  600. package/dist/write/installmentPreview.js.map +1 -0
  601. package/dist/write/outsideScan.d.ts.map +1 -0
  602. package/dist/{shared → write}/outsideScan.js +7 -7
  603. package/dist/write/outsideScan.js.map +1 -0
  604. package/dist/write/pageParts.d.ts +69 -0
  605. package/dist/write/pageParts.d.ts.map +1 -0
  606. package/dist/write/pageParts.js +80 -0
  607. package/dist/write/pageParts.js.map +1 -0
  608. package/dist/write/photoEscape.d.ts.map +1 -0
  609. package/dist/{shared → write}/photoEscape.js +18 -16
  610. package/dist/write/photoEscape.js.map +1 -0
  611. package/dist/write/prefillNote.d.ts.map +1 -0
  612. package/dist/{shared → write}/prefillNote.js +8 -7
  613. package/dist/write/prefillNote.js.map +1 -0
  614. package/dist/{record → write}/receipt.d.ts +5 -3
  615. package/dist/write/receipt.d.ts.map +1 -0
  616. package/dist/write/receipt.js.map +1 -0
  617. package/dist/write/receiptBody.d.ts +10 -0
  618. package/dist/write/receiptBody.d.ts.map +1 -0
  619. package/dist/{record → write}/receiptBody.js +24 -25
  620. package/dist/write/receiptBody.js.map +1 -0
  621. package/dist/write/receiptOut.d.ts +14 -0
  622. package/dist/write/receiptOut.d.ts.map +1 -0
  623. package/dist/write/receiptOut.js +13 -0
  624. package/dist/write/receiptOut.js.map +1 -0
  625. package/dist/{shared → write}/receiptParts.d.ts +1 -1
  626. package/dist/write/receiptParts.d.ts.map +1 -0
  627. package/dist/{shared → write}/receiptParts.js +4 -4
  628. package/dist/write/receiptParts.js.map +1 -0
  629. package/dist/{shared → write}/recentPicks.d.ts +14 -6
  630. package/dist/write/recentPicks.d.ts.map +1 -0
  631. package/dist/write/recentPicks.js +65 -0
  632. package/dist/write/recentPicks.js.map +1 -0
  633. package/dist/write/record.d.ts +13 -0
  634. package/dist/write/record.d.ts.map +1 -0
  635. package/dist/write/record.js +46 -0
  636. package/dist/write/record.js.map +1 -0
  637. package/dist/write/recordPicker.d.ts.map +1 -0
  638. package/dist/{shared → write}/recordPicker.js +4 -4
  639. package/dist/write/recordPicker.js.map +1 -0
  640. package/dist/write/rowEditorTable.d.ts.map +1 -0
  641. package/dist/{shared → write}/rowEditorTable.js +1 -1
  642. package/dist/write/rowEditorTable.js.map +1 -0
  643. package/dist/write/scene-batch.d.ts.map +1 -0
  644. package/dist/write/scene-batch.js +37 -0
  645. package/dist/write/scene-batch.js.map +1 -0
  646. package/dist/write/scene-borrow.d.ts.map +1 -0
  647. package/dist/write/scene-borrow.js +166 -0
  648. package/dist/write/scene-borrow.js.map +1 -0
  649. package/dist/write/scene-collect.d.ts.map +1 -0
  650. package/dist/write/scene-collect.js +155 -0
  651. package/dist/write/scene-collect.js.map +1 -0
  652. package/dist/write/scene-expense.d.ts.map +1 -0
  653. package/dist/write/scene-expense.js +50 -0
  654. package/dist/write/scene-expense.js.map +1 -0
  655. package/dist/write/scene-income.d.ts.map +1 -0
  656. package/dist/write/scene-income.js +51 -0
  657. package/dist/write/scene-income.js.map +1 -0
  658. package/dist/write/scene-installment.d.ts.map +1 -0
  659. package/dist/write/scene-installment.js +52 -0
  660. package/dist/write/scene-installment.js.map +1 -0
  661. package/dist/write/scene-lend.d.ts.map +1 -0
  662. package/dist/write/scene-lend.js +165 -0
  663. package/dist/write/scene-lend.js.map +1 -0
  664. package/dist/write/scene-photo.d.ts.map +1 -0
  665. package/dist/write/scene-photo.js +108 -0
  666. package/dist/write/scene-photo.js.map +1 -0
  667. package/dist/write/scene-plain.d.ts.map +1 -0
  668. package/dist/write/scene-plain.js +52 -0
  669. package/dist/write/scene-plain.js.map +1 -0
  670. package/dist/write/scene-refund.d.ts.map +1 -0
  671. package/dist/write/scene-refund.js +139 -0
  672. package/dist/write/scene-refund.js.map +1 -0
  673. package/dist/write/scene-reimburse-done.d.ts.map +1 -0
  674. package/dist/write/scene-reimburse-done.js +151 -0
  675. package/dist/write/scene-reimburse-done.js.map +1 -0
  676. package/dist/write/scene-reimburse.d.ts.map +1 -0
  677. package/dist/write/scene-reimburse.js +65 -0
  678. package/dist/write/scene-reimburse.js.map +1 -0
  679. package/dist/write/scene-repay.d.ts.map +1 -0
  680. package/dist/write/scene-repay.js +155 -0
  681. package/dist/write/scene-repay.js.map +1 -0
  682. package/dist/write/scene-restore.d.ts.map +1 -0
  683. package/dist/write/scene-restore.js +59 -0
  684. package/dist/write/scene-restore.js.map +1 -0
  685. package/dist/write/scene-undo.d.ts.map +1 -0
  686. package/dist/write/scene-undo.js +57 -0
  687. package/dist/write/scene-undo.js.map +1 -0
  688. package/dist/write/scene-update.d.ts.map +1 -0
  689. package/dist/write/scene-update.js +57 -0
  690. package/dist/write/scene-update.js.map +1 -0
  691. package/dist/{record → write}/scene.d.ts +16 -9
  692. package/dist/write/scene.d.ts.map +1 -0
  693. package/dist/{record → write}/scene.js +6 -1
  694. package/dist/write/scene.js.map +1 -0
  695. package/dist/write/slots.d.ts.map +1 -0
  696. package/dist/{record → write}/slots.js +9 -8
  697. package/dist/{record → write}/slots.js.map +1 -1
  698. package/dist/write/sourceNote.d.ts +5 -0
  699. package/dist/write/sourceNote.d.ts.map +1 -0
  700. package/dist/write/sourceNote.js +37 -0
  701. package/dist/write/sourceNote.js.map +1 -0
  702. package/dist/write/summaryRow.d.ts.map +1 -0
  703. package/dist/{shared → write}/summaryRow.js +11 -7
  704. package/dist/write/summaryRow.js.map +1 -0
  705. package/dist/write/template-batch.d.ts +37 -0
  706. package/dist/write/template-batch.d.ts.map +1 -0
  707. package/dist/write/template-batch.js +212 -0
  708. package/dist/write/template-batch.js.map +1 -0
  709. package/dist/write/template-expense.d.ts +96 -0
  710. package/dist/write/template-expense.d.ts.map +1 -0
  711. package/dist/write/template-expense.js +220 -0
  712. package/dist/write/template-expense.js.map +1 -0
  713. package/dist/write/template-flow.d.ts +130 -0
  714. package/dist/write/template-flow.d.ts.map +1 -0
  715. package/dist/write/template-flow.js +225 -0
  716. package/dist/write/template-flow.js.map +1 -0
  717. package/dist/write/template-installment.d.ts +69 -0
  718. package/dist/write/template-installment.d.ts.map +1 -0
  719. package/dist/write/template-installment.js +240 -0
  720. package/dist/write/template-installment.js.map +1 -0
  721. package/dist/write/template-update.d.ts +83 -0
  722. package/dist/write/template-update.d.ts.map +1 -0
  723. package/dist/write/template-update.js +268 -0
  724. package/dist/write/template-update.js.map +1 -0
  725. package/dist/{shared → write}/typeBadge.d.ts +9 -2
  726. package/dist/write/typeBadge.d.ts.map +1 -0
  727. package/dist/{shared → write}/typeBadge.js +16 -8
  728. package/dist/write/typeBadge.js.map +1 -0
  729. package/dist/{shared → write}/userWording.d.ts +2 -24
  730. package/dist/write/userWording.d.ts.map +1 -0
  731. package/dist/{shared → write}/userWording.js +12 -22
  732. package/dist/write/userWording.js.map +1 -0
  733. package/dist/write/write.d.ts.map +1 -0
  734. package/dist/{record → write}/write.js +7 -7
  735. package/dist/write/write.js.map +1 -0
  736. package/dist/{help → write}/writeWire.d.ts +1 -1
  737. package/dist/{help → write}/writeWire.d.ts.map +1 -1
  738. package/dist/{help → write}/writeWire.js +3 -3
  739. package/dist/write/writeWire.js.map +1 -0
  740. package/package.json +3 -3
  741. package/dist/help/writeWire.js.map +0 -1
  742. package/dist/policy/accounts.d.ts +0 -13
  743. package/dist/policy/accounts.d.ts.map +0 -1
  744. package/dist/policy/accounts.js +0 -31
  745. package/dist/policy/accounts.js.map +0 -1
  746. package/dist/policy/analysis.d.ts.map +0 -1
  747. package/dist/policy/analysis.js.map +0 -1
  748. package/dist/policy/category.d.ts.map +0 -1
  749. package/dist/policy/category.js.map +0 -1
  750. package/dist/policy/goals.d.ts +0 -15
  751. package/dist/policy/goals.d.ts.map +0 -1
  752. package/dist/policy/goals.js +0 -33
  753. package/dist/policy/goals.js.map +0 -1
  754. package/dist/policy/index.d.ts +0 -13
  755. package/dist/policy/index.d.ts.map +0 -1
  756. package/dist/policy/index.js +0 -7
  757. package/dist/policy/index.js.map +0 -1
  758. package/dist/policy/record.d.ts +0 -27
  759. package/dist/policy/record.d.ts.map +0 -1
  760. package/dist/policy/record.js +0 -89
  761. package/dist/policy/record.js.map +0 -1
  762. package/dist/policy/wakewords.d.ts +0 -18
  763. package/dist/policy/wakewords.d.ts.map +0 -1
  764. package/dist/policy/wakewords.js +0 -126
  765. package/dist/policy/wakewords.js.map +0 -1
  766. package/dist/record/collect.d.ts.map +0 -1
  767. package/dist/record/collect.js.map +0 -1
  768. package/dist/record/collectBody.d.ts.map +0 -1
  769. package/dist/record/collectBody.js.map +0 -1
  770. package/dist/record/commands.d.ts.map +0 -1
  771. package/dist/record/commands.js.map +0 -1
  772. package/dist/record/index.d.ts.map +0 -1
  773. package/dist/record/index.js.map +0 -1
  774. package/dist/record/receipt.d.ts.map +0 -1
  775. package/dist/record/receipt.js.map +0 -1
  776. package/dist/record/receiptBody.d.ts +0 -5
  777. package/dist/record/receiptBody.d.ts.map +0 -1
  778. package/dist/record/receiptBody.js.map +0 -1
  779. package/dist/record/scene-batch.d.ts.map +0 -1
  780. package/dist/record/scene-batch.js +0 -211
  781. package/dist/record/scene-batch.js.map +0 -1
  782. package/dist/record/scene-borrow.d.ts.map +0 -1
  783. package/dist/record/scene-borrow.js +0 -285
  784. package/dist/record/scene-borrow.js.map +0 -1
  785. package/dist/record/scene-collect.d.ts.map +0 -1
  786. package/dist/record/scene-collect.js +0 -294
  787. package/dist/record/scene-collect.js.map +0 -1
  788. package/dist/record/scene-expense.d.ts.map +0 -1
  789. package/dist/record/scene-expense.js +0 -21
  790. package/dist/record/scene-expense.js.map +0 -1
  791. package/dist/record/scene-income.d.ts.map +0 -1
  792. package/dist/record/scene-income.js +0 -219
  793. package/dist/record/scene-income.js.map +0 -1
  794. package/dist/record/scene-installment.d.ts.map +0 -1
  795. package/dist/record/scene-installment.js +0 -248
  796. package/dist/record/scene-installment.js.map +0 -1
  797. package/dist/record/scene-lend.d.ts.map +0 -1
  798. package/dist/record/scene-lend.js +0 -273
  799. package/dist/record/scene-lend.js.map +0 -1
  800. package/dist/record/scene-photo.d.ts.map +0 -1
  801. package/dist/record/scene-photo.js +0 -262
  802. package/dist/record/scene-photo.js.map +0 -1
  803. package/dist/record/scene-plain.d.ts.map +0 -1
  804. package/dist/record/scene-plain.js +0 -221
  805. package/dist/record/scene-plain.js.map +0 -1
  806. package/dist/record/scene-refund.d.ts.map +0 -1
  807. package/dist/record/scene-refund.js +0 -281
  808. package/dist/record/scene-refund.js.map +0 -1
  809. package/dist/record/scene-reimburse-done.d.ts.map +0 -1
  810. package/dist/record/scene-reimburse-done.js +0 -288
  811. package/dist/record/scene-reimburse-done.js.map +0 -1
  812. package/dist/record/scene-reimburse.d.ts.map +0 -1
  813. package/dist/record/scene-reimburse.js +0 -224
  814. package/dist/record/scene-reimburse.js.map +0 -1
  815. package/dist/record/scene-repay.d.ts.map +0 -1
  816. package/dist/record/scene-repay.js +0 -294
  817. package/dist/record/scene-repay.js.map +0 -1
  818. package/dist/record/scene-restore.d.ts.map +0 -1
  819. package/dist/record/scene-restore.js +0 -250
  820. package/dist/record/scene-restore.js.map +0 -1
  821. package/dist/record/scene-undo.d.ts.map +0 -1
  822. package/dist/record/scene-undo.js +0 -262
  823. package/dist/record/scene-undo.js.map +0 -1
  824. package/dist/record/scene-update.d.ts.map +0 -1
  825. package/dist/record/scene-update.js +0 -249
  826. package/dist/record/scene-update.js.map +0 -1
  827. package/dist/record/scene.d.ts.map +0 -1
  828. package/dist/record/scene.js.map +0 -1
  829. package/dist/record/slots.d.ts.map +0 -1
  830. package/dist/record/write.d.ts.map +0 -1
  831. package/dist/record/write.js.map +0 -1
  832. package/dist/render/helpFile.d.ts.map +0 -1
  833. package/dist/render/helpFile.js.map +0 -1
  834. package/dist/render/helpPaths.d.ts +0 -19
  835. package/dist/render/helpPaths.d.ts.map +0 -1
  836. package/dist/render/helpPaths.js +0 -19
  837. package/dist/render/helpPaths.js.map +0 -1
  838. package/dist/render/views.d.ts +0 -64
  839. package/dist/render/views.d.ts.map +0 -1
  840. package/dist/render/views.js.map +0 -1
  841. package/dist/shared/blockedSlots.d.ts.map +0 -1
  842. package/dist/shared/blockedSlots.js.map +0 -1
  843. package/dist/shared/candidatePick.d.ts.map +0 -1
  844. package/dist/shared/candidatePick.js.map +0 -1
  845. package/dist/shared/collectFrame.js +0 -34
  846. package/dist/shared/collectFrame.js.map +0 -1
  847. package/dist/shared/diffTable.d.ts.map +0 -1
  848. package/dist/shared/diffTable.js.map +0 -1
  849. package/dist/shared/duplicateNote.d.ts.map +0 -1
  850. package/dist/shared/duplicateNote.js.map +0 -1
  851. package/dist/shared/emptyNote.d.ts.map +0 -1
  852. package/dist/shared/emptyNote.js.map +0 -1
  853. package/dist/shared/errorReceipt.d.ts.map +0 -1
  854. package/dist/shared/errorReceipt.js.map +0 -1
  855. package/dist/shared/flowSteps.d.ts.map +0 -1
  856. package/dist/shared/flowSteps.js.map +0 -1
  857. package/dist/shared/installmentPreview.d.ts.map +0 -1
  858. package/dist/shared/installmentPreview.js.map +0 -1
  859. package/dist/shared/outsideScan.d.ts.map +0 -1
  860. package/dist/shared/outsideScan.js.map +0 -1
  861. package/dist/shared/photoEscape.d.ts.map +0 -1
  862. package/dist/shared/photoEscape.js.map +0 -1
  863. package/dist/shared/prefillNote.d.ts.map +0 -1
  864. package/dist/shared/prefillNote.js.map +0 -1
  865. package/dist/shared/receiptParts.d.ts.map +0 -1
  866. package/dist/shared/receiptParts.js.map +0 -1
  867. package/dist/shared/recentPicks.d.ts.map +0 -1
  868. package/dist/shared/recentPicks.js +0 -41
  869. package/dist/shared/recentPicks.js.map +0 -1
  870. package/dist/shared/recordPicker.d.ts.map +0 -1
  871. package/dist/shared/recordPicker.js.map +0 -1
  872. package/dist/shared/rowEditorTable.d.ts.map +0 -1
  873. package/dist/shared/rowEditorTable.js.map +0 -1
  874. package/dist/shared/summaryRow.d.ts.map +0 -1
  875. package/dist/shared/summaryRow.js.map +0 -1
  876. package/dist/shared/typeBadge.d.ts.map +0 -1
  877. package/dist/shared/typeBadge.js.map +0 -1
  878. package/dist/shared/userWording.d.ts.map +0 -1
  879. package/dist/shared/userWording.js.map +0 -1
  880. /package/dist/{shared → write}/candidatePick.d.ts +0 -0
  881. /package/dist/{record → write}/collect.js +0 -0
  882. /package/dist/{shared → write}/diffTable.d.ts +0 -0
  883. /package/dist/{shared → write}/duplicateNote.d.ts +0 -0
  884. /package/dist/{shared → write}/emptyNote.d.ts +0 -0
  885. /package/dist/{shared → write}/flowSteps.d.ts +0 -0
  886. /package/dist/{shared → write}/installmentPreview.d.ts +0 -0
  887. /package/dist/{shared → write}/outsideScan.d.ts +0 -0
  888. /package/dist/{shared → write}/photoEscape.d.ts +0 -0
  889. /package/dist/{shared → write}/prefillNote.d.ts +0 -0
  890. /package/dist/{record → write}/receipt.js +0 -0
  891. /package/dist/{shared → write}/recordPicker.d.ts +0 -0
  892. /package/dist/{shared → write}/rowEditorTable.d.ts +0 -0
  893. /package/dist/{record → write}/scene-batch.d.ts +0 -0
  894. /package/dist/{record → write}/scene-borrow.d.ts +0 -0
  895. /package/dist/{record → write}/scene-collect.d.ts +0 -0
  896. /package/dist/{record → write}/scene-expense.d.ts +0 -0
  897. /package/dist/{record → write}/scene-income.d.ts +0 -0
  898. /package/dist/{record → write}/scene-installment.d.ts +0 -0
  899. /package/dist/{record → write}/scene-lend.d.ts +0 -0
  900. /package/dist/{record → write}/scene-photo.d.ts +0 -0
  901. /package/dist/{record → write}/scene-plain.d.ts +0 -0
  902. /package/dist/{record → write}/scene-refund.d.ts +0 -0
  903. /package/dist/{record → write}/scene-reimburse-done.d.ts +0 -0
  904. /package/dist/{record → write}/scene-reimburse.d.ts +0 -0
  905. /package/dist/{record → write}/scene-repay.d.ts +0 -0
  906. /package/dist/{record → write}/scene-restore.d.ts +0 -0
  907. /package/dist/{record → write}/scene-undo.d.ts +0 -0
  908. /package/dist/{record → write}/scene-update.d.ts +0 -0
  909. /package/dist/{record → write}/slots.d.ts +0 -0
  910. /package/dist/{shared → write}/summaryRow.d.ts +0 -0
  911. /package/dist/{record → write}/write.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  /** 复制与提示共用件:复制 prompt 区、复制区(数据位+日志位)、复制日志的入参。
2
2
  *
3
3
  * 谁在用(两个能力,指名):
4
- * ① `src/record/`——写入域:过程型采集页(复制 prompt 区 + 复制数据/日志)与结果型回执整页(复制数据/日志);
4
+ * ① `src/write/`——写入域:过程型采集页(复制 prompt 区 + 复制数据/日志)与结果型回执整页(复制数据/日志);
5
5
  * ② `src/query/`——查询域:通用查询列表页的复制数据/日志两条通道(不设 prompt 区——查询不写库,没有要交回助手的一句)。
6
6
  * (写域 32 份产物按本件的字面量冻结,查询域只引用、不改这里的任何一句。)
7
7
  *
@@ -18,6 +18,7 @@
18
18
  * - 日志第 3 段的库文件名**由调用方给**(`CopyLogInput.source`),共用件不取本包文件名
19
19
  * (`docs/skills/skill-bill/t406-共用件依赖与提升改造清单.md` 第二节 `DB_FILENAME` 行)。
20
20
  */
21
+ import { renderStatusBadge } from 'base-paint';
21
22
  import { renderCaliberLine, renderCopyBlock, renderEmptyBlock, renderPreBlock } from 'base-paint/blocks';
22
23
  import { buildDataText, buildLogText } from 'base-paint';
23
24
  /** 日志第 2 段(助手思考链):本仓页面一律由本地 CLI 渲染,不落 `(未知)` 占位。 */
@@ -27,7 +28,7 @@ const LOG_EXCEPTION = '无';
27
28
  /** 复制区空态缺省句(三样全没给时出这一句、不出按钮——点了没反应的死按钮就是问题)。 */
28
29
  const COPY_EMPTY_TEXT = '本页没有可复制的数据';
29
30
  /** 本次执行时刻串(页面入参 `actionAt`/回执事实 `actionAt` 的**唯一定义地**):本地时钟 `YYYY-MM-DD HH:MM:SS`。
30
- * 写域与查询域两张页都读它——搬迁前它分别是 `src/record/write.ts` 的文件级函数与查询域现取的钟,
31
+ * 写域与查询域两张页都读它——搬迁前它分别是 `src/write/write.ts` 的文件级函数与查询域现取的钟,
31
32
  * 第二个用法(查询域列表页,票 #411)长出来之后收成这一处;**取时钟仍在各域处理体那一步调它**,
32
33
  * 共用位不自己在模块顶层取时钟(那样一次调用两次读数会不一致)。 */
33
34
  export function actionStamp() {
@@ -41,6 +42,15 @@ const MENU_HINTS = ['纯文本 粘贴给助手或自己看', 'JSON 结构化存
41
42
  * (总则②:写清这块复制走给谁;仍含老字串,护栏不断言全等只认包含)。 */
42
43
  const PROMPT_COPY_ACTION = 'ilife-copy-prompt';
43
44
  const PROMPT_COPY_HINT = '复制给助手:这一句可以直接复制';
45
+ /** 页上那一行可见文本(#728 第二轮)。**prompt 原文不再摊在页面上。**
46
+ *
47
+ * 维护者 2026-09-19 逐字:「这个模板不应该把 prompt 内容给用户看,太繁杂了」。
48
+ * 实测那一块把整套模板平铺出来(`唤醒词:记分期` + `总额:<总额>` 这类尖括号占位符 +
49
+ * 缺项逐条「没给:分期由用户定,不许默认」),390 档占三百多像素高;而 `唤醒词`/尖括号
50
+ * 占位符/「逐项补齐」都是**给助手看的实现词汇**,本不该上用户的屏(本仓「区外内部话」那条)。
51
+ * 改法:页上只留一句人话;**原文一字不改地走 `copyText` 进复制载荷**——
52
+ * 复制得到的还是原来那一整段,载荷文本没动。 */
53
+ const PROMPT_PREVIEW = '点右边的按钮复制,发给助手就行。';
44
54
  /** ① 复制 prompt 区:prompt 预览(`renderPreBlock`)+ 它自带的复制按钮。
45
55
  * **`actionId` 必给**:公共层的 `renderPreBlock` 只在给了 `actionId` 时才渲染复制按钮
46
56
  * (`packages/base-render/src/blocks.ts:729-736`),只给 `copyText` 会出一个「写着复制、其实没有按钮」的
@@ -50,7 +60,7 @@ export function promptCopyArea(prompt, label) {
50
60
  const heading = label === undefined ? PROMPT_COPY_HINT : label;
51
61
  return renderPreBlock({
52
62
  ...(heading === null ? {} : { label: heading }),
53
- command: prompt,
63
+ command: PROMPT_PREVIEW,
54
64
  actionId: PROMPT_COPY_ACTION,
55
65
  copyText: prompt,
56
66
  copyLabel: PROMPT_COPY_HINT,
@@ -105,18 +115,27 @@ export function copyLog(input) {
105
115
  }
106
116
  /** 退出口那枚危险色出口标记的动作号。**故意不绑动作**:动作条场景按钮不带 `data-t`,点了不复制也不写库。 */
107
117
  const EXIT_MARK_ACTION = 'ilife-exit-undo';
108
- /** 退出口的标题与说明(本轮整改:`危险色出口` 是设计自指词,`restore` 是内部词,都不上屏)。 */
118
+ /** 退出口的标题与说明(本轮整改:`危险色出口` 是设计自指词,`restore` 是内部词,都不上屏)。
119
+ * t728:两句之间的 `;` 换成句号——分号在这里不是并列,是把两件事挤进一句的排版手法
120
+ * (用户逐字要求 5 点名的那类);拆成两句之后读法仍是「怎么做」+「撤销之后会怎样」。 */
109
121
  const EXIT_TITLE = '想反悔(撤销这一笔)';
110
- const EXIT_NOTE = '要撤销这一笔,点下面那颗「复制数据」,里面带着一句撤销的话;撤销之后记录还在,随时可以恢复。';
111
- /** ④ 回执页退出口:危险色出口标记 + 一句去向说明(t407 根因整改二 D2 去重后)。
112
- * 改前这里另带一枚「复制数据」(撤销指令直拷,`ilife-exit-undo-copy`)+ base #336
113
- * 自动补的一枚置灰「复制日志」,与下面复制区那组「复制数据/复制日志」上下重复。
114
- * 改后退出口只留标记与说明、不带任何复制按钮与 `data-t`;撤销指令走下面复制区那颗
115
- * 「复制数据」(复制载荷里仍带可重跑命令,`data-t` 形状不动)。 */
122
+ const EXIT_NOTE = '要撤销这一笔,点下面那颗「复制数据」,里面带着一句撤销的话。撤销之后记录还在,随时可以恢复。';
123
+ /** ④ 回执页退出口:**一枚非交互的 danger 标记 + 一句指路**(#733 改)。
124
+ *
125
+ * 改前这里是一颗 `kind: 'red'` 的 `<button>`(`data-action-id="ilife-exit-undo"`,**故意不带 `data-t`**),
126
+ * 而产物内联委派的第二道 `getAttribute('data-t') === null → return` 就早退 ⇒ **点了零动作、零反馈**;
127
+ * 1280 档它还是整页唯一一块 878×44 的满列实心高饱和红(最响的一块却不响应),
128
+ * 而正下方那行口径又写着「点下面那颗『复制数据』」——同屏两句互相否定(15 张回执页全中,逐页复现过)。
129
+ *
130
+ * 改法=**照它本来的身份办**:它是一件「标记」,不是一颗按钮。现在渲染成
131
+ * `renderStatusBadge(status:'danger')` 的一枚红胶囊(一眼就知道不是可点控件)+ 那句指路口径。
132
+ * 顺带收掉两样债:① 满列红块没了(判据里的「整页最响的一块」);② `docPage.ts` 里那条
133
+ * 专为「单钮独占整行」写的补丁(`EXIT_CSS`)随之失效,一并删掉。
134
+ *
135
+ * 为什么不做成「真能点」:本页下面复制区那颗「复制数据」的载荷里**已经带着**可重跑的撤销指令,
136
+ * 退出口再给一颗同样功能的按钮,就是同一件事两颗按钮(t410 拆掉过一次,不该拆回去)。 */
116
137
  export function undoExit(recordId) {
117
- return renderCopyBlock({
118
- title: EXIT_TITLE,
119
- buttons: [{ label: '↩︎ 撤销这一笔', kind: 'red', actionId: EXIT_MARK_ACTION }],
120
- }) + renderCaliberLine(EXIT_NOTE + '(记录编号 ' + recordId + ')');
138
+ return renderStatusBadge({ status: 'danger', text: EXIT_TITLE })
139
+ + renderCaliberLine(EXIT_NOTE + '(记录编号 ' + recordId + ')');
121
140
  }
122
141
  //# sourceMappingURL=copyArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copyArea.js","sourceRoot":"","sources":["../../src/shared/copyArea.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copyArea.js","sourceRoot":"","sources":["../../src/shared/copyArea.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /** 只给日期不给时分秒时的缺省时刻(**唯一定义地**):`validateTime` 补出整串,页面侧的预填标注引这一份。
2
+ * 改这一条就是改全仓的缺省时刻,别处不得再写第二份 `12:00:00` 字面量。 */
3
+ export declare const DEFAULT_TIME_SUFFIX = "12:00:00";
4
+ /** 缺省时刻的整串形态:`YYYY-MM-DD` + 上面那份(页面文案与库内取值同一句)。 */
5
+ export declare function defaultTimeOn(date: string): string;
6
+ export declare const DATETIME_RE: RegExp;
7
+ export declare const DATE_RE: RegExp;
8
+ export declare const MONTH_RE: RegExp;
9
+ export declare function validateTime(raw: unknown): string;
10
+ export declare function normalizeDate(d: unknown, field?: string): string;
11
+ export declare function normalizeMonth(m: unknown, field?: string): string;
12
+ /** 查询某天的入参:不给/给空=今天(UTC 日);给了就归一(`YYYY-MM-DD` 三种写法都认)。 */
13
+ export declare function resolveQueryDate(params: Record<string, unknown>): string;
14
+ /** 区间的入参:`start`/`end` 同给;缺一即缺槽位阻断,起点晚于终点阻断。 */
15
+ export declare function resolveRange(params: Record<string, unknown>): {
16
+ start: string;
17
+ end: string;
18
+ };
19
+ /** 某个月的起止日(`YYYY-MM` → 该月 1 号到月末)。 */
20
+ export declare function monthRange(month: string): {
21
+ start: string;
22
+ end: string;
23
+ };
24
+ /** 昨天(本地日期串 `YYYY-MM-DD`)。 */
25
+ export declare function yesterdayStr(): string;
26
+ /** 本周(周一为第一天)的起止日。 */
27
+ export declare function weekRange(): {
28
+ start: string;
29
+ end: string;
30
+ };
31
+ //# sourceMappingURL=dateRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateRange.d.ts","sourceRoot":"","sources":["../../src/shared/dateRange.ts"],"names":[],"mappings":"AAiBA;+CAC+C;AAC/C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,eAAO,MAAM,WAAW,QAA2D,CAAC;AACpF,eAAO,MAAM,OAAO,QAAwB,CAAC;AAC7C,eAAO,MAAM,QAAQ,QAA4B,CAAC;AAQlD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAajD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAS,GAAG,MAAM,CAUhE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAU,GAAG,MAAM,CAKlE;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMxE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAQ5F;AAOD,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKxE;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,sBAAsB;AACtB,wBAAgB,SAAS,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAM1D"}
@@ -0,0 +1,121 @@
1
+ /** 共用位·日期与时间窗口口径(#689 结构搬迁第三批):从 `src/policy/category.ts` 的日期函数
2
+ * + `src/policy/record.ts` 的日期与时间窗口两半合并而来——**一件一处**:日期串的归一、月份串的归一、
3
+ * 时刻的补齐,以及「某天/某周/某月/某区间」这些窗口算式都只在这里写一遍。
4
+ *
5
+ * 谁在用(指名,路径随 #689 搬迁改成新家):
6
+ * · `src/write/`——`record.ts`(`validateUpdateInput` 的 `validateTime`)·
7
+ * `prefillNote.ts`/`summaryRow.ts`(`DEFAULT_TIME_SUFFIX`/`defaultTimeOn`);
8
+ * · `src/query/read.ts`——查今天/查昨天(`resolveQueryDate`/`yesterdayStr`)、查区间(`resolveRange`)、
9
+ * 锚点归一(`normalizeDate`);
10
+ * · `src/analysis/`——`needMonth`/`needRange` 的 `normalizeMonth`/`normalizeDate`;
11
+ * · `src/goal/`——预算月份与目标截止日(`normalizeMonth`/`normalizeDate`);
12
+ * · `src/cli/cmd_read.ts`——未迁移的 analysis/goal 两族分支的 `monthRange`/`resolveRange`(外壳);
13
+ * · `src/shared/category.ts`——`validateRecord` 补时刻(`defaultTimeOn`/`validateTime`)。
14
+ * 两域以上在用它 ⇒ 住共用位(归属律 2)。日期函数**不是**按「单消费者」判的:它们是同一条口径的整族
15
+ * (`validateTime` 补出 `DEFAULT_TIME_SUFFIX`,页面侧预填标注引同一份),拆开就会各写一份时刻字面量。 */
16
+ import { BillPolicyError } from '../fetch/errors.js';
17
+ /** 只给日期不给时分秒时的缺省时刻(**唯一定义地**):`validateTime` 补出整串,页面侧的预填标注引这一份。
18
+ * 改这一条就是改全仓的缺省时刻,别处不得再写第二份 `12:00:00` 字面量。 */
19
+ export const DEFAULT_TIME_SUFFIX = '12:00:00';
20
+ /** 缺省时刻的整串形态:`YYYY-MM-DD` + 上面那份(页面文案与库内取值同一句)。 */
21
+ export function defaultTimeOn(date) {
22
+ return date + ' ' + DEFAULT_TIME_SUFFIX;
23
+ }
24
+ export const DATETIME_RE = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/;
25
+ export const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
26
+ export const MONTH_RE = /^\d{4}-(0[1-9]|1[0-2])$/;
27
+ function realDate(y, m, d) {
28
+ const dt = new Date(y, m - 1, d);
29
+ return dt.getFullYear() === y && dt.getMonth() === m - 1 && dt.getDate() === d;
30
+ }
31
+ // 时间:YYYY-MM-DD HH:mm:ss 或 YYYY-MM-DD(补 12:00:00);非法阻断。
32
+ export function validateTime(raw) {
33
+ if (typeof raw !== 'string' || raw.trim().length === 0) {
34
+ throw new BillPolicyError('POLICY_BAD_TIME', 'time 不能为空');
35
+ }
36
+ const s = raw.trim().replace(/\//g, '-');
37
+ const m = DATETIME_RE.exec(s);
38
+ if (!m)
39
+ throw new BillPolicyError('POLICY_BAD_TIME', 'time 格式非法');
40
+ const y = Number(m[1]);
41
+ const mo = Number(m[2]);
42
+ const d = Number(m[3]);
43
+ if (!realDate(y, mo, d))
44
+ throw new BillPolicyError('POLICY_BAD_TIME', 'time 非真实日期');
45
+ if (m[4] === undefined)
46
+ return defaultTimeOn(s);
47
+ const hh = Number(m[4]);
48
+ const mm = Number(m[5]);
49
+ const ss = Number(m[6]);
50
+ if (hh > 23 || mm > 59 || ss > 59)
51
+ throw new BillPolicyError('POLICY_BAD_TIME', 'time 时分秒非法');
52
+ return s;
53
+ }
54
+ export function normalizeDate(d, field = 'date') {
55
+ if (typeof d !== 'string' || d.trim().length === 0) {
56
+ throw new BillPolicyError('POLICY_BAD_TIME', field + ' 须为日期字符串');
57
+ }
58
+ let s = d.trim().replace(/\//g, '-').replace(/\./g, '-');
59
+ if (/^\d{8}$/.test(s))
60
+ s = s.slice(0, 4) + '-' + s.slice(4, 6) + '-' + s.slice(6);
61
+ if (!DATE_RE.test(s))
62
+ throw new BillPolicyError('POLICY_BAD_TIME', field + ' 格式非法');
63
+ const parts2 = s.split('-').map(Number);
64
+ if (!realDate(parts2[0], parts2[1], parts2[2]))
65
+ throw new BillPolicyError('POLICY_BAD_TIME', field + ' 非真实日期');
66
+ return s;
67
+ }
68
+ export function normalizeMonth(m, field = 'month') {
69
+ if (typeof m !== 'string' || !MONTH_RE.test(m.trim())) {
70
+ throw new BillPolicyError('POLICY_BAD_TIME', field + ' 格式非法');
71
+ }
72
+ return m.trim();
73
+ }
74
+ /** 查询某天的入参:不给/给空=今天(UTC 日);给了就归一(`YYYY-MM-DD` 三种写法都认)。 */
75
+ export function resolveQueryDate(params) {
76
+ if (params.date === undefined || params.date === null || params.date === '') {
77
+ return new Date().toISOString().slice(0, 10);
78
+ }
79
+ if (typeof params.date !== 'string')
80
+ throw new BillPolicyError('POLICY_BAD_TIME', 'date 须为字符串');
81
+ return normalizeDate(params.date);
82
+ }
83
+ /** 区间的入参:`start`/`end` 同给;缺一即缺槽位阻断,起点晚于终点阻断。 */
84
+ export function resolveRange(params) {
85
+ if (params.start === undefined || params.end === undefined) {
86
+ throw new BillPolicyError('POLICY_MISSING_SLOT', '缺槽位 start/end(期望 YYYY-MM-DD)');
87
+ }
88
+ const start = normalizeDate(params.start, 'start');
89
+ const end = normalizeDate(params.end, 'end');
90
+ if (start > end)
91
+ throw new BillPolicyError('POLICY_BAD_INPUT', 'start 不得晚于 end:' + start + '~' + end);
92
+ return { start, end };
93
+ }
94
+ /* ── 时间窗口口径(**唯一定义地**,查询域与三个分析命令共用)─────────────────────
95
+ * 这三件原来住在 `src/cli/cmd_read.ts` 的文件级函数里:查询域搬迁(#411)时被两个去处同时需要——
96
+ * 查询的「查周/查月/查昨天」与分析的「看月度/看年度/看对比」——故按口径层的位置摆正;
97
+ * #689 第三批随 `policy/` 拆散落到本件(原来的出口 `src/policy/index.ts` 已删)。 */
98
+ /** 某个月的起止日(`YYYY-MM` → 该月 1 号到月末)。 */
99
+ export function monthRange(month) {
100
+ const [y, m] = month.split('-').map(Number);
101
+ const last = new Date(y, m, 0).getDate();
102
+ const dd = String(last).padStart(2, '0');
103
+ return { start: month + '-01', end: month + '-' + dd };
104
+ }
105
+ /** 昨天(本地日期串 `YYYY-MM-DD`)。 */
106
+ export function yesterdayStr() {
107
+ const d = new Date();
108
+ d.setDate(d.getDate() - 1);
109
+ return d.toISOString().slice(0, 10);
110
+ }
111
+ /** 本周(周一为第一天)的起止日。 */
112
+ export function weekRange() {
113
+ const now = new Date();
114
+ const day = (now.getDay() + 6) % 7;
115
+ const mon = new Date(now);
116
+ mon.setDate(now.getDate() - day);
117
+ const sun = new Date(mon);
118
+ sun.setDate(mon.getDate() + 6);
119
+ return { start: mon.toISOString().slice(0, 10), end: sun.toISOString().slice(0, 10) };
120
+ }
121
+ //# sourceMappingURL=dateRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateRange.js","sourceRoot":"","sources":["../../src/shared/dateRange.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,19 @@ interface DocPageInput {
11
11
  /** 已组合好的区块 HTML。 */
12
12
  readonly content: string;
13
13
  }
14
- /** 整页装配:区块 HTML + 标题三件套 → 完整文档。 */
14
+ /** 退出口单钮独占整行(t410 终审 n20)——**#733 起已撤,本段整体删掉,理由是它成了死 CSS**。
15
+ *
16
+ * t410 当时落这条:`copyArea` 的退出口恒只有一颗红钮,而公共层 `.ilife-action-row` 恒两列,
17
+ * 单钮只占半格(390 下实测 175px),故用 `:has([data-action-id="ilife-exit-undo"])` 把它收成单列。
18
+ * #733 把退出口那颗**点了没反应的红钮**换成一枚非交互的 danger 标记(`copyArea.undoExit` 的注释里有完整推导)⇒
19
+ * `ilife-exit-undo` 这个动作号在产物里**一次都不再出现**,本段的两个选择器一条也命中不到。
20
+ * 留着的代价不是零:它会被 grep 进「页上还有没有这个动作号」这类判据,读的人会以为按钮还在。
21
+ * 一并删掉——**删的是失效的补丁,不是那条版面意图**(那颗钮已经不存在了)。 */
22
+ /** 整页装配:区块 HTML + 标题三件套 → 完整文档(文档壳交公共层骨架件)。
23
+ *
24
+ * `pageUi: true` —— 本包 32 页走公共层页面级配方(#525);配套的样式段由本件拼进 `extraCss`
25
+ * (与卡路里同一条路:配方 CSS 走 `extraCss`,`blocksCss()` 仍走 `sharedCssText`)。
26
+ * 产出物有 `.ilife-page-ui` 根类与 `viewport-fit=cover` 两处可见证据,判据 9 的量测就量这两处。 */
15
27
  export declare function assembleDocPage(input: DocPageInput): string;
16
28
  export {};
17
29
  //# sourceMappingURL=docPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docPage.d.ts","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AAgBA,eAAe;AACf,UAAU,YAAY;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAwFD,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAY3D"}
1
+ {"version":3,"file":"docPage.d.ts","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AA2BA,eAAe;AACf,UAAU,YAAY;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAyED;;;;;;;8CAO8C;AAE9C;;;;2EAI2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAc3D"}
@@ -1,7 +1,7 @@
1
1
  /** 整页装配共用件:区块 HTML 拼成完整文档(最后一公里)。
2
2
  *
3
3
  * 谁在用(两个能力,指名):
4
- * ① `src/record/`——写入域:结果型回执整页与过程型采集页;
4
+ * ① `src/write/`——写入域:结果型回执整页与过程型采集页;
5
5
  * ② `src/query/`——查询域:通用查询列表页。
6
6
  * 两域走的都是 `./pageShell.ts` 那一层,本件是它下面的文档装配层。
7
7
  *
@@ -9,38 +9,48 @@
9
9
  * 内容=`base-paint/blocks` 的区块;文档=`fillTemplate` 包裹(资产**裸文本**传入+由填充器包裹);
10
10
  * `sharedCss = buildStyleSheet().css + blocksCss()`——**`blocksCss()` 必须拼进 `TemplateAssets.sharedCssText`**,
11
11
  * 不得走 `StyleSheetInput.extraCss`(硬口径,见 `docs/skills/skill-bill/t406-base组件总表.md` 第 1.1 节 `blocksCss` 行)。
12
+ * **#725 起「文档壳」那一圈(doctype/head 三槽位序/资产拼接)搬去公共层 `base-paint/docShell` 的
13
+ * `renderDocShell`**——本件只留自己的页头语义(下面五个字段)+本包的三段补丁样式(走 `extraCss`),
14
+ * 拼好正文后交给骨架件;五个字段与 `pageShell.ts` 的调用点一行未动。
12
15
  * 本文件不做取数、不装命令名与领域常量,只按参数拼页;零包内依赖(只 import `base-paint`)。
16
+ *
17
+ * **#728(写入域 32 页视觉整改)在本件改了三件事**:
18
+ * ① 打开公共层的**页面级配方** `pageUi`(#525)——安全区、44px 触摸区、≤640 单列与安全区内距、
19
+ * 页内导航横滑、KPI 两格、iOS 惯性滚动、≥1001 版心与正文列、参数表单桌面两列,全在那一处;
20
+ * ② 补丁样式按「**样式随它的选择器**」重排:目标选择器由公共层产出的规则迁回公共层
21
+ * (口径行的字面色值、越出圆角闭集的 10px),本件只留**本包自己产出**的那几条;
22
+ * ③ 桌面端不再由本件给「一条宽度补丁」——版心与分栏归 `pageUi` 的 ⑧ 段,本件只留一条表格宽度收口。
13
23
  */
14
- import { blocksCss, renderPageShell } from 'base-paint/blocks';
15
- import { buildSharedHelpersJs, buildStyleSheet, fillTemplate } from 'base-paint';
16
- /** 整页模板(裸标记+CONTENT 槽;`wrap ilife-page` 兼容既有 `--html` 断言)。
17
- * 标记不得预包裹:资产由 `fillTemplate` 按 `ASSET_WRAPPERS` 自己包。 */
18
- function docShell(docTitle) {
19
- return '<!DOCTYPE html>\n<html lang="zh-CN">\n<head>\n<meta charset="utf-8">\n'
20
- + '<meta name="viewport" content="width=device-width,initial-scale=1">\n'
21
- + '<title>' + docTitle + '</title>\n<!--SHARED-CSS-->\n</head>\n<body>\n'
22
- + '<div class="wrap ilife-page">\n<!--CONTENT-->\n</div>\n<!--SHARED-HELPERS-->\n'
23
- + '</body>\n</html>';
24
- }
25
- /** 桌面端补丁(t407 根因整改二 D1:内容列用满宽+卡片网格换大格,只改呈现)。
24
+ import { pageUiCss } from 'base-paint';
25
+ import { renderPageShell } from 'base-paint/blocks';
26
+ import { renderDocShell } from 'base-paint/docShell';
27
+ /** 桌面端补丁(t407 根因整改二 D1;t728 收窄)。
28
+ *
29
+ * t728 为什么收窄到只剩一条:改前本段还写着「内容列放宽到 1120px」与「卡片网格换大格」,
30
+ * 那是**桌面端只有一条宽度补丁、没有版式**的来源(#728 诊断 R5:1200 以下没有专门版式;
31
+ * 1120 的内容列里仍是单列长条,右侧一片空白)。现在版心(1280)与正文列(880)+栅格+
32
+ * 宽屏表单两列都由公共层配方 `pageUi` 的 ⑧/⑪ 段出,本包不再各写一条宽度数字。
26
33
  *
27
- * 为什么落在本件:公共层样式(`base-paint`)不许动,本页 body 后也不加样式块
28
- * (机审「本页样式块/内联样式」两列要保持 0);唯一的落点就是本件拼 `sharedCssText`
29
- * 的这一处——32 份产物走同一条代码路径,head 样式仍 32/32 同一份。
30
- * 只在 `@media (min-width:1200px)` 里生效:手机端(`≤640px` 两列那档)一行不动,
31
- * 复量不得回退(见证据件)。 */
34
+ * 唯一留下的一条:公共层 `.ilife-block-data-table` 锁着 `max-width:680px` 居中,880 正文列下
35
+ * 右约 100px 留白(t403 视觉验收 D1 的同一处);那个选择器由公共层产出、但**只在本包这两域**
36
+ * 需要放开(公共层自己在别的调用点仍要 680 的窄表),故按「样式随它的选择器」的例外档留在这里,
37
+ * 并且**只写选择器与属性、零字面色值、零新断点**(1200 是仓内既有值)。 */
32
38
  const DESKTOP_CSS = [
33
- '/* t407-D1:桌面端内容列与卡片网格(只 1200px 以上生效,手机端不动) */',
39
+ '/* t728:桌面端表格用满正文列(只 1200px 以上生效,手机端不动) */',
34
40
  '@media (min-width:1200px) {',
35
- ' .ilife-block-page-shell { max-width: 1120px; }',
36
- ' .ilife-block-page-shell .ilife-block-kpi-card-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }',
37
- /* t403-P1:桌面端数据表与内容列同宽(只 1200px 以上生效,手机端不动)。
38
- * 为什么落在本件:公共层 `base-paint` 的 `.ilife-block-data-table` 锁 `max-width:680px` 居中,
39
- * 1120 版心下右约 40% 留白、密集页被迫折行(t403 视觉验收 D1);base 包只建议不动,唯一的落点
40
- * 就是本件拼 `sharedCssText` 的这一处(与上面 D1 同一条路)。查询域列表/详情与写入域回执
41
- * 同走本件,两域的表同宽;`≤640px` 行卡化那档一行不动。 */
42
41
  ' .ilife-block-page-shell .ilife-block-data-table { max-width: none; }',
43
42
  '}',
43
+ '/* t728 逐页审计实测:公共层配方 ⑧ 的「宽件满铺」那条写的是',
44
+ ' `.ilife-block-page-shell-body > :where(读数卡网格/表/图/…){ grid-column: 1 / -1 }`,',
45
+ ' 而本包的 DOM 是 `page-shell-body > section.ilife-write > section#sec-kpi > div.读数卡网格`',
46
+ ' ——宽件隔着 `section.ilife-write` 这一层,成了**孙级**,`>` 一个都匹配不到 ⇒',
47
+ ' 全部落回「中间 880 列」,1280 档两翼逐点扫描非背景像素 0 行(内容墨迹最外沿 x174–1105)。',
48
+ ' 修法:让这层纯分组的包裹节从布局里退场(`display: contents`),宽件重新成为栅格项。',
49
+ ' 它挂在**本包产出的选择器**上(`.ilife-write` 由 `src/shared/writeParts.ts` 出),',
50
+ ' 所以按「样式随它的选择器」住本件,公共层不认这个类名。 */',
51
+ '@media (min-width: 1001px) {',
52
+ ' .ilife-block-page-shell-body > .ilife-write { display: contents; }',
53
+ '}',
44
54
  ].join('\n');
45
55
  /** 手机端黑底说明块补丁(t407 第 3 轮返工 B;与上面 D1 同一处、同一条路)。
46
56
  *
@@ -49,63 +59,65 @@ const DESKTOP_CSS = [
49
59
  * ① 两栏不等高——标题折了行、胶囊只有一行,整条横幅一边高一边矮(评审判「栏高不齐把整页拖重」);
50
60
  * ② 行距偏紧——标题行贴着下面那几行说明,只隔 2px。
51
61
  * 只动呈现:两栏拉到同高(`stretch` + 胶囊内的字居中对齐)、标题与说明的行距统一到 1.5 以上、
52
- * 标题行与说明之间留 6px。文字、块序、复制载荷一处不动;公共层样式仍不许动,落点仍只在本件。 */
62
+ * 标题行与说明之间留 6px。文字、块序、复制载荷一处不动。
63
+ * t728:圆角从 `10px` 收到**闭集里的 `999px`**(`{8,14,20,999}` 之外的值是 R4 那类「同一语义多名值」;
64
+ * 这是一枚标签胶囊,999 与全仓胶囊同一档)。 */
53
65
  const TOAST_CSS = [
54
66
  '/* t407-r3 B:黑底说明块(.ilife-toast)两栏等高+行距 */',
55
67
  '.ilife-toast { line-height: 1.5; }',
56
68
  '.ilife-toast-title-row { flex-wrap: nowrap; align-items: stretch; margin-bottom: 6px; }',
57
69
  '.ilife-toast-title-row > .ilife-toast-title { flex: 1 1 auto; min-width: 0; margin-bottom: 0; line-height: 1.5; }',
58
- '.ilife-toast-title-row > .ilife-toast-chip { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; }',
70
+ '.ilife-toast-title-row > .ilife-toast-chip { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }',
59
71
  '.ilife-toast-lines { line-height: 1.6; }',
60
72
  ].join('\n');
61
73
  /** 查询详情移动版式(t403-P2:只 640px 以下生效,桌面端不动)。
62
74
  *
63
75
  * 为什么落在本件:详情字段表(字段/值两列)在窄屏行卡化时会逐行重复表头标签
64
76
  * (t403 视觉验收 D2);`renderDataTable` 的 `data-label` 恒取列头、无逐行标签选项,
65
- * base 包只建议不动;本页 body 后也不加样式块(机审「本页样式块/内联样式」两列要保持 0),
66
- * 唯一的落点就是本件拼 `sharedCssText` 的这一处(与上面 D1/TOAST 同一条路)。
77
+ * 唯一的落点就是本件交 `extraCss` 的这一处(与上面 DESKTOP/TOAST 同一条路)。
67
78
  * 桌面端(≥641px)只见表格、移动端(≤640px)只见键值列表——两者由 `display` 切换,
68
- * 每端恰出一套(读屏器同 CSS 一起切,不存在两套同读);打印走桌面那一套。 */
79
+ * 每端恰出一套(读屏器同 CSS 一起切,不存在两套同读);打印走桌面那一套。
80
+ * t728:分隔线由字面色值 `rgba(210, 210, 215, .6)` 换成 token `var(--line)`——
81
+ * 判据 1 改口径后要求「补丁零字面色值」;同一个值在公共层已有一处定义(`LINE_RGB`),
82
+ * 本包不再抄第二份。 */
69
83
  const KV_CSS = [
70
84
  '/* t403-P2:详情键值列表(桌面藏,移动端替表格) */',
71
85
  '.ilife-query-kv-list { display: none; }',
72
86
  '@media (max-width:640px) {',
73
87
  ' .ilife-query-kv-table { display: none; }',
74
88
  ' .ilife-query-kv-list { display: block; margin: 16px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }',
75
- ' .ilife-query-kv-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 2px 10px; padding: 8px 12px; border-top: 1px solid rgba(210, 210, 215, .6); }',
89
+ ' .ilife-query-kv-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 2px 10px; padding: 8px 12px; border-top: 1px solid var(--line); }',
76
90
  ' .ilife-query-kv-list > div:first-child { border-top: 0; }',
77
91
  ' .ilife-query-kv-list dt { flex: none; color: var(--fg3); font-size: 11.5px; font-weight: 600; }',
78
92
  ' .ilife-query-kv-list dd { margin: 0; color: var(--fg); font-size: 12px; text-align: right; overflow-wrap: anywhere; }',
79
93
  '}',
80
94
  ].join('\n');
81
- /** 退出口单钮独占整行(t410 终审 n20:撤销页「撤销这一笔」在 390 下实测 175px 半宽)。
95
+ /** 退出口单钮独占整行(t410 终审 n20)——**#733 起已撤,本段整体删掉,理由是它成了死 CSS**。
82
96
  *
83
- * 根因在公共层(`base-render` 的 `.ilife-action-row` 恒两列,单钮只占半格),本包不许动公共层
84
- * (#567 在途),落点只能是本件拼 `sharedCssText` 的这一处(与上面 D1/TOAST/KV 同一条路)。
85
- * 只收退出口那一格(`copyArea.ts` 的 `undoExit`,动作号 `ilife-exit-undo`):该格恒只有一颗红钮,
86
- * 把它所在行的列改成单列;页上别的动作行(两颗复制按钮平分的那种)一行不动。桌面端同形
87
- * (危险动作独占一行,本就是层级所需)。`:has` 不支持时回退到半宽,不比改前差。 */
88
- const EXIT_CSS = [
89
- '/* t410:退出口单钮独占整行(只收 ilife-exit-undo 这一格) */',
90
- '.ilife-block-copy-block:has([data-action-id="ilife-exit-undo"]) .ilife-action-row {',
91
- ' grid-template-columns: 1fr;',
92
- '}',
93
- '.ilife-block-copy-block:has([data-action-id="ilife-exit-undo"]) .ilife-action-btn {',
94
- ' width: 100%;',
95
- '}',
96
- ].join('\n');
97
- /** 整页装配:区块 HTML + 标题三件套 → 完整文档。 */
97
+ * t410 当时落这条:`copyArea` 的退出口恒只有一颗红钮,而公共层 `.ilife-action-row` 恒两列,
98
+ * 单钮只占半格(390 下实测 175px),故用 `:has([data-action-id="ilife-exit-undo"])` 把它收成单列。
99
+ * #733 把退出口那颗**点了没反应的红钮**换成一枚非交互的 danger 标记(`copyArea.undoExit` 的注释里有完整推导)⇒
100
+ * `ilife-exit-undo` 这个动作号在产物里**一次都不再出现**,本段的两个选择器一条也命中不到。
101
+ * 留着的代价不是零:它会被 grep 进「页上还有没有这个动作号」这类判据,读的人会以为按钮还在。
102
+ * 一并删掉——**删的是失效的补丁,不是那条版面意图**(那颗钮已经不存在了)。 */
103
+ /** 整页装配:区块 HTML + 标题三件套 → 完整文档(文档壳交公共层骨架件)。
104
+ *
105
+ * `pageUi: true` —— 本包 32 页走公共层页面级配方(#525);配套的样式段由本件拼进 `extraCss`
106
+ * (与卡路里同一条路:配方 CSS 走 `extraCss`,`blocksCss()` 仍走 `sharedCssText`)。
107
+ * 产出物有 `.ilife-page-ui` 根类与 `viewport-fit=cover` 两处可见证据,判据 9 的量测就量这两处。 */
98
108
  export function assembleDocPage(input) {
99
- const assets = {
100
- sharedCssText: buildStyleSheet().css + '\n' + blocksCss() + '\n' + DESKTOP_CSS + '\n' + TOAST_CSS + '\n' + KV_CSS + '\n' + EXIT_CSS,
101
- sharedHelpersJs: buildSharedHelpersJs(),
102
- };
103
109
  const body = renderPageShell({
104
110
  title: input.title,
105
111
  ...(input.eyebrow ? { eyebrow: input.eyebrow } : {}),
106
112
  ...(input.subtitle ? { subtitle: input.subtitle } : {}),
107
113
  content: input.content,
108
114
  });
109
- return fillTemplate({ template: docShell(input.docTitle), assets, content: body }).html;
115
+ return renderDocShell({
116
+ docTitle: input.docTitle,
117
+ bodyHtml: body,
118
+ extraCss: [DESKTOP_CSS, TOAST_CSS, KV_CSS, pageUiCss()].join('\n'),
119
+ doctypeCase: 'upper',
120
+ pageUi: true,
121
+ });
110
122
  }
111
123
  //# sourceMappingURL=docPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docPage.js","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBjF;yDACyD;AACzD,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,wEAAwE;UAC3E,uEAAuE;UACvE,SAAS,GAAG,QAAQ,GAAG,gDAAgD;UACvE,gFAAgF;UAChF,kBAAkB,CAAC;AACzB,CAAC;AAED;;;;;;mBAMmB;AACnB,MAAM,WAAW,GAAG;IAClB,gDAAgD;IAChD,6BAA6B;IAC7B,kDAAkD;IAClD,uHAAuH;IACvH;;;;0CAIsC;IACtC,wEAAwE;IACxE,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;sDAOsD;AACtD,MAAM,SAAS,GAAG;IAChB,4CAA4C;IAC5C,oCAAoC;IACpC,yFAAyF;IACzF,mHAAmH;IACnH,yJAAyJ;IACzJ,0CAA0C;CAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;6CAO6C;AAC7C,MAAM,MAAM,GAAG;IACb,kCAAkC;IAClC,yCAAyC;IACzC,4BAA4B;IAC5B,4CAA4C;IAC5C,yIAAyI;IACzI,yLAAyL;IACzL,6DAA6D;IAC7D,mGAAmG;IACnG,yHAAyH;IACzH,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;iDAMiD;AACjD,MAAM,QAAQ,GAAG;IACf,8CAA8C;IAC9C,qFAAqF;IACrF,+BAA+B;IAC/B,GAAG;IACH,qFAAqF;IACrF,gBAAgB;IAChB,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,mCAAmC;AACnC,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,eAAe,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ;QACnI,eAAe,EAAE,oBAAoB,EAAE;KACxC,CAAC;IACF,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"docPage.js","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgBrD;;;;;;;;;;8CAU8C;AAC9C,MAAM,WAAW,GAAG;IAClB,4CAA4C;IAC5C,6BAA6B;IAC7B,wEAAwE;IACxE,GAAG;IACH,qCAAqC;IACrC,iFAAiF;IACjF,qFAAqF;IACrF,4DAA4D;IAC5D,6DAA6D;IAC7D,wDAAwD;IACxD,qEAAqE;IACrE,mCAAmC;IACnC,8BAA8B;IAC9B,sEAAsE;IACtE,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;8BAS8B;AAC9B,MAAM,SAAS,GAAG;IAChB,4CAA4C;IAC5C,oCAAoC;IACpC,yFAAyF;IACzF,mHAAmH;IACnH,0JAA0J;IAC1J,0CAA0C;CAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;gBASgB;AAChB,MAAM,MAAM,GAAG;IACb,kCAAkC;IAClC,yCAAyC;IACzC,4BAA4B;IAC5B,4CAA4C;IAC5C,yIAAyI;IACzI,6KAA6K;IAC7K,6DAA6D;IAC7D,mGAAmG;IACnG,yHAAyH;IACzH,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;8CAO8C;AAE9C;;;;2EAI2E;AAC3E,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** 共用位·收支口径(KPI)(#689 结构搬迁第三批:从 `src/render/views.ts` 拆来)。
2
+ * KPI(转账除外):count/expense/income/net 全 number。
3
+ *
4
+ * `isTransfer`(转账不入收支统计:账本 `转账` 或分类 `转账/*`)**必须与本件的 `calcKpi` 同住一件**——
5
+ * 它是这条口径的唯一判地,`calcKpi`/`calcCategories`/`buildOverview`/`buildTrend` 四处都走它;
6
+ * 各写一份「算不算转账」就是两套口径(#683 §3.9)。
7
+ *
8
+ * 谁在用(指名):
9
+ * · `src/query/read.ts`——四条查询命令的 KPI 胶囊与查分类的占比(`calcKpi`);
10
+ * · `src/analysis/views.ts`——分类聚合/总览/对比/趋势(`calcKpi` + `isTransfer`)。
11
+ * 两域在用它 ⇒ 住共用位(归属律 2)。 */
12
+ import type { BillRow } from '../fetch/db.js';
13
+ /** 这一行算不算转账(转账是同一笔钱换口袋,不入收支统计,余额另计)。 */
14
+ export declare function isTransfer(r: BillRow): boolean;
15
+ export declare function calcKpi(records: BillRow[]): {
16
+ count: number;
17
+ expense: number;
18
+ income: number;
19
+ net: number;
20
+ };
21
+ //# sourceMappingURL=kpi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpi.d.ts","sourceRoot":"","sources":["../../src/shared/kpi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;2BAU2B;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE9C;AAGD,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAU3G"}
@@ -0,0 +1,20 @@
1
+ /** 这一行算不算转账(转账是同一笔钱换口袋,不入收支统计,余额另计)。 */
2
+ export function isTransfer(r) {
3
+ return r.ledger === '转账' || r.category.startsWith('转账/');
4
+ }
5
+ // KPI(转账除外):count/expense/income/net 全 number。
6
+ export function calcKpi(records) {
7
+ const real = records.filter((r) => !isTransfer(r));
8
+ let expense = 0;
9
+ let income = 0;
10
+ for (const r of real) {
11
+ if (r.amount < 0)
12
+ expense += Math.abs(r.amount);
13
+ else
14
+ income += r.amount;
15
+ }
16
+ expense = Math.round(expense * 100) / 100;
17
+ income = Math.round(income * 100) / 100;
18
+ return { count: real.length, expense, income, net: Math.round((income - expense) * 100) / 100 };
19
+ }
20
+ //# sourceMappingURL=kpi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpi.js","sourceRoot":"","sources":["../../src/shared/kpi.ts"],"names":[],"mappings":"AAaA,wCAAwC;AACxC,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,OAAO,CAAC,OAAkB;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;;YAC3C,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACxC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAClG,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * 整页装配的调用方与复制日志都读它,别处只引用、不另写这几个字面量(同一件事实两处就会走散)。
3
3
  *
4
4
  * 谁在用(两个能力,指名):
5
- * ① `src/record/`——写入域:结果型回执整页与过程型采集页的 envelope 三字段(其中 `key` 过 `sceneKeyOf`)、
5
+ * ① `src/write/`——写入域:结果型回执整页与过程型采集页的 envelope 三字段(其中 `key` 过 `sceneKeyOf`)、
6
6
  * 复制日志版本、页标题前缀;`src/shared/writeParts.ts` 的 `writeSection` 取技能名做 `data-skill`;
7
7
  * ② `src/query/`——查询域:通用查询列表页的同一批取值(envelope 三字段、复制日志版本、页标题前缀)。
8
8
  * 两域的页面内置 envelope 都拿本件的 `sceneKeyOf` 把对外命令名收成场景名(`bill.record.today` → `record.today`),
@@ -15,8 +15,17 @@
15
15
  export declare const DOC_VERSION = "0.1.0";
16
16
  /** 技能名(envelope 的 `skill`,也是 `<section>` 上 `data-skill` 的取值)。 */
17
17
  export declare const DOC_SKILL = "bill";
18
- /** 页面标题前缀(两种页各接一个后缀,如「·写库回执」)。 */
18
+ /** 技能名(对外名;也是文档标题的站点名那一半,拼法见 `docTitleOf`)。 */
19
19
  export declare const DOC_TITLE = "\u997C\u5E72\u8BB0\u8D26";
20
+ /** 文档标题(`<title>` 的文本):`<这一页是什么> - <技能名>`。**本件是唯一拼法**。
21
+ *
22
+ * 为什么不是 `技能名·这一页`(t728 逐页判红的写法):`·` 是**并列分隔符**,按 `#728` 的验收口径
23
+ * (用户逐字要求:「当一个内容需要通过 `;`/`|`/`·` 分割时代表需要进行 UI 上的设计」)
24
+ * 出现在可见文本里即算设计债。而文档标题里的「页名 + 站点名」**不是并列内容**——它就是标题写法
25
+ * 本身(先这一页是什么、再用连字符收站点名),故按标题惯例排,而不是拿并列符去串。
26
+ * 文档标题住 `<head>`、不进正文版面,因此这里只守标题写法,不参与页内版式。
27
+ * 一处定义:页名由调用方给(这一页是什么),站点名取本件的 `DOC_TITLE`;页名空白=只出站点名。 */
28
+ export declare function docTitleOf(what: string): string;
20
29
  /** 页面内置 envelope 的 `key`(=**场景名**,技能内的本地名)。
21
30
  *
22
31
  * 为什么不是对外命令名:公共层的日志第 1 段(`scene`)由 envelope 派生,形如 `{skill}.{key}`
@@ -1 +1 @@
1
- {"version":3,"file":"pageIdentity.d.ts","sourceRoot":"","sources":["../../src/shared/pageIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iEAAiE;AACjE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,kCAAkC;AAClC,eAAO,MAAM,SAAS,6BAAS,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
1
+ {"version":3,"file":"pageIdentity.d.ts","sourceRoot":"","sources":["../../src/shared/pageIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iEAAiE;AACjE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,+CAA+C;AAC/C,eAAO,MAAM,SAAS,6BAAS,CAAC;AAEhC;;;;;;;2DAO2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}