@ketvietlab/ketjs 0.1.2 → 0.1.3

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 (299) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -2
  3. package/dist/agent/capabilities.d.ts +1 -3
  4. package/dist/agent/capabilities.d.ts.map +1 -1
  5. package/dist/agent/capabilities.js +10 -1
  6. package/dist/agent/capabilities.js.map +1 -1
  7. package/dist/agent/permissions.d.ts +43 -1
  8. package/dist/agent/permissions.d.ts.map +1 -1
  9. package/dist/agent/permissions.js +50 -2
  10. package/dist/agent/permissions.js.map +1 -1
  11. package/dist/cli.js +246 -97
  12. package/dist/cli.js.map +1 -1
  13. package/dist/codegen/dts.d.ts.map +1 -1
  14. package/dist/codegen/dts.js +1 -0
  15. package/dist/codegen/dts.js.map +1 -1
  16. package/dist/data/changeset.d.ts +12 -0
  17. package/dist/data/changeset.d.ts.map +1 -1
  18. package/dist/data/changeset.js +73 -17
  19. package/dist/data/changeset.js.map +1 -1
  20. package/dist/data/expr.d.ts +16 -0
  21. package/dist/data/expr.d.ts.map +1 -1
  22. package/dist/data/expr.js +33 -5
  23. package/dist/data/expr.js.map +1 -1
  24. package/dist/data/fleet.d.ts +41 -1
  25. package/dist/data/fleet.d.ts.map +1 -1
  26. package/dist/data/fleet.js +100 -11
  27. package/dist/data/fleet.js.map +1 -1
  28. package/dist/data/migrate.d.ts +20 -0
  29. package/dist/data/migrate.d.ts.map +1 -1
  30. package/dist/data/migrate.js +86 -3
  31. package/dist/data/migrate.js.map +1 -1
  32. package/dist/data/physical.d.ts +5 -0
  33. package/dist/data/physical.d.ts.map +1 -0
  34. package/dist/data/physical.js +196 -0
  35. package/dist/data/physical.js.map +1 -0
  36. package/dist/data/pool.d.ts +2 -1
  37. package/dist/data/pool.d.ts.map +1 -1
  38. package/dist/data/pool.js +159 -31
  39. package/dist/data/pool.js.map +1 -1
  40. package/dist/data/query.d.ts +10 -1
  41. package/dist/data/query.d.ts.map +1 -1
  42. package/dist/data/query.js +136 -27
  43. package/dist/data/query.js.map +1 -1
  44. package/dist/data/sqlite.d.ts.map +1 -1
  45. package/dist/data/sqlite.js +350 -52
  46. package/dist/data/sqlite.js.map +1 -1
  47. package/dist/data/time.d.ts +13 -0
  48. package/dist/data/time.d.ts.map +1 -1
  49. package/dist/data/time.js +61 -17
  50. package/dist/data/time.js.map +1 -1
  51. package/dist/index.d.ts +43 -22
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +32 -16
  54. package/dist/index.js.map +1 -1
  55. package/dist/kernel/audit.d.ts +27 -0
  56. package/dist/kernel/audit.d.ts.map +1 -0
  57. package/dist/kernel/audit.js +67 -0
  58. package/dist/kernel/audit.js.map +1 -0
  59. package/dist/kernel/classification.d.ts +26 -0
  60. package/dist/kernel/classification.d.ts.map +1 -0
  61. package/dist/kernel/classification.js +73 -0
  62. package/dist/kernel/classification.js.map +1 -0
  63. package/dist/kernel/compose.d.ts +6 -2
  64. package/dist/kernel/compose.d.ts.map +1 -1
  65. package/dist/kernel/compose.js +269 -15
  66. package/dist/kernel/compose.js.map +1 -1
  67. package/dist/kernel/define.d.ts +2 -3
  68. package/dist/kernel/define.d.ts.map +1 -1
  69. package/dist/kernel/define.js +22 -12
  70. package/dist/kernel/define.js.map +1 -1
  71. package/dist/kernel/diff.d.ts.map +1 -1
  72. package/dist/kernel/diff.js +28 -4
  73. package/dist/kernel/diff.js.map +1 -1
  74. package/dist/kernel/graph.js +1 -1
  75. package/dist/kernel/graph.js.map +1 -1
  76. package/dist/kernel/i18n.d.ts +10 -1
  77. package/dist/kernel/i18n.d.ts.map +1 -1
  78. package/dist/kernel/i18n.js +34 -1
  79. package/dist/kernel/i18n.js.map +1 -1
  80. package/dist/kernel/layout.d.ts +97 -0
  81. package/dist/kernel/layout.d.ts.map +1 -1
  82. package/dist/kernel/layout.js +294 -12
  83. package/dist/kernel/layout.js.map +1 -1
  84. package/dist/kernel/menu.d.ts +33 -2
  85. package/dist/kernel/menu.d.ts.map +1 -1
  86. package/dist/kernel/menu.js +99 -7
  87. package/dist/kernel/menu.js.map +1 -1
  88. package/dist/kernel/modules.d.ts +3 -3
  89. package/dist/kernel/modules.d.ts.map +1 -1
  90. package/dist/kernel/modules.js +21 -21
  91. package/dist/kernel/modules.js.map +1 -1
  92. package/dist/kernel/permissions.d.ts +10 -0
  93. package/dist/kernel/permissions.d.ts.map +1 -0
  94. package/dist/kernel/permissions.js +365 -0
  95. package/dist/kernel/permissions.js.map +1 -0
  96. package/dist/kernel/schedule.d.ts +23 -0
  97. package/dist/kernel/schedule.d.ts.map +1 -0
  98. package/dist/kernel/schedule.js +83 -0
  99. package/dist/kernel/schedule.js.map +1 -0
  100. package/dist/kernel/types.d.ts.map +1 -1
  101. package/dist/kernel/types.js +5 -4
  102. package/dist/kernel/types.js.map +1 -1
  103. package/dist/kernel/workspace.d.ts +92 -14
  104. package/dist/kernel/workspace.d.ts.map +1 -1
  105. package/dist/kernel/workspace.js +128 -49
  106. package/dist/kernel/workspace.js.map +1 -1
  107. package/dist/pdf/assets/Inter-Bold.ttf +0 -0
  108. package/dist/pdf/assets/Inter-Regular.ttf +0 -0
  109. package/dist/pdf/assets/Inter-SemiBold.ttf +0 -0
  110. package/dist/pdf/assets/LICENSE.txt +92 -0
  111. package/dist/pdf/font.d.ts +10 -0
  112. package/dist/pdf/font.d.ts.map +1 -0
  113. package/dist/pdf/font.js +83 -0
  114. package/dist/pdf/font.js.map +1 -0
  115. package/dist/pdf/image.d.ts +8 -0
  116. package/dist/pdf/image.d.ts.map +1 -0
  117. package/dist/pdf/image.js +94 -0
  118. package/dist/pdf/image.js.map +1 -0
  119. package/dist/pdf/index.d.ts +15 -0
  120. package/dist/pdf/index.d.ts.map +1 -0
  121. package/dist/pdf/index.js +17 -0
  122. package/dist/pdf/index.js.map +1 -0
  123. package/dist/pdf/markup.d.ts +19 -0
  124. package/dist/pdf/markup.d.ts.map +1 -0
  125. package/dist/pdf/markup.js +146 -0
  126. package/dist/pdf/markup.js.map +1 -0
  127. package/dist/pdf/render.d.ts +14 -0
  128. package/dist/pdf/render.d.ts.map +1 -0
  129. package/dist/pdf/render.js +387 -0
  130. package/dist/pdf/render.js.map +1 -0
  131. package/dist/scaffold/index.js +6 -6
  132. package/dist/scaffold/index.js.map +1 -1
  133. package/dist/scaffold/templates/{app.test.ts.tmpl → deployment.test.ts.tmpl} +3 -3
  134. package/dist/scaffold/templates/ket.workspace.ts.tmpl +4 -6
  135. package/dist/scaffold/templates/module.ts.tmpl +1 -4
  136. package/dist/server/assets.d.ts +23 -0
  137. package/dist/server/assets.d.ts.map +1 -0
  138. package/dist/server/assets.js +97 -0
  139. package/dist/server/assets.js.map +1 -0
  140. package/dist/server/boot.d.ts +157 -38
  141. package/dist/server/boot.d.ts.map +1 -1
  142. package/dist/server/boot.js +360 -138
  143. package/dist/server/boot.js.map +1 -1
  144. package/dist/server/config.d.ts +30 -10
  145. package/dist/server/config.d.ts.map +1 -1
  146. package/dist/server/config.js +73 -17
  147. package/dist/server/config.js.map +1 -1
  148. package/dist/server/ctx.d.ts +10 -0
  149. package/dist/server/ctx.d.ts.map +1 -1
  150. package/dist/server/ctx.js +266 -48
  151. package/dist/server/ctx.js.map +1 -1
  152. package/dist/server/development.d.ts +10 -0
  153. package/dist/server/development.d.ts.map +1 -0
  154. package/dist/server/development.js +15 -0
  155. package/dist/server/development.js.map +1 -0
  156. package/dist/server/fn.d.ts +22 -3
  157. package/dist/server/fn.d.ts.map +1 -1
  158. package/dist/server/fn.js +116 -32
  159. package/dist/server/fn.js.map +1 -1
  160. package/dist/server/form.d.ts +33 -0
  161. package/dist/server/form.d.ts.map +1 -0
  162. package/dist/server/form.js +47 -0
  163. package/dist/server/form.js.map +1 -0
  164. package/dist/server/http.d.ts +55 -3
  165. package/dist/server/http.d.ts.map +1 -1
  166. package/dist/server/http.js +306 -22
  167. package/dist/server/http.js.map +1 -1
  168. package/dist/server/idem.d.ts +3 -2
  169. package/dist/server/idem.d.ts.map +1 -1
  170. package/dist/server/idem.js +12 -4
  171. package/dist/server/idem.js.map +1 -1
  172. package/dist/server/jobs.js +1 -1
  173. package/dist/server/jobs.js.map +1 -1
  174. package/dist/server/log/combinators.d.ts +42 -0
  175. package/dist/server/log/combinators.d.ts.map +1 -0
  176. package/dist/server/log/combinators.js +270 -0
  177. package/dist/server/log/combinators.js.map +1 -0
  178. package/dist/server/log/console.d.ts +12 -0
  179. package/dist/server/log/console.d.ts.map +1 -0
  180. package/dist/server/log/console.js +96 -0
  181. package/dist/server/log/console.js.map +1 -0
  182. package/dist/server/log/file.d.ts +11 -0
  183. package/dist/server/log/file.d.ts.map +1 -0
  184. package/dist/server/log/file.js +61 -0
  185. package/dist/server/log/file.js.map +1 -0
  186. package/dist/server/log/index.d.ts +23 -0
  187. package/dist/server/log/index.d.ts.map +1 -0
  188. package/dist/server/log/index.js +45 -0
  189. package/dist/server/log/index.js.map +1 -0
  190. package/dist/server/log/logger.d.ts +53 -0
  191. package/dist/server/log/logger.d.ts.map +1 -0
  192. package/dist/server/log/logger.js +94 -0
  193. package/dist/server/log/logger.js.map +1 -0
  194. package/dist/server/log/memory.d.ts +11 -0
  195. package/dist/server/log/memory.d.ts.map +1 -0
  196. package/dist/server/log/memory.js +25 -0
  197. package/dist/server/log/memory.js.map +1 -0
  198. package/dist/server/log/types.d.ts +112 -0
  199. package/dist/server/log/types.d.ts.map +1 -0
  200. package/dist/server/log/types.js +58 -0
  201. package/dist/server/log/types.js.map +1 -0
  202. package/dist/server/policy.d.ts +29 -0
  203. package/dist/server/policy.d.ts.map +1 -0
  204. package/dist/server/policy.js +29 -0
  205. package/dist/server/policy.js.map +1 -0
  206. package/dist/server/queue.d.ts +1 -1
  207. package/dist/server/queue.d.ts.map +1 -1
  208. package/dist/server/queue.js.map +1 -1
  209. package/dist/server/ratelimit.d.ts +48 -0
  210. package/dist/server/ratelimit.d.ts.map +1 -0
  211. package/dist/server/ratelimit.js +102 -0
  212. package/dist/server/ratelimit.js.map +1 -0
  213. package/dist/server/respond.d.ts.map +1 -1
  214. package/dist/server/respond.js +16 -1
  215. package/dist/server/respond.js.map +1 -1
  216. package/dist/server/runtime.d.ts +18 -3
  217. package/dist/server/runtime.d.ts.map +1 -1
  218. package/dist/server/runtime.js +32 -2
  219. package/dist/server/runtime.js.map +1 -1
  220. package/dist/server/schedule.d.ts +18 -0
  221. package/dist/server/schedule.d.ts.map +1 -0
  222. package/dist/server/schedule.js +70 -0
  223. package/dist/server/schedule.js.map +1 -0
  224. package/dist/server/sequence.d.ts +42 -0
  225. package/dist/server/sequence.d.ts.map +1 -0
  226. package/dist/server/sequence.js +97 -0
  227. package/dist/server/sequence.js.map +1 -0
  228. package/dist/server/session.d.ts +21 -0
  229. package/dist/server/session.d.ts.map +1 -1
  230. package/dist/server/session.js +84 -10
  231. package/dist/server/session.js.map +1 -1
  232. package/dist/server/sessionstore.d.ts +3 -1
  233. package/dist/server/sessionstore.d.ts.map +1 -1
  234. package/dist/server/sessionstore.js +7 -3
  235. package/dist/server/sessionstore.js.map +1 -1
  236. package/dist/server/storage/index.d.ts +1 -1
  237. package/dist/server/storage/index.d.ts.map +1 -1
  238. package/dist/server/storage/index.js +61 -1
  239. package/dist/server/storage/index.js.map +1 -1
  240. package/dist/server/storage/types.d.ts +8 -0
  241. package/dist/server/storage/types.d.ts.map +1 -1
  242. package/dist/server/storage/types.js +58 -0
  243. package/dist/server/storage/types.js.map +1 -1
  244. package/dist/server/tenants.d.ts +20 -18
  245. package/dist/server/tenants.d.ts.map +1 -1
  246. package/dist/server/tenants.js +133 -84
  247. package/dist/server/tenants.js.map +1 -1
  248. package/dist/server/transport/types.js +2 -2
  249. package/dist/server/transport/types.js.map +1 -1
  250. package/dist/server/worker.d.ts +19 -3
  251. package/dist/server/worker.d.ts.map +1 -1
  252. package/dist/server/worker.js +168 -21
  253. package/dist/server/worker.js.map +1 -1
  254. package/dist/testing.d.ts +26 -10
  255. package/dist/testing.d.ts.map +1 -1
  256. package/dist/testing.js +41 -14
  257. package/dist/testing.js.map +1 -1
  258. package/dist/theme/contracts.d.ts +14 -1
  259. package/dist/theme/contracts.d.ts.map +1 -1
  260. package/dist/theme/contracts.js +35 -6
  261. package/dist/theme/contracts.js.map +1 -1
  262. package/dist/theme/index.d.ts +1 -1
  263. package/dist/theme/index.d.ts.map +1 -1
  264. package/dist/theme/index.js +1 -1
  265. package/dist/theme/index.js.map +1 -1
  266. package/dist/theme/joint-runtime.d.ts +33 -0
  267. package/dist/theme/joint-runtime.d.ts.map +1 -0
  268. package/dist/theme/joint-runtime.js +121 -0
  269. package/dist/theme/joint-runtime.js.map +1 -0
  270. package/dist/theme/joints.d.ts.map +1 -1
  271. package/dist/theme/joints.js +15 -97
  272. package/dist/theme/joints.js.map +1 -1
  273. package/dist/theme/ktl/compile.d.ts +4 -0
  274. package/dist/theme/ktl/compile.d.ts.map +1 -1
  275. package/dist/theme/ktl/compile.js +54 -1
  276. package/dist/theme/ktl/compile.js.map +1 -1
  277. package/dist/theme/ktl/parser.d.ts +4 -0
  278. package/dist/theme/ktl/parser.d.ts.map +1 -1
  279. package/dist/theme/ktl/parser.js +8 -0
  280. package/dist/theme/ktl/parser.js.map +1 -1
  281. package/dist/theme/render.d.ts +8 -0
  282. package/dist/theme/render.d.ts.map +1 -1
  283. package/dist/theme/render.js +88 -118
  284. package/dist/theme/render.js.map +1 -1
  285. package/dist/theme/tokens.d.ts +6 -0
  286. package/dist/theme/tokens.d.ts.map +1 -1
  287. package/dist/theme/tokens.js +6 -0
  288. package/dist/theme/tokens.js.map +1 -1
  289. package/dist/theme/viewmodel.d.ts +24 -0
  290. package/dist/theme/viewmodel.d.ts.map +1 -1
  291. package/dist/theme/viewmodel.js +75 -6
  292. package/dist/theme/viewmodel.js.map +1 -1
  293. package/dist/types.d.ts +304 -56
  294. package/dist/types.d.ts.map +1 -1
  295. package/package.json +6 -2
  296. package/dist/kernel/apps.d.ts +0 -43
  297. package/dist/kernel/apps.d.ts.map +0 -1
  298. package/dist/kernel/apps.js +0 -234
  299. package/dist/kernel/apps.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `decimal` and `float` differ in storage, not in arithmetic.
3
3
  *
4
- * Odoo takes this split and it is the right one: a quantity or a price is stored
4
+ * the domain contract takes this split and it is the right one: a quantity or a price is stored
5
5
  * as exact decimal and computed as a binary float, with explicit rounding helpers
6
6
  * standing between the two. Storing it as a float instead means every trip through
7
7
  * the database can put back the error the rounding just took out — 0.1 written to
@@ -17,8 +17,40 @@
17
17
  */
18
18
  export type RouteEntry = ((ctx: import('./server/boot.ts').ServeContext) => import('./server/boot.ts').Route) | {
19
19
  anonymous?: boolean;
20
+ /**
21
+ * A published route-prefix owner this route contributes through.
22
+ *
23
+ * Reserved prefixes are closed to ordinary routes. An extension must name
24
+ * the owner explicitly, depend on it, and use the owner's route factory.
25
+ */
26
+ through?: string;
27
+ /** Machine-readable HTTP contract used by facades such as channel_api. */
28
+ contract?: HttpRouteContract;
20
29
  handler: (ctx: import('./server/boot.ts').ServeContext) => import('./server/boot.ts').Route;
21
30
  };
31
+ export type JsonSchema = Record<string, unknown>;
32
+ export type HttpRouteContract = {
33
+ profile: string;
34
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
35
+ operationId: string;
36
+ summary?: string;
37
+ /** Application-defined authentication policy interpreted by the contract facade. */
38
+ auth?: string;
39
+ /** Additional credential schemes documented for a route whose handler resolves another trust boundary. */
40
+ credentials?: string[];
41
+ capability?: {
42
+ key: string;
43
+ action: string;
44
+ };
45
+ request?: {
46
+ params?: JsonSchema;
47
+ query?: JsonSchema;
48
+ headers?: JsonSchema;
49
+ body?: JsonSchema;
50
+ };
51
+ responses: Record<string, JsonSchema>;
52
+ idempotent?: boolean;
53
+ };
22
54
  export type Scalar = 'id' | 'text' | 'int' | 'float' | 'decimal' | 'bool' | 'json' | 'date' | 'datetime';
23
55
  export type FieldBase = Scalar | 'ref';
24
56
  export type ParsedType = {
@@ -32,9 +64,45 @@ export type TypeParse = ({
32
64
  ok: false;
33
65
  reason: string;
34
66
  };
67
+ /**
68
+ * What a module may say about a field beyond its type.
69
+ *
70
+ * A field was a type string and nothing else, which left nowhere to record the two
71
+ * questions every deployment holding customer data eventually has to answer: which
72
+ * columns are personal data, and which must never leave the system at all. Both are
73
+ * properties of the data, not of its storage — the schema snapshot deliberately
74
+ * ignores them, so classifying a field is never a migration.
75
+ *
76
+ * The vocabulary is closed and an unknown key is a build error. Adding a key later
77
+ * is additive and safe; accepting anything today and narrowing later is not, which
78
+ * is the same argument D1 makes about joints.
79
+ */
80
+ export type FieldDef = {
81
+ type: string;
82
+ /**
83
+ * This column holds personal data about an identifiable person.
84
+ *
85
+ * Recorded so it can be enumerated: an obligation to export or erase somebody's
86
+ * data cannot be met against a schema nobody has classified. `ket classification`
87
+ * prints the inventory.
88
+ */
89
+ personal?: boolean;
90
+ /**
91
+ * This value must never leave the system.
92
+ *
93
+ * Enforced, not advisory: the value is masked in the write records that reach the
94
+ * idempotency store and a dry-run preview, and the field is withheld from the
95
+ * agent capability descriptor. Secrets, tokens, card data.
96
+ */
97
+ sensitive?: boolean;
98
+ };
99
+ export type FieldClassification = {
100
+ personal?: boolean;
101
+ sensitive?: boolean;
102
+ };
35
103
  export type Field = ParsedType & {
36
104
  by: string;
37
- };
105
+ } & FieldClassification;
38
106
  export type IndexDef = {
39
107
  fields: string[];
40
108
  unique?: boolean;
@@ -48,6 +116,7 @@ export type ComposedModel = {
48
116
  owner: string;
49
117
  scope: ModelScope;
50
118
  timestamps: boolean;
119
+ append: boolean;
51
120
  fields: Record<string, Field>;
52
121
  indexes: Record<string, ComposedIndex>;
53
122
  };
@@ -70,7 +139,23 @@ export type ModelDef = {
70
139
  scope: ModelScope;
71
140
  /** Add optional createdAt/updatedAt fields and maintain them on every write path. */
72
141
  timestamps?: boolean;
73
- fields: Record<string, string>;
142
+ /**
143
+ * Rows may be inserted and read, and never changed or removed.
144
+ *
145
+ * For a record whose value is that it did not change afterwards: an audit
146
+ * timeline, a ledger entry, a delivered receipt. Both audit models in KetSuite
147
+ * already promised this in a comment and nothing held them to it — a promise a
148
+ * reviewer has to remember is one a refactor eventually breaks.
149
+ *
150
+ * Enforced on every write path a ctx offers, so `insertIfAbsent` remains the way
151
+ * a replay is answered and there is no way to edit what it already wrote.
152
+ */
153
+ append?: boolean;
154
+ /**
155
+ * A type string, or an object when the field has something to declare beyond it.
156
+ * `'text'` and `{ type: 'text' }` compose identically.
157
+ */
158
+ fields: Record<string, string | FieldDef>;
74
159
  /** Named database indexes. Names are local to the model and remain stable across migrations. */
75
160
  indexes?: Record<string, IndexDef>;
76
161
  };
@@ -79,11 +164,11 @@ export type JointDef = {
79
164
  multiple?: boolean;
80
165
  };
81
166
  /**
82
- * One entry in the navigation tree — an app, a section inside it, or a link.
167
+ * One entry in the navigation tree — a root section, a nested section, or a link.
83
168
  *
84
- * Declared by the module that owns the screen, not stored as rows. Odoo keeps
169
+ * Declared by the module that owns the screen, not stored as rows. the domain contract keeps
85
170
  * `ir.ui.menu` in the database so a customer can rearrange it, and pays for that
86
- * with a menu that can point at a module nobody installed. Here a menu entry is
171
+ * with a menu that can point at a module outside the deployment. Here a menu entry is
87
172
  * checked when the deployment is composed: an unknown parent is a build error, and
88
173
  * a link to a function nobody ships cannot be saved because there is nothing to
89
174
  * save it in.
@@ -95,12 +180,26 @@ export type JointDef = {
95
180
  export type MenuDef = {
96
181
  /** A message key, resolved against the owning module. Falls back to itself. */
97
182
  label: string;
98
- /** The entry above this one. Absent means it is an app: a root of the tree. */
183
+ /** The entry above this one. Absent means it is a root of the tree. */
99
184
  parent?: string;
100
185
  /** Where it goes. Absent means it is a heading rather than a link. */
101
186
  path?: string;
102
187
  /** A function key the viewer must be permitted to call for this to appear. */
103
188
  needs?: string;
189
+ /**
190
+ * Function keys that mean "this surface is your work", as opposed to `needs`,
191
+ * which only means "opening it will not 401".
192
+ *
193
+ * The distinction matters because a read capability is often granted so some
194
+ * other screen can resolve a dropdown, and the menu then reads that grant as an
195
+ * invitation. Declaring the writes a person would perform here says who the
196
+ * surface is for. Anyone permitted but not intended keeps the entry — it moves
197
+ * out of the main list and stays reachable by search and by link.
198
+ *
199
+ * Absent means the entry is primary for everyone `needs` admits, which is what
200
+ * every entry did before this existed.
201
+ */
202
+ for?: readonly string[];
104
203
  /** Lower sorts first. Ties fall back to the label. */
105
204
  sequence?: number;
106
205
  /**
@@ -114,14 +213,56 @@ export type MenuDef = {
114
213
  * A section is a renderable a page composes by data. The settings schema is what
115
214
  * makes that data checkable — and it is the same schema an agent is handed.
116
215
  */
216
+ /**
217
+ * Where a section may hold other sections.
218
+ *
219
+ * Named rather than a single child list, because a two-column section has two
220
+ * places to put things and a page needs to say which. A section that declares
221
+ * no slots holds nothing, which keeps every section written before nesting
222
+ * existed exactly as closed as it was.
223
+ */
224
+ export type SlotDef = {
225
+ /**
226
+ * Section types this slot accepts. Absent means any composed section, which
227
+ * is the honest default for a plain container - the alternative is every
228
+ * container having to list the whole catalogue and go stale as it grows.
229
+ */
230
+ accepts?: string[];
231
+ max?: number;
232
+ };
117
233
  export type SectionDef = {
118
234
  title?: string;
119
235
  settings?: Record<string, string>;
236
+ slots?: Record<string, SlotDef>;
120
237
  };
121
238
  export type ViewDef = {
122
239
  of: string;
123
240
  fields: string[];
124
241
  };
242
+ /** A printable document owned by the business module that owns its data. */
243
+ export type ReportDef = {
244
+ /** Message key, resolved against the declaring module. */
245
+ title: string;
246
+ /** Model whose record id is accepted by the report source. */
247
+ target: string;
248
+ /** Read-only function receiving `{ id }` and returning a JSON view model. */
249
+ source: string;
250
+ /** KTL which must render the constrained report markup accepted by `@ketvietlab/ketjs/pdf`. */
251
+ template: string;
252
+ filename?: string;
253
+ paper?: 'A4' | 'A5';
254
+ orientation?: 'portrait' | 'landscape';
255
+ margins?: {
256
+ top?: number;
257
+ right?: number;
258
+ bottom?: number;
259
+ left?: number;
260
+ };
261
+ };
262
+ export type ComposedReport = ReportDef & {
263
+ by: string;
264
+ id: string;
265
+ };
125
266
  /**
126
267
  * A CMS content type is a composition-time contract, not a row created by an
127
268
  * administrator. Modules register the shape they own; website data stores the
@@ -243,8 +384,35 @@ export type FnMeta = {
243
384
  * vocabulary, including enqueue: moving work out of an HTTP request or chaining
244
385
  * it to another job must not become a way around the operation boundary.
245
386
  */
387
+ /**
388
+ * When a job runs on its own, with nobody asking.
389
+ *
390
+ * Two forms, because they answer different questions and the second one costs a
391
+ * timezone. `every` is an interval and has no wall clock in it at all. `dailyAt`
392
+ * is a wall-clock time somewhere, which is the only way to say "after the shop
393
+ * closes" and the reason a timezone has to be named.
394
+ */
395
+ export type JobSchedule = {
396
+ every: string;
397
+ } | {
398
+ dailyAt: string;
399
+ timezone?: string;
400
+ };
246
401
  export type JobSpec = {
247
402
  queue?: string;
403
+ /**
404
+ * Run this job on a schedule as well as on demand.
405
+ *
406
+ * Once per tenant database, with no company: the framework knows which tenants
407
+ * exist and does not know what a company is. A job that has per-company work to
408
+ * do declares `crossCompany` to see them and enqueues per company from there.
409
+ *
410
+ * A tick missed while nothing was running is skipped, not replayed. Three days
411
+ * of downtime produce one run, not three, and the record says how many ticks
412
+ * were passed over — a job that needs to know what it missed can read its own
413
+ * ledger, which is more truthful than three identical runs.
414
+ */
415
+ schedule?: JobSchedule;
248
416
  input?: Record<string, string>;
249
417
  effects?: string[];
250
418
  crossCompany?: boolean;
@@ -257,6 +425,7 @@ export type JobSpec = {
257
425
  export type JobMeta = {
258
426
  by: string;
259
427
  queue: string;
428
+ schedule?: JobSchedule;
260
429
  input: Record<string, string>;
261
430
  effects: string[];
262
431
  crossCompany: boolean;
@@ -269,6 +438,15 @@ export type JobEnqueueOptions = {
269
438
  uniqueKey?: string;
270
439
  /** Zero is highest priority. */
271
440
  priority?: number;
441
+ /**
442
+ * Enqueue into one company other than the caller's.
443
+ *
444
+ * Only an operation that declares `crossCompany` may do this, because only that
445
+ * operation was allowed to see more than one company in the first place. It
446
+ * exists for the fan-out a scheduled job has to perform: the schedule itself runs
447
+ * once per tenant with no company, and the work is per legal entity.
448
+ */
449
+ company?: string;
272
450
  };
273
451
  export type JobEnqueueResult = {
274
452
  id: string;
@@ -281,46 +459,85 @@ export type JobExecution = {
281
459
  attempt: number;
282
460
  maxAttempts: number;
283
461
  };
284
- export type AppMeta = {
285
- /** Shown in the app list. A module without this is machinery, not an app. */
286
- app?: boolean;
462
+ export type ModuleMeta = {
463
+ /** Human-readable module metadata for manifests, diagnostics, and tooling. */
287
464
  title?: string;
288
465
  summary?: string;
289
466
  category?: string;
290
- /**
291
- * The boundary between what a module permits and what an operator chooses.
292
- *
293
- * 'manual' — installed only when someone asks for it by name (the default)
294
- * 'auto' — installs itself as soon as everything it depends on is installed
295
- * 'never' — cannot be installed on its own at all; it arrives only by being
296
- * depended on, which is how machinery stays out of the app list
297
- *
298
- * A module says what it permits. Whether 'auto' actually fires is the
299
- * deployment's call — see RuntimeConfig.autoInstall, which a developer turns off
300
- * when they want to watch each install happen rather than arrive.
301
- */
302
- install?: InstallPolicy;
303
- /**
304
- * Whether an operator may remove this module once it is installed.
305
- *
306
- * `install` draws the boundary on the way in; this one draws it on the way out,
307
- * and they are genuinely different axes. The case that forces it: the backend is
308
- * the screen you would use to put something back, so a deployment that let you
309
- * remove it would let you remove your way out of ever fixing it. Default true —
310
- * refusing removal is the exception and has to be argued for.
311
- */
312
- removable?: boolean;
313
- /** The older spelling of `install: 'auto'`. Normalised away by defineModule. */
314
- autoInstall?: boolean;
315
467
  };
316
- export type InstallPolicy = 'manual' | 'auto' | 'never';
317
- export type ModuleSpec = AppMeta & {
468
+ export type PermissionRisk = 'read' | 'operate' | 'approve' | 'configure' | 'sensitive' | 'security';
469
+ export type PermissionPosture = 'permission-bearing' | 'projection/bridge' | 'session/device' | 'internal/headless';
470
+ export type PermissionLabels = {
471
+ en: string;
472
+ vi: string;
473
+ };
474
+ export type PermissionBundleDef = {
475
+ labels: PermissionLabels;
476
+ summary?: PermissionLabels;
477
+ includes?: string[];
478
+ };
479
+ export type PermissionFunctionDef = {
480
+ risk: PermissionRisk;
481
+ bundles: string[];
482
+ owner: string;
483
+ policy?: string;
484
+ };
485
+ export type PermissionExemptionReason = 'anonymous' | 'bootstrap-only' | 'internal-route' | 'worker' | 'service-boundary' | 'projection-only' | 'non-grantable';
486
+ export type PermissionExemptionDef = {
487
+ reason: PermissionExemptionReason;
488
+ authority: string;
489
+ };
490
+ export type ModulePermissionsDef = {
491
+ posture: PermissionPosture;
492
+ owner: string;
493
+ bundles: Record<string, PermissionBundleDef>;
494
+ functions: Record<string, PermissionFunctionDef>;
495
+ exemptions: Record<string, PermissionExemptionDef>;
496
+ };
497
+ export type RoleTemplateDef = {
498
+ version: number;
499
+ labels: PermissionLabels;
500
+ summary?: PermissionLabels;
501
+ bundles: string[];
502
+ };
503
+ export type CompiledPermissionBundle = PermissionBundleDef & {
504
+ key: string;
505
+ owner: string;
506
+ includes: string[];
507
+ directFunctions: string[];
508
+ functions: string[];
509
+ };
510
+ export type CompiledRoleTemplate = RoleTemplateDef & {
511
+ key: string;
512
+ bundles: string[];
513
+ functions: string[];
514
+ functionPaths: Record<string, string[][]>;
515
+ digest: string;
516
+ };
517
+ export type PermissionCatalogue = {
518
+ version: 1;
519
+ digest: string;
520
+ coverageRequired: boolean;
521
+ modules: Record<string, {
522
+ posture: PermissionPosture;
523
+ owner: string;
524
+ }>;
525
+ bundles: Record<string, CompiledPermissionBundle>;
526
+ functions: Record<string, PermissionFunctionDef>;
527
+ exemptions: Record<string, PermissionExemptionDef & {
528
+ owner: string;
529
+ }>;
530
+ roleTemplates: Record<string, CompiledRoleTemplate>;
531
+ };
532
+ export type ModuleSpec = ModuleMeta & {
318
533
  kind?: 'module' | 'theme';
319
534
  name: string;
320
535
  version?: string;
321
536
  depends?: string[];
537
+ /** Version ranges required at compose time for published extension contracts. */
538
+ compatible?: Record<string, string>;
322
539
  models?: Record<string, ModelDef>;
323
- extend?: Record<string, Record<string, string>>;
540
+ extend?: Record<string, Record<string, string | FieldDef>>;
324
541
  /** Navigation entries this module contributes. Keys are ids other menus parent onto. */
325
542
  menus?: Record<string, MenuDef>;
326
543
  joints?: Record<string, JointDef>;
@@ -338,8 +555,11 @@ export type ModuleSpec = AppMeta & {
338
555
  */
339
556
  omits?: string[];
340
557
  functions?: Record<string, FnSpec>;
558
+ /** Exact permission classification owned by this module. */
559
+ permissions?: ModulePermissionsDef;
341
560
  jobs?: Record<string, JobSpec>;
342
561
  views?: Record<string, ViewDef>;
562
+ reports?: Record<string, ReportDef>;
343
563
  requires?: string[];
344
564
  tokens?: Record<string, string>;
345
565
  templates?: Record<string, string>;
@@ -347,7 +567,7 @@ export type ModuleSpec = AppMeta & {
347
567
  /**
348
568
  * Static files this module ships — stylesheets, icons, fonts. Served under
349
569
  * /_ket/asset/<module>/, namespaced so two modules may both ship tokens.css,
350
- * and only for as long as the module is installed.
570
+ * and only when the module belongs to the deployment composition.
351
571
  */
352
572
  assets?: URL | string;
353
573
  /**
@@ -355,9 +575,9 @@ export type ModuleSpec = AppMeta & {
355
575
  * written. Across modules the order is dependency order, so a module that
356
576
  * extends another loads after it and can override it.
357
577
  *
358
- * Declared rather than linked by hand: an app that names another module's
578
+ * Declared rather than linked by hand: a deployment that names another module's
359
579
  * stylesheet has to know that module's file layout, and goes on linking it long
360
- * after the module is uninstalled.
580
+ * after the module leaves the composition.
361
581
  */
362
582
  styles?: string[];
363
583
  /**
@@ -367,10 +587,12 @@ export type ModuleSpec = AppMeta & {
367
587
  * value reaches the handler in the route params. The path is data so composition
368
588
  * can settle ownership — two modules claiming one path is an error at build, not
369
589
  * a race at boot. The handler is a factory because it needs the running server,
370
- * which does not exist yet. Dispatch checks the live manifest, so a route belonging
371
- * to an uninstalled module is 404 rather than quietly still answering.
590
+ * which does not exist yet. Dispatch uses the composed manifest, so undeclared
591
+ * module routes never mount.
372
592
  */
373
593
  routes?: Record<string, RouteEntry>;
594
+ /** Absolute path prefixes this module owns and exposes only via published contributors. */
595
+ reserves?: string[];
374
596
  /** Interactive views a theme may place but never write. */
375
597
  islands?: Record<string, import('@ketvietlab/ketjs-view').IslandDefinition>;
376
598
  sections?: Record<string, SectionDef>;
@@ -380,20 +602,23 @@ export type ModuleSpec = AppMeta & {
380
602
  /** Strings this module owns, per locale. Keys get the module name prefixed. */
381
603
  messages?: Record<string, Record<string, import('./kernel/i18n.ts').Message>>;
382
604
  };
383
- export type KetModule = Readonly<AppMeta> & {
605
+ export type KetModule = Readonly<ModuleMeta> & {
384
606
  readonly kind: 'module' | 'theme';
385
607
  readonly name: string;
386
608
  readonly version: string;
387
609
  readonly depends: readonly string[];
610
+ readonly compatible: Readonly<Record<string, string>>;
388
611
  readonly models: Record<string, ModelDef>;
389
- readonly extend: Record<string, Record<string, string>>;
612
+ readonly extend: Record<string, Record<string, string | FieldDef>>;
390
613
  readonly menus: Record<string, MenuDef>;
391
614
  readonly joints: Record<string, JointDef>;
392
615
  readonly omits: readonly string[];
393
616
  readonly fills: Record<string, string>;
394
617
  readonly functions: Record<string, FnSpec>;
618
+ readonly permissions: ModulePermissionsDef | null;
395
619
  readonly jobs: Record<string, JobSpec>;
396
620
  readonly views: Record<string, ViewDef>;
621
+ readonly reports: Record<string, ReportDef>;
397
622
  readonly requires: readonly string[];
398
623
  readonly tokens: Record<string, string>;
399
624
  readonly templates: Record<string, string>;
@@ -401,6 +626,7 @@ export type KetModule = Readonly<AppMeta> & {
401
626
  readonly assets: string | URL | null;
402
627
  readonly styles: readonly string[];
403
628
  readonly routes: Record<string, RouteEntry>;
629
+ readonly reserves: readonly string[];
404
630
  readonly islands: Record<string, import('@ketvietlab/ketjs-view').IslandDefinition>;
405
631
  readonly sections: Record<string, SectionDef>;
406
632
  readonly contentTypes: Record<string, ContentTypeDef>;
@@ -415,9 +641,7 @@ export type Manifest = {
415
641
  version: string;
416
642
  kind: string;
417
643
  depends: string[];
418
- install: InstallPolicy;
419
- removable: boolean;
420
- } & AppMeta>;
644
+ } & ModuleMeta>;
421
645
  models: Record<string, ComposedModel>;
422
646
  menus: Record<string, MenuDef & {
423
647
  by: string;
@@ -434,10 +658,12 @@ export type Manifest = {
434
658
  template: string;
435
659
  }>;
436
660
  functions: Record<string, FnMeta>;
661
+ permissions: PermissionCatalogue;
437
662
  jobs: Record<string, JobMeta>;
438
663
  views: Record<string, ViewDef & {
439
664
  by: string;
440
665
  }>;
666
+ reports: Record<string, ComposedReport>;
441
667
  regions: {
442
668
  required: string[];
443
669
  provided: Record<string, string[]>;
@@ -461,7 +687,7 @@ export type Manifest = {
461
687
  tokens: Record<string, string>;
462
688
  /** Static file directories, per module, behind /_ket/asset/<module>/. */
463
689
  assets: Record<string, string>;
464
- /** Stylesheets in dependency order. A disabled module's are dropped by restrictManifest. */
690
+ /** Stylesheets in dependency order. */
465
691
  styles: Array<{
466
692
  by: string;
467
693
  href: string;
@@ -470,17 +696,17 @@ export type Manifest = {
470
696
  routes: Record<string, {
471
697
  by: string;
472
698
  anonymous: boolean;
699
+ through?: string;
700
+ contract?: HttpRouteContract;
473
701
  make: (ctx: import('./server/boot.ts').ServeContext) => import('./server/boot.ts').Route;
474
702
  }>;
703
+ /** Prefix -> owning module. Longest prefix wins, though overlapping claims are rejected. */
704
+ routePrefixes: Record<string, string>;
475
705
  patches: Array<{
476
706
  by: string;
477
707
  target: string;
478
708
  reason: string;
479
709
  }>;
480
- /** Set by restrictManifest: modules this deployment ships but this database has off. */
481
- disabledModules?: string[];
482
- disabledSections?: string[];
483
- disabledIslands?: string[];
484
710
  diagnostics?: Diagnostic[];
485
711
  };
486
712
  export type Diagnostic = {
@@ -515,18 +741,29 @@ export type Scope = {
515
741
  * Companies this request may READ. Absent means just `company` — the safe
516
742
  * default, because widening what you can see should take saying so.
517
743
  *
518
- * Reads use the set and writes use `company`, which is Odoo's split between
519
- * allowed_company_ids and company_id, and the split is right: a report may span
744
+ * Reads use the set and writes use `company`, which is the domain contract's split between
745
+ * readable company set and company_id, and the split is right: a report may span
520
746
  * three legal entities, but an invoice belongs to exactly one.
521
747
  */
522
748
  companies?: string[] | null;
523
749
  /** The branch a new company+branch row is stamped with. */
524
750
  branch?: string | null;
525
- /** Branches this request may read. Null means every branch of its companies. */
751
+ /** Branches this request may read. Null means every branch; an empty array means none. */
526
752
  branches?: string[] | null;
527
753
  };
528
754
  export type Ctx = {
529
755
  fnKey: string;
756
+ /** Ephemeral request/command correlation. Domains must hash it before persistence. */
757
+ correlationId: string | null;
758
+ /**
759
+ * Operational logging for this call, already carrying tenant, function, hashed
760
+ * correlation, hashed actor and company.
761
+ *
762
+ * This is not an audit trail. A record written here leaves the process
763
+ * immediately, is never readable by the application, and — unlike an audit row —
764
+ * survives a transaction that rolls back, because the attempt was real.
765
+ */
766
+ log: import('./server/log/logger.ts').Logger;
530
767
  scope: Scope;
531
768
  /** The composed manifest, so a module can check data against what is installed. */
532
769
  manifest: Manifest;
@@ -537,6 +774,17 @@ export type Ctx = {
537
774
  jobs: {
538
775
  enqueue(name: string, args: Record<string, unknown>, options?: JobEnqueueOptions): Promise<JobEnqueueResult>;
539
776
  };
777
+ /**
778
+ * Take the next number in a named sequence, counted per company by default.
779
+ *
780
+ * Returns a number: turning it into "S00001" is the domain's decision, and a
781
+ * framework that chose the format would be choosing an invoice format for a tax
782
+ * authority it has never heard of.
783
+ *
784
+ * A dry run reads the sequence without consuming a number, so a preview cannot
785
+ * make the real command that follows skip one.
786
+ */
787
+ sequence(name: string, options?: import('./server/sequence.ts').SequenceOptions): Promise<number>;
540
788
  /** Column handles for a model, for building queries. */
541
789
  table(model: string): import('./data/query.ts').Table;
542
790
  /** A changeset bound to this app's manifest. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/ketjs/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/ketjs/src/types.ts"],"names":[],"mappings":"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"}