hexok 1.0.1 → 2.1.0

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 (262) hide show
  1. package/README.md +9 -22
  2. package/dist/adapter.d.ts +18 -0
  3. package/dist/adapter.d.ts.map +1 -0
  4. package/dist/adapter.js +21 -0
  5. package/dist/adapter.js.map +1 -0
  6. package/dist/catalog.d.ts +88 -0
  7. package/dist/catalog.d.ts.map +1 -0
  8. package/dist/catalog.js +79 -0
  9. package/dist/catalog.js.map +1 -0
  10. package/dist/{core/coded-error.d.ts → coded-error.d.ts} +9 -4
  11. package/dist/coded-error.d.ts.map +1 -0
  12. package/dist/{core/coded-error.js → coded-error.js} +9 -4
  13. package/dist/coded-error.js.map +1 -0
  14. package/dist/cow-draft.d.ts.map +1 -0
  15. package/dist/cow-draft.js.map +1 -0
  16. package/dist/entity.d.ts +63 -0
  17. package/dist/entity.d.ts.map +1 -0
  18. package/dist/{domain/entity.js → entity.js} +52 -80
  19. package/dist/entity.js.map +1 -0
  20. package/dist/error-map.d.ts +22 -0
  21. package/dist/error-map.d.ts.map +1 -0
  22. package/dist/error-map.js +2 -0
  23. package/dist/error-map.js.map +1 -0
  24. package/dist/errors.d.ts +85 -0
  25. package/dist/errors.d.ts.map +1 -0
  26. package/dist/errors.js +85 -0
  27. package/dist/errors.js.map +1 -0
  28. package/dist/event-handler.d.ts +31 -0
  29. package/dist/event-handler.d.ts.map +1 -0
  30. package/dist/event-handler.js +28 -0
  31. package/dist/event-handler.js.map +1 -0
  32. package/dist/event.d.ts +37 -0
  33. package/dist/event.d.ts.map +1 -0
  34. package/dist/event.js +44 -0
  35. package/dist/event.js.map +1 -0
  36. package/dist/index.d.ts +16 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +14 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/mapper.d.ts +100 -0
  41. package/dist/mapper.d.ts.map +1 -0
  42. package/dist/mapper.js +167 -0
  43. package/dist/mapper.js.map +1 -0
  44. package/dist/port.d.ts +20 -0
  45. package/dist/port.d.ts.map +1 -0
  46. package/dist/port.js +25 -0
  47. package/dist/port.js.map +1 -0
  48. package/dist/result.d.ts.map +1 -0
  49. package/dist/result.js.map +1 -0
  50. package/dist/schema.d.ts +37 -0
  51. package/dist/schema.d.ts.map +1 -0
  52. package/dist/schema.js +50 -0
  53. package/dist/schema.js.map +1 -0
  54. package/dist/{core/standard-schema.d.ts → standard-schema.d.ts} +1 -1
  55. package/dist/standard-schema.d.ts.map +1 -0
  56. package/dist/standard-schema.js.map +1 -0
  57. package/dist/use-case.d.ts +183 -0
  58. package/dist/use-case.d.ts.map +1 -0
  59. package/dist/use-case.js +221 -0
  60. package/dist/use-case.js.map +1 -0
  61. package/dist/{core/schema.d.ts → validate.d.ts} +1 -1
  62. package/dist/validate.d.ts.map +1 -0
  63. package/dist/{core/schema.js → validate.js} +1 -1
  64. package/dist/validate.js.map +1 -0
  65. package/package.json +7 -26
  66. package/skills/hexok/SKILL.md +127 -0
  67. package/skills/hexok/references/adapter.md +66 -0
  68. package/skills/hexok/references/entity.md +74 -0
  69. package/skills/hexok/references/error.md +140 -0
  70. package/skills/hexok/references/event-catalog.md +57 -0
  71. package/skills/hexok/references/event-handler.md +56 -0
  72. package/skills/hexok/references/event.md +53 -0
  73. package/skills/hexok/references/mapper.md +77 -0
  74. package/skills/hexok/references/port.md +58 -0
  75. package/skills/hexok/references/schema.md +47 -0
  76. package/skills/hexok/references/use-case.md +164 -0
  77. package/dist/app/callable-use-case.d.ts +0 -34
  78. package/dist/app/callable-use-case.d.ts.map +0 -1
  79. package/dist/app/callable-use-case.js +0 -41
  80. package/dist/app/callable-use-case.js.map +0 -1
  81. package/dist/app/contract.d.ts +0 -46
  82. package/dist/app/contract.d.ts.map +0 -1
  83. package/dist/app/contract.js +0 -28
  84. package/dist/app/contract.js.map +0 -1
  85. package/dist/app/error-factory.d.ts +0 -9
  86. package/dist/app/error-factory.d.ts.map +0 -1
  87. package/dist/app/error-factory.js +0 -30
  88. package/dist/app/error-factory.js.map +0 -1
  89. package/dist/app/event-channel.d.ts +0 -133
  90. package/dist/app/event-channel.d.ts.map +0 -1
  91. package/dist/app/event-channel.js +0 -49
  92. package/dist/app/event-channel.js.map +0 -1
  93. package/dist/app/event-use-case.d.ts +0 -47
  94. package/dist/app/event-use-case.d.ts.map +0 -1
  95. package/dist/app/event-use-case.js +0 -54
  96. package/dist/app/event-use-case.js.map +0 -1
  97. package/dist/app/execute-ctx.d.ts +0 -92
  98. package/dist/app/execute-ctx.d.ts.map +0 -1
  99. package/dist/app/execute-ctx.js +0 -2
  100. package/dist/app/execute-ctx.js.map +0 -1
  101. package/dist/app/external-use-case.d.ts +0 -25
  102. package/dist/app/external-use-case.d.ts.map +0 -1
  103. package/dist/app/external-use-case.js +0 -25
  104. package/dist/app/external-use-case.js.map +0 -1
  105. package/dist/app/index.d.ts +0 -9
  106. package/dist/app/index.d.ts.map +0 -1
  107. package/dist/app/index.js +0 -8
  108. package/dist/app/index.js.map +0 -1
  109. package/dist/app/internal-use-case.d.ts +0 -26
  110. package/dist/app/internal-use-case.d.ts.map +0 -1
  111. package/dist/app/internal-use-case.js +0 -26
  112. package/dist/app/internal-use-case.js.map +0 -1
  113. package/dist/app/nest.d.ts +0 -9
  114. package/dist/app/nest.d.ts.map +0 -1
  115. package/dist/app/nest.js +0 -28
  116. package/dist/app/nest.js.map +0 -1
  117. package/dist/app/types.d.ts +0 -153
  118. package/dist/app/types.d.ts.map +0 -1
  119. package/dist/app/types.js +0 -17
  120. package/dist/app/types.js.map +0 -1
  121. package/dist/core/coded-error.d.ts.map +0 -1
  122. package/dist/core/coded-error.js.map +0 -1
  123. package/dist/core/error-map.d.ts +0 -21
  124. package/dist/core/error-map.d.ts.map +0 -1
  125. package/dist/core/error-map.js +0 -5
  126. package/dist/core/error-map.js.map +0 -1
  127. package/dist/core/index.d.ts +0 -6
  128. package/dist/core/index.d.ts.map +0 -1
  129. package/dist/core/index.js +0 -5
  130. package/dist/core/index.js.map +0 -1
  131. package/dist/core/result.d.ts.map +0 -1
  132. package/dist/core/result.js.map +0 -1
  133. package/dist/core/schema.d.ts.map +0 -1
  134. package/dist/core/schema.js.map +0 -1
  135. package/dist/core/standard-schema.d.ts.map +0 -1
  136. package/dist/core/standard-schema.js.map +0 -1
  137. package/dist/domain/capabilities.d.ts +0 -42
  138. package/dist/domain/capabilities.d.ts.map +0 -1
  139. package/dist/domain/capabilities.js +0 -2
  140. package/dist/domain/capabilities.js.map +0 -1
  141. package/dist/domain/catalog.d.ts +0 -46
  142. package/dist/domain/catalog.d.ts.map +0 -1
  143. package/dist/domain/catalog.js +0 -114
  144. package/dist/domain/catalog.js.map +0 -1
  145. package/dist/domain/channel.d.ts +0 -36
  146. package/dist/domain/channel.d.ts.map +0 -1
  147. package/dist/domain/channel.js +0 -2
  148. package/dist/domain/channel.js.map +0 -1
  149. package/dist/domain/cow-draft.d.ts.map +0 -1
  150. package/dist/domain/cow-draft.js.map +0 -1
  151. package/dist/domain/entity.d.ts +0 -120
  152. package/dist/domain/entity.d.ts.map +0 -1
  153. package/dist/domain/entity.js.map +0 -1
  154. package/dist/domain/envelope.d.ts +0 -59
  155. package/dist/domain/envelope.d.ts.map +0 -1
  156. package/dist/domain/envelope.js +0 -2
  157. package/dist/domain/envelope.js.map +0 -1
  158. package/dist/domain/event.d.ts +0 -44
  159. package/dist/domain/event.d.ts.map +0 -1
  160. package/dist/domain/event.js +0 -21
  161. package/dist/domain/event.js.map +0 -1
  162. package/dist/domain/index.d.ts +0 -8
  163. package/dist/domain/index.d.ts.map +0 -1
  164. package/dist/domain/index.js +0 -5
  165. package/dist/domain/index.js.map +0 -1
  166. package/dist/domain/port.d.ts +0 -45
  167. package/dist/domain/port.d.ts.map +0 -1
  168. package/dist/domain/port.js +0 -41
  169. package/dist/domain/port.js.map +0 -1
  170. package/dist/infra/adapter.d.ts +0 -22
  171. package/dist/infra/adapter.d.ts.map +0 -1
  172. package/dist/infra/adapter.js +0 -18
  173. package/dist/infra/adapter.js.map +0 -1
  174. package/dist/infra/index.d.ts +0 -3
  175. package/dist/infra/index.d.ts.map +0 -1
  176. package/dist/infra/index.js +0 -3
  177. package/dist/infra/index.js.map +0 -1
  178. package/dist/infra/mapper.d.ts +0 -48
  179. package/dist/infra/mapper.d.ts.map +0 -1
  180. package/dist/infra/mapper.js +0 -77
  181. package/dist/infra/mapper.js.map +0 -1
  182. package/dist/runtime/app.d.ts +0 -100
  183. package/dist/runtime/app.d.ts.map +0 -1
  184. package/dist/runtime/app.js +0 -292
  185. package/dist/runtime/app.js.map +0 -1
  186. package/dist/runtime/channel.d.ts +0 -34
  187. package/dist/runtime/channel.d.ts.map +0 -1
  188. package/dist/runtime/channel.js +0 -110
  189. package/dist/runtime/channel.js.map +0 -1
  190. package/dist/runtime/client.d.ts +0 -21
  191. package/dist/runtime/client.d.ts.map +0 -1
  192. package/dist/runtime/client.js +0 -2
  193. package/dist/runtime/client.js.map +0 -1
  194. package/dist/runtime/completeness.d.ts +0 -89
  195. package/dist/runtime/completeness.d.ts.map +0 -1
  196. package/dist/runtime/completeness.js +0 -2
  197. package/dist/runtime/completeness.js.map +0 -1
  198. package/dist/runtime/envelope.d.ts +0 -7
  199. package/dist/runtime/envelope.d.ts.map +0 -1
  200. package/dist/runtime/envelope.js +0 -69
  201. package/dist/runtime/envelope.js.map +0 -1
  202. package/dist/runtime/events.d.ts +0 -6
  203. package/dist/runtime/events.d.ts.map +0 -1
  204. package/dist/runtime/events.js +0 -48
  205. package/dist/runtime/events.js.map +0 -1
  206. package/dist/runtime/http-status.d.ts +0 -3
  207. package/dist/runtime/http-status.d.ts.map +0 -1
  208. package/dist/runtime/http-status.js +0 -11
  209. package/dist/runtime/http-status.js.map +0 -1
  210. package/dist/runtime/http.d.ts +0 -4
  211. package/dist/runtime/http.d.ts.map +0 -1
  212. package/dist/runtime/http.js +0 -58
  213. package/dist/runtime/http.js.map +0 -1
  214. package/dist/runtime/index.d.ts +0 -10
  215. package/dist/runtime/index.d.ts.map +0 -1
  216. package/dist/runtime/index.js +0 -6
  217. package/dist/runtime/index.js.map +0 -1
  218. package/dist/runtime/interceptor.d.ts +0 -61
  219. package/dist/runtime/interceptor.d.ts.map +0 -1
  220. package/dist/runtime/interceptor.js +0 -7
  221. package/dist/runtime/interceptor.js.map +0 -1
  222. package/dist/runtime/invoke.d.ts +0 -34
  223. package/dist/runtime/invoke.d.ts.map +0 -1
  224. package/dist/runtime/invoke.js +0 -235
  225. package/dist/runtime/invoke.js.map +0 -1
  226. package/dist/runtime/middleware.d.ts +0 -20
  227. package/dist/runtime/middleware.d.ts.map +0 -1
  228. package/dist/runtime/middleware.js +0 -2
  229. package/dist/runtime/middleware.js.map +0 -1
  230. package/dist/runtime/rpc.d.ts +0 -24
  231. package/dist/runtime/rpc.d.ts.map +0 -1
  232. package/dist/runtime/rpc.js +0 -16
  233. package/dist/runtime/rpc.js.map +0 -1
  234. package/dist/testing/app-test.d.ts +0 -77
  235. package/dist/testing/app-test.d.ts.map +0 -1
  236. package/dist/testing/app-test.js +0 -109
  237. package/dist/testing/app-test.js.map +0 -1
  238. package/dist/testing/in-memory-bus.d.ts +0 -19
  239. package/dist/testing/in-memory-bus.d.ts.map +0 -1
  240. package/dist/testing/in-memory-bus.js +0 -31
  241. package/dist/testing/in-memory-bus.js.map +0 -1
  242. package/dist/testing/in-memory-channel.d.ts +0 -32
  243. package/dist/testing/in-memory-channel.d.ts.map +0 -1
  244. package/dist/testing/in-memory-channel.js +0 -65
  245. package/dist/testing/in-memory-channel.js.map +0 -1
  246. package/dist/testing/in-memory-queue.d.ts +0 -24
  247. package/dist/testing/in-memory-queue.d.ts.map +0 -1
  248. package/dist/testing/in-memory-queue.js +0 -66
  249. package/dist/testing/in-memory-queue.js.map +0 -1
  250. package/dist/testing/in-memory-repository.d.ts +0 -44
  251. package/dist/testing/in-memory-repository.d.ts.map +0 -1
  252. package/dist/testing/in-memory-repository.js +0 -60
  253. package/dist/testing/in-memory-repository.js.map +0 -1
  254. package/dist/testing/index.d.ts +0 -6
  255. package/dist/testing/index.d.ts.map +0 -1
  256. package/dist/testing/index.js +0 -6
  257. package/dist/testing/index.js.map +0 -1
  258. /package/dist/{domain/cow-draft.d.ts → cow-draft.d.ts} +0 -0
  259. /package/dist/{domain/cow-draft.js → cow-draft.js} +0 -0
  260. /package/dist/{core/result.d.ts → result.d.ts} +0 -0
  261. /package/dist/{core/result.js → result.js} +0 -0
  262. /package/dist/{core/standard-schema.js → standard-schema.js} +0 -0
@@ -1,60 +0,0 @@
1
- /**
2
- * In-memory fake for the standard CRUD port `{ get, save, list, delete }`.
3
- * Clones on get/save so tests do not mutate the store by accident.
4
- *
5
- * ```ts
6
- * .provide(IncidentRepository, InMemoryRepository.of(IncidentRepository, {
7
- * keyBy: 'id',
8
- * seed: [Incident.open('1')],
9
- * }))
10
- * ```
11
- */
12
- export class InMemoryRepository {
13
- #keyBy;
14
- #store = new Map();
15
- constructor(keyBy, seed) {
16
- this.#keyBy = keyBy;
17
- for (const entity of seed) {
18
- this.#store.set(this.keyOf(entity), cloneEntity(entity));
19
- }
20
- }
21
- /** Fake a CRUD port. Extra methods beyond get/save/list/delete go in `extra`. */
22
- static of(_token, options) {
23
- const repo = new InMemoryRepository(options.keyBy, (options.seed ?? []));
24
- if ('extra' in options && options.extra !== undefined) {
25
- return Object.assign(repo, options.extra);
26
- }
27
- return repo;
28
- }
29
- /** Clone of the stored entity, or `null`. */
30
- async get(id) {
31
- const found = this.#store.get(id);
32
- return found ? cloneEntity(found) : null;
33
- }
34
- /** Clone into the store and `commit()` the working entity. */
35
- async save(entity) {
36
- this.#store.set(this.keyOf(entity), cloneEntity(entity));
37
- entity.commit();
38
- }
39
- /** Clones of every stored entity. */
40
- async list() {
41
- return [...this.#store.values()].map((entity) => cloneEntity(entity));
42
- }
43
- /** Remove by id. No-op if missing. */
44
- async delete(id) {
45
- this.#store.delete(id);
46
- }
47
- keyOf(entity) {
48
- const props = entity.toProps();
49
- const key = props[this.#keyBy];
50
- if (typeof key !== 'string') {
51
- throw new Error(`hexok: InMemoryRepository keyBy "${this.#keyBy}" is not a string`);
52
- }
53
- return key;
54
- }
55
- }
56
- function cloneEntity(entity) {
57
- const Ctor = entity.constructor;
58
- return Ctor.restore(entity.toProps());
59
- }
60
- //# sourceMappingURL=in-memory-repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IAGpB,MAAM,CAAS;IACf,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IAEvC,YAAoB,KAAa,EAAE,IAAS;QAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,EAAE,CACP,MAAkE,EAClE,OAGkB;QAElB,MAAM,IAAI,GAAG,IAAI,kBAAkB,CACjC,OAAO,CAAC,KAAK,EACb,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAsC,CAC1D,CAAC;QACF,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAiB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAoB,CAAC;IAC9B,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,MAAS;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,MAAS;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAA6B,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,MAAM,mBAAmB,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,WAAW,CAA4C,MAAS;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,WAEnB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -1,6 +0,0 @@
1
- export { App, TestAppBuilder, type TestAppInstance } from './app-test.js';
2
- export { InMemoryBus } from './in-memory-bus.js';
3
- export { InMemoryChannel } from './in-memory-channel.js';
4
- export { InMemoryQueue } from './in-memory-queue.js';
5
- export { InMemoryRepository } from './in-memory-repository.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,6 +0,0 @@
1
- export { App, TestAppBuilder } from './app-test.js';
2
- export { InMemoryBus } from './in-memory-bus.js';
3
- export { InMemoryChannel } from './in-memory-channel.js';
4
- export { InMemoryQueue } from './in-memory-queue.js';
5
- export { InMemoryRepository } from './in-memory-repository.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
File without changes
File without changes
File without changes
File without changes