@rubytech/create-maxy-code 0.1.470 → 0.1.472

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 (412) hide show
  1. package/dist/__tests__/google-client-id-env.test.js +68 -0
  2. package/dist/index.js +26 -18
  3. package/dist/port-resolution.js +7 -1
  4. package/package.json +1 -1
  5. package/payload/platform/config/brand.json +1 -1
  6. package/payload/platform/docs/superpowers/plans/2026-07-18-graph-native-ledger.md +807 -0
  7. package/payload/platform/docs/superpowers/specs/2026-07-18-graph-native-ledger-design.md +241 -0
  8. package/payload/platform/lib/ledger-core/dist/ageing.d.ts +14 -0
  9. package/payload/platform/lib/ledger-core/dist/ageing.d.ts.map +1 -0
  10. package/payload/platform/lib/ledger-core/dist/ageing.js +38 -0
  11. package/payload/platform/lib/ledger-core/dist/ageing.js.map +1 -0
  12. package/payload/platform/lib/ledger-core/dist/balance.d.ts +25 -0
  13. package/payload/platform/lib/ledger-core/dist/balance.d.ts.map +1 -0
  14. package/payload/platform/lib/ledger-core/dist/balance.js +38 -0
  15. package/payload/platform/lib/ledger-core/dist/balance.js.map +1 -0
  16. package/payload/platform/lib/ledger-core/dist/index.d.ts +5 -0
  17. package/payload/platform/lib/ledger-core/dist/index.d.ts.map +1 -0
  18. package/payload/platform/lib/ledger-core/dist/index.js +5 -0
  19. package/payload/platform/lib/ledger-core/dist/index.js.map +1 -0
  20. package/payload/platform/lib/ledger-core/dist/money.d.ts +12 -0
  21. package/payload/platform/lib/ledger-core/dist/money.d.ts.map +1 -0
  22. package/payload/platform/lib/ledger-core/dist/money.js +16 -0
  23. package/payload/platform/lib/ledger-core/dist/money.js.map +1 -0
  24. package/payload/platform/lib/ledger-core/dist/reconcile.d.ts +51 -0
  25. package/payload/platform/lib/ledger-core/dist/reconcile.d.ts.map +1 -0
  26. package/payload/platform/lib/ledger-core/dist/reconcile.js +77 -0
  27. package/payload/platform/lib/ledger-core/dist/reconcile.js.map +1 -0
  28. package/payload/platform/lib/ledger-core/package.json +16 -0
  29. package/payload/platform/lib/ledger-core/src/__tests__/ageing.test.ts +42 -0
  30. package/payload/platform/lib/ledger-core/src/__tests__/balance.test.ts +48 -0
  31. package/payload/platform/lib/ledger-core/src/__tests__/reconcile.test.ts +87 -0
  32. package/payload/platform/lib/ledger-core/src/ageing.ts +51 -0
  33. package/payload/platform/lib/ledger-core/src/balance.ts +52 -0
  34. package/payload/platform/lib/ledger-core/src/index.ts +4 -0
  35. package/payload/platform/lib/ledger-core/src/money.ts +17 -0
  36. package/payload/platform/lib/ledger-core/src/reconcile.ts +109 -0
  37. package/payload/platform/lib/ledger-core/tsconfig.json +6 -0
  38. package/payload/platform/neo4j/schema.cypher +16 -0
  39. package/payload/platform/package.json +2 -2
  40. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  41. package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +1 -0
  42. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +98 -2
  43. package/payload/platform/plugins/cloudflare/bin/__tests__/portal-brand-css.test.sh +139 -0
  44. package/payload/platform/plugins/cloudflare/bin/portal-brand-css.mjs +128 -0
  45. package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-enrol.test.ts +1 -1
  46. package/payload/platform/plugins/cloudflare/mcp/__tests__/skill-contract.test.ts +25 -0
  47. package/payload/platform/plugins/cloudflare/mcp/__tests__/template-config.test.ts +55 -3
  48. package/payload/platform/plugins/cloudflare/skills/data-portal/SKILL.md +38 -3
  49. package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/portal.css → portal.css} +13 -2
  50. package/payload/platform/plugins/cloudflare/skills/data-portal/template/wrangler.toml +1 -1
  51. package/payload/platform/plugins/docs/references/admin-ui.md +48 -0
  52. package/payload/platform/plugins/docs/references/internals.md +1 -1
  53. package/payload/platform/plugins/docs/references/ledger.md +43 -0
  54. package/payload/platform/plugins/email/PLUGIN.md +4 -0
  55. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.d.ts +2 -0
  56. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.d.ts.map +1 -0
  57. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.js +196 -0
  58. package/payload/platform/plugins/email/mcp/dist/__tests__/display-truncation.test.js.map +1 -0
  59. package/payload/platform/plugins/email/mcp/dist/__tests__/source-fetch-efficiency.test.js +10 -8
  60. package/payload/platform/plugins/email/mcp/dist/__tests__/source-fetch-efficiency.test.js.map +1 -1
  61. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.d.ts +2 -0
  62. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.d.ts.map +1 -0
  63. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.js +110 -0
  64. package/payload/platform/plugins/email/mcp/dist/__tests__/truncation-tool-output.test.js.map +1 -0
  65. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +22 -0
  66. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  67. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +90 -36
  68. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  69. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts.map +1 -1
  70. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js +6 -2
  71. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js.map +1 -1
  72. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts.map +1 -1
  73. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js +6 -2
  74. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js.map +1 -1
  75. package/payload/platform/plugins/email/skills/email-ingest/SKILL.md +4 -0
  76. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.d.ts +2 -0
  77. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.d.ts.map +1 -0
  78. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js +99 -0
  79. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js.map +1 -0
  80. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.d.ts +2 -0
  81. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.d.ts.map +1 -0
  82. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.js +48 -0
  83. package/payload/platform/plugins/google/mcp/dist/__tests__/calendar-tools.test.js.map +1 -0
  84. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.d.ts +2 -0
  85. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.d.ts.map +1 -0
  86. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.js +25 -0
  87. package/payload/platform/plugins/google/mcp/dist/__tests__/google-client.test.js.map +1 -0
  88. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.d.ts +2 -0
  89. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.d.ts.map +1 -0
  90. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.js +40 -0
  91. package/payload/platform/plugins/google/mcp/dist/__tests__/index-registration.test.js.map +1 -0
  92. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.d.ts +2 -0
  93. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.d.ts.map +1 -0
  94. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.js +35 -0
  95. package/payload/platform/plugins/google/mcp/dist/__tests__/pending-store.test.js.map +1 -0
  96. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.d.ts +2 -0
  97. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.d.ts.map +1 -0
  98. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.js +85 -0
  99. package/payload/platform/plugins/google/mcp/dist/__tests__/token-store.test.js.map +1 -0
  100. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.d.ts +25 -0
  101. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.d.ts.map +1 -0
  102. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.js +87 -0
  103. package/payload/platform/plugins/google/mcp/dist/auth/pending-store.js.map +1 -0
  104. package/payload/platform/plugins/google/mcp/dist/auth/token-store.d.ts +46 -0
  105. package/payload/platform/plugins/google/mcp/dist/auth/token-store.d.ts.map +1 -0
  106. package/payload/platform/plugins/google/mcp/dist/auth/token-store.js +138 -0
  107. package/payload/platform/plugins/google/mcp/dist/auth/token-store.js.map +1 -0
  108. package/payload/platform/plugins/google/mcp/dist/index.d.ts +25 -0
  109. package/payload/platform/plugins/google/mcp/dist/index.d.ts.map +1 -0
  110. package/payload/platform/plugins/google/mcp/dist/index.js +300 -0
  111. package/payload/platform/plugins/google/mcp/dist/index.js.map +1 -0
  112. package/payload/platform/plugins/google/mcp/dist/lib/google-client.d.ts +28 -0
  113. package/payload/platform/plugins/google/mcp/dist/lib/google-client.d.ts.map +1 -0
  114. package/payload/platform/plugins/google/mcp/dist/lib/google-client.js +102 -0
  115. package/payload/platform/plugins/google/mcp/dist/lib/google-client.js.map +1 -0
  116. package/payload/platform/plugins/google/mcp/dist/lib/log.d.ts +3 -0
  117. package/payload/platform/plugins/google/mcp/dist/lib/log.d.ts.map +1 -0
  118. package/payload/platform/plugins/google/mcp/dist/lib/log.js +16 -0
  119. package/payload/platform/plugins/google/mcp/dist/lib/log.js.map +1 -0
  120. package/payload/platform/plugins/google/mcp/dist/tools/account-info.d.ts +12 -0
  121. package/payload/platform/plugins/google/mcp/dist/tools/account-info.d.ts.map +1 -0
  122. package/payload/platform/plugins/google/mcp/dist/tools/account-info.js +23 -0
  123. package/payload/platform/plugins/google/mcp/dist/tools/account-info.js.map +1 -0
  124. package/payload/platform/plugins/google/mcp/dist/tools/account-list.d.ts +12 -0
  125. package/payload/platform/plugins/google/mcp/dist/tools/account-list.d.ts.map +1 -0
  126. package/payload/platform/plugins/google/mcp/dist/tools/account-list.js +9 -0
  127. package/payload/platform/plugins/google/mcp/dist/tools/account-list.js.map +1 -0
  128. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts +59 -0
  129. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts.map +1 -0
  130. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js +126 -0
  131. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js.map +1 -0
  132. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.d.ts +10 -0
  133. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.d.ts.map +1 -0
  134. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.js +9 -0
  135. package/payload/platform/plugins/google/mcp/dist/tools/calendar-cancel.js.map +1 -0
  136. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.d.ts +20 -0
  137. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.d.ts.map +1 -0
  138. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.js +25 -0
  139. package/payload/platform/plugins/google/mcp/dist/tools/calendar-create.js.map +1 -0
  140. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.d.ts +6 -0
  141. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.d.ts.map +1 -0
  142. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.js +7 -0
  143. package/payload/platform/plugins/google/mcp/dist/tools/calendar-event.js.map +1 -0
  144. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.d.ts +14 -0
  145. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.d.ts.map +1 -0
  146. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.js +16 -0
  147. package/payload/platform/plugins/google/mcp/dist/tools/calendar-freebusy.js.map +1 -0
  148. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.d.ts +44 -0
  149. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.d.ts.map +1 -0
  150. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.js +36 -0
  151. package/payload/platform/plugins/google/mcp/dist/tools/calendar-list.js.map +1 -0
  152. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.d.ts +16 -0
  153. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.d.ts.map +1 -0
  154. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.js +29 -0
  155. package/payload/platform/plugins/google/mcp/dist/tools/calendar-respond.js.map +1 -0
  156. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.d.ts +16 -0
  157. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.d.ts.map +1 -0
  158. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.js +32 -0
  159. package/payload/platform/plugins/google/mcp/dist/tools/calendar-update.js.map +1 -0
  160. package/payload/platform/plugins/google/references/auth.md +35 -0
  161. package/payload/platform/plugins/ledger/.claude-plugin/plugin.json +21 -0
  162. package/payload/platform/plugins/ledger/PLUGIN.md +82 -0
  163. package/payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js +193 -0
  164. package/payload/platform/plugins/ledger/lib/mcp-spawn-tee/package.json +3 -0
  165. package/payload/platform/plugins/ledger/mcp/dist/index.d.ts +2 -0
  166. package/payload/platform/plugins/ledger/mcp/dist/index.d.ts.map +1 -0
  167. package/payload/platform/plugins/ledger/mcp/dist/index.js +168 -0
  168. package/payload/platform/plugins/ledger/mcp/dist/index.js.map +1 -0
  169. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.d.ts +4 -0
  170. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.d.ts.map +1 -0
  171. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.js +0 -0
  172. package/payload/platform/plugins/ledger/mcp/dist/lib/ids.js.map +1 -0
  173. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.d.ts +5 -0
  174. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.d.ts.map +1 -0
  175. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.js +40 -0
  176. package/payload/platform/plugins/ledger/mcp/dist/lib/neo4j.js.map +1 -0
  177. package/payload/platform/plugins/ledger/mcp/dist/lib/read.d.ts +29 -0
  178. package/payload/platform/plugins/ledger/mcp/dist/lib/read.d.ts.map +1 -0
  179. package/payload/platform/plugins/ledger/mcp/dist/lib/read.js +138 -0
  180. package/payload/platform/plugins/ledger/mcp/dist/lib/read.js.map +1 -0
  181. package/payload/platform/plugins/ledger/mcp/dist/lib/types.d.ts +47 -0
  182. package/payload/platform/plugins/ledger/mcp/dist/lib/types.d.ts.map +1 -0
  183. package/payload/platform/plugins/ledger/mcp/dist/lib/types.js +14 -0
  184. package/payload/platform/plugins/ledger/mcp/dist/lib/types.js.map +1 -0
  185. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.d.ts +18 -0
  186. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.d.ts.map +1 -0
  187. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.js +23 -0
  188. package/payload/platform/plugins/ledger/mcp/dist/tools/balance.js.map +1 -0
  189. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.d.ts +26 -0
  190. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.d.ts.map +1 -0
  191. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.js +33 -0
  192. package/payload/platform/plugins/ledger/mcp/dist/tools/cash-record.js.map +1 -0
  193. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.d.ts +27 -0
  194. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.d.ts.map +1 -0
  195. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.js +40 -0
  196. package/payload/platform/plugins/ledger/mcp/dist/tools/invoice-record.js.map +1 -0
  197. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.d.ts +46 -0
  198. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.d.ts.map +1 -0
  199. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.js +68 -0
  200. package/payload/platform/plugins/ledger/mcp/dist/tools/payment-record.js.map +1 -0
  201. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.d.ts +20 -0
  202. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.d.ts.map +1 -0
  203. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.js +30 -0
  204. package/payload/platform/plugins/ledger/mcp/dist/tools/reconcile.js.map +1 -0
  205. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.d.ts +26 -0
  206. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.d.ts.map +1 -0
  207. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.js +35 -0
  208. package/payload/platform/plugins/ledger/mcp/dist/tools/statement.js.map +1 -0
  209. package/payload/platform/plugins/ledger/mcp/package.json +21 -0
  210. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.d.ts +2 -0
  211. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.d.ts.map +1 -0
  212. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.js +81 -0
  213. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/ledger-vertical-coverage.test.js.map +1 -0
  214. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +9 -7
  215. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts.map +1 -1
  216. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +10 -8
  217. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
  218. package/payload/platform/plugins/memory/references/schema-base.md +22 -0
  219. package/payload/platform/plugins/memory/references/schema-construction.md +0 -18
  220. package/payload/platform/plugins/scheduling/PLUGIN.md +20 -0
  221. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.d.ts.map +1 -1
  222. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.js +11 -2
  223. package/payload/platform/plugins/scheduling/mcp/dist/lib/meeting-write.js.map +1 -1
  224. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +1 -1
  225. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  226. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +3 -3
  227. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -1
  228. package/payload/platform/services/claude-session-manager/dist/activity-rows.d.ts +138 -0
  229. package/payload/platform/services/claude-session-manager/dist/activity-rows.d.ts.map +1 -0
  230. package/payload/platform/services/claude-session-manager/dist/activity-rows.js +268 -0
  231. package/payload/platform/services/claude-session-manager/dist/activity-rows.js.map +1 -0
  232. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  233. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +8 -0
  234. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  235. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +6 -0
  236. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  237. package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -0
  238. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  239. package/payload/platform/services/claude-session-manager/dist/index.js +10 -1
  240. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  241. package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts +80 -6
  242. package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts.map +1 -1
  243. package/payload/platform/services/claude-session-manager/dist/pty-census.js +96 -20
  244. package/payload/platform/services/claude-session-manager/dist/pty-census.js.map +1 -1
  245. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.d.ts.map +1 -1
  246. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js +5 -1
  247. package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js.map +1 -1
  248. package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
  249. package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
  250. package/payload/server/{chunk-JRIBGO45.js → chunk-BSTIQX52.js} +44 -0
  251. package/payload/server/maxy-edge.js +1 -1
  252. package/payload/server/public/activity.html +19 -0
  253. package/payload/server/public/assets/{AdminLoginScreens-Bed8SDxY.js → AdminLoginScreens-BfamGqS7.js} +1 -1
  254. package/payload/server/public/assets/AdminShell-5nHOAzXO.js +2 -0
  255. package/payload/server/public/assets/{Checkbox-BC_KSbpS.js → Checkbox-CD6aHwac.js} +1 -1
  256. package/payload/server/public/assets/activity-Dj2nJzPw.js +1 -0
  257. package/payload/server/public/assets/{admin-DfWgJVI3.js → admin-Cpcw_YE-.js} +1 -1
  258. package/payload/server/public/assets/{arc-qKfXIt8v.js → arc-BrHWN2Kr.js} +1 -1
  259. package/payload/server/public/assets/architecture-YZFGNWBL-CZQzGRSM.js +1 -0
  260. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DkVrGn7G.js → architectureDiagram-Q4EWVU46-Clt9NOr0.js} +1 -1
  261. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DqavswGH.js → blockDiagram-DXYQGD6D-BOe_jmXi.js} +1 -1
  262. package/payload/server/public/assets/{browser-C0vkv-hH.js → browser-0znOwk1W.js} +1 -1
  263. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-B7fyKiXe.js → c4Diagram-AHTNJAMY-B64FaKMV.js} +1 -1
  264. package/payload/server/public/assets/calendar-CykigHdg.js +1 -0
  265. package/payload/server/public/assets/channel-zDUAN9Ks.js +1 -0
  266. package/payload/server/public/assets/chat-DIOJZ411.js +1 -0
  267. package/payload/server/public/assets/chevron-left-Cq7UvOI0.js +1 -0
  268. package/payload/server/public/assets/{chunk-2KRD3SAO-DsgMtGkv.js → chunk-2KRD3SAO-BGAUfWvM.js} +1 -1
  269. package/payload/server/public/assets/{chunk-336JU56O-CkdISfNt.js → chunk-336JU56O-PFi6uQZ0.js} +2 -2
  270. package/payload/server/public/assets/chunk-426QAEUC-iJnqNRug.js +1 -0
  271. package/payload/server/public/assets/{chunk-4BX2VUAB-CYpiF2bl.js → chunk-4BX2VUAB-CkxXXCiF.js} +1 -1
  272. package/payload/server/public/assets/{chunk-4TB4RGXK-CWyc_F7v.js → chunk-4TB4RGXK-B-7tN4IA.js} +1 -1
  273. package/payload/server/public/assets/{chunk-55IACEB6-BbzKMw2Z.js → chunk-55IACEB6-CBkNmqrt.js} +1 -1
  274. package/payload/server/public/assets/{chunk-5FUZZQ4R-u19Nai9e.js → chunk-5FUZZQ4R-wa9ujn7i.js} +1 -1
  275. package/payload/server/public/assets/{chunk-5PVQY5BW-Ba8by6Uy.js → chunk-5PVQY5BW-DIk-xBaE.js} +1 -1
  276. package/payload/server/public/assets/{chunk-67CJDMHE-BwUuxtyb.js → chunk-67CJDMHE-BbMV1lgW.js} +1 -1
  277. package/payload/server/public/assets/{chunk-7N4EOEYR-BRH9iM9L.js → chunk-7N4EOEYR-C49Mv-nQ.js} +1 -1
  278. package/payload/server/public/assets/{chunk-AA7GKIK3-BGoztgLL.js → chunk-AA7GKIK3-Dy_pJOp_.js} +1 -1
  279. package/payload/server/public/assets/{chunk-BSJP7CBP-C5GDAZTl.js → chunk-BSJP7CBP-Ce-OmPqn.js} +1 -1
  280. package/payload/server/public/assets/{chunk-CIAEETIT-ChY32VPS.js → chunk-CIAEETIT-tnjq-APC.js} +1 -1
  281. package/payload/server/public/assets/{chunk-EDXVE4YY-CPSD3p6p.js → chunk-EDXVE4YY-Bvv_deZ2.js} +1 -1
  282. package/payload/server/public/assets/{chunk-ENJZ2VHE-D1oL-iUr.js → chunk-ENJZ2VHE-CmxCPKyU.js} +1 -1
  283. package/payload/server/public/assets/{chunk-FMBD7UC4-CPvYEr54.js → chunk-FMBD7UC4-Top6y08S.js} +1 -1
  284. package/payload/server/public/assets/{chunk-FOC6F5B3-9Yyj7Vbz.js → chunk-FOC6F5B3-B9LPNCUS.js} +1 -1
  285. package/payload/server/public/assets/{chunk-ICPOFSXX-BaYgh8FR.js → chunk-ICPOFSXX-Bi-_c351.js} +2 -2
  286. package/payload/server/public/assets/{chunk-K5T4RW27-5ucpeRvm.js → chunk-K5T4RW27-DAnRM04h.js} +1 -1
  287. package/payload/server/public/assets/{chunk-KGLVRYIC-DW-FHk7T.js → chunk-KGLVRYIC-C0QYcbLe.js} +1 -1
  288. package/payload/server/public/assets/{chunk-LIHQZDEY-CGGVfAyG.js → chunk-LIHQZDEY-BjvA5ykt.js} +1 -1
  289. package/payload/server/public/assets/{chunk-ORNJ4GCN-Bv8EUa5d.js → chunk-ORNJ4GCN-Cs46Gj7z.js} +1 -1
  290. package/payload/server/public/assets/{chunk-OYMX7WX6-C1mXJnyw.js → chunk-OYMX7WX6-BBpimab5.js} +1 -1
  291. package/payload/server/public/assets/chunk-QZHKN3VN-Qlc2PFAj.js +1 -0
  292. package/payload/server/public/assets/{chunk-U2HBQHQK-PwSQz6EP.js → chunk-U2HBQHQK-CQUSBHoK.js} +1 -1
  293. package/payload/server/public/assets/{chunk-X2U36JSP--NPHTBlU.js → chunk-X2U36JSP-Dm8TevG0.js} +1 -1
  294. package/payload/server/public/assets/{chunk-XPW4576I-Bbc7Da32.js → chunk-XPW4576I-B10QuxYb.js} +1 -1
  295. package/payload/server/public/assets/{chunk-YZCP3GAM-D-9v8e--.js → chunk-YZCP3GAM-vaGsu4Wk.js} +1 -1
  296. package/payload/server/public/assets/{chunk-ZZ45TVLE-CMPg670Q.js → chunk-ZZ45TVLE-D1Qi22bL.js} +1 -1
  297. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CFsKL52p.js +1 -0
  298. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BWBUUCiO.js +1 -0
  299. package/payload/server/public/assets/clone-h5XhkDUL.js +1 -0
  300. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-NVSb1Bhy.js → cose-bilkent-S5V4N54A-CRDvLRXs.js} +1 -1
  301. package/payload/server/public/assets/{dagre-QfLcO-1j.js → dagre-CEmqJTt3.js} +1 -1
  302. package/payload/server/public/assets/{dagre-KV5264BT-V2Ai1DFl.js → dagre-KV5264BT-LXMTo7Fp.js} +1 -1
  303. package/payload/server/public/assets/data-lHgqlhmu.js +1 -0
  304. package/payload/server/public/assets/{diagram-5BDNPKRD-Caw21693.js → diagram-5BDNPKRD-zyis6nPt.js} +1 -1
  305. package/payload/server/public/assets/{diagram-G4DWMVQ6-CgwVkT2q.js → diagram-G4DWMVQ6-BiU0XAAD.js} +1 -1
  306. package/payload/server/public/assets/{diagram-MMDJMWI5-DFUrLZhs.js → diagram-MMDJMWI5-rGFiz1SX.js} +1 -1
  307. package/payload/server/public/assets/{diagram-TYMM5635-CEEiEuZJ.js → diagram-TYMM5635-B0wak1ZJ.js} +1 -1
  308. package/payload/server/public/assets/{dist-Cvgxm7qv.js → dist-B2N0v8hZ.js} +1 -1
  309. package/payload/server/public/assets/{erDiagram-SMLLAGMA-CG10NrT3.js → erDiagram-SMLLAGMA-D8AUxLyX.js} +1 -1
  310. package/payload/server/public/assets/{flatten-DAO0sfCM.js → flatten-naJ5PJ4f.js} +1 -1
  311. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BqkV9Okv.js → flowDiagram-DWJPFMVM-BtdUf68b.js} +1 -1
  312. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-DRiCDQF6.js → ganttDiagram-T4ZO3ILL-C-lkzDmf.js} +1 -1
  313. package/payload/server/public/assets/gitGraph-7Q5UKJZL-CBZPQJLj.js +1 -0
  314. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BZV2voyy.js → gitGraphDiagram-UUTBAWPF-DRUKumq2.js} +1 -1
  315. package/payload/server/public/assets/{graph-BZiudUGr.js → graph-JV5_xF3V.js} +3 -3
  316. package/payload/server/public/assets/{graph-labels-BzmmJwCR.js → graph-labels-DPYORjBH.js} +1 -1
  317. package/payload/server/public/assets/{graphlib-DGPThX8M.js → graphlib-zRsaoFEC.js} +1 -1
  318. package/payload/server/public/assets/info-OMHHGYJF-1vIoX-kP.js +1 -0
  319. package/payload/server/public/assets/infoDiagram-42DDH7IO-KHcXRaan.js +2 -0
  320. package/payload/server/public/assets/{isEmpty-Cb_U81C6.js → isEmpty-Bnpg7b8f.js} +1 -1
  321. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BKsAxSvp.js → ishikawaDiagram-UXIWVN3A-BguMgoR8.js} +1 -1
  322. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CmliuOd-.js → journeyDiagram-VCZTEJTY-CXhyK1n-.js} +1 -1
  323. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-DAlElMb-.js → kanban-definition-6JOO6SKY-C0UCWVx-.js} +1 -1
  324. package/payload/server/public/assets/{line-DKZqLKAC.js → line--uhS9YDE.js} +1 -1
  325. package/payload/server/public/assets/{linear-CbSGdh1x.js → linear-CAOWPodQ.js} +1 -1
  326. package/payload/server/public/assets/{maximize-2-Bhdsv0U-.js → maximize-2-8vKr3h21.js} +1 -1
  327. package/payload/server/public/assets/{mermaid-parser.core-DFvbao9C.js → mermaid-parser.core-D6kPx7vc.js} +2 -2
  328. package/payload/server/public/assets/{mermaid.core-C0vEBxDm.js → mermaid.core-CTd4DS6O.js} +3 -3
  329. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CShASUKd.js → mindmap-definition-QFDTVHPH-_AyvyG8C.js} +1 -1
  330. package/payload/server/public/assets/operator-Liul1QEq.js +1 -0
  331. package/payload/server/public/assets/{ordinal-H0tVmBDP.js → ordinal-Wx4m9zHk.js} +1 -1
  332. package/payload/server/public/assets/packet-4T2RLAQJ-CTU0gCGb.js +1 -0
  333. package/payload/server/public/assets/page-CYRA87CB.js +1 -0
  334. package/payload/server/public/assets/{page-BoPorLg-.js → page-Cg7B1RQx.js} +4 -4
  335. package/payload/server/public/assets/{pdf-render-jAQU0nXt.js → pdf-render-CeX6d2v7.js} +1 -1
  336. package/payload/server/public/assets/pie-ZZUOXDRM-D-EEHxhC.js +1 -0
  337. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CBZHpDAJ.js → pieDiagram-DEJITSTG-6TsUDkkQ.js} +1 -1
  338. package/payload/server/public/assets/{public-DqJk6qgW.js → public-B4HMtpjt.js} +1 -1
  339. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-n3bB3K91.js → quadrantDiagram-34T5L4WZ-CWw9gOI4.js} +1 -1
  340. package/payload/server/public/assets/radar-PYXPWWZC-DHXATZGB.js +1 -0
  341. package/payload/server/public/assets/{reduce-DAvwat-a.js → reduce-BUmc8RDR.js} +1 -1
  342. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DiDvQK3c.js → requirementDiagram-MS252O5E-DCOlxNvx.js} +1 -1
  343. package/payload/server/public/assets/{rotate-ccw-D_5cETGt.js → rotate-ccw-sz5IQSnr.js} +1 -1
  344. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DWDQQZmd.js → sankeyDiagram-XADWPNL6-CW4Xbir3.js} +1 -1
  345. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DmAqRlBT.js → sequenceDiagram-FGHM5R23-vhb_pBLG.js} +1 -1
  346. package/payload/server/public/assets/{src-DV4LKv2E.js → src-DHSQDYx-.js} +1 -1
  347. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-D4R-n6bZ.js → stateDiagram-FHFEXIEX-Cb1WExEX.js} +1 -1
  348. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CxOIKvXh.js +1 -0
  349. package/payload/server/public/assets/tasks-D9oYgEzs.js +1 -0
  350. package/payload/server/public/assets/{time-entry-format-DAwmmR3i.js → time-entry-format-CSuCexpM.js} +1 -1
  351. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CjiHGP4l.js → timeline-definition-GMOUNBTQ-BAHTf_AF.js} +1 -1
  352. package/payload/server/public/assets/treeView-SZITEDCU-CC7ouMFd.js +1 -0
  353. package/payload/server/public/assets/treemap-W4RFUUIX-CaCg27im.js +1 -0
  354. package/payload/server/public/assets/triangle-alert-ClS81-CU.js +1 -0
  355. package/payload/server/public/assets/{useCopyFeedback-rOWd_lzl.js → useCopyFeedback-Cn6YgeNx.js} +1 -1
  356. package/payload/server/public/assets/{useSelectionMode-DDmLmPph.js → useSelectionMode-BaD-ZZRk.js} +1 -1
  357. package/payload/server/public/assets/{useSubAccountSwitcher-pu0jjLCz.css → useSubAccountSwitcher-CNZL3PKn.css} +1 -1
  358. package/payload/server/public/assets/useSubAccountSwitcher-CvjWJSGv.js +9 -0
  359. package/payload/server/public/assets/{useVoiceRecorder-azG8zSUI.js → useVoiceRecorder-BOzHrDAU.js} +2 -2
  360. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-CBdDQ7c-.js → vennDiagram-DHZGUBPP-DtEttvW4.js} +1 -1
  361. package/payload/server/public/assets/wardley-RL74JXVD-bMPsqQZ7.js +1 -0
  362. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BlIQPKLb.js → wardleyDiagram-NUSXRM2D-K06y6CVJ.js} +1 -1
  363. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CslKgh9B.js → xychartDiagram-5P7HB3ND-D66c40lp.js} +1 -1
  364. package/payload/server/public/browser.html +6 -6
  365. package/payload/server/public/calendar.html +7 -7
  366. package/payload/server/public/chat.html +14 -14
  367. package/payload/server/public/data.html +13 -12
  368. package/payload/server/public/graph.html +12 -12
  369. package/payload/server/public/index.html +16 -15
  370. package/payload/server/public/operator.html +16 -16
  371. package/payload/server/public/public.html +14 -14
  372. package/payload/server/public/tasks.html +6 -6
  373. package/payload/server/server.js +558 -260
  374. package/payload/server/public/assets/AdminShell-BLh9O6dn.js +0 -2
  375. package/payload/server/public/assets/architecture-YZFGNWBL-FPHT7s-C.js +0 -1
  376. package/payload/server/public/assets/calendar-_pfHw0Hp.js +0 -1
  377. package/payload/server/public/assets/channel-j70eMvcL.js +0 -1
  378. package/payload/server/public/assets/chat-DYT5H81o.js +0 -1
  379. package/payload/server/public/assets/chevron-left-BnpVBu51.js +0 -1
  380. package/payload/server/public/assets/chunk-426QAEUC-D-NcAlTW.js +0 -1
  381. package/payload/server/public/assets/chunk-QZHKN3VN-CAwbQBtf.js +0 -1
  382. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Ct6Rn0vt.js +0 -1
  383. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-B_2XCIFv.js +0 -1
  384. package/payload/server/public/assets/clone-DjPWA_NH.js +0 -1
  385. package/payload/server/public/assets/data-CR-fbPWr.js +0 -1
  386. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B8Hx7f-D.js +0 -1
  387. package/payload/server/public/assets/info-OMHHGYJF-BicCJTqU.js +0 -1
  388. package/payload/server/public/assets/infoDiagram-42DDH7IO-tf-8rOez.js +0 -2
  389. package/payload/server/public/assets/operator-gm2eP4r6.js +0 -1
  390. package/payload/server/public/assets/packet-4T2RLAQJ-Ckn_5hq0.js +0 -1
  391. package/payload/server/public/assets/page-8AB3jUa_.js +0 -1
  392. package/payload/server/public/assets/pie-ZZUOXDRM-DzlGQW3J.js +0 -1
  393. package/payload/server/public/assets/radar-PYXPWWZC-BHo2YD8b.js +0 -1
  394. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BcFRbGRu.js +0 -1
  395. package/payload/server/public/assets/tasks-EyKLXINi.js +0 -1
  396. package/payload/server/public/assets/treeView-SZITEDCU-BtRr5vXp.js +0 -1
  397. package/payload/server/public/assets/treemap-W4RFUUIX-D8p0sbyo.js +0 -1
  398. package/payload/server/public/assets/useSubAccountSwitcher-CU-lOxTd.js +0 -9
  399. package/payload/server/public/assets/wardley-RL74JXVD-DgMn-9ZJ.js +0 -1
  400. /package/payload/platform/plugins/cloudflare/skills/data-portal/{template/schema.sql → schema.sql} +0 -0
  401. /package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/index.html → index.html} +0 -0
  402. /package/payload/platform/plugins/cloudflare/skills/data-portal/template/{public/portal.js → portal.js} +0 -0
  403. /package/payload/server/public/assets/{_baseFor-D3BqAOBr.js → _baseFor-k8hYPe-U.js} +0 -0
  404. /package/payload/server/public/assets/{array-iYP9fzJp.js → array-BFDiaBgf.js} +0 -0
  405. /package/payload/server/public/assets/{chunk-Ck5AOu5v.js → chunk-TPjIAO9U.js} +0 -0
  406. /package/payload/server/public/assets/{cytoscape.esm-BQSBzPsB.js → cytoscape.esm-Ch0xptA4.js} +0 -0
  407. /package/payload/server/public/assets/{defaultLocale-BrdA1gDi.js → defaultLocale-ZeknFqNe.js} +0 -0
  408. /package/payload/server/public/assets/{init-Bx0S6pkp.js → init-0VJVrkRJ.js} +0 -0
  409. /package/payload/server/public/assets/{katex-BsiH_a6d.js → katex-Br7bH10N.js} +0 -0
  410. /package/payload/server/public/assets/{path-BLSgTy3w.js → path-INs8XTPH.js} +0 -0
  411. /package/payload/server/public/assets/{preload-helper-ClBMtM1g.js → preload-helper-D_sPnjeL.js} +0 -0
  412. /package/payload/server/public/assets/{rough.esm-BMOtDaaS.js → rough.esm-DU9bZLvZ.js} +0 -0
@@ -0,0 +1,30 @@
1
+ import { formatCensusLine, reconcileLedger, } from "../../../../../lib/ledger-core/dist/index.js";
2
+ import { ok } from "../lib/types.js";
3
+ export async function reconcile(params) {
4
+ const { session, read, accountId, now } = params;
5
+ const rows = await read(session, accountId);
6
+ const finding = reconcileLedger(rows, now);
7
+ const line = formatCensusLine(finding);
8
+ if (finding.alarm)
9
+ console.error(`${line} alarm=true`);
10
+ else
11
+ console.log(line);
12
+ if (!finding.alarm) {
13
+ return ok(`Ledger reconciles. ${finding.invoices} invoice(s), ${finding.payments} payment(s), no orphans, no stored balances, no suspected duplicates.`);
14
+ }
15
+ const problems = [];
16
+ if (finding.orphanPayments > 0) {
17
+ problems.push(`${finding.orphanPayments} payment(s) hang off no invoice, so they count toward nothing.`);
18
+ }
19
+ if (finding.storedBalanceProps > 0) {
20
+ problems.push(`${finding.storedBalanceProps} invoice(s) carry a stored balance field, which drifts from the computed figure.`);
21
+ }
22
+ if (finding.suspectDuplicates > 0) {
23
+ problems.push(`${finding.suspectDuplicates} payment(s) share an invoice, amount and date with another under a different id, so one may be a double-count.`);
24
+ }
25
+ if (finding.declaredNotLive.length > 0) {
26
+ problems.push(`Indexes declared in schema.cypher but absent from this database: ${finding.declaredNotLive.join(", ")}. The installer's schema step has not run since they were added.`);
27
+ }
28
+ return ok(`Ledger does not reconcile.\n\n${problems.map((p) => `- ${p}`).join("\n")}`);
29
+ }
30
+ //# sourceMappingURL=reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/tools/reconcile.ts"],"names":[],"mappings":"AASA,OAAO,EACL,gBAAgB,EAEhB,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAmB,EAAE,EAAE,MAAM,iBAAiB,CAAC;AActD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuB;IACrD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC;;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,CACP,sBAAsB,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,QAAQ,uEAAuE,CAC9I,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CACX,GAAG,OAAO,CAAC,cAAc,gEAAgE,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CACX,GAAG,OAAO,CAAC,kBAAkB,kFAAkF,CAChH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CACX,GAAG,OAAO,CAAC,iBAAiB,gHAAgH,CAC7I,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CACX,oEAAoE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,CACzK,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC,iCAAiC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Task 1771 — the whole position: who owes you, who you owe, and net cash.
3
+ *
4
+ * Receivables and payables are aged into 0-30 / 31-60 / 61-90 / 90+ buckets by
5
+ * days past their due date. Net cash is money in minus money out across
6
+ * :CashEntry, which is deliberately separate from the invoice totals: a cash
7
+ * entry is settled by definition and never appears in an ageing bucket.
8
+ */
9
+ import type { Session } from "neo4j-driver";
10
+ import { type OpenInvoice } from "../../../../../lib/ledger-core/dist/index.js";
11
+ import { type ToolResult } from "../lib/types.js";
12
+ export interface StatementRows {
13
+ receivables: OpenInvoice[];
14
+ payables: OpenInvoice[];
15
+ cashIn: number;
16
+ cashOut: number;
17
+ }
18
+ export type StatementReadFn = (session: Session, accountId: string) => Promise<StatementRows>;
19
+ export interface StatementParams {
20
+ session: Session;
21
+ read: StatementReadFn;
22
+ accountId: string;
23
+ now: number;
24
+ }
25
+ export declare function statement(params: StatementParams): Promise<ToolResult>;
26
+ //# sourceMappingURL=statement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../src/tools/statement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAsC5E"}
@@ -0,0 +1,35 @@
1
+ import { ageBuckets } from "../../../../../lib/ledger-core/dist/index.js";
2
+ import { money, ok } from "../lib/types.js";
3
+ export async function statement(params) {
4
+ const { session, read, accountId, now } = params;
5
+ const rows = await read(session, accountId);
6
+ const owedToYou = ageBuckets(rows.receivables, now);
7
+ const owedByYou = ageBuckets(rows.payables, now);
8
+ const netCash = rows.cashIn - rows.cashOut;
9
+ if (rows.receivables.length === 0 &&
10
+ rows.payables.length === 0 &&
11
+ rows.cashIn === 0 &&
12
+ rows.cashOut === 0) {
13
+ return ok("Nothing outstanding, and no cash movements recorded.");
14
+ }
15
+ const lines = [
16
+ `Owed to you: ${money(owedToYou.total)}`,
17
+ ` 0-30 days: ${money(owedToYou.current)}`,
18
+ ` 31-60 days: ${money(owedToYou.d31to60)}`,
19
+ ` 61-90 days: ${money(owedToYou.d61to90)}`,
20
+ ` 90+ days: ${money(owedToYou.d90plus)}`,
21
+ ``,
22
+ `Owed by you: ${money(owedByYou.total)}`,
23
+ ` 0-30 days: ${money(owedByYou.current)}`,
24
+ ` 31-60 days: ${money(owedByYou.d31to60)}`,
25
+ ` 61-90 days: ${money(owedByYou.d61to90)}`,
26
+ ` 90+ days: ${money(owedByYou.d90plus)}`,
27
+ ``,
28
+ `Cash in: ${money(rows.cashIn)}, cash out: ${money(rows.cashOut)}, net ${money(netCash)}`,
29
+ ];
30
+ if (owedToYou.d90plus > 0) {
31
+ lines.push(``, `${money(owedToYou.d90plus)} is more than 90 days overdue.`);
32
+ }
33
+ return ok(lines.join("\n"));
34
+ }
35
+ //# sourceMappingURL=statement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../src/tools/statement.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAoB,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAmB,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAqB7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuB;IACrD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAE3C,IACE,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,IAAI,CAAC,OAAO,KAAK,CAAC,EAClB,CAAC;QACD,OAAO,EAAE,CAAC,sDAAsD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,gBAAgB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACxC,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,EAAE;QACF,gBAAgB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACxC,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,iBAAiB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,EAAE;QACF,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE;KAC1F,CAAC;IAEF,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@maxy/ledger",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "start": "node dist/index.js",
10
+ "test": "vitest run"
11
+ },
12
+ "dependencies": {
13
+ "@modelcontextprotocol/sdk": "^1.12.1",
14
+ "neo4j-driver": "^5.28.1"
15
+ },
16
+ "devDependencies": {
17
+ "typescript": "^5.7.0",
18
+ "@types/node": "^22.0.0",
19
+ "vitest": "^4.1.2"
20
+ }
21
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ledger-vertical-coverage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-vertical-coverage.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/ledger-vertical-coverage.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Task 1771 — the ledger labels must be reachable from every vertical.
3
+ *
4
+ * The defect this guards against: `:Invoice` was declared in schema-base.md
5
+ * but `:InvoicePayment`, `:Credit`, `:InvoiceLine` and `:InboundInvoice` were
6
+ * declared only in schema-construction.md. On the other nine businessType
7
+ * values an invoice could be raised and a payment against it had nowhere to
8
+ * land. Nothing failed loudly; the write was simply rejected as an unknown
9
+ * label, or the agent invented properties.
10
+ *
11
+ * node:test, matching resolve-active-vertical.test.ts in this directory.
12
+ */
13
+ import test from "node:test";
14
+ import assert from "node:assert/strict";
15
+ import { readFileSync, readdirSync } from "node:fs";
16
+ import { resolve, join } from "node:path";
17
+ const REFS = resolve(import.meta.dirname, "../../../../references");
18
+ /** The labels a cash book needs beyond the already-base :Invoice. */
19
+ const LEDGER_LABELS = [
20
+ "InboundInvoice",
21
+ "InvoiceLine",
22
+ "InvoicePayment",
23
+ "Credit",
24
+ "CashEntry",
25
+ ];
26
+ /** Labels declared by a schema markdown file, read from column 2 of any
27
+ * node-type table row. */
28
+ function labelsIn(file) {
29
+ const text = readFileSync(join(REFS, file), "utf8");
30
+ const out = new Set();
31
+ for (const m of text.matchAll(/^\|[^|]*\|\s*`([A-Z][A-Za-z]*)`\s*\|/gm)) {
32
+ out.add(m[1]);
33
+ }
34
+ return out;
35
+ }
36
+ function verticalFiles() {
37
+ return readdirSync(REFS).filter((f) => /^schema-.+\.md$/.test(f) && f !== "schema-base.md");
38
+ }
39
+ test("every ledger label is declared in schema-base", () => {
40
+ const base = labelsIn("schema-base.md");
41
+ for (const label of LEDGER_LABELS) {
42
+ assert.ok(base.has(label), `${label} must be declared in schema-base.md so every vertical resolves it`);
43
+ }
44
+ });
45
+ test("the base :Invoice is still declared in base", () => {
46
+ assert.ok(labelsIn("schema-base.md").has("Invoice"));
47
+ });
48
+ test("no vertical redeclares a ledger label", () => {
49
+ for (const file of verticalFiles()) {
50
+ const declared = labelsIn(file);
51
+ for (const label of LEDGER_LABELS) {
52
+ assert.ok(!declared.has(label), `${file} redeclares ${label}; schema-base.md owns it now`);
53
+ }
54
+ }
55
+ });
56
+ test("balance fields are forbidden, because outstanding is computed", () => {
57
+ const text = readFileSync(join(REFS, "schema-base.md"), "utf8");
58
+ const forbidden = text.slice(text.indexOf("## Forbidden Properties"));
59
+ for (const prop of ["outstanding", "balance", "amountPaid"]) {
60
+ assert.match(forbidden, new RegExp(`\\b${prop}\\b`), `${prop} must appear under Forbidden Properties in schema-base.md`);
61
+ }
62
+ });
63
+ test("the ledger edge patterns are declared in base", () => {
64
+ const text = readFileSync(join(REFS, "schema-base.md"), "utf8");
65
+ for (const pattern of [
66
+ "HAS_LINE",
67
+ "HAS_PAYMENT",
68
+ "HAS_CREDIT",
69
+ "FROM_SUPPLIER",
70
+ "COUNTERPARTY",
71
+ ]) {
72
+ assert.match(text, new RegExp(pattern), `${pattern} must appear in schema-base.md`);
73
+ }
74
+ });
75
+ test("construction keeps its own labels", () => {
76
+ const construction = labelsIn("schema-construction.md");
77
+ for (const label of ["JobCost", "PurchaseOrder", "PurchaseOrderLine", "QuoteLine"]) {
78
+ assert.ok(construction.has(label), `${label} must remain in schema-construction.md`);
79
+ }
80
+ });
81
+ //# sourceMappingURL=ledger-vertical-coverage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-vertical-coverage.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/ledger-vertical-coverage.test.ts"],"names":[],"mappings":"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"}
@@ -199,15 +199,17 @@ export interface SchemaContradiction {
199
199
  /**
200
200
  * Per-label ban exemptions. The global synonym map (schema-base.md) bans
201
201
  * `amount` in favour of `totalPaymentDue` — that is invoice-level semantics.
202
- * The JobLogic billing children `InvoiceLine`, `InvoicePayment`, and `Credit`
203
- * each carry a line-item monetary `amount` that is genuinely distinct from the
204
- * invoice-level total, so they keep the JobLogic-exact `amount` field. A
205
- * (banned-property -> allowed-labels) entry here suppresses the contradiction
206
- * for exactly those labels and nowhere else. See schema-construction.md.
202
+ * The billing children `InvoiceLine`, `InvoicePayment` and `Credit` each carry
203
+ * a line-item monetary `amount` that is genuinely distinct from the
204
+ * invoice-level total, so they keep the JobLogic-exact `amount` field.
205
+ * `CashEntry` (Task 1771) carries `amount` for the same reason: it is one
206
+ * movement of money, not a total owed. A (banned-property -> allowed-labels)
207
+ * entry here suppresses the contradiction for exactly those labels and nowhere
208
+ * else. See schema-base.md § Property Naming Rules.
207
209
  *
208
210
  * Exported so the write-path validator applies the identical exemption — the
209
- * doc gate and the validator must agree on exactly the same three-label set,
210
- * which means one definition, not two.
211
+ * doc gate and the validator must agree on exactly the same label set, which
212
+ * means one definition, not two.
211
213
  */
212
214
  export declare const BAN_EXEMPT: Record<string, ReadonlySet<string>>;
213
215
  export declare function detectContradictions(schema: LoadedSchema): SchemaContradiction[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,mDAAmD;AACnD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;;;OAOG;IACH,gBAAgB,EAAE,GAAG,CACnB,MAAM,EACN,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CACvD,CAAC;IACF;;;;;;;OAOG;IACH,oBAAoB,EAAE,KAAK,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;OASG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AAsMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBlD;AAuMD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,YAAY,CAmLrE;AAMD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAE1D,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GACnB,mBAAmB,EAAE,CAwCvB"}
1
+ {"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,mDAAmD;AACnD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;;;OAOG;IACH,gBAAgB,EAAE,GAAG,CACnB,MAAM,EACN,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CACvD,CAAC;IACF;;;;;;;OAOG;IACH,oBAAoB,EAAE,KAAK,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;OASG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AAsMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBlD;AAuMD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,YAAY,CAmLrE;AAMD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAE1D,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GACnB,mBAAmB,EAAE,CAwCvB"}
@@ -568,18 +568,20 @@ export function loadSchema(opts = {}) {
568
568
  /**
569
569
  * Per-label ban exemptions. The global synonym map (schema-base.md) bans
570
570
  * `amount` in favour of `totalPaymentDue` — that is invoice-level semantics.
571
- * The JobLogic billing children `InvoiceLine`, `InvoicePayment`, and `Credit`
572
- * each carry a line-item monetary `amount` that is genuinely distinct from the
573
- * invoice-level total, so they keep the JobLogic-exact `amount` field. A
574
- * (banned-property -> allowed-labels) entry here suppresses the contradiction
575
- * for exactly those labels and nowhere else. See schema-construction.md.
571
+ * The billing children `InvoiceLine`, `InvoicePayment` and `Credit` each carry
572
+ * a line-item monetary `amount` that is genuinely distinct from the
573
+ * invoice-level total, so they keep the JobLogic-exact `amount` field.
574
+ * `CashEntry` (Task 1771) carries `amount` for the same reason: it is one
575
+ * movement of money, not a total owed. A (banned-property -> allowed-labels)
576
+ * entry here suppresses the contradiction for exactly those labels and nowhere
577
+ * else. See schema-base.md § Property Naming Rules.
576
578
  *
577
579
  * Exported so the write-path validator applies the identical exemption — the
578
- * doc gate and the validator must agree on exactly the same three-label set,
579
- * which means one definition, not two.
580
+ * doc gate and the validator must agree on exactly the same label set, which
581
+ * means one definition, not two.
580
582
  */
581
583
  export const BAN_EXEMPT = {
582
- amount: new Set(["InvoiceLine", "InvoicePayment", "Credit"]),
584
+ amount: new Set(["InvoiceLine", "InvoicePayment", "Credit", "CashEntry"]),
583
585
  };
584
586
  export function detectContradictions(schema) {
585
587
  const out = [];
@@ -1 +1 @@
1
- {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC;AAwFpC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEhE,+EAA+E;IAC/E,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CACxB,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,+FAA+F;IAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC/E,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC3D,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAWD;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,uEAAuE;QACvE,uDAAuD;QACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAErC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,mDAAmD;QACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAEjC,MAAM,IAAI,GAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,MAAM;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,8DAA8D;YAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,oCAAoC,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,yBAAyB,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAC/G,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,CAAC,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAiB,EAAE,IAAY;IACtD,OAAO,OAAO,CAAC,SAAS,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAC9C,CAAC;AACJ,CAAC;AAoBD;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,OAAe,EACf,UAAkB;IAElB,MAAM,GAAG,GAA+D,EAAE,CAAC;IAC3E,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,SAAS;gBAAE,KAAK,GAAG,SAAS,CAAC;YACjC,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAuB,EACvB,UAAkB;IAElB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,SAAS,CAAC,sBAAsB;QAE3E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAoB;gBAClC,KAAK;gBACL,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC9C,UAAU;aACX,CAAC;YACF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAuB,EACvB,UAAkB;IAElB,MAAM,OAAO,GAA6D,EAAE,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAEnD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,mEAAmE;YACnE,uEAAuE;YACvE,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEzC,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAEjD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK;oBACL,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAuB,EACvB,UAAkB;IAElB,MAAM,OAAO,GAET,EAAE,CAAC;IACP,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,yEAAyE;QACzE,mEAAmE;QACnE,0EAA0E;QAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,SAAS;QAE3E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,QAAgB;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,6BAA6B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAC3F,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,SAAS,kBAAkB,CACzB,QAAsC;IAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY;YAAE,SAAS;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,UAAU,oBAAoB,GAAG,CAAC,YAAY,2DAA2D,CACtJ,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO;gBACnC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;QACtB,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;AACH,CAAC;AAsBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE;IACrD,MAAM,aAAa,GACjB,IAAI,CAAC,aAAa;QAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAEtD,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD,aAAa,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9H,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gDAAgD,aAAa,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,GAAG,EAG3B,CAAC;IACJ,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;IACJ,MAAM,oBAAoB,GAIrB,EAAE,CAAC;IACR,MAAM,oBAAoB,GAA0B,EAAE,CAAC;IAEvD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,iEAAiE;gBACjE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,iEAAiE;gBACjE,iDAAiD;gBACjD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,kBAAkB;YAC3D,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;gBACrB,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,kBAAkB;YACxD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1D,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,qEAAqE;IACrE,6BAA6B;IAC7B,EAAE;IACF,SAAS;IACT,0DAA0D;IAC1D,uEAAuE;IACvE,wEAAwE;IACxE,EAAE;IACF,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,kBAAkB,GAAmB,IAAI,CAAC;IAC9C,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACvC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrD,aAAa,GAAG,OAAO,CACrB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,QAAQ,EACR,YAAY,CACb,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,IAAI,KAA8B,CAAC;QACnC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAGtD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,gDAAgD,aAAa,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,yCAAyC,aAAa,kCAAkC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAChH,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,yCAAyC,aAAa,yHAAyH,CAChL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,MAAM,YAAY,GAAG,GAAG,aAAa,KAAK,CAAC;YAC3C,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,uCAAuC,aAAa,QAAQ,aAAa,uBAAuB,YAAY,6BAA6B,aAAa,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChM,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC,aAAa,IAAI,MAAM,uBAAuB,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,QAAQ,CAAC,IAAI,IAAI,CACnL,CAAC;IAEF,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,6DAA6D;IAC7D,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;IACzC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,UAAU,uBAAuB,YAAY,8BAA8B,cAAc,kCAAkC,SAAS,CAAC,MAAM,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzM,CAAC;IAEF,MAAM,MAAM,GAAiB;QAC3B,cAAc,EAAE,QAAQ;QACxB,cAAc;QACd,gBAAgB;QAChB,oBAAoB;QACpB,WAAW;QACX,aAAa;QACb,oBAAoB;KACrB,CAAC;IAEF,oEAAoE;IACpE,wEAAwE;IACxE,2EAA2E;IAC3E,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yCAAyC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,KAAK,aAAa,GAAG,CAAC,QAAQ,YAAY,GAAG,CAAC,OAAO,IAAI,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAuBD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,UAAU,GAAwC;IAC7D,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,MAAoB;IAEpB,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,YAAoB,EAAE,EAAE;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QACzC,MAAM,OAAO,GACX,GAAG,CAAC,UAAU,KAAK,gBAAgB;YACnC,GAAG,CAAC,UAAU,KAAK,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,KAAK;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACpD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -18,6 +18,11 @@ When loading this reference, confirm which schema files were consulted by noting
18
18
  | Job | `Order` | `schema:Order` + `cdm:Opportunity` | — | `accountId`, `orderNumber`, `customer` (id), `orderStatus` |
19
19
  | Event | `Event` | `schema:Event` | iCalendar (RFC 5545) | `accountId`, `name`, `startDate`, `endDate` |
20
20
  | Invoice | `Invoice` | `schema:Invoice` | UBL 2.1 + PDF/A | `accountId`, `confirmationNumber`, `customer` (id), `totalPaymentDue`, `paymentStatus` |
21
+ | Supplier invoice | `InboundInvoice` | `schema:Invoice` | UBL 2.1 + PDF/A | `accountId`, `supplier`, `confirmationNumber`, `totalPaymentDue` |
22
+ | Invoice line | `InvoiceLine` | — | — | `accountId`, `invoiceId`, `lineId`, `description`, `quantity`, `amount` |
23
+ | Invoice payment | `InvoicePayment` | — | — | `accountId`, `invoiceId`, `paymentId`, `amount`, `date`, `paymentType` |
24
+ | Credit | `Credit` | — | — | `accountId`, `creditId`, `amount`, `date` |
25
+ | Cash entry | `CashEntry` | — | — | `accountId`, `entryId`, `direction` (`in`/`out`), `amount`, `date`, `description` |
21
26
  | Service | `Service` | `schema:Service` | Schema.org JSON-LD | `accountId`, `name`, `description` |
22
27
  | PriceRule | `PriceSpecification` | `schema:PriceSpecification` | — | `accountId`, `price`, `priceCurrency` |
23
28
  | Communication | `Message` | `schema:Message` + `cdm:Activity` | — | `accountId`, `sender`, `recipient`, `dateSent`, `channel` |
@@ -123,6 +128,7 @@ Properties listed here are **rejected at write-time** by the schema validator on
123
128
  | Label | Property | Rationale |
124
129
  |-------|----------|-----------|
125
130
  | `Person` | `name` | Use `givenName` + `familyName`. The rendered display name is composed at read time; persisting `name` denormalises the canonical pair and creates a divergence trap when `name` truncates to `givenName` ("Dan") while the pair holds the full identity ("Dan Brett"). |
131
+ | `Invoice`, `InboundInvoice` | `outstanding`, `balance`, `amountPaid` | What is still owed is **computed on read** as `totalPaymentDue` minus the summed `amount` of the invoice's `InvoicePayment` and `Credit` children. A stored figure drifts silently the moment a payment lands by any path that forgets to update it, and nothing fails: the invoice simply reports a number that no longer reconciles against its own children. |
126
132
 
127
133
  ---
128
134
 
@@ -147,6 +153,8 @@ Schema.org property names are camelCase. Use them exactly as defined — no syno
147
153
 
148
154
  `totalPaymentDue` is invoice semantics. On `Offer` nodes the monetary property is `price` (the Schema.org canonical for Offer) — see the estate-agent schema's Offer row.
149
155
 
156
+ `InvoiceLine`, `InvoicePayment`, `Credit` and `CashEntry` carry a monetary `amount`, and the ban above does not reach them. The ban is **invoice-level** semantics: `totalPaymentDue` is the total owed on a whole bill. A line item, a single payment, a credit and a loose cash movement are each one figure among several that sum toward or against that total, so `amount` is the correct name and `totalPaymentDue` would be actively wrong on them. The contradiction detector (`detectContradictions` in `schema-loader.ts`) exempts `amount` for exactly these four labels and nowhere else, via the exported `BAN_EXEMPT` that the write-path validator shares. (Moved here from `schema-construction.md` by the ledger promotion when these labels were promoted to base.)
157
+
150
158
  ---
151
159
 
152
160
  ## accountId Scoping
@@ -172,6 +180,14 @@ Do not write placeholder values ("TBD", "unknown", empty strings) for properties
172
180
  (:Order)-[:ORDERED_BY]->(:Person)
173
181
  (:Invoice)-[:REFERENCES_ORDER]->(:Order)
174
182
  (:Invoice)-[:BILLED_TO]->(:Person|Organization)
183
+ (:Invoice)-[:HAS_LINE]->(:InvoiceLine)
184
+ (:InboundInvoice)-[:HAS_LINE]->(:InvoiceLine)
185
+ (:Invoice)-[:HAS_PAYMENT]->(:InvoicePayment)
186
+ (:InboundInvoice)-[:HAS_PAYMENT]->(:InvoicePayment)
187
+ (:Invoice)-[:HAS_CREDIT]->(:Credit)
188
+ (:InboundInvoice)-[:FROM_SUPPLIER]->(:Organization)
189
+ (:CashEntry)-[:COUNTERPARTY]->(:Person)
190
+ (:CashEntry)-[:COUNTERPARTY]->(:Organization)
175
191
  (:Event)-[:ATTENDED_BY]->(:Person)
176
192
  (:Message)-[:SENT_TO]->(:Person|Organization)
177
193
  (:DigitalDocument)-[:ABOUT]->(:*)
@@ -205,6 +221,12 @@ Do not write placeholder values ("TBD", "unknown", empty strings) for properties
205
221
  (:Conversation)-[:HAS_IDEA]->(:Idea)
206
222
  ```
207
223
 
224
+ Payment **direction is derived from the parent label, never stored**. An `:InvoicePayment` reached from
225
+ an `:Invoice` is money received; the same label reached from an `:InboundInvoice` is money paid. Adding a
226
+ `direction` property to `:InvoicePayment` would create a second source of truth that can disagree with the
227
+ edge it hangs from. `:CashEntry` does carry `direction`, because it has no parent invoice to derive it
228
+ from.
229
+
208
230
  ### WhatsApp ingest natural-key contract
209
231
 
210
232
  Live nodes carry compound labels: `:Conversation:WhatsAppConversation` and `:Message:WhatsAppMessage`. The Node Types table registers `WhatsAppConversation` and `WhatsAppMessage` individually — the schema validator matches on the more-specific sublabel. Base `Conversation` and `Message` rules (e.g. `dateSent` on Message) still apply via the base label.
@@ -27,7 +27,6 @@ field-service domain where the captured reference does not document the entity a
27
27
  | Asset | `Asset` | `schema:Product` | `accountId`, `assetId`, `name`, `assetType`, `assetClass`, `condition` | authored |
28
28
  | Visit | `Visit` | `schema:Event` (subtype) | `accountId`, `visitId`, `status`, `startDate`, `purpose` | authored |
29
29
  | Quote | `Quote` | `schema:Order` (estimate) | `accountId`, `ref`, `status`, `totalPaymentDue`, `date` | authored |
30
- | Supplier invoice | `InboundInvoice` | `schema:Invoice` | `accountId`, `supplier`, `confirmationNumber`, `totalPaymentDue` | JobLogic-exact |
31
30
  | Part | `Part` | `schema:Product` | `accountId`, `partId`, `name`, `sku`, `partCategory` | authored |
32
31
  | Purchase Order | `PurchaseOrder` | `schema:Order` | `accountId`, `poNumber`, `status`, `completionStatus`, `dateRaised` | JobLogic-exact |
33
32
  | PPM Contract | `PpmContract` | `schema:Service` (contract) | `accountId`, `contractId`, `name`, `startDate`, `endDate` | authored |
@@ -60,18 +59,8 @@ fields (supplier vs customer), so they stay distinct rather than one label with
60
59
  | Job cost | `JobCost` | `accountId`, `costType` | JobLogic-exact |
61
60
  | Contact | `Contact` | `accountId`, `contactId`, `name` | JobLogic-exact |
62
61
  | PO line | `PurchaseOrderLine` | `accountId`, `poNumber`, `lineId`, `description`, `quantity`, `pricePerUnit` | JobLogic-exact |
63
- | Invoice line | `InvoiceLine` | `accountId`, `invoiceId`, `lineId`, `description`, `quantity`, `amount` | authored |
64
- | Invoice payment | `InvoicePayment` | `accountId`, `invoiceId`, `paymentId`, `amount`, `date`, `paymentType` | JobLogic-exact |
65
- | Credit | `Credit` | `accountId`, `creditId`, `amount`, `date` | authored |
66
62
  | Job note | `Note` | `accountId`, `noteId`, `text`, `author`, `createdAt` | homegrown |
67
63
 
68
- `InvoiceLine`, `InvoicePayment`, and `Credit` carry a line-item monetary `amount`. The global
69
- synonym map in `schema-base.md` bans `amount` in favour of `totalPaymentDue`, but that is
70
- **invoice-level** semantics — the total owed on the whole bill. A line item, a single payment, and
71
- a credit each hold their own value that is genuinely distinct from the invoice total, so they keep
72
- the JobLogic-exact `amount` field. The contradiction detector (`detectContradictions` in
73
- `schema-loader.ts`) exempts `amount` for exactly these three labels and nowhere else.
74
-
75
64
  `JobCost.costType` is one of `labour`, `material`, `travel`, `mileage`, `expense`,
76
65
  `subcontractor`, `scheduleOfRates` — the JobLogic cost-line taxonomy. A logged labour day (the
77
66
  old check-in) is a `JobCost` with `costType:'labour'`. `JobCost.priceCalculationType` is `0`
@@ -102,7 +91,6 @@ MERGE keys per label:
102
91
  - `:Asset` — `(accountId, assetId)`
103
92
  - `:Visit` — `(accountId, visitId)`
104
93
  - `:Quote` — `(accountId, ref)`
105
- - `:InboundInvoice` — `(accountId, supplier, confirmationNumber)` — the received supplier invoice
106
94
  - `:Invoice` — `(accountId, confirmationNumber)` — the base outbound customer invoice (schema-base.md)
107
95
  - `:Part` — `(accountId, partId)`
108
96
  - `:PurchaseOrder` — `(accountId, poNumber)`
@@ -115,9 +103,6 @@ MERGE keys per label:
115
103
  - `:JobCost` — `(accountId, costId)` — write-time MERGE; `jobId` is set when the cost is job-scoped, omitted for a worker-day labour roll-up
116
104
  - `:Contact` — `(accountId, contactId)` — write-time MERGE
117
105
  - `:PurchaseOrderLine` — `(accountId, poNumber, lineId)` — child of `:PurchaseOrder`
118
- - `:InvoiceLine` — `(accountId, invoiceId, lineId)` — child of `:Invoice`
119
- - `:InvoicePayment` — `(accountId, invoiceId, paymentId)` — child of `:Invoice`
120
- - `:Credit` — `(accountId, creditId)` — child of `:Invoice`
121
106
  - `:Note` — `(accountId, noteId)` — child of `:Job` via `(:Note)-[:ABOUT]->(:Job)`, append-only CREATE (a fresh `noteId` per note, not a content MERGE), so a second note never overwrites the first
122
107
  - `:Engineer` — `(accountId, personId)` — additional label on `:Person`, set via `memory-update`
123
108
  - `:Supplier` — `(accountId, organizationId)` — additional label on `:Organization`
@@ -146,9 +131,6 @@ MERGE keys per label:
146
131
  (:PurchaseOrderLine)-[:FOR_PART]->(:Part)
147
132
  (:PurchaseOrder)-[:FROM_SUPPLIER]->(:Supplier)
148
133
  (:InboundInvoice)-[:ON_PURCHASE_ORDER]->(:PurchaseOrder)
149
- (:Invoice)-[:HAS_INVOICE_LINE]->(:InvoiceLine)
150
- (:Invoice)-[:HAS_PAYMENT]->(:InvoicePayment)
151
- (:Invoice)-[:HAS_CREDIT]->(:Credit)
152
134
  (:PpmContract)-[:FOR_CUSTOMER]->(:Customer)
153
135
  (:PpmContract)-[:COVERS_SITE]->(:Site)
154
136
  (:Contact)-[:CONTACT_FOR]->(:Customer)
@@ -98,6 +98,26 @@ The chosen bucket is logged on every write: `[schedule-event] op=write label=Mee
98
98
 
99
99
  Backfilling already-written `:Event` appointments into `:Meeting` is a separate divergence-driven migration, not part of this write path.
100
100
 
101
+ ## Where schedule-event can be called from
102
+
103
+ Anywhere a session runs, WhatsApp included. Every write anchors to the calling
104
+ session's `:Conversation` (`PART_OF`), so the session must have one.
105
+
106
+ If that anchor is missing the tool refuses, and the refusal names a platform
107
+ fault rather than anything the caller did:
108
+
109
+ ```
110
+ Write doctrine violated: no :Conversation is anchored on this session
111
+ (sessionId=…), so the Event has nothing to link (PART_OF).
112
+ ```
113
+
114
+ Retrying or rewording will not clear it — the anchor is written at spawn, not
115
+ by the tool. Report it. Until the fix this affected every WhatsApp seat and
116
+ was misread as a scheduling outage: the agent told the operator it "can't create
117
+ new automated triggers right now" and offered a manual workaround, when in fact
118
+ no WhatsApp session had ever been able to create one. See
119
+ [`.docs/session-conversation-identity.md`](../../../.docs/session-conversation-identity.md).
120
+
101
121
  ## One-time vs recurring
102
122
 
103
123
  - **One-time events** have a `startDate` and optionally an `endDate`. They transition to `due` when their time arrives (via the platform cron) and to `completed` when the agent or user marks them done.
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-write.d.ts","sourceRoot":"","sources":["../../src/lib/meeting-write.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrF;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA2G7B"}
1
+ {"version":3,"file":"meeting-write.d.ts","sourceRoot":"","sources":["../../src/lib/meeting-write.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrF;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAoH7B"}
@@ -71,10 +71,19 @@ export async function writeMeeting(session, params) {
71
71
  // Provenance: a conversationally-created meeting traces to the session that
72
72
  // booked it. PART_OF is written only when the session's Conversation exists.
73
73
  if (sessionKey) {
74
- await session.run(`MATCH (m:Meeting) WHERE elementId(m) = $meetingId
74
+ // Task 1772 — this link is best-effort by design (a Meeting is keyed by
75
+ // (accountId, uid) and stands on its own), but its failure was silent:
76
+ // when no :Conversation was anchored on the session id the MATCH yielded
77
+ // zero rows, the MERGE no-opped, and the Meeting persisted with no
78
+ // provenance and no log line. `linked=false` is the signature of that
79
+ // loss; it must be greppable rather than invisible.
80
+ const linkRes = await session.run(`MATCH (m:Meeting) WHERE elementId(m) = $meetingId
75
81
  MATCH (c:Conversation {sessionId: $sessionKey})
76
82
  MERGE (m)-[r:PART_OF]->(c)
77
- ON CREATE SET r.createdAt = datetime()`, { meetingId, sessionKey });
83
+ ON CREATE SET r.createdAt = datetime()
84
+ RETURN true AS linked`, { meetingId, sessionKey });
85
+ const linked = linkRes.records.length > 0;
86
+ console.error(`[meeting-write] op=part-of sessionKey=${sessionKey} linked=${linked}`);
78
87
  }
79
88
  let attendeesLinked = 0;
80
89
  let crossAccountSkipped = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-write.js","sourceRoot":"","sources":["../../src/lib/meeting-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meeting-write.js","sourceRoot":"","sources":["../../src/lib/meeting-write.ts"],"names":[],"mappings":"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"}
@@ -153,7 +153,7 @@ export async function scheduleEvent(params) {
153
153
  }
154
154
  }
155
155
  if (relationships.length === 0) {
156
- throw new Error("Write doctrine violated: schedule-event requires an admin session with an existing Conversation to link the Event (PART_OF). Invoke from inside a session.");
156
+ throw new Error(`Write doctrine violated: no :Conversation is anchored on this session (sessionId=${sessionKey ?? "absent"}), so the Event has nothing to link (PART_OF). This is a platform fault, not something the caller can correct by retrying or by rewording the request.`);
157
157
  }
158
158
  await writeNodeWithEdges({
159
159
  session: neo4jSession,
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-event.js","sourceRoot":"","sources":["../../src/tools/schedule-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-event.js","sourceRoot":"","sources":["../../src/tools/schedule-event.ts"],"names":[],"mappings":"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"}