shutro-erp 0.3.4 → 0.3.6

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 (618) hide show
  1. package/dist/account_asset/.kosh/bindings.d.ts +22 -0
  2. package/dist/account_asset/.kosh/bindings.js +15 -0
  3. package/dist/account_asset/.kosh/schema.d.ts +1755 -0
  4. package/dist/account_asset/board.d.ts +61 -0
  5. package/dist/account_asset/board.js +86 -0
  6. package/dist/account_asset/books.d.ts +42 -0
  7. package/dist/account_asset/books.js +398 -0
  8. package/dist/account_asset/demo.d.ts +7 -0
  9. package/dist/account_asset/demo.js +72 -0
  10. package/dist/account_asset/index.d.ts +9 -0
  11. package/dist/account_asset/index.js +335 -0
  12. package/dist/account_asset/module.d.ts +7622 -0
  13. package/dist/account_asset/module.js +230 -0
  14. package/dist/account_budget/.kosh/bindings.d.ts +22 -0
  15. package/dist/account_budget/.kosh/bindings.js +15 -0
  16. package/dist/account_budget/.kosh/schema.d.ts +1767 -0
  17. package/dist/account_budget/budget.d.ts +5 -0
  18. package/dist/account_budget/budget.js +142 -0
  19. package/dist/account_budget/demo.d.ts +6 -0
  20. package/dist/account_budget/demo.js +30 -0
  21. package/dist/account_budget/index.d.ts +4 -0
  22. package/dist/account_budget/index.js +223 -0
  23. package/dist/account_budget/module.d.ts +13863 -0
  24. package/dist/account_budget/module.js +167 -0
  25. package/dist/account_portal/.kosh/bindings.js +1 -1
  26. package/dist/account_portal/.kosh/schema.d.ts +176 -6
  27. package/dist/account_portal/module.d.ts +505 -6
  28. package/dist/accounting/.kosh/bindings.js +1 -1
  29. package/dist/accounting/.kosh/schema.d.ts +176 -6
  30. package/dist/accounting/index.d.ts +1 -1
  31. package/dist/accounting/index.js +344 -4
  32. package/dist/accounting/module.d.ts +513 -5
  33. package/dist/accounting/module.js +55 -3
  34. package/dist/approvals/.kosh/bindings.d.ts +22 -0
  35. package/dist/approvals/.kosh/bindings.js +15 -0
  36. package/dist/approvals/.kosh/schema.d.ts +611 -0
  37. package/dist/approvals/index.d.ts +18 -0
  38. package/dist/approvals/index.js +302 -0
  39. package/dist/approvals/mails.d.ts +25 -0
  40. package/dist/approvals/mails.js +82 -0
  41. package/dist/approvals/module.d.ts +1 -0
  42. package/dist/approvals/module.js +12 -0
  43. package/dist/approvals/web/History.d.ts +4 -0
  44. package/dist/approvals/web/History.js +13 -0
  45. package/dist/approvals/web/Inbox.d.ts +9 -0
  46. package/dist/approvals/web/Inbox.js +114 -0
  47. package/dist/approvals/web/Mine.d.ts +7 -0
  48. package/dist/approvals/web/Mine.js +27 -0
  49. package/dist/approvals/web/index.d.ts +13 -0
  50. package/dist/approvals/web/index.js +22 -0
  51. package/dist/approvals/web/messages.d.ts +2 -0
  52. package/dist/approvals/web/messages.js +119 -0
  53. package/dist/approvals/web/shared.d.ts +59 -0
  54. package/dist/approvals/web/shared.js +46 -0
  55. package/dist/attendance/.kosh/bindings.d.ts +22 -0
  56. package/dist/attendance/.kosh/bindings.js +15 -0
  57. package/dist/attendance/.kosh/schema.d.ts +1048 -0
  58. package/dist/attendance/days.d.ts +96 -0
  59. package/dist/attendance/days.js +430 -0
  60. package/dist/attendance/demo.d.ts +7 -0
  61. package/dist/attendance/demo.js +58 -0
  62. package/dist/attendance/index.d.ts +4 -0
  63. package/dist/attendance/index.js +513 -0
  64. package/dist/attendance/module.d.ts +3969 -0
  65. package/dist/attendance/module.js +412 -0
  66. package/dist/attendance/routes.d.ts +16 -0
  67. package/dist/attendance/routes.js +266 -0
  68. package/dist/attendance/web/Check.d.ts +8 -0
  69. package/dist/attendance/web/Check.js +40 -0
  70. package/dist/attendance/web/Kiosk.d.ts +8 -0
  71. package/dist/attendance/web/Kiosk.js +62 -0
  72. package/dist/attendance/web/PinButton.d.ts +7 -0
  73. package/dist/attendance/web/PinButton.js +29 -0
  74. package/dist/attendance/web/index.d.ts +13 -0
  75. package/dist/attendance/web/index.js +22 -0
  76. package/dist/attendance/web/messages.d.ts +2 -0
  77. package/dist/attendance/web/messages.js +61 -0
  78. package/dist/calendar/.kosh/bindings.d.ts +22 -0
  79. package/dist/calendar/.kosh/bindings.js +15 -0
  80. package/dist/calendar/.kosh/schema.d.ts +795 -0
  81. package/dist/calendar/demo.d.ts +6 -0
  82. package/dist/calendar/demo.js +24 -0
  83. package/dist/calendar/index.d.ts +3 -0
  84. package/dist/calendar/index.js +291 -0
  85. package/dist/calendar/module.d.ts +1705 -0
  86. package/dist/calendar/module.js +180 -0
  87. package/dist/cli/init.js +80 -0
  88. package/dist/cli/templates.d.ts +1 -1
  89. package/dist/cli/templates.js +226 -0
  90. package/dist/contacts/.kosh/bindings.js +1 -1
  91. package/dist/contacts/.kosh/schema.d.ts +78 -3
  92. package/dist/contacts/demo.js +30 -1
  93. package/dist/contacts/index.d.ts +1 -1
  94. package/dist/contacts/index.js +155 -9
  95. package/dist/contacts/module.d.ts +338 -2
  96. package/dist/contacts/module.js +93 -5
  97. package/dist/crm/.kosh/bindings.d.ts +22 -0
  98. package/dist/crm/.kosh/bindings.js +15 -0
  99. package/dist/crm/.kosh/schema.d.ts +800 -0
  100. package/dist/crm/demo.d.ts +6 -0
  101. package/dist/crm/demo.js +45 -0
  102. package/dist/crm/index.d.ts +3 -0
  103. package/dist/crm/index.js +361 -0
  104. package/dist/crm/module.d.ts +1845 -0
  105. package/dist/crm/module.js +208 -0
  106. package/dist/documents/.kosh/bindings.d.ts +22 -0
  107. package/dist/documents/.kosh/bindings.js +15 -0
  108. package/dist/documents/.kosh/schema.d.ts +862 -0
  109. package/dist/documents/demo.d.ts +6 -0
  110. package/dist/documents/demo.js +22 -0
  111. package/dist/documents/documents.d.ts +98 -0
  112. package/dist/documents/documents.js +318 -0
  113. package/dist/documents/index.d.ts +30 -0
  114. package/dist/documents/index.js +442 -0
  115. package/dist/documents/module.d.ts +2781 -0
  116. package/dist/documents/module.js +214 -0
  117. package/dist/documents/web/Versions.d.ts +7 -0
  118. package/dist/documents/web/Versions.js +45 -0
  119. package/dist/documents/web/index.d.ts +11 -0
  120. package/dist/documents/web/index.js +16 -0
  121. package/dist/documents/web/messages.d.ts +2 -0
  122. package/dist/documents/web/messages.js +21 -0
  123. package/dist/event/.kosh/bindings.d.ts +22 -0
  124. package/dist/event/.kosh/bindings.js +15 -0
  125. package/dist/event/.kosh/schema.d.ts +843 -0
  126. package/dist/event/demo.d.ts +6 -0
  127. package/dist/event/demo.js +65 -0
  128. package/dist/event/index.d.ts +14 -0
  129. package/dist/event/index.js +333 -0
  130. package/dist/event/mails.d.ts +15 -0
  131. package/dist/event/mails.js +112 -0
  132. package/dist/event/module.d.ts +2800 -0
  133. package/dist/event/module.js +323 -0
  134. package/dist/event/web/CheckInBox.d.ts +9 -0
  135. package/dist/event/web/CheckInBox.js +87 -0
  136. package/dist/event/web/index.d.ts +11 -0
  137. package/dist/event/web/index.js +16 -0
  138. package/dist/event/web/messages.d.ts +2 -0
  139. package/dist/event/web/messages.js +23 -0
  140. package/dist/event_account/.kosh/bindings.d.ts +22 -0
  141. package/dist/event_account/.kosh/bindings.js +15 -0
  142. package/dist/event_account/.kosh/schema.d.ts +1758 -0
  143. package/dist/event_account/index.d.ts +3 -0
  144. package/dist/event_account/index.js +28 -0
  145. package/dist/event_account/module.d.ts +7114 -0
  146. package/dist/event_account/module.js +90 -0
  147. package/dist/expense/.kosh/bindings.d.ts +22 -0
  148. package/dist/expense/.kosh/bindings.js +15 -0
  149. package/dist/expense/.kosh/schema.d.ts +1299 -0
  150. package/dist/expense/demo.d.ts +7 -0
  151. package/dist/expense/demo.js +69 -0
  152. package/dist/expense/index.d.ts +3 -0
  153. package/dist/expense/index.js +495 -0
  154. package/dist/expense/module.d.ts +4747 -0
  155. package/dist/expense/module.js +647 -0
  156. package/dist/expense_account/.kosh/bindings.d.ts +22 -0
  157. package/dist/expense_account/.kosh/bindings.js +15 -0
  158. package/dist/expense_account/.kosh/schema.d.ts +1936 -0
  159. package/dist/expense_account/index.d.ts +3 -0
  160. package/dist/expense_account/index.js +74 -0
  161. package/dist/expense_account/module.d.ts +9153 -0
  162. package/dist/expense_account/module.js +318 -0
  163. package/dist/helpdesk/.kosh/bindings.d.ts +22 -0
  164. package/dist/helpdesk/.kosh/bindings.js +15 -0
  165. package/dist/helpdesk/.kosh/schema.d.ts +885 -0
  166. package/dist/helpdesk/demo.d.ts +7 -0
  167. package/dist/helpdesk/demo.js +65 -0
  168. package/dist/helpdesk/hours.d.ts +17 -0
  169. package/dist/helpdesk/hours.js +94 -0
  170. package/dist/helpdesk/index.d.ts +10 -0
  171. package/dist/helpdesk/index.js +461 -0
  172. package/dist/helpdesk/module.d.ts +2940 -0
  173. package/dist/helpdesk/module.js +326 -0
  174. package/dist/helpdesk/routes.d.ts +12 -0
  175. package/dist/helpdesk/routes.js +132 -0
  176. package/dist/helpdesk/sla.d.ts +37 -0
  177. package/dist/helpdesk/sla.js +226 -0
  178. package/dist/hr/.kosh/bindings.d.ts +22 -0
  179. package/dist/hr/.kosh/bindings.js +15 -0
  180. package/dist/hr/.kosh/schema.d.ts +878 -0
  181. package/dist/hr/demo.d.ts +6 -0
  182. package/dist/hr/demo.js +60 -0
  183. package/dist/hr/index.d.ts +3 -0
  184. package/dist/hr/index.js +483 -0
  185. package/dist/hr/module.d.ts +2611 -0
  186. package/dist/hr/module.js +350 -0
  187. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  188. package/dist/l10n_bd/.kosh/schema.d.ts +176 -6
  189. package/dist/l10n_bd/module.d.ts +505 -6
  190. package/dist/l10n_bd_payroll/.kosh/bindings.d.ts +22 -0
  191. package/dist/l10n_bd_payroll/.kosh/bindings.js +15 -0
  192. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +2312 -0
  193. package/dist/l10n_bd_payroll/data.d.ts +47 -0
  194. package/dist/l10n_bd_payroll/data.js +347 -0
  195. package/dist/l10n_bd_payroll/index.d.ts +4 -0
  196. package/dist/l10n_bd_payroll/index.js +24 -0
  197. package/dist/l10n_bd_payroll/module.d.ts +12932 -0
  198. package/dist/l10n_bd_payroll/module.js +86 -0
  199. package/dist/l10n_in/.kosh/bindings.js +1 -1
  200. package/dist/l10n_in/.kosh/schema.d.ts +176 -6
  201. package/dist/l10n_in/module.d.ts +527 -7
  202. package/dist/mail/inbound/handle.js +6 -1
  203. package/dist/maintenance/.kosh/bindings.d.ts +22 -0
  204. package/dist/maintenance/.kosh/bindings.js +15 -0
  205. package/dist/maintenance/.kosh/schema.d.ts +911 -0
  206. package/dist/maintenance/demo.d.ts +6 -0
  207. package/dist/maintenance/demo.js +60 -0
  208. package/dist/maintenance/index.d.ts +3 -0
  209. package/dist/maintenance/index.js +422 -0
  210. package/dist/maintenance/module.d.ts +3545 -0
  211. package/dist/maintenance/module.js +446 -0
  212. package/dist/maintenance_stock/.kosh/bindings.d.ts +22 -0
  213. package/dist/maintenance_stock/.kosh/bindings.js +15 -0
  214. package/dist/maintenance_stock/.kosh/schema.d.ts +1446 -0
  215. package/dist/maintenance_stock/index.d.ts +9 -0
  216. package/dist/maintenance_stock/index.js +52 -0
  217. package/dist/maintenance_stock/module.d.ts +7675 -0
  218. package/dist/maintenance_stock/module.js +192 -0
  219. package/dist/modules-sdk/index.d.ts +1 -1
  220. package/dist/modules-sdk/manifest.d.ts +109 -2
  221. package/dist/modules-sdk/manifest.js +35 -1
  222. package/dist/mrp/.kosh/bindings.d.ts +22 -0
  223. package/dist/mrp/.kosh/bindings.js +15 -0
  224. package/dist/mrp/.kosh/schema.d.ts +1453 -0
  225. package/dist/mrp/demo.d.ts +7 -0
  226. package/dist/mrp/demo.js +42 -0
  227. package/dist/mrp/index.d.ts +3 -0
  228. package/dist/mrp/index.js +393 -0
  229. package/dist/mrp/module.d.ts +9335 -0
  230. package/dist/mrp/module.js +757 -0
  231. package/dist/mrp_account/.kosh/bindings.d.ts +22 -0
  232. package/dist/mrp_account/.kosh/bindings.js +15 -0
  233. package/dist/mrp_account/.kosh/schema.d.ts +2299 -0
  234. package/dist/mrp_account/index.d.ts +3 -0
  235. package/dist/mrp_account/index.js +22 -0
  236. package/dist/mrp_account/module.d.ts +23151 -0
  237. package/dist/mrp_account/module.js +123 -0
  238. package/dist/payment/.kosh/bindings.js +1 -1
  239. package/dist/payment/.kosh/schema.d.ts +178 -7
  240. package/dist/payment/index.d.ts +41 -0
  241. package/dist/payment/index.js +131 -74
  242. package/dist/payment/module.d.ts +569 -12
  243. package/dist/payment/module.js +19 -3
  244. package/dist/payment/settle.js +10 -1
  245. package/dist/payroll/.kosh/bindings.d.ts +22 -0
  246. package/dist/payroll/.kosh/bindings.js +15 -0
  247. package/dist/payroll/.kosh/schema.d.ts +1390 -0
  248. package/dist/payroll/compute.d.ts +35 -0
  249. package/dist/payroll/compute.js +398 -0
  250. package/dist/payroll/demo.d.ts +55 -0
  251. package/dist/payroll/demo.js +121 -0
  252. package/dist/payroll/formula.d.ts +62 -0
  253. package/dist/payroll/formula.js +320 -0
  254. package/dist/payroll/index.d.ts +230 -0
  255. package/dist/payroll/index.js +713 -0
  256. package/dist/payroll/module.d.ts +9390 -0
  257. package/dist/payroll/module.js +606 -0
  258. package/dist/payroll/routes.d.ts +10 -0
  259. package/dist/payroll/routes.js +112 -0
  260. package/dist/payroll_account/.kosh/bindings.d.ts +22 -0
  261. package/dist/payroll_account/.kosh/bindings.js +15 -0
  262. package/dist/payroll_account/.kosh/schema.d.ts +2308 -0
  263. package/dist/payroll_account/index.d.ts +3 -0
  264. package/dist/payroll_account/index.js +40 -0
  265. package/dist/payroll_account/module.d.ts +12396 -0
  266. package/dist/payroll_account/module.js +256 -0
  267. package/dist/permissions/approvals.d.ts +131 -9
  268. package/dist/permissions/approvals.js +662 -57
  269. package/dist/permissions/index.d.ts +1 -1
  270. package/dist/permissions/index.js +2 -2
  271. package/dist/permissions/models.js +191 -12
  272. package/dist/permissions/routes.d.ts +6 -1
  273. package/dist/permissions/routes.js +37 -4
  274. package/dist/permissions/web/ApprovalPanel.d.ts +5 -4
  275. package/dist/permissions/web/ApprovalPanel.js +39 -13
  276. package/dist/permissions/web/index.d.ts +6 -4
  277. package/dist/permissions/web/index.js +13 -4
  278. package/dist/permissions/web/messages.d.ts +2 -0
  279. package/dist/permissions/web/messages.js +43 -0
  280. package/dist/portal/.kosh/bindings.js +1 -1
  281. package/dist/portal/.kosh/schema.d.ts +78 -3
  282. package/dist/portal/index.js +1 -1
  283. package/dist/portal/module.d.ts +166 -2
  284. package/dist/pos/.kosh/bindings.d.ts +22 -0
  285. package/dist/pos/.kosh/bindings.js +15 -0
  286. package/dist/pos/.kosh/schema.d.ts +1809 -0
  287. package/dist/pos/accounting.d.ts +10 -0
  288. package/dist/pos/accounting.js +149 -0
  289. package/dist/pos/demo.d.ts +6 -0
  290. package/dist/pos/demo.js +90 -0
  291. package/dist/pos/index.d.ts +9 -0
  292. package/dist/pos/index.js +353 -0
  293. package/dist/pos/module.d.ts +9783 -0
  294. package/dist/pos/module.js +423 -0
  295. package/dist/pos/routes.d.ts +39 -0
  296. package/dist/pos/routes.js +368 -0
  297. package/dist/pos/web/Register.d.ts +9 -0
  298. package/dist/pos/web/Register.js +252 -0
  299. package/dist/pos/web/index.d.ts +11 -0
  300. package/dist/pos/web/index.js +16 -0
  301. package/dist/pos/web/messages.d.ts +2 -0
  302. package/dist/pos/web/messages.js +87 -0
  303. package/dist/pos_stock/.kosh/bindings.d.ts +22 -0
  304. package/dist/pos_stock/.kosh/bindings.js +15 -0
  305. package/dist/pos_stock/.kosh/schema.d.ts +2208 -0
  306. package/dist/pos_stock/index.d.ts +9 -0
  307. package/dist/pos_stock/index.js +35 -0
  308. package/dist/pos_stock/module.d.ts +12803 -0
  309. package/dist/pos_stock/module.js +115 -0
  310. package/dist/product/.kosh/bindings.js +1 -1
  311. package/dist/product/.kosh/schema.d.ts +52 -1
  312. package/dist/product/index.js +94 -4
  313. package/dist/product/module.d.ts +45 -1
  314. package/dist/product/module.js +11 -3
  315. package/dist/project/.kosh/bindings.js +1 -1
  316. package/dist/project/.kosh/schema.d.ts +725 -3
  317. package/dist/project/index.d.ts +3 -1
  318. package/dist/project/index.js +1045 -18
  319. package/dist/project/module.d.ts +10168 -458
  320. package/dist/project/module.js +1578 -14
  321. package/dist/project/routes.d.ts +44 -0
  322. package/dist/project/routes.js +314 -0
  323. package/dist/project/schedule.d.ts +72 -0
  324. package/dist/project/schedule.js +192 -0
  325. package/dist/project/web/Refresh.d.ts +8 -0
  326. package/dist/project/web/Refresh.js +29 -0
  327. package/dist/project/web/Schedule.d.ts +9 -0
  328. package/dist/project/web/Schedule.js +93 -0
  329. package/dist/project/web/Structure.d.ts +8 -0
  330. package/dist/project/web/Structure.js +86 -0
  331. package/dist/project/web/Workload.d.ts +8 -0
  332. package/dist/project/web/Workload.js +43 -0
  333. package/dist/project/web/index.d.ts +14 -0
  334. package/dist/project/web/index.js +25 -0
  335. package/dist/project/web/messages.d.ts +2 -0
  336. package/dist/project/web/messages.js +85 -0
  337. package/dist/project_account/.kosh/bindings.d.ts +22 -0
  338. package/dist/project_account/.kosh/bindings.js +15 -0
  339. package/dist/project_account/.kosh/schema.d.ts +2241 -0
  340. package/dist/project_account/index.d.ts +3 -0
  341. package/dist/project_account/index.js +27 -0
  342. package/dist/project_account/module.d.ts +11539 -0
  343. package/dist/project_account/module.js +76 -0
  344. package/dist/project_portal/.kosh/bindings.js +1 -1
  345. package/dist/project_portal/.kosh/schema.d.ts +725 -3
  346. package/dist/project_portal/module.d.ts +5137 -119
  347. package/dist/project_purchase/.kosh/bindings.d.ts +22 -0
  348. package/dist/project_purchase/.kosh/bindings.js +15 -0
  349. package/dist/project_purchase/.kosh/schema.d.ts +2320 -0
  350. package/dist/project_purchase/index.d.ts +9 -0
  351. package/dist/project_purchase/index.js +22 -0
  352. package/dist/project_purchase/module.d.ts +25147 -0
  353. package/dist/project_purchase/module.js +56 -0
  354. package/dist/purchase/.kosh/bindings.js +1 -1
  355. package/dist/purchase/.kosh/schema.d.ts +150 -6
  356. package/dist/purchase/index.js +163 -3
  357. package/dist/purchase/module.d.ts +228 -5
  358. package/dist/purchase/module.js +30 -3
  359. package/dist/purchase_account/.kosh/bindings.js +1 -1
  360. package/dist/purchase_account/.kosh/schema.d.ts +180 -8
  361. package/dist/purchase_account/index.js +27 -1
  362. package/dist/purchase_account/module.d.ts +591 -30
  363. package/dist/purchase_account/module.js +13 -2
  364. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  365. package/dist/purchase_portal/.kosh/schema.d.ts +150 -6
  366. package/dist/purchase_portal/module.d.ts +372 -6
  367. package/dist/purchase_stock/.kosh/bindings.d.ts +22 -0
  368. package/dist/purchase_stock/.kosh/bindings.js +15 -0
  369. package/dist/purchase_stock/.kosh/schema.d.ts +1479 -0
  370. package/dist/purchase_stock/index.d.ts +7 -0
  371. package/dist/purchase_stock/index.js +98 -0
  372. package/dist/purchase_stock/module.d.ts +7535 -0
  373. package/dist/purchase_stock/module.js +380 -0
  374. package/dist/purchase_stock_account/.kosh/bindings.d.ts +22 -0
  375. package/dist/purchase_stock_account/.kosh/bindings.js +15 -0
  376. package/dist/purchase_stock_account/.kosh/schema.d.ts +2155 -0
  377. package/dist/purchase_stock_account/index.d.ts +3 -0
  378. package/dist/purchase_stock_account/index.js +24 -0
  379. package/dist/purchase_stock_account/module.d.ts +38015 -0
  380. package/dist/purchase_stock_account/module.js +168 -0
  381. package/dist/recruitment/.kosh/bindings.d.ts +22 -0
  382. package/dist/recruitment/.kosh/bindings.js +15 -0
  383. package/dist/recruitment/.kosh/schema.d.ts +991 -0
  384. package/dist/recruitment/demo.d.ts +6 -0
  385. package/dist/recruitment/demo.js +45 -0
  386. package/dist/recruitment/index.d.ts +3 -0
  387. package/dist/recruitment/index.js +385 -0
  388. package/dist/recruitment/module.d.ts +3249 -0
  389. package/dist/recruitment/module.js +194 -0
  390. package/dist/recruitment/web/HireButton.d.ts +9 -0
  391. package/dist/recruitment/web/HireButton.js +32 -0
  392. package/dist/recruitment/web/index.d.ts +11 -0
  393. package/dist/recruitment/web/index.js +16 -0
  394. package/dist/recruitment/web/messages.d.ts +2 -0
  395. package/dist/recruitment/web/messages.js +19 -0
  396. package/dist/reporting/documents.d.ts +5 -0
  397. package/dist/reporting/documents.js +28 -1
  398. package/dist/reporting/index.d.ts +1 -1
  399. package/dist/reporting/index.js +4 -2
  400. package/dist/reporting/models.js +9 -0
  401. package/dist/reporting/overviews.d.ts +16 -0
  402. package/dist/reporting/overviews.js +56 -0
  403. package/dist/reporting/routes-documents.js +1 -1
  404. package/dist/reporting/routes.js +138 -80
  405. package/dist/reporting/web/DashboardView.d.ts +11 -0
  406. package/dist/reporting/web/DashboardView.js +2 -2
  407. package/dist/reporting/web/DesignerView.js +5 -0
  408. package/dist/reporting/web/Overview.d.ts +9 -0
  409. package/dist/reporting/web/Overview.js +53 -0
  410. package/dist/reporting/web/index.d.ts +1 -0
  411. package/dist/reporting/web/index.js +4 -1
  412. package/dist/reporting/web/messages.js +9 -0
  413. package/dist/sale_account/.kosh/bindings.js +1 -1
  414. package/dist/sale_account/.kosh/schema.d.ts +181 -6
  415. package/dist/sale_account/index.js +22 -1
  416. package/dist/sale_account/module.d.ts +639 -38
  417. package/dist/sale_portal/.kosh/bindings.js +1 -1
  418. package/dist/sale_portal/.kosh/schema.d.ts +59 -3
  419. package/dist/sale_portal/module.d.ts +435 -5
  420. package/dist/sale_project/.kosh/bindings.js +1 -1
  421. package/dist/sale_project/.kosh/schema.d.ts +732 -3
  422. package/dist/sale_project/module.d.ts +5349 -208
  423. package/dist/sale_project/module.js +17 -1
  424. package/dist/sale_stock/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_stock/.kosh/bindings.js +15 -0
  426. package/dist/sale_stock/.kosh/schema.d.ts +1303 -0
  427. package/dist/sale_stock/index.d.ts +7 -0
  428. package/dist/sale_stock/index.js +84 -0
  429. package/dist/sale_stock/module.d.ts +7514 -0
  430. package/dist/sale_stock/module.js +146 -0
  431. package/dist/sales/.kosh/bindings.js +1 -1
  432. package/dist/sales/.kosh/schema.d.ts +59 -3
  433. package/dist/sales/index.js +195 -4
  434. package/dist/sales/module.d.ts +356 -3
  435. package/dist/sales/module.js +78 -3
  436. package/dist/server/api/metadata.d.ts +5 -0
  437. package/dist/server/api/metadata.js +5 -0
  438. package/dist/server/api/rest.js +64 -1
  439. package/dist/server/api/views.js +1 -0
  440. package/dist/server/app-settings.d.ts +7 -0
  441. package/dist/server/app-settings.js +10 -0
  442. package/dist/server/auth/base.js +9 -0
  443. package/dist/server/index.d.ts +1 -0
  444. package/dist/server/index.js +1 -0
  445. package/dist/settings/app-settings.d.ts +2 -0
  446. package/dist/settings/app-settings.js +518 -0
  447. package/dist/settings/index.d.ts +1 -0
  448. package/dist/settings/index.js +15 -0
  449. package/dist/settings/people.js +29 -5
  450. package/dist/settings/web/AppSettingsPage.d.ts +11 -0
  451. package/dist/settings/web/AppSettingsPage.js +210 -0
  452. package/dist/settings/web/OverviewPage.js +16 -3
  453. package/dist/settings/web/PeoplePage.js +20 -6
  454. package/dist/settings/web/index.d.ts +1 -0
  455. package/dist/settings/web/index.js +3 -0
  456. package/dist/settings/web/messages.js +118 -2
  457. package/dist/sign/.kosh/bindings.d.ts +22 -0
  458. package/dist/sign/.kosh/bindings.js +15 -0
  459. package/dist/sign/.kosh/schema.d.ts +990 -0
  460. package/dist/sign/index.d.ts +14 -0
  461. package/dist/sign/index.js +350 -0
  462. package/dist/sign/module.d.ts +4478 -0
  463. package/dist/sign/module.js +158 -0
  464. package/dist/sign/sign.d.ts +82 -0
  465. package/dist/sign/sign.js +474 -0
  466. package/dist/stock/.kosh/bindings.d.ts +22 -0
  467. package/dist/stock/.kosh/bindings.js +15 -0
  468. package/dist/stock/.kosh/schema.d.ts +1222 -0
  469. package/dist/stock/demo.d.ts +8 -0
  470. package/dist/stock/demo.js +82 -0
  471. package/dist/stock/index.d.ts +4 -0
  472. package/dist/stock/index.js +903 -0
  473. package/dist/stock/module.d.ts +7856 -0
  474. package/dist/stock/module.js +1880 -0
  475. package/dist/stock/replenish.d.ts +38 -0
  476. package/dist/stock/replenish.js +176 -0
  477. package/dist/stock/web/Replenishment.d.ts +8 -0
  478. package/dist/stock/web/Replenishment.js +84 -0
  479. package/dist/stock/web/ScanBox.d.ts +8 -0
  480. package/dist/stock/web/ScanBox.js +90 -0
  481. package/dist/stock/web/index.d.ts +13 -0
  482. package/dist/stock/web/index.js +20 -0
  483. package/dist/stock/web/messages.d.ts +2 -0
  484. package/dist/stock/web/messages.js +77 -0
  485. package/dist/stock_account/.kosh/bindings.d.ts +22 -0
  486. package/dist/stock_account/.kosh/bindings.js +15 -0
  487. package/dist/stock_account/.kosh/schema.d.ts +2068 -0
  488. package/dist/stock_account/index.d.ts +3 -0
  489. package/dist/stock_account/index.js +140 -0
  490. package/dist/stock_account/module.d.ts +11523 -0
  491. package/dist/stock_account/module.js +339 -0
  492. package/dist/storage/attachments.d.ts +5 -0
  493. package/dist/storage/attachments.js +12 -1
  494. package/dist/storage/models.js +3 -0
  495. package/dist/storage/routes.js +13 -2
  496. package/dist/todo/.kosh/bindings.d.ts +22 -0
  497. package/dist/todo/.kosh/bindings.js +15 -0
  498. package/dist/todo/.kosh/schema.d.ts +732 -0
  499. package/dist/todo/demo.d.ts +6 -0
  500. package/dist/todo/demo.js +35 -0
  501. package/dist/todo/index.d.ts +3 -0
  502. package/dist/todo/index.js +187 -0
  503. package/dist/todo/module.d.ts +1180 -0
  504. package/dist/todo/module.js +130 -0
  505. package/dist/trade_finance/.kosh/bindings.d.ts +22 -0
  506. package/dist/trade_finance/.kosh/bindings.js +15 -0
  507. package/dist/trade_finance/.kosh/schema.d.ts +884 -0
  508. package/dist/trade_finance/demo.d.ts +6 -0
  509. package/dist/trade_finance/demo.js +63 -0
  510. package/dist/trade_finance/index.d.ts +3 -0
  511. package/dist/trade_finance/index.js +415 -0
  512. package/dist/trade_finance/module.d.ts +3779 -0
  513. package/dist/trade_finance/module.js +507 -0
  514. package/dist/trade_finance_account/.kosh/bindings.d.ts +22 -0
  515. package/dist/trade_finance_account/.kosh/bindings.js +15 -0
  516. package/dist/trade_finance_account/.kosh/schema.d.ts +1830 -0
  517. package/dist/trade_finance_account/index.d.ts +3 -0
  518. package/dist/trade_finance_account/index.js +93 -0
  519. package/dist/trade_finance_account/module.d.ts +8074 -0
  520. package/dist/trade_finance_account/module.js +245 -0
  521. package/dist/trade_finance_purchase/.kosh/bindings.d.ts +22 -0
  522. package/dist/trade_finance_purchase/.kosh/bindings.js +15 -0
  523. package/dist/trade_finance_purchase/.kosh/schema.d.ts +1246 -0
  524. package/dist/trade_finance_purchase/index.d.ts +8 -0
  525. package/dist/trade_finance_purchase/index.js +50 -0
  526. package/dist/trade_finance_purchase/module.d.ts +4257 -0
  527. package/dist/trade_finance_purchase/module.js +44 -0
  528. package/dist/trade_finance_sale/.kosh/bindings.d.ts +22 -0
  529. package/dist/trade_finance_sale/.kosh/bindings.js +15 -0
  530. package/dist/trade_finance_sale/.kosh/schema.d.ts +1072 -0
  531. package/dist/trade_finance_sale/index.d.ts +8 -0
  532. package/dist/trade_finance_sale/index.js +50 -0
  533. package/dist/trade_finance_sale/module.d.ts +4281 -0
  534. package/dist/trade_finance_sale/module.js +44 -0
  535. package/dist/ui/api.d.ts +2 -1
  536. package/dist/ui/api.js +2 -1
  537. package/dist/ui/app.js +26 -13
  538. package/dist/ui/components/AppIcon.js +30 -1
  539. package/dist/ui/components/primitives.d.ts +2 -0
  540. package/dist/ui/components/primitives.js +7 -1
  541. package/dist/ui/i18n/messages.d.ts +27 -0
  542. package/dist/ui/i18n/messages.js +46 -0
  543. package/dist/ui/index.d.ts +1 -0
  544. package/dist/ui/index.js +1 -0
  545. package/dist/ui/offline/queue.d.ts +5 -1
  546. package/dist/ui/offline/queue.js +2 -0
  547. package/dist/ui/registry.d.ts +5 -0
  548. package/dist/ui/shell/Home.js +55 -4
  549. package/dist/ui/views/FormView.js +102 -19
  550. package/dist/ui/views/KanbanView.d.ts +2 -0
  551. package/dist/ui/views/KanbanView.js +40 -3
  552. package/dist/ui/views/ListView.js +110 -11
  553. package/dist/ui/views/StatsRow.d.ts +14 -0
  554. package/dist/ui/views/StatsRow.js +88 -0
  555. package/dist/ui/views/widgets.d.ts +2 -1
  556. package/dist/ui/views/widgets.js +200 -1
  557. package/dist/views/builders.d.ts +19 -2
  558. package/dist/views/builders.js +21 -1
  559. package/dist/views/condition.d.ts +6 -0
  560. package/dist/views/condition.js +20 -0
  561. package/dist/views/documents.d.ts +8 -0
  562. package/dist/views/extend.d.ts +2 -2
  563. package/dist/views/extend.js +11 -1
  564. package/dist/views/index.d.ts +2 -2
  565. package/dist/views/index.js +2 -2
  566. package/dist/views/types.d.ts +52 -5
  567. package/dist/views/validate.js +39 -1
  568. package/dist/website/.kosh/bindings.d.ts +22 -0
  569. package/dist/website/.kosh/bindings.js +15 -0
  570. package/dist/website/.kosh/schema.d.ts +881 -0
  571. package/dist/website/demo.d.ts +6 -0
  572. package/dist/website/demo.js +115 -0
  573. package/dist/website/index.d.ts +9 -0
  574. package/dist/website/index.js +251 -0
  575. package/dist/website/module.d.ts +2987 -0
  576. package/dist/website/module.js +282 -0
  577. package/dist/website/render.d.ts +45 -0
  578. package/dist/website/render.js +102 -0
  579. package/dist/website/routes.d.ts +12 -0
  580. package/dist/website/routes.js +246 -0
  581. package/dist/website/web/PagePreview.d.ts +7 -0
  582. package/dist/website/web/PagePreview.js +33 -0
  583. package/dist/website/web/index.d.ts +11 -0
  584. package/dist/website/web/index.js +16 -0
  585. package/dist/website/web/messages.d.ts +2 -0
  586. package/dist/website/web/messages.js +15 -0
  587. package/dist/website_crm/.kosh/bindings.d.ts +22 -0
  588. package/dist/website_crm/.kosh/bindings.js +15 -0
  589. package/dist/website_crm/.kosh/schema.d.ts +967 -0
  590. package/dist/website_crm/index.d.ts +3 -0
  591. package/dist/website_crm/index.js +39 -0
  592. package/dist/website_crm/module.d.ts +2956 -0
  593. package/dist/website_crm/module.js +44 -0
  594. package/dist/website_sale/.kosh/bindings.d.ts +22 -0
  595. package/dist/website_sale/.kosh/bindings.js +15 -0
  596. package/dist/website_sale/.kosh/schema.d.ts +2284 -0
  597. package/dist/website_sale/couriers.d.ts +50 -0
  598. package/dist/website_sale/couriers.js +59 -0
  599. package/dist/website_sale/demo.d.ts +7 -0
  600. package/dist/website_sale/demo.js +90 -0
  601. package/dist/website_sale/growth.d.ts +31 -0
  602. package/dist/website_sale/growth.js +163 -0
  603. package/dist/website_sale/index.d.ts +49 -0
  604. package/dist/website_sale/index.js +538 -0
  605. package/dist/website_sale/module.d.ts +22027 -0
  606. package/dist/website_sale/module.js +397 -0
  607. package/dist/website_sale/shipments.d.ts +16 -0
  608. package/dist/website_sale/shipments.js +113 -0
  609. package/dist/website_sale/shop.d.ts +81 -0
  610. package/dist/website_sale/shop.js +649 -0
  611. package/dist/website_sale_stock/.kosh/bindings.d.ts +22 -0
  612. package/dist/website_sale_stock/.kosh/bindings.js +15 -0
  613. package/dist/website_sale_stock/.kosh/schema.d.ts +2681 -0
  614. package/dist/website_sale_stock/index.d.ts +9 -0
  615. package/dist/website_sale_stock/index.js +20 -0
  616. package/dist/website_sale_stock/module.d.ts +24998 -0
  617. package/dist/website_sale_stock/module.js +28 -0
  618. package/package.json +200 -2
@@ -1,9 +1,15 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 7bb9639b7268e2ef
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c853a5a3b0e38609
2
2
  // Schema view of module `project_portal` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
5
5
  /** Model name → model type (RFC 0002 §7.7). */
6
6
  export interface SchemaView {
7
+ readonly 'approval.delegation': ApprovalDelegation;
8
+ readonly 'approval.level': ApprovalLevel;
9
+ readonly 'approval.link': ApprovalLink;
10
+ readonly 'approval.policy': ApprovalPolicy;
11
+ readonly 'approval.request': ApprovalRequest;
12
+ readonly 'approval.vote': ApprovalVote;
7
13
  readonly 'audit.event': AuditEvent;
8
14
  readonly 'auth.api_key': AuthApiKey;
9
15
  readonly 'auth.credential': AuthCredential;
@@ -13,6 +19,7 @@ export interface SchemaView {
13
19
  readonly 'auth.user_group': AuthUserGroup;
14
20
  readonly 'kosh.image': KoshImage;
15
21
  readonly 'kosh.saved_view': KoshSavedView;
22
+ readonly 'kosh.setting': KoshSetting;
16
23
  readonly 'mail.activity': MailActivity;
17
24
  readonly 'mail.activity.type': MailActivityType;
18
25
  readonly 'mail.channel': MailChannel;
@@ -27,17 +34,201 @@ export interface SchemaView {
27
34
  readonly 'portal.announcement': PortalAnnouncement;
28
35
  readonly 'portal.invitation': PortalInvitation;
29
36
  readonly 'portal.signature': PortalSignature;
37
+ readonly 'project.budget.line': ProjectBudgetLine;
38
+ readonly 'project.change': ProjectChange;
39
+ readonly 'project.issue': ProjectIssue;
40
+ readonly 'project.member': ProjectMember;
41
+ readonly 'project.phase': ProjectPhase;
42
+ readonly 'project.plan': ProjectPlan;
30
43
  readonly 'project.project': ProjectProject;
44
+ readonly 'project.risk': ProjectRisk;
45
+ readonly 'project.role': ProjectRole;
46
+ readonly 'project.status.report': ProjectStatusReport;
47
+ readonly 'project.tag': ProjectTag;
31
48
  readonly 'project.task': ProjectTask;
49
+ readonly 'project.task.category': ProjectTaskCategory;
50
+ readonly 'project.task.link': ProjectTaskLink;
32
51
  readonly 'project.task.stage': ProjectTaskStage;
33
52
  readonly 'project.timesheet': ProjectTimesheet;
53
+ readonly 'project.type': ProjectType;
54
+ readonly 'project.work.package': ProjectWorkPackage;
34
55
  readonly 'res.company': ResCompany;
35
56
  readonly 'res.currency': ResCurrency;
36
57
  readonly 'res.partner': ResPartner;
58
+ readonly 'res.partner.tag': ResPartnerTag;
37
59
  readonly 'res.users': ResUsers;
38
60
  readonly 'storage.attachment': StorageAttachment;
39
61
  }
40
62
 
63
+ /** `approval.delegation` (owner: permissions). */
64
+ export interface ApprovalDelegation {
65
+ readonly name: 'approval.delegation';
66
+ readonly fields: {
67
+ readonly id: F.Id<'approval.delegation'>;
68
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
69
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
70
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
71
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
72
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
73
+ readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
74
+ readonly delegate: F.Many2one<'res.users', { readonly required: true }>;
75
+ readonly dateFrom: F.DateOnly<{ readonly required: true }>;
76
+ readonly dateTo: F.DateOnly<{ readonly required: true }>;
77
+ readonly note: F.Char;
78
+ };
79
+ readonly methods: ApprovalDelegationMethods;
80
+ }
81
+
82
+ /** Methods of `approval.delegation`: declared ones and transitions. */
83
+ export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
84
+ }
85
+
86
+ /** `approval.level` (owner: permissions). */
87
+ export interface ApprovalLevel {
88
+ readonly name: 'approval.level';
89
+ readonly fields: {
90
+ readonly id: F.Id<'approval.level'>;
91
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
92
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
93
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
94
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
95
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
96
+ readonly policy: F.Many2one<'approval.policy', { readonly required: true }>;
97
+ readonly sequence: F.Integer<{ readonly default: true }>;
98
+ readonly name: F.Char<{ readonly required: true }>;
99
+ readonly condition: F.Json;
100
+ readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
101
+ readonly approverRole: F.Char;
102
+ readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
103
+ readonly approverField: F.Char;
104
+ readonly quorum: F.Selection<'any' | 'all' | 'count', { readonly required: true; readonly default: true }>;
105
+ readonly quorumCount: F.Integer;
106
+ readonly deadlineHours: F.Integer;
107
+ readonly escalateRole: F.Char;
108
+ };
109
+ readonly methods: ApprovalLevelMethods;
110
+ }
111
+
112
+ /** Methods of `approval.level`: declared ones and transitions. */
113
+ export interface ApprovalLevelMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.level'> {
114
+ }
115
+
116
+ /** `approval.link` (owner: permissions). */
117
+ export interface ApprovalLink {
118
+ readonly name: 'approval.link';
119
+ readonly fields: {
120
+ readonly id: F.Id<'approval.link'>;
121
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
122
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
123
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
124
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
125
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
126
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
127
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
128
+ readonly tokenHash: F.Char<{ readonly required: true }>;
129
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
130
+ readonly usedAt: F.Datetime;
131
+ };
132
+ readonly methods: ApprovalLinkMethods;
133
+ }
134
+
135
+ /** Methods of `approval.link`: declared ones and transitions. */
136
+ export interface ApprovalLinkMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.link'> {
137
+ }
138
+
139
+ /** `approval.policy` (owner: permissions). */
140
+ export interface ApprovalPolicy {
141
+ readonly name: 'approval.policy';
142
+ readonly fields: {
143
+ readonly id: F.Id<'approval.policy'>;
144
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
145
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
146
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
147
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
148
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
149
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
150
+ readonly name: F.Char<{ readonly required: true }>;
151
+ readonly targetModel: F.Char<{ readonly required: true }>;
152
+ readonly sequence: F.Integer<{ readonly default: true }>;
153
+ readonly company: F.Many2one<'res.company'>;
154
+ readonly onApproved: F.Char;
155
+ readonly onRejected: F.Char;
156
+ readonly onSentBack: F.Char;
157
+ readonly onWithdrawn: F.Char;
158
+ readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
159
+ readonly levels: F.One2many<'approval.level', { readonly required: true }>;
160
+ };
161
+ readonly methods: ApprovalPolicyMethods;
162
+ }
163
+
164
+ /** Methods of `approval.policy`: declared ones and transitions. */
165
+ export interface ApprovalPolicyMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.policy'> {
166
+ }
167
+
168
+ /** `approval.request` (owner: permissions). */
169
+ export interface ApprovalRequest {
170
+ readonly name: 'approval.request';
171
+ readonly fields: {
172
+ readonly id: F.Id<'approval.request'>;
173
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
174
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
175
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
176
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
177
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
178
+ readonly policy: F.Many2one<'approval.policy'>;
179
+ readonly level: F.Many2one<'approval.level'>;
180
+ readonly levelName: F.Char<{ readonly required: true }>;
181
+ readonly sequence: F.Integer<{ readonly required: true }>;
182
+ readonly targetModel: F.Char<{ readonly required: true }>;
183
+ readonly targetId: F.Integer<{ readonly required: true }>;
184
+ readonly company: F.Many2one<'res.company'>;
185
+ readonly approverRole: F.Char;
186
+ readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
187
+ readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
188
+ readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
189
+ readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
190
+ readonly dueAt: F.Datetime;
191
+ readonly remindedAt: F.Datetime;
192
+ readonly escalatedTo: F.Char;
193
+ readonly escalatedAt: F.Datetime;
194
+ readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
195
+ readonly requestedBy: F.Many2one<'res.users'>;
196
+ readonly decidedBy: F.Many2one<'res.users'>;
197
+ readonly decidedAt: F.Datetime;
198
+ readonly comment: F.Text;
199
+ };
200
+ readonly methods: ApprovalRequestMethods;
201
+ }
202
+
203
+ /** Methods of `approval.request`: declared ones and transitions. */
204
+ export interface ApprovalRequestMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.request'> {
205
+ }
206
+
207
+ /** `approval.vote` (owner: permissions). */
208
+ export interface ApprovalVote {
209
+ readonly name: 'approval.vote';
210
+ readonly fields: {
211
+ readonly id: F.Id<'approval.vote'>;
212
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
213
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
214
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
215
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
216
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
217
+ readonly request: F.Many2one<'approval.request', { readonly required: true }>;
218
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
219
+ readonly decision: F.Selection<'approve' | 'reject' | 'send_back', { readonly required: true }>;
220
+ readonly comment: F.Text;
221
+ readonly at: F.Datetime<{ readonly required: true }>;
222
+ readonly onBehalfOf: F.Many2one<'res.users'>;
223
+ readonly ip: F.Char;
224
+ };
225
+ readonly methods: ApprovalVoteMethods;
226
+ }
227
+
228
+ /** Methods of `approval.vote`: declared ones and transitions. */
229
+ export interface ApprovalVoteMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.vote'> {
230
+ }
231
+
41
232
  /** `audit.event` (owner: base). */
42
233
  export interface AuditEvent {
43
234
  readonly name: 'audit.event';
@@ -254,6 +445,26 @@ export interface KoshSavedView {
254
445
  export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
255
446
  }
256
447
 
448
+ /** `kosh.setting` (owner: base). */
449
+ export interface KoshSetting {
450
+ readonly name: 'kosh.setting';
451
+ readonly fields: {
452
+ readonly id: F.Id<'kosh.setting'>;
453
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
454
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
455
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
456
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
457
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
458
+ readonly key: F.Char<{ readonly required: true }>;
459
+ readonly value: F.Json;
460
+ };
461
+ readonly methods: KoshSettingMethods;
462
+ }
463
+
464
+ /** Methods of `kosh.setting`: declared ones and transitions. */
465
+ export interface KoshSettingMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.setting'> {
466
+ }
467
+
257
468
  /** `mail.activity` (owner: messaging). */
258
469
  export interface MailActivity {
259
470
  readonly name: 'mail.activity';
@@ -603,6 +814,214 @@ export interface PortalSignature {
603
814
  export interface PortalSignatureMethods extends F.Methods<typeof import('../../portal/index.js').portalShutro, 'portal.signature'> {
604
815
  }
605
816
 
817
+ /** `project.budget.line` (owner: project). */
818
+ export interface ProjectBudgetLine {
819
+ readonly name: 'project.budget.line';
820
+ readonly fields: {
821
+ readonly id: F.Id<'project.budget.line'>;
822
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
823
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
824
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
825
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
826
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
827
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
828
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
829
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
830
+ readonly name: F.Char<{ readonly required: true }>;
831
+ readonly category: F.Selection<'labour' | 'materials' | 'services' | 'equipment' | 'other', { readonly required: true; readonly default: true }>;
832
+ readonly phase: F.Many2one<'project.phase'>;
833
+ readonly workPackage: F.Many2one<'project.work.package'>;
834
+ readonly planned: F.Decimal<{ readonly required: true; readonly default: true }>;
835
+ };
836
+ readonly methods: ProjectBudgetLineMethods;
837
+ }
838
+
839
+ /** Methods of `project.budget.line`: declared ones and transitions. */
840
+ export interface ProjectBudgetLineMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.budget.line'> {
841
+ }
842
+
843
+ /** `project.change` (owner: project). */
844
+ export interface ProjectChange {
845
+ readonly name: 'project.change';
846
+ readonly fields: {
847
+ readonly id: F.Id<'project.change'>;
848
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
849
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
850
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
851
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
852
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
853
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
854
+ readonly name: F.Char<{ readonly readonly: true; readonly sequence: true }>;
855
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
856
+ readonly title: F.Char<{ readonly required: true }>;
857
+ readonly requester: F.Many2one<'res.users', { readonly default: true }>;
858
+ readonly sponsor: F.Many2one<'res.users', { readonly readonly: true; readonly compute: true; readonly store: true }>;
859
+ readonly reason: F.Text<{ readonly required: true }>;
860
+ readonly impact: F.Text;
861
+ readonly newDateEnd: F.DateOnly;
862
+ readonly newBudget: F.Decimal;
863
+ readonly previousDateEnd: F.DateOnly;
864
+ readonly previousBaselineEnd: F.DateOnly;
865
+ readonly previousBudget: F.Decimal;
866
+ readonly appliedAt: F.Datetime;
867
+ readonly state: F.State<'draft' | 'submitted' | 'applied' | 'rejected' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
868
+ };
869
+ readonly methods: ProjectChangeMethods;
870
+ }
871
+
872
+ /** Methods of `project.change`: declared ones and transitions. */
873
+ export interface ProjectChangeMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.change'> {
874
+ readonly 'approve': () => Promise<void>;
875
+ readonly 'cancel': () => Promise<void>;
876
+ readonly 'redraft': () => Promise<void>;
877
+ readonly 'reject': () => Promise<void>;
878
+ readonly 'submit': () => Promise<void>;
879
+ }
880
+
881
+ /** `project.issue` (owner: project). */
882
+ export interface ProjectIssue {
883
+ readonly name: 'project.issue';
884
+ readonly fields: {
885
+ readonly id: F.Id<'project.issue'>;
886
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
887
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
888
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
889
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
890
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
891
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
892
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
893
+ readonly name: F.Char<{ readonly required: true }>;
894
+ readonly description: F.Text;
895
+ readonly severity: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
896
+ readonly raisedBy: F.Many2one<'res.users', { readonly default: true }>;
897
+ readonly owner: F.Many2one<'res.users'>;
898
+ readonly dueDate: F.DateOnly;
899
+ readonly status: F.Selection<'open' | 'in_progress' | 'resolved' | 'closed', { readonly required: true; readonly default: true }>;
900
+ readonly resolution: F.Text;
901
+ readonly risk: F.Many2one<'project.risk'>;
902
+ };
903
+ readonly methods: ProjectIssueMethods;
904
+ }
905
+
906
+ /** Methods of `project.issue`: declared ones and transitions. */
907
+ export interface ProjectIssueMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.issue'> {
908
+ }
909
+
910
+ /** `project.member` (owner: project). */
911
+ export interface ProjectMember {
912
+ readonly name: 'project.member';
913
+ readonly fields: {
914
+ readonly id: F.Id<'project.member'>;
915
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
916
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
917
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
918
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
919
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
920
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
921
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
922
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
923
+ readonly role: F.Many2one<'project.role'>;
924
+ readonly allocation: F.Integer<{ readonly required: true; readonly default: true }>;
925
+ readonly hourlyCost: F.Decimal;
926
+ readonly dateFrom: F.DateOnly;
927
+ readonly dateTo: F.DateOnly;
928
+ readonly notes: F.Text;
929
+ readonly overallocated: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true }>;
930
+ };
931
+ readonly methods: ProjectMemberMethods;
932
+ }
933
+
934
+ /** Methods of `project.member`: declared ones and transitions. */
935
+ export interface ProjectMemberMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.member'> {
936
+ }
937
+
938
+ /** `project.phase` (owner: project). */
939
+ export interface ProjectPhase {
940
+ readonly name: 'project.phase';
941
+ readonly fields: {
942
+ readonly id: F.Id<'project.phase'>;
943
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
944
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
945
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
946
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
947
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
948
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
949
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
950
+ readonly name: F.Char<{ readonly required: true }>;
951
+ readonly code: F.Char;
952
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
953
+ readonly manager: F.Many2one<'res.users'>;
954
+ readonly dateStart: F.DateOnly;
955
+ readonly dateEnd: F.DateOnly;
956
+ readonly status: F.Selection<'draft' | 'in_progress' | 'on_hold' | 'done' | 'cancelled', { readonly required: true; readonly default: true }>;
957
+ readonly description: F.Text;
958
+ readonly progressOverride: F.Decimal;
959
+ readonly baselineStart: F.DateOnly;
960
+ readonly baselineEnd: F.DateOnly;
961
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
962
+ readonly parentPhase: F.Many2one<'project.phase'>;
963
+ readonly parentPath: F.Char<{ readonly readonly: true }>;
964
+ readonly children: F.One2many<'project.phase', { readonly required: true }>;
965
+ readonly responsible: F.Many2one<'res.users'>;
966
+ readonly late: F.Bool<{ readonly required: true; readonly default: true }>;
967
+ readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
968
+ readonly workPackages: F.One2many<'project.work.package', { readonly required: true }>;
969
+ readonly tasks: F.One2many<'project.task', { readonly required: true }>;
970
+ readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
971
+ };
972
+ readonly methods: ProjectPhaseMethods;
973
+ }
974
+
975
+ /** Methods of `project.phase`: declared ones and transitions. */
976
+ export interface ProjectPhaseMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.phase'> {
977
+ }
978
+
979
+ /** `project.plan` (owner: project). */
980
+ export interface ProjectPlan {
981
+ readonly name: 'project.plan';
982
+ readonly fields: {
983
+ readonly id: F.Id<'project.plan'>;
984
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
985
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
986
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
987
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
988
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
989
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
990
+ readonly name: F.Char<{ readonly readonly: true; readonly sequence: true }>;
991
+ readonly title: F.Char<{ readonly required: true }>;
992
+ readonly type: F.Many2one<'project.type'>;
993
+ readonly requester: F.Many2one<'res.users', { readonly default: true }>;
994
+ readonly manager: F.Many2one<'res.users', { readonly default: true }>;
995
+ readonly sponsor: F.Many2one<'res.users'>;
996
+ readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
997
+ readonly dateStart: F.DateOnly;
998
+ readonly dateEnd: F.DateOnly;
999
+ readonly description: F.Text;
1000
+ readonly objectives: F.Text;
1001
+ readonly expectedOutcome: F.Text;
1002
+ readonly strategicGoal: F.Text;
1003
+ readonly estimatedBudget: F.Decimal;
1004
+ readonly approvedBudget: F.Decimal;
1005
+ readonly approvedAt: F.Datetime;
1006
+ readonly projects: F.One2many<'project.project', { readonly required: true }>;
1007
+ readonly projectCount: F.Integer<{ readonly readonly: true; readonly compute: true }>;
1008
+ readonly state: F.State<'draft' | 'submitted' | 'approved' | 'rejected' | 'in_progress' | 'completed' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
1009
+ };
1010
+ readonly methods: ProjectPlanMethods;
1011
+ }
1012
+
1013
+ /** Methods of `project.plan`: declared ones and transitions. */
1014
+ export interface ProjectPlanMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.plan'> {
1015
+ readonly 'approve': () => Promise<void>;
1016
+ readonly 'baseline': () => Promise<void>;
1017
+ readonly 'cancel': () => Promise<void>;
1018
+ readonly 'complete': () => Promise<void>;
1019
+ readonly 'redraft': () => Promise<void>;
1020
+ readonly 'reject': () => Promise<void>;
1021
+ readonly 'start': () => Promise<void>;
1022
+ readonly 'submit': () => Promise<void>;
1023
+ }
1024
+
606
1025
  /** `project.project` (owner: project; extended by: project_portal). */
607
1026
  export interface ProjectProject {
608
1027
  readonly name: 'project.project';
@@ -616,13 +1035,49 @@ export interface ProjectProject {
616
1035
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
617
1036
  readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
618
1037
  readonly name: F.Char<{ readonly required: true }>;
1038
+ readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
1039
+ readonly type: F.Many2one<'project.type'>;
1040
+ readonly parentProject: F.Many2one<'project.project'>;
1041
+ readonly parentPath: F.Char<{ readonly readonly: true }>;
1042
+ readonly children: F.One2many<'project.project', { readonly required: true }>;
1043
+ readonly plan: F.Many2one<'project.plan'>;
1044
+ readonly baselineStart: F.DateOnly;
1045
+ readonly baselineEnd: F.DateOnly;
1046
+ readonly baselineBudget: F.Decimal;
1047
+ readonly slipDays: F.Integer<{ readonly readonly: true; readonly compute: true }>;
619
1048
  readonly partner: F.Many2one<'res.partner'>;
620
1049
  readonly manager: F.Many2one<'res.users', { readonly default: true }>;
1050
+ readonly sponsor: F.Many2one<'res.users'>;
1051
+ readonly owner: F.Many2one<'res.users'>;
1052
+ readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
1053
+ readonly riskLevel: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
1054
+ readonly location: F.Char;
621
1055
  readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
622
1056
  readonly dateStart: F.DateOnly;
623
1057
  readonly dateEnd: F.DateOnly;
624
1058
  readonly description: F.Text;
1059
+ readonly scope: F.Text;
1060
+ readonly assumptions: F.Text;
1061
+ readonly constraints: F.Text;
1062
+ readonly phases: F.One2many<'project.phase', { readonly required: true }>;
1063
+ readonly workPackages: F.One2many<'project.work.package', { readonly required: true }>;
1064
+ readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
625
1065
  readonly tasks: F.One2many<'project.task', { readonly required: true }>;
1066
+ readonly members: F.One2many<'project.member', { readonly required: true }>;
1067
+ readonly timesheets: F.One2many<'project.timesheet', { readonly required: true }>;
1068
+ readonly budgetLines: F.One2many<'project.budget.line', { readonly required: true }>;
1069
+ readonly budget: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1070
+ readonly bookedCost: F.Decimal;
1071
+ readonly committedCost: F.Decimal;
1072
+ readonly actualCost: F.Decimal<{ readonly readonly: true; readonly compute: true }>;
1073
+ readonly variance: F.Decimal<{ readonly readonly: true; readonly compute: true }>;
1074
+ readonly healthComputed: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
1075
+ readonly healthNotes: F.Text;
1076
+ readonly healthCheckedAt: F.Datetime;
1077
+ readonly healthOverride: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
1078
+ readonly healthReason: F.Text;
1079
+ readonly health: F.Selection<'on_track' | 'at_risk' | 'off_track', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1080
+ readonly labourCost: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
626
1081
  readonly taskCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
627
1082
  readonly hours: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
628
1083
  };
@@ -633,6 +1088,114 @@ export interface ProjectProject {
633
1088
  export interface ProjectProjectMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.project'>, F.Methods<typeof import('../module.js').projectPortalShutro, 'project.project'> {
634
1089
  }
635
1090
 
1091
+ /** `project.risk` (owner: project). */
1092
+ export interface ProjectRisk {
1093
+ readonly name: 'project.risk';
1094
+ readonly fields: {
1095
+ readonly id: F.Id<'project.risk'>;
1096
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1097
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1098
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1099
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1100
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1101
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1102
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
1103
+ readonly name: F.Char<{ readonly required: true }>;
1104
+ readonly description: F.Text;
1105
+ readonly category: F.Selection<'schedule' | 'cost' | 'scope' | 'quality' | 'safety' | 'supply' | 'other', { readonly required: true; readonly default: true }>;
1106
+ readonly probability: F.Integer<{ readonly required: true; readonly default: true }>;
1107
+ readonly impact: F.Integer<{ readonly required: true; readonly default: true }>;
1108
+ readonly score: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1109
+ readonly level: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly readonly: true; readonly compute: true; readonly store: true }>;
1110
+ readonly owner: F.Many2one<'res.users', { readonly default: true }>;
1111
+ readonly mitigation: F.Text;
1112
+ readonly contingency: F.Text;
1113
+ readonly dueDate: F.DateOnly;
1114
+ readonly status: F.Selection<'open' | 'mitigating' | 'occurred' | 'closed', { readonly required: true; readonly default: true }>;
1115
+ };
1116
+ readonly methods: ProjectRiskMethods;
1117
+ }
1118
+
1119
+ /** Methods of `project.risk`: declared ones and transitions. */
1120
+ export interface ProjectRiskMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.risk'> {
1121
+ }
1122
+
1123
+ /** `project.role` (owner: project). */
1124
+ export interface ProjectRole {
1125
+ readonly name: 'project.role';
1126
+ readonly fields: {
1127
+ readonly id: F.Id<'project.role'>;
1128
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1129
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1130
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1131
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1132
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1133
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1134
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1135
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1136
+ readonly code: F.Char;
1137
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1138
+ readonly defaultHourlyCost: F.Decimal;
1139
+ };
1140
+ readonly methods: ProjectRoleMethods;
1141
+ }
1142
+
1143
+ /** Methods of `project.role`: declared ones and transitions. */
1144
+ export interface ProjectRoleMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.role'> {
1145
+ }
1146
+
1147
+ /** `project.status.report` (owner: project). */
1148
+ export interface ProjectStatusReport {
1149
+ readonly name: 'project.status.report';
1150
+ readonly fields: {
1151
+ readonly id: F.Id<'project.status.report'>;
1152
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1153
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1154
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1155
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1156
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1157
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1158
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
1159
+ readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
1160
+ readonly name: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1161
+ readonly author: F.Many2one<'res.users', { readonly default: true }>;
1162
+ readonly health: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
1163
+ readonly progress: F.Decimal;
1164
+ readonly done: F.Text;
1165
+ readonly next: F.Text;
1166
+ readonly risks: F.Text;
1167
+ readonly sentAt: F.Datetime;
1168
+ readonly state: F.State<'draft' | 'sent', { readonly required: true; readonly readonly: true; readonly default: true }>;
1169
+ };
1170
+ readonly methods: ProjectStatusReportMethods;
1171
+ }
1172
+
1173
+ /** Methods of `project.status.report`: declared ones and transitions. */
1174
+ export interface ProjectStatusReportMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.status.report'> {
1175
+ readonly 'send': () => Promise<void>;
1176
+ }
1177
+
1178
+ /** `project.tag` (owner: project). */
1179
+ export interface ProjectTag {
1180
+ readonly name: 'project.tag';
1181
+ readonly fields: {
1182
+ readonly id: F.Id<'project.tag'>;
1183
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1184
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1185
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1186
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1187
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1188
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1189
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1190
+ readonly color: F.Char;
1191
+ };
1192
+ readonly methods: ProjectTagMethods;
1193
+ }
1194
+
1195
+ /** Methods of `project.tag`: declared ones and transitions. */
1196
+ export interface ProjectTagMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.tag'> {
1197
+ }
1198
+
636
1199
  /** `project.task` (owner: project; extended by: project_portal). */
637
1200
  export interface ProjectTask {
638
1201
  readonly name: 'project.task';
@@ -648,16 +1211,35 @@ export interface ProjectTask {
648
1211
  readonly name: F.Char<{ readonly required: true }>;
649
1212
  readonly project: F.Many2one<'project.project', { readonly required: true }>;
650
1213
  readonly stage: F.Many2one<'project.task.stage'>;
1214
+ readonly phase: F.Many2one<'project.phase'>;
1215
+ readonly workPackage: F.Many2one<'project.work.package'>;
1216
+ readonly category: F.Many2one<'project.task.category'>;
1217
+ readonly parentTask: F.Many2one<'project.task'>;
1218
+ readonly subtasks: F.One2many<'project.task', { readonly required: true }>;
651
1219
  readonly assignee: F.Many2one<'res.users'>;
1220
+ readonly assignees: F.Many2many<'res.users', { readonly required: true }>;
1221
+ readonly tags: F.Many2many<'project.tag', { readonly required: true }>;
1222
+ readonly milestone: F.Bool<{ readonly required: true; readonly default: true }>;
1223
+ readonly predecessors: F.One2many<'project.task.link', { readonly required: true }>;
1224
+ readonly successors: F.One2many<'project.task.link', { readonly required: true }>;
652
1225
  readonly partner: F.Many2one<'res.partner'>;
653
1226
  readonly priority: F.Selection<'normal' | 'high', { readonly required: true; readonly default: true }>;
654
1227
  readonly deadline: F.DateOnly;
655
1228
  readonly plannedHours: F.Decimal;
656
1229
  readonly effectiveHours: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
657
1230
  readonly done: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
1231
+ readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1232
+ readonly blocked: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
658
1233
  readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
659
1234
  readonly description: F.Text;
660
1235
  readonly timesheets: F.One2many<'project.timesheet', { readonly required: true }>;
1236
+ readonly dateStart: F.DateOnly;
1237
+ readonly baselineStart: F.DateOnly;
1238
+ readonly baselineEnd: F.DateOnly;
1239
+ readonly repeatEvery: F.Integer;
1240
+ readonly repeatUnit: F.Selection<'day' | 'week' | 'month', { readonly default: true }>;
1241
+ readonly repeatUntil: F.DateOnly;
1242
+ readonly nextTask: F.Many2one<'project.task'>;
661
1243
  };
662
1244
  readonly methods: ProjectTaskMethods;
663
1245
  }
@@ -666,6 +1248,51 @@ export interface ProjectTask {
666
1248
  export interface ProjectTaskMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task'>, F.Methods<typeof import('../module.js').projectPortalShutro, 'project.task'> {
667
1249
  }
668
1250
 
1251
+ /** `project.task.category` (owner: project). */
1252
+ export interface ProjectTaskCategory {
1253
+ readonly name: 'project.task.category';
1254
+ readonly fields: {
1255
+ readonly id: F.Id<'project.task.category'>;
1256
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1257
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1258
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1259
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1260
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1261
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1262
+ readonly company: F.Many2one<'res.company', { readonly default: true }>;
1263
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1264
+ readonly code: F.Char<{ readonly required: true }>;
1265
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1266
+ readonly type: F.Many2one<'project.type'>;
1267
+ };
1268
+ readonly methods: ProjectTaskCategoryMethods;
1269
+ }
1270
+
1271
+ /** Methods of `project.task.category`: declared ones and transitions. */
1272
+ export interface ProjectTaskCategoryMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task.category'> {
1273
+ }
1274
+
1275
+ /** `project.task.link` (owner: project). */
1276
+ export interface ProjectTaskLink {
1277
+ readonly name: 'project.task.link';
1278
+ readonly fields: {
1279
+ readonly id: F.Id<'project.task.link'>;
1280
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1281
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1282
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1283
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1284
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1285
+ readonly predecessor: F.Many2one<'project.task', { readonly required: true }>;
1286
+ readonly successor: F.Many2one<'project.task', { readonly required: true }>;
1287
+ readonly lag: F.Integer<{ readonly required: true; readonly default: true }>;
1288
+ };
1289
+ readonly methods: ProjectTaskLinkMethods;
1290
+ }
1291
+
1292
+ /** Methods of `project.task.link`: declared ones and transitions. */
1293
+ export interface ProjectTaskLinkMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task.link'> {
1294
+ }
1295
+
669
1296
  /** `project.task.stage` (owner: project). */
670
1297
  export interface ProjectTaskStage {
671
1298
  readonly name: 'project.task.stage';
@@ -676,6 +1303,7 @@ export interface ProjectTaskStage {
676
1303
  readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
677
1304
  readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
678
1305
  readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1306
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
679
1307
  readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
680
1308
  readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
681
1309
  readonly fold: F.Bool<{ readonly required: true; readonly default: true }>;
@@ -705,6 +1333,7 @@ export interface ProjectTimesheet {
705
1333
  readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
706
1334
  readonly hours: F.Decimal<{ readonly required: true; readonly default: true }>;
707
1335
  readonly description: F.Char;
1336
+ readonly cost: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
708
1337
  };
709
1338
  readonly methods: ProjectTimesheetMethods;
710
1339
  }
@@ -713,7 +1342,67 @@ export interface ProjectTimesheet {
713
1342
  export interface ProjectTimesheetMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.timesheet'> {
714
1343
  }
715
1344
 
716
- /** `res.company` (owner: base). */
1345
+ /** `project.type` (owner: project). */
1346
+ export interface ProjectType {
1347
+ readonly name: 'project.type';
1348
+ readonly fields: {
1349
+ readonly id: F.Id<'project.type'>;
1350
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1351
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1352
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1353
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1354
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1355
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1356
+ readonly company: F.Many2one<'res.company', { readonly default: true }>;
1357
+ readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
1358
+ readonly code: F.Char<{ readonly required: true }>;
1359
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1360
+ readonly description: F.Text<{ readonly translate: true }>;
1361
+ };
1362
+ readonly methods: ProjectTypeMethods;
1363
+ }
1364
+
1365
+ /** Methods of `project.type`: declared ones and transitions. */
1366
+ export interface ProjectTypeMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.type'> {
1367
+ }
1368
+
1369
+ /** `project.work.package` (owner: project). */
1370
+ export interface ProjectWorkPackage {
1371
+ readonly name: 'project.work.package';
1372
+ readonly fields: {
1373
+ readonly id: F.Id<'project.work.package'>;
1374
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1375
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1376
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1377
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1378
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1379
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
1380
+ readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
1381
+ readonly name: F.Char<{ readonly required: true }>;
1382
+ readonly code: F.Char;
1383
+ readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
1384
+ readonly manager: F.Many2one<'res.users'>;
1385
+ readonly dateStart: F.DateOnly;
1386
+ readonly dateEnd: F.DateOnly;
1387
+ readonly status: F.Selection<'draft' | 'in_progress' | 'on_hold' | 'done' | 'cancelled', { readonly required: true; readonly default: true }>;
1388
+ readonly description: F.Text;
1389
+ readonly progressOverride: F.Decimal;
1390
+ readonly baselineStart: F.DateOnly;
1391
+ readonly baselineEnd: F.DateOnly;
1392
+ readonly project: F.Many2one<'project.project', { readonly required: true }>;
1393
+ readonly phase: F.Many2one<'project.phase'>;
1394
+ readonly deliverables: F.Text;
1395
+ readonly tasks: F.One2many<'project.task', { readonly required: true }>;
1396
+ readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
1397
+ };
1398
+ readonly methods: ProjectWorkPackageMethods;
1399
+ }
1400
+
1401
+ /** Methods of `project.work.package`: declared ones and transitions. */
1402
+ export interface ProjectWorkPackageMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.work.package'> {
1403
+ }
1404
+
1405
+ /** `res.company` (owner: base; extended by: contacts, project). */
717
1406
  export interface ResCompany {
718
1407
  readonly name: 'res.company';
719
1408
  readonly fields: {
@@ -733,12 +1422,20 @@ export interface ResCompany {
733
1422
  readonly email: F.Char;
734
1423
  readonly phone: F.Char;
735
1424
  readonly website: F.Char;
1425
+ readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
1426
+ readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
1427
+ readonly projectPlannedHoursDefault: F.Decimal; // project
1428
+ readonly projectTimesheetStep: F.Selection<'none' | 'quarter' | 'half' | 'whole', { readonly default: true }>; // project
1429
+ readonly projectRequirePlan: F.Bool<{ readonly required: true; readonly default: true }>; // project
1430
+ readonly projectHealthBehindRisk: F.Integer<{ readonly default: true }>; // project
1431
+ readonly projectHealthBehindOff: F.Integer<{ readonly default: true }>; // project
1432
+ readonly projectHealthCostRisk: F.Integer<{ readonly default: true }>; // project
736
1433
  };
737
1434
  readonly methods: ResCompanyMethods;
738
1435
  }
739
1436
 
740
1437
  /** Methods of `res.company`: declared ones and transitions. */
741
- export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'> {
1438
+ export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.company'>, F.Methods<typeof import('../../project/index.js').projectShutro, 'res.company'> {
742
1439
  }
743
1440
 
744
1441
  /** `res.currency` (owner: base). */
@@ -775,6 +1472,10 @@ export interface ResPartner {
775
1472
  readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
776
1473
  readonly company: F.Many2one<'res.company', { readonly default: true }>;
777
1474
  readonly name: F.Char<{ readonly required: true }>;
1475
+ readonly image: F.Many2one<'storage.attachment'>;
1476
+ readonly tags: F.Many2many<'res.partner.tag', { readonly required: true }>;
1477
+ readonly latitude: F.Decimal;
1478
+ readonly longitude: F.Decimal;
778
1479
  readonly isCompany: F.Bool<{ readonly required: true; readonly default: true }>;
779
1480
  readonly parent: F.Many2one<'res.partner'>;
780
1481
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
@@ -801,6 +1502,25 @@ export interface ResPartner {
801
1502
  export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../portal/index.js').portalShutro, 'res.partner'> {
802
1503
  }
803
1504
 
1505
+ /** `res.partner.tag` (owner: contacts). */
1506
+ export interface ResPartnerTag {
1507
+ readonly name: 'res.partner.tag';
1508
+ readonly fields: {
1509
+ readonly id: F.Id<'res.partner.tag'>;
1510
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1511
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
1512
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
1513
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
1514
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
1515
+ readonly name: F.Char<{ readonly required: true }>;
1516
+ };
1517
+ readonly methods: ResPartnerTagMethods;
1518
+ }
1519
+
1520
+ /** Methods of `res.partner.tag`: declared ones and transitions. */
1521
+ export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
1522
+ }
1523
+
804
1524
  /** `res.users` (owner: base; extended by: portal). */
805
1525
  export interface ResUsers {
806
1526
  readonly name: 'res.users';
@@ -847,6 +1567,8 @@ export interface StorageAttachment {
847
1567
  readonly key: F.Char<{ readonly required: true }>;
848
1568
  readonly resModel: F.Char<{ readonly required: true }>;
849
1569
  readonly resId: F.Integer<{ readonly required: true }>;
1570
+ readonly variantOf: F.Many2one<'storage.attachment'>;
1571
+ readonly width: F.Integer;
850
1572
  };
851
1573
  readonly methods: StorageAttachmentMethods;
852
1574
  }