@toa.io/core 1.0.0-alpha.29 → 1.0.0-alpha.291

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 (304) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/package.json +22 -12
  3. package/source/assignment.ts +27 -0
  4. package/source/call.ts +63 -0
  5. package/source/cascade.ts +32 -0
  6. package/source/component.ts +83 -0
  7. package/source/composition.ts +27 -0
  8. package/source/connector.ts +217 -0
  9. package/source/context.ts +68 -0
  10. package/source/contract/contract.ts +23 -0
  11. package/source/contract/index.ts +2 -0
  12. package/source/contract/reply.ts +56 -0
  13. package/source/contract/request.ts +140 -0
  14. package/source/contract/schemas.ts +39 -0
  15. package/source/discovery.ts +53 -0
  16. package/source/effect.ts +14 -0
  17. package/source/emission.ts +21 -0
  18. package/source/entities/changeset.ts +37 -0
  19. package/source/entities/entity.ts +137 -0
  20. package/source/entities/factory.ts +52 -0
  21. package/source/entities/index.ts +4 -0
  22. package/source/entities/newid.ts +9 -0
  23. package/source/entities/set.ts +27 -0
  24. package/source/event.ts +57 -0
  25. package/source/exceptions.ts +133 -0
  26. package/source/exposition.ts +33 -0
  27. package/source/guard.ts +16 -0
  28. package/source/index.ts +36 -0
  29. package/source/locator.ts +37 -0
  30. package/source/observation.ts +16 -0
  31. package/source/operation.ts +139 -0
  32. package/source/outbox/index.ts +1 -0
  33. package/source/outbox/outbox.ts +341 -0
  34. package/source/query/criteria.ts +90 -0
  35. package/source/query/options.ts +35 -0
  36. package/source/query.ts +67 -0
  37. package/source/receiver.ts +120 -0
  38. package/source/reflection.ts +20 -0
  39. package/source/remote.ts +20 -0
  40. package/source/state.ts +179 -0
  41. package/source/transition.ts +79 -0
  42. package/source/transmission.ts +38 -0
  43. package/source/types/atomicity.ts +63 -0
  44. package/source/types/bindings.ts +59 -0
  45. package/source/types/bridges.ts +54 -0
  46. package/source/types/extensions.ts +89 -0
  47. package/source/types/index.ts +14 -0
  48. package/{types/message.d.ts → source/types/message.ts} +2 -0
  49. package/source/types/operations.ts +31 -0
  50. package/source/types/outbox.ts +35 -0
  51. package/source/types/receiver.ts +10 -0
  52. package/source/types/request.ts +54 -0
  53. package/source/types/state.ts +9 -0
  54. package/source/types/storages.ts +134 -0
  55. package/source/unmanaged.ts +8 -0
  56. package/test/call.fixtures.js +10 -12
  57. package/test/call.test.js +42 -9
  58. package/test/component.fixtures.js +5 -8
  59. package/test/component.test.js +27 -10
  60. package/test/connector.fixtures.js +29 -13
  61. package/test/connector.test.js +128 -38
  62. package/test/context.fixtures.js +8 -12
  63. package/test/context.test.js +19 -8
  64. package/test/contract/conditions.test.js +15 -9
  65. package/test/contract/contract.fixtures.js +11 -16
  66. package/test/contract/request.test.js +130 -46
  67. package/test/discovery.test.js +71 -0
  68. package/test/emission.fixtures.js +6 -10
  69. package/test/emission.test.js +37 -12
  70. package/test/entities/entity.fixtures.js +11 -16
  71. package/test/entities/entity.test.js +105 -50
  72. package/test/entities/factory.fixtures.js +26 -13
  73. package/test/entities/factory.test.js +68 -17
  74. package/test/entities/set.fixtures.js +6 -8
  75. package/test/entities/set.test.js +6 -5
  76. package/test/event.fixtures.js +9 -14
  77. package/test/event.test.js +78 -34
  78. package/test/locator.test.js +32 -25
  79. package/test/outbox.test.js +202 -0
  80. package/test/query.fixtures.js +1 -5
  81. package/test/query.test.js +111 -14
  82. package/test/receiver.fixtures.js +9 -12
  83. package/test/receiver.test.js +80 -31
  84. package/test/reflection.test.js +9 -8
  85. package/test/state.fixtures.js +33 -31
  86. package/test/state.test.js +135 -19
  87. package/test/transmission.fixtures.js +4 -6
  88. package/test/transmission.test.js +47 -16
  89. package/transpiled/assignment.d.ts +6 -0
  90. package/transpiled/assignment.js +20 -0
  91. package/transpiled/assignment.js.map +1 -0
  92. package/transpiled/call.d.ts +10 -0
  93. package/transpiled/call.js +52 -0
  94. package/transpiled/call.js.map +1 -0
  95. package/transpiled/cascade.d.ts +7 -0
  96. package/transpiled/cascade.js +28 -0
  97. package/transpiled/cascade.js.map +1 -0
  98. package/transpiled/component.d.ts +15 -0
  99. package/transpiled/component.js +61 -0
  100. package/transpiled/component.js.map +1 -0
  101. package/transpiled/composition.d.ts +6 -0
  102. package/transpiled/composition.js +23 -0
  103. package/transpiled/composition.js.map +1 -0
  104. package/transpiled/connector.d.ts +47 -0
  105. package/transpiled/connector.js +185 -0
  106. package/transpiled/connector.js.map +1 -0
  107. package/transpiled/context.d.ts +18 -0
  108. package/transpiled/context.js +42 -0
  109. package/transpiled/context.js.map +1 -0
  110. package/transpiled/contract/contract.d.ts +10 -0
  111. package/transpiled/contract/contract.js +14 -0
  112. package/transpiled/contract/contract.js.map +1 -0
  113. package/transpiled/contract/index.d.ts +2 -0
  114. package/transpiled/contract/index.js +3 -0
  115. package/transpiled/contract/index.js.map +1 -0
  116. package/transpiled/contract/reply.d.ts +7 -0
  117. package/transpiled/contract/reply.js +48 -0
  118. package/transpiled/contract/reply.js.map +1 -0
  119. package/transpiled/contract/request.d.ts +29 -0
  120. package/transpiled/contract/request.js +103 -0
  121. package/transpiled/contract/request.js.map +1 -0
  122. package/transpiled/contract/schemas.d.ts +4 -0
  123. package/transpiled/contract/schemas.js +36 -0
  124. package/transpiled/contract/schemas.js.map +1 -0
  125. package/transpiled/discovery.d.ts +12 -0
  126. package/transpiled/discovery.js +34 -0
  127. package/transpiled/discovery.js.map +1 -0
  128. package/transpiled/effect.d.ts +5 -0
  129. package/transpiled/effect.js +11 -0
  130. package/transpiled/effect.js.map +1 -0
  131. package/transpiled/emission.d.ts +8 -0
  132. package/transpiled/emission.js +14 -0
  133. package/transpiled/emission.js.map +1 -0
  134. package/transpiled/entities/changeset.d.ts +10 -0
  135. package/transpiled/entities/changeset.js +27 -0
  136. package/transpiled/entities/changeset.js.map +1 -0
  137. package/transpiled/entities/entity.d.ts +19 -0
  138. package/transpiled/entities/entity.js +109 -0
  139. package/transpiled/entities/entity.js.map +1 -0
  140. package/transpiled/entities/factory.d.ts +22 -0
  141. package/transpiled/entities/factory.js +34 -0
  142. package/transpiled/entities/factory.js.map +1 -0
  143. package/transpiled/entities/index.d.ts +4 -0
  144. package/transpiled/entities/index.js +5 -0
  145. package/transpiled/entities/index.js.map +1 -0
  146. package/transpiled/entities/newid.d.ts +1 -0
  147. package/transpiled/entities/newid.js +7 -0
  148. package/transpiled/entities/newid.js.map +1 -0
  149. package/transpiled/entities/set.d.ts +10 -0
  150. package/transpiled/entities/set.js +19 -0
  151. package/transpiled/entities/set.js.map +1 -0
  152. package/transpiled/event.d.ts +14 -0
  153. package/transpiled/event.js +38 -0
  154. package/transpiled/event.js.map +1 -0
  155. package/transpiled/exceptions.d.ts +61 -0
  156. package/transpiled/exceptions.js +93 -0
  157. package/transpiled/exceptions.js.map +1 -0
  158. package/transpiled/exposition.d.ts +18 -0
  159. package/transpiled/exposition.js +18 -0
  160. package/transpiled/exposition.js.map +1 -0
  161. package/transpiled/guard.d.ts +7 -0
  162. package/transpiled/guard.js +12 -0
  163. package/transpiled/guard.js.map +1 -0
  164. package/transpiled/index.d.ts +35 -0
  165. package/transpiled/index.js +29 -0
  166. package/transpiled/index.js.map +1 -0
  167. package/transpiled/locator.d.ts +12 -0
  168. package/transpiled/locator.js +32 -0
  169. package/transpiled/locator.js.map +1 -0
  170. package/transpiled/observation.d.ts +5 -0
  171. package/transpiled/observation.js +12 -0
  172. package/transpiled/observation.js.map +1 -0
  173. package/transpiled/operation.d.ts +49 -0
  174. package/transpiled/operation.js +78 -0
  175. package/transpiled/operation.js.map +1 -0
  176. package/transpiled/outbox/index.d.ts +1 -0
  177. package/transpiled/outbox/index.js +2 -0
  178. package/transpiled/outbox/index.js.map +1 -0
  179. package/transpiled/outbox/outbox.d.ts +46 -0
  180. package/transpiled/outbox/outbox.js +268 -0
  181. package/transpiled/outbox/outbox.js.map +1 -0
  182. package/transpiled/query/criteria.d.ts +6 -0
  183. package/transpiled/query/criteria.js +74 -0
  184. package/transpiled/query/criteria.js.map +1 -0
  185. package/transpiled/query/options.d.ts +3 -0
  186. package/transpiled/query/options.js +27 -0
  187. package/transpiled/query/options.js.map +1 -0
  188. package/transpiled/query.d.ts +9 -0
  189. package/transpiled/query.js +57 -0
  190. package/transpiled/query.js.map +1 -0
  191. package/transpiled/receiver.d.ts +20 -0
  192. package/transpiled/receiver.js +92 -0
  193. package/transpiled/receiver.js.map +1 -0
  194. package/transpiled/reflection.d.ts +9 -0
  195. package/transpiled/reflection.js +13 -0
  196. package/transpiled/reflection.js.map +1 -0
  197. package/transpiled/remote.d.ts +10 -0
  198. package/transpiled/remote.js +12 -0
  199. package/transpiled/remote.js.map +1 -0
  200. package/transpiled/state.d.ts +33 -0
  201. package/transpiled/state.js +126 -0
  202. package/transpiled/state.js.map +1 -0
  203. package/transpiled/transition.d.ts +14 -0
  204. package/transpiled/transition.js +51 -0
  205. package/transpiled/transition.js.map +1 -0
  206. package/transpiled/transmission.d.ts +8 -0
  207. package/transpiled/transmission.js +30 -0
  208. package/transpiled/transmission.js.map +1 -0
  209. package/transpiled/types/atomicity.d.ts +56 -0
  210. package/transpiled/types/atomicity.js +2 -0
  211. package/transpiled/types/atomicity.js.map +1 -0
  212. package/transpiled/types/bindings.d.ts +42 -0
  213. package/transpiled/types/bindings.js +2 -0
  214. package/transpiled/types/bindings.js.map +1 -0
  215. package/transpiled/types/bridges.d.ts +38 -0
  216. package/transpiled/types/bridges.js +2 -0
  217. package/transpiled/types/bridges.js.map +1 -0
  218. package/transpiled/types/extensions.d.ts +62 -0
  219. package/transpiled/types/extensions.js +2 -0
  220. package/transpiled/types/extensions.js.map +1 -0
  221. package/transpiled/types/index.d.ts +13 -0
  222. package/transpiled/types/index.js +8 -0
  223. package/transpiled/types/index.js.map +1 -0
  224. package/transpiled/types/message.d.ts +5 -0
  225. package/transpiled/types/message.js +2 -0
  226. package/transpiled/types/message.js.map +1 -0
  227. package/transpiled/types/operations.d.ts +15 -0
  228. package/transpiled/types/operations.js +2 -0
  229. package/transpiled/types/operations.js.map +1 -0
  230. package/transpiled/types/outbox.d.ts +28 -0
  231. package/transpiled/types/outbox.js +2 -0
  232. package/transpiled/types/outbox.js.map +1 -0
  233. package/transpiled/types/receiver.d.ts +9 -0
  234. package/transpiled/types/receiver.js +2 -0
  235. package/transpiled/types/receiver.js.map +1 -0
  236. package/transpiled/types/request.d.ts +55 -0
  237. package/transpiled/types/request.js +2 -0
  238. package/transpiled/types/request.js.map +1 -0
  239. package/transpiled/types/state.d.ts +9 -0
  240. package/transpiled/types/state.js +2 -0
  241. package/transpiled/types/state.js.map +1 -0
  242. package/transpiled/types/storages.d.ts +111 -0
  243. package/transpiled/types/storages.js +2 -0
  244. package/transpiled/types/storages.js.map +1 -0
  245. package/transpiled/unmanaged.d.ts +5 -0
  246. package/transpiled/unmanaged.js +7 -0
  247. package/transpiled/unmanaged.js.map +1 -0
  248. package/tsconfig.json +10 -0
  249. package/tsconfig.tsbuildinfo +1 -0
  250. package/src/assignment.js +0 -31
  251. package/src/call.js +0 -42
  252. package/src/cascade.js +0 -36
  253. package/src/component.js +0 -41
  254. package/src/composition.js +0 -25
  255. package/src/connector.js +0 -183
  256. package/src/context.js +0 -55
  257. package/src/contract/conditions.js +0 -21
  258. package/src/contract/index.js +0 -7
  259. package/src/contract/reply.js +0 -25
  260. package/src/contract/request.js +0 -67
  261. package/src/contract/schemas/error.yaml +0 -9
  262. package/src/contract/schemas/index.js +0 -7
  263. package/src/contract/schemas/query.yaml +0 -30
  264. package/src/discovery.js +0 -44
  265. package/src/emission.js +0 -23
  266. package/src/entities/changeset.js +0 -43
  267. package/src/entities/entity.js +0 -73
  268. package/src/entities/factory.js +0 -33
  269. package/src/entities/index.js +0 -5
  270. package/src/entities/set.js +0 -15
  271. package/src/event.js +0 -40
  272. package/src/exceptions.js +0 -100
  273. package/src/exposition.js +0 -27
  274. package/src/index.js +0 -47
  275. package/src/locator.js +0 -54
  276. package/src/observation.js +0 -20
  277. package/src/operation.js +0 -69
  278. package/src/query/criteria.js +0 -41
  279. package/src/query/options.js +0 -40
  280. package/src/query.js +0 -41
  281. package/src/receiver.js +0 -65
  282. package/src/reflection.js +0 -28
  283. package/src/remote.js +0 -17
  284. package/src/state.js +0 -99
  285. package/src/transition.js +0 -73
  286. package/src/transmission.js +0 -33
  287. package/types/bindings.d.ts +0 -40
  288. package/types/bridges.ts +0 -30
  289. package/types/component.d.ts +0 -9
  290. package/types/connector.d.ts +0 -18
  291. package/types/context.d.ts +0 -21
  292. package/types/entity.d.ts +0 -46
  293. package/types/event.d.ts +0 -11
  294. package/types/exception.d.ts +0 -4
  295. package/types/extensions.d.ts +0 -29
  296. package/types/index.ts +0 -14
  297. package/types/locator.d.ts +0 -13
  298. package/types/operations.d.ts +0 -2
  299. package/types/query.d.ts +0 -15
  300. package/types/receiver.d.ts +0 -12
  301. package/types/reflection.d.ts +0 -14
  302. package/types/request.d.ts +0 -23
  303. package/types/state.d.ts +0 -35
  304. package/types/storages.d.ts +0 -71
@@ -1,21 +0,0 @@
1
- import * as _request from './request'
2
- import * as _reply from './reply'
3
- import * as _extensions from './extensions'
4
- import * as _connector from './connector'
5
-
6
- export interface Context extends _connector.Connector{
7
- aspects: _extensions.Aspect[]
8
-
9
- /**
10
- * Calls local endpoint
11
- */
12
- apply (endpoint: string, request: _request.Request): Promise<_reply.Reply>
13
-
14
- /**
15
- * Calls remote endpoint
16
- */
17
- call (namespace: string, name: string, endpoint: string, request: _request.Request): Promise<_reply.Reply>
18
-
19
- // shortcuts
20
- [key: string]: any
21
- }
package/types/entity.d.ts DELETED
@@ -1,46 +0,0 @@
1
- import * as _event from './event'
2
- import * as _storages from './storages'
3
-
4
- declare namespace toa.core {
5
-
6
- namespace entity {
7
-
8
- interface Factory {
9
- init(id: string): Entity
10
-
11
- object(record: Object): Entity
12
-
13
- objects(recordset: Object[]): Entity[]
14
-
15
- changeset(query: _storages.Query): Changeset
16
- }
17
-
18
- }
19
-
20
- interface Entity {
21
- get(): _storages.Record
22
-
23
- set(value: _storages.Record): void
24
-
25
- event(): _event.Event
26
- }
27
-
28
- type Upsert = {
29
- changeset: Object
30
- insert: Object
31
- }
32
-
33
- interface Changeset {
34
- query: _storages.Query
35
-
36
- get(): Object
37
-
38
- set(value: Object): void
39
-
40
- export(): Upsert
41
- }
42
-
43
- }
44
-
45
- export type Entity = toa.core.Entity
46
- export type Changeset = toa.core.Changeset
package/types/event.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import * as _state from './state'
2
-
3
- declare namespace toa.core {
4
-
5
- interface Event {
6
- emit(event: _state.Event): Promise<void>
7
- }
8
-
9
- }
10
-
11
- export type Event = toa.core.Event
@@ -1,4 +0,0 @@
1
- export interface Exception {
2
- code: number
3
- message: string
4
- }
@@ -1,29 +0,0 @@
1
- import * as _core from './index'
2
- import * as _component from './component'
3
- import * as _context from './context'
4
- import * as _storages from './storages'
5
- import * as _bindings from './bindings'
6
-
7
- export interface Factory{
8
- tenant? (locator: _core.Locator, manifest: object): _core.Connector
9
-
10
- aspect? (locator: _core.Locator, manifest: object | null): Aspect | Aspect[]
11
-
12
- service? (name?: string): _core.Connector | null
13
-
14
- component? (component: _component.Component): _component.Component
15
-
16
- context? (context: _context.Context): _context.Context
17
-
18
- storage? (storage: _storages.Storage): _storages.Storage
19
-
20
- emitter? (emitter: _bindings.Emitter, label: string): _bindings.Emitter
21
-
22
- receiver? (receiver: _core.Receiver, locator: _core.Locator): _core.Receiver
23
- }
24
-
25
- export interface Aspect extends _core.Connector{
26
- name: string
27
-
28
- invoke (...args: any[]): any
29
- }
package/types/index.ts DELETED
@@ -1,14 +0,0 @@
1
- export * as bindings from './bindings'
2
- export * as extensions from './extensions'
3
- export * as storages from './storages'
4
- export * as bridges from './bridges'
5
- export * as operations from './operations'
6
-
7
- export type { Component } from './component'
8
- export { Connector } from './connector'
9
- export type { Context } from './context'
10
- export type { Exception } from './exception'
11
- export { Locator } from './locator'
12
- export type { Receiver } from './receiver'
13
- export type { Message } from './message'
14
- export type { Request, Query, Reply } from './request'
@@ -1,13 +0,0 @@
1
- export class Locator{
2
- public readonly name: string
3
- public readonly namespace: string
4
-
5
- public readonly id: string
6
- public readonly label: string
7
- public readonly uppercase: string
8
- public readonly lowercase: string
9
-
10
- constructor (name: string, namespace?: string)
11
-
12
- hostname (type?: string): string
13
- }
@@ -1,2 +0,0 @@
1
- export type type = 'transition' | 'observation' | 'assignment' | 'computation' | 'effect'
2
- export type scope = 'object' | 'objects' | 'changeset'
package/types/query.d.ts DELETED
@@ -1,15 +0,0 @@
1
- declare namespace toa.core {
2
-
3
- type Query = {
4
- id?: string
5
- version?: number
6
- criteria?: Object
7
- omit?: number
8
- limit?: number
9
- sort?: string[]
10
- projection?: string[]
11
- }
12
-
13
- }
14
-
15
- export type Query = toa.core.Query
@@ -1,12 +0,0 @@
1
- import * as _message from './message'
2
- import * as _connector from './connector'
3
-
4
- declare namespace toa.core {
5
-
6
- interface Receiver extends _connector.Connector {
7
- receive(message: _message.Message): Promise<void>
8
- }
9
-
10
- }
11
-
12
- export type Receiver = toa.core.Receiver
@@ -1,14 +0,0 @@
1
- import * as _core from './connector'
2
-
3
- declare namespace toa.core {
4
-
5
- namespace reflection {
6
- type Source = () => Promise<any>
7
- }
8
-
9
- interface Reflection<T> extends _core.Connector {
10
- value: T
11
- }
12
- }
13
-
14
- export type Source = toa.core.reflection.Source
@@ -1,23 +0,0 @@
1
- import { Exception } from './exception'
2
-
3
- export interface Query {
4
- id?: string
5
- criteria?: string
6
- omit?: number
7
- limit?: number
8
- sort?: Array<string>
9
- projection?: Array<string>
10
- version?: number
11
- }
12
-
13
- export interface Request {
14
- input?: any
15
- query?: Query
16
- authentic?: boolean
17
- }
18
-
19
- export interface Reply {
20
- output?: any
21
- error?: object
22
- exception?: Exception
23
- }
package/types/state.d.ts DELETED
@@ -1,35 +0,0 @@
1
- import * as _entity from './entity'
2
- import * as _storages from './storages'
3
-
4
- declare namespace toa.core {
5
-
6
- namespace transition {
7
-
8
- type Event = {
9
- origin: Object
10
- state: Object
11
- changeset: Object
12
- }
13
-
14
- }
15
-
16
- interface State {
17
- init(id: string): _entity.Entity
18
-
19
- object(query: _storages.Query): Promise<_entity.Entity>
20
-
21
- objects(query: _storages.Query): Promise<_entity.Entity[]>
22
-
23
- changeset(query: _storages.Query): _entity.Changeset
24
-
25
- none(): null
26
-
27
- commit(entity: _entity.Entity): Promise<boolean>
28
-
29
- apply(changeset: _entity.Changeset): Promise<void>
30
- }
31
-
32
- }
33
-
34
- export type State = toa.core.State
35
- export type Event = toa.core.transition.Event
@@ -1,71 +0,0 @@
1
- // noinspection ES6UnusedImports
2
-
3
- import { Locator } from './locator'
4
- import { Connector } from './connector'
5
-
6
- declare namespace toa.core {
7
-
8
- namespace storages {
9
- namespace ast {
10
-
11
- interface Node {
12
- type: 'LOGIC' | 'COMPARISON' | 'SELECTOR' | 'VALUE'
13
- left?: Node
14
- right?: Node
15
- operator?: string
16
- selector?: string
17
- value?: string
18
- }
19
-
20
- }
21
-
22
- interface Record {
23
- id: string
24
- _version: number
25
-
26
- [key: string]: any
27
- }
28
-
29
- interface Query {
30
- id?: string
31
- version?: number
32
- criteria?: ast.Node
33
- options?: Object
34
- }
35
-
36
- interface Migration {
37
- disconnect(): Promise<void>
38
-
39
- database(name: string): Promise<void>
40
-
41
- table(database: string, locator: Locator, schema: Object, reset?: boolean): Promise<string>
42
- }
43
-
44
- interface Factory {
45
- storage(locator: Locator, properties?: object): Storage
46
-
47
- migration?(driver?: string): Migration
48
- }
49
- }
50
-
51
- interface Storage extends Connector {
52
- // object observation
53
- get?(query: storages.Query): Promise<storages.Record | null>
54
-
55
- // objects observation
56
- find?(query: storages.Query): Promise<storages.Record[]>
57
-
58
- // commit
59
- store?(record: storages.Record): Promise<boolean>
60
-
61
- // assignment
62
- upsert?(query: storages.Query, changeset: Object, insert: storages.Record): Promise<storages.Record>
63
- }
64
-
65
- }
66
-
67
- export type Storage = toa.core.Storage
68
- export type Record = toa.core.storages.Record
69
- export type Factory = toa.core.storages.Factory
70
- export type Query = toa.core.storages.Query
71
- export type Migration = toa.core.storages.Migration