@open-mercato/shared 0.7.1-develop.7193.1.910a5b0a1e → 0.7.1-develop.7195.1.b5efd1d51a

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 (58) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/lib/ai/opencode-tool-parts.js +48 -0
  3. package/dist/lib/ai/opencode-tool-parts.js.map +7 -0
  4. package/dist/lib/ai/token-count.js +11 -0
  5. package/dist/lib/ai/token-count.js.map +7 -0
  6. package/dist/lib/bootstrap/dynamicLoader.js +14 -1
  7. package/dist/lib/bootstrap/dynamicLoader.js.map +2 -2
  8. package/dist/lib/commands/command-bus.js +9 -1
  9. package/dist/lib/commands/command-bus.js.map +2 -2
  10. package/dist/lib/commands/registry.js +9 -0
  11. package/dist/lib/commands/registry.js.map +2 -2
  12. package/dist/lib/commands/types.js.map +2 -2
  13. package/dist/lib/di/container.js +7 -10
  14. package/dist/lib/di/container.js.map +2 -2
  15. package/dist/lib/encryption/subscriber.js +22 -2
  16. package/dist/lib/encryption/subscriber.js.map +2 -2
  17. package/dist/lib/openapi/generator.js +3 -2
  18. package/dist/lib/openapi/generator.js.map +2 -2
  19. package/dist/lib/openapi/index.js +3 -2
  20. package/dist/lib/openapi/index.js.map +2 -2
  21. package/dist/lib/seed/crypto.js +73 -0
  22. package/dist/lib/seed/crypto.js.map +7 -0
  23. package/dist/lib/seed/index.js +4 -0
  24. package/dist/lib/seed/index.js.map +7 -0
  25. package/dist/lib/seed/loader.js +73 -0
  26. package/dist/lib/seed/loader.js.map +7 -0
  27. package/dist/lib/seed/types.js +33 -0
  28. package/dist/lib/seed/types.js.map +7 -0
  29. package/dist/lib/version.js +1 -1
  30. package/dist/lib/version.js.map +1 -1
  31. package/dist/modules/events/factory.js +28 -9
  32. package/dist/modules/events/factory.js.map +2 -2
  33. package/package.json +3 -2
  34. package/src/lib/ai/__tests__/opencode-tool-parts.test.ts +81 -0
  35. package/src/lib/ai/__tests__/token-count.test.ts +20 -0
  36. package/src/lib/ai/opencode-tool-parts.ts +80 -0
  37. package/src/lib/ai/token-count.ts +21 -0
  38. package/src/lib/bootstrap/dynamicLoader.ts +24 -1
  39. package/src/lib/commands/__tests__/command-bus.test.ts +64 -0
  40. package/src/lib/commands/__tests__/registry.test.ts +35 -0
  41. package/src/lib/commands/command-bus.ts +16 -1
  42. package/src/lib/commands/registry.ts +11 -0
  43. package/src/lib/commands/types.ts +31 -0
  44. package/src/lib/di/__tests__/bootstrap-cache.test.ts +59 -3
  45. package/src/lib/di/container.ts +19 -15
  46. package/src/lib/encryption/__tests__/subscriber.kms-recovery.test.ts +112 -0
  47. package/src/lib/encryption/subscriber.ts +28 -1
  48. package/src/lib/openapi/__tests__/generator-response-fallback.test.ts +73 -0
  49. package/src/lib/openapi/generator.ts +3 -3
  50. package/src/lib/openapi/index.ts +1 -1
  51. package/src/lib/seed/__tests__/seed-crypto.test.ts +64 -0
  52. package/src/lib/seed/crypto.ts +87 -0
  53. package/src/lib/seed/index.ts +3 -0
  54. package/src/lib/seed/loader.ts +124 -0
  55. package/src/lib/seed/types.ts +48 -0
  56. package/src/modules/events/__tests__/factory.test.ts +96 -0
  57. package/src/modules/events/factory.ts +41 -10
  58. package/src/modules/events/types.ts +44 -0
@@ -14,6 +14,43 @@
14
14
  */
15
15
  export type EventCategory = 'crud' | 'lifecycle' | 'system' | 'custom'
16
16
 
17
+ /**
18
+ * Type vocabulary for declared event payload fields. Mirrors the flat
19
+ * path/type contract consumed by editor surfaces (path pickers, typed value
20
+ * controls, the workflows context ledger), so declarations flow into those
21
+ * consumers without translation.
22
+ */
23
+ export type EventPayloadFieldType =
24
+ | 'text'
25
+ | 'number'
26
+ | 'boolean'
27
+ | 'select'
28
+ | 'date'
29
+ | 'object'
30
+ | 'unknown'
31
+
32
+ /**
33
+ * One declared payload field: a flat dot-path into the emitted payload plus
34
+ * its type. `optional` marks fields whose key may be absent or whose value may
35
+ * be null on some emits.
36
+ */
37
+ export interface EventPayloadSchemaField {
38
+ path: string
39
+ type: EventPayloadFieldType
40
+ label?: string
41
+ optional?: boolean
42
+ }
43
+
44
+ /**
45
+ * Optional payload typing for an event declaration. A flat field list (not a
46
+ * nested JSON Schema): nested payload shapes are declared as dot-paths
47
+ * (`customer.id`) or a single `object`-typed entry. Declare only fields the
48
+ * emitter verifiably sends.
49
+ */
50
+ export interface EventPayloadSchema {
51
+ fields: ReadonlyArray<EventPayloadSchemaField>
52
+ }
53
+
17
54
  /**
18
55
  * Event definition structure
19
56
  */
@@ -38,6 +75,13 @@ export interface EventDefinition {
38
75
  crossProcessBroadcast?: boolean
39
76
  /** When true, this event is bridged to the customer portal via SSE (Portal Event Bridge). Default: false */
40
77
  portalBroadcast?: boolean
78
+ /**
79
+ * Optional declared payload typing. Platform-emitted CRUD events
80
+ * (`*.created`/`*.updated`/`*.deleted` with category `crud`) receive a
81
+ * generated default at registration time; other events carry it only when
82
+ * the declaring module opts in.
83
+ */
84
+ payloadSchema?: EventPayloadSchema
41
85
  }
42
86
 
43
87
  // =============================================================================