@iveri/contracts 0.2.0 → 0.4.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 (150) hide show
  1. package/README.md +58 -12
  2. package/dist/cjs/api/conduit/capture.type.d.ts +70 -0
  3. package/dist/cjs/api/conduit/capture.type.d.ts.map +1 -0
  4. package/dist/cjs/api/conduit/capture.type.js +3 -0
  5. package/dist/cjs/api/conduit/capture.type.js.map +1 -0
  6. package/dist/cjs/api/conduit/endpoint.type.d.ts +66 -0
  7. package/dist/cjs/api/conduit/endpoint.type.d.ts.map +1 -0
  8. package/dist/cjs/api/conduit/endpoint.type.js +3 -0
  9. package/dist/cjs/api/conduit/endpoint.type.js.map +1 -0
  10. package/dist/cjs/api/conduit/handshake-kind.enum.d.ts +22 -0
  11. package/dist/cjs/api/conduit/handshake-kind.enum.d.ts.map +1 -0
  12. package/dist/cjs/api/conduit/handshake-kind.enum.js +26 -0
  13. package/dist/cjs/api/conduit/handshake-kind.enum.js.map +1 -0
  14. package/dist/cjs/api/conduit/index.d.ts +11 -0
  15. package/dist/cjs/api/conduit/index.d.ts.map +1 -0
  16. package/dist/cjs/api/conduit/index.js +27 -0
  17. package/dist/cjs/api/conduit/index.js.map +1 -0
  18. package/dist/cjs/api/conduit/provider.type.d.ts +138 -0
  19. package/dist/cjs/api/conduit/provider.type.d.ts.map +1 -0
  20. package/dist/cjs/api/conduit/provider.type.js +8 -0
  21. package/dist/cjs/api/conduit/provider.type.js.map +1 -0
  22. package/dist/cjs/api/conduit/replay.type.d.ts +48 -0
  23. package/dist/cjs/api/conduit/replay.type.d.ts.map +1 -0
  24. package/dist/cjs/api/conduit/replay.type.js +3 -0
  25. package/dist/cjs/api/conduit/replay.type.js.map +1 -0
  26. package/dist/cjs/api/conduit/signature-algorithm.enum.d.ts +17 -0
  27. package/dist/cjs/api/conduit/signature-algorithm.enum.d.ts.map +1 -0
  28. package/dist/cjs/api/conduit/signature-algorithm.enum.js +21 -0
  29. package/dist/cjs/api/conduit/signature-algorithm.enum.js.map +1 -0
  30. package/dist/cjs/api/conduit/signature-encoding.enum.d.ts +13 -0
  31. package/dist/cjs/api/conduit/signature-encoding.enum.d.ts.map +1 -0
  32. package/dist/cjs/api/conduit/signature-encoding.enum.js +17 -0
  33. package/dist/cjs/api/conduit/signature-encoding.enum.js.map +1 -0
  34. package/dist/cjs/api/conduit/signature-header-scheme.enum.d.ts +19 -0
  35. package/dist/cjs/api/conduit/signature-header-scheme.enum.d.ts.map +1 -0
  36. package/dist/cjs/api/conduit/signature-header-scheme.enum.js +23 -0
  37. package/dist/cjs/api/conduit/signature-header-scheme.enum.js.map +1 -0
  38. package/dist/cjs/api/conduit/signature-verdict.enum.d.ts +50 -0
  39. package/dist/cjs/api/conduit/signature-verdict.enum.d.ts.map +1 -0
  40. package/dist/cjs/api/conduit/signature-verdict.enum.js +54 -0
  41. package/dist/cjs/api/conduit/signature-verdict.enum.js.map +1 -0
  42. package/dist/cjs/api/conduit/signature.type.d.ts +54 -0
  43. package/dist/cjs/api/conduit/signature.type.d.ts.map +1 -0
  44. package/dist/cjs/api/conduit/signature.type.js +3 -0
  45. package/dist/cjs/api/conduit/signature.type.js.map +1 -0
  46. package/dist/cjs/api/identity/auth.type.d.ts +92 -0
  47. package/dist/cjs/api/identity/auth.type.d.ts.map +1 -0
  48. package/dist/cjs/api/identity/auth.type.js +3 -0
  49. package/dist/cjs/api/identity/auth.type.js.map +1 -0
  50. package/dist/cjs/api/identity/index.d.ts +4 -0
  51. package/dist/cjs/api/identity/index.d.ts.map +1 -0
  52. package/dist/cjs/api/identity/index.js +20 -0
  53. package/dist/cjs/api/identity/index.js.map +1 -0
  54. package/dist/cjs/api/identity/membership-status.enum.d.ts +16 -0
  55. package/dist/cjs/api/identity/membership-status.enum.d.ts.map +1 -0
  56. package/dist/cjs/api/identity/membership-status.enum.js +20 -0
  57. package/dist/cjs/api/identity/membership-status.enum.js.map +1 -0
  58. package/dist/cjs/api/identity/tenant-status.enum.d.ts +28 -0
  59. package/dist/cjs/api/identity/tenant-status.enum.d.ts.map +1 -0
  60. package/dist/cjs/api/identity/tenant-status.enum.js +32 -0
  61. package/dist/cjs/api/identity/tenant-status.enum.js.map +1 -0
  62. package/dist/cjs/enum/user-permission.enum.d.ts +30 -1
  63. package/dist/cjs/enum/user-permission.enum.d.ts.map +1 -1
  64. package/dist/cjs/enum/user-permission.enum.js +32 -0
  65. package/dist/cjs/enum/user-permission.enum.js.map +1 -1
  66. package/dist/cjs/type/api-response.type.d.ts +24 -28
  67. package/dist/cjs/type/api-response.type.d.ts.map +1 -1
  68. package/dist/cjs/type/index.d.ts +1 -0
  69. package/dist/cjs/type/index.d.ts.map +1 -1
  70. package/dist/cjs/type/index.js +1 -0
  71. package/dist/cjs/type/index.js.map +1 -1
  72. package/dist/cjs/type/iso-date-time.type.d.ts +17 -0
  73. package/dist/cjs/type/iso-date-time.type.d.ts.map +1 -0
  74. package/dist/cjs/type/iso-date-time.type.js +3 -0
  75. package/dist/cjs/type/iso-date-time.type.js.map +1 -0
  76. package/dist/esm/api/conduit/capture.type.d.ts +70 -0
  77. package/dist/esm/api/conduit/capture.type.d.ts.map +1 -0
  78. package/dist/esm/api/conduit/capture.type.js +2 -0
  79. package/dist/esm/api/conduit/capture.type.js.map +1 -0
  80. package/dist/esm/api/conduit/endpoint.type.d.ts +66 -0
  81. package/dist/esm/api/conduit/endpoint.type.d.ts.map +1 -0
  82. package/dist/esm/api/conduit/endpoint.type.js +2 -0
  83. package/dist/esm/api/conduit/endpoint.type.js.map +1 -0
  84. package/dist/esm/api/conduit/handshake-kind.enum.d.ts +22 -0
  85. package/dist/esm/api/conduit/handshake-kind.enum.d.ts.map +1 -0
  86. package/dist/esm/api/conduit/handshake-kind.enum.js +23 -0
  87. package/dist/esm/api/conduit/handshake-kind.enum.js.map +1 -0
  88. package/dist/esm/api/conduit/index.d.ts +11 -0
  89. package/dist/esm/api/conduit/index.d.ts.map +1 -0
  90. package/dist/esm/api/conduit/index.js +11 -0
  91. package/dist/esm/api/conduit/index.js.map +1 -0
  92. package/dist/esm/api/conduit/provider.type.d.ts +138 -0
  93. package/dist/esm/api/conduit/provider.type.d.ts.map +1 -0
  94. package/dist/esm/api/conduit/provider.type.js +5 -0
  95. package/dist/esm/api/conduit/provider.type.js.map +1 -0
  96. package/dist/esm/api/conduit/replay.type.d.ts +48 -0
  97. package/dist/esm/api/conduit/replay.type.d.ts.map +1 -0
  98. package/dist/esm/api/conduit/replay.type.js +2 -0
  99. package/dist/esm/api/conduit/replay.type.js.map +1 -0
  100. package/dist/esm/api/conduit/signature-algorithm.enum.d.ts +17 -0
  101. package/dist/esm/api/conduit/signature-algorithm.enum.d.ts.map +1 -0
  102. package/dist/esm/api/conduit/signature-algorithm.enum.js +18 -0
  103. package/dist/esm/api/conduit/signature-algorithm.enum.js.map +1 -0
  104. package/dist/esm/api/conduit/signature-encoding.enum.d.ts +13 -0
  105. package/dist/esm/api/conduit/signature-encoding.enum.d.ts.map +1 -0
  106. package/dist/esm/api/conduit/signature-encoding.enum.js +14 -0
  107. package/dist/esm/api/conduit/signature-encoding.enum.js.map +1 -0
  108. package/dist/esm/api/conduit/signature-header-scheme.enum.d.ts +19 -0
  109. package/dist/esm/api/conduit/signature-header-scheme.enum.d.ts.map +1 -0
  110. package/dist/esm/api/conduit/signature-header-scheme.enum.js +20 -0
  111. package/dist/esm/api/conduit/signature-header-scheme.enum.js.map +1 -0
  112. package/dist/esm/api/conduit/signature-verdict.enum.d.ts +50 -0
  113. package/dist/esm/api/conduit/signature-verdict.enum.d.ts.map +1 -0
  114. package/dist/esm/api/conduit/signature-verdict.enum.js +51 -0
  115. package/dist/esm/api/conduit/signature-verdict.enum.js.map +1 -0
  116. package/dist/esm/api/conduit/signature.type.d.ts +54 -0
  117. package/dist/esm/api/conduit/signature.type.d.ts.map +1 -0
  118. package/dist/esm/api/conduit/signature.type.js +2 -0
  119. package/dist/esm/api/conduit/signature.type.js.map +1 -0
  120. package/dist/esm/api/identity/auth.type.d.ts +92 -0
  121. package/dist/esm/api/identity/auth.type.d.ts.map +1 -0
  122. package/dist/esm/api/identity/auth.type.js +2 -0
  123. package/dist/esm/api/identity/auth.type.js.map +1 -0
  124. package/dist/esm/api/identity/index.d.ts +4 -0
  125. package/dist/esm/api/identity/index.d.ts.map +1 -0
  126. package/dist/esm/api/identity/index.js +4 -0
  127. package/dist/esm/api/identity/index.js.map +1 -0
  128. package/dist/esm/api/identity/membership-status.enum.d.ts +16 -0
  129. package/dist/esm/api/identity/membership-status.enum.d.ts.map +1 -0
  130. package/dist/esm/api/identity/membership-status.enum.js +17 -0
  131. package/dist/esm/api/identity/membership-status.enum.js.map +1 -0
  132. package/dist/esm/api/identity/tenant-status.enum.d.ts +28 -0
  133. package/dist/esm/api/identity/tenant-status.enum.d.ts.map +1 -0
  134. package/dist/esm/api/identity/tenant-status.enum.js +29 -0
  135. package/dist/esm/api/identity/tenant-status.enum.js.map +1 -0
  136. package/dist/esm/enum/user-permission.enum.d.ts +30 -1
  137. package/dist/esm/enum/user-permission.enum.d.ts.map +1 -1
  138. package/dist/esm/enum/user-permission.enum.js +32 -0
  139. package/dist/esm/enum/user-permission.enum.js.map +1 -1
  140. package/dist/esm/type/api-response.type.d.ts +24 -28
  141. package/dist/esm/type/api-response.type.d.ts.map +1 -1
  142. package/dist/esm/type/index.d.ts +1 -0
  143. package/dist/esm/type/index.d.ts.map +1 -1
  144. package/dist/esm/type/index.js +1 -0
  145. package/dist/esm/type/index.js.map +1 -1
  146. package/dist/esm/type/iso-date-time.type.d.ts +17 -0
  147. package/dist/esm/type/iso-date-time.type.d.ts.map +1 -0
  148. package/dist/esm/type/iso-date-time.type.js +2 -0
  149. package/dist/esm/type/iso-date-time.type.js.map +1 -0
  150. package/package.json +22 -2
@@ -60,7 +60,36 @@ export declare enum UserPermission {
60
60
  CONDUIT_REPLAY_EXECUTE = "conduit:replay:execute",
61
61
  CONDUIT_PROVIDER_READ = "conduit:provider:read",
62
62
  /** Define or amend a custom provider manifest — signature scheme, headers, handshake. */
63
- CONDUIT_PROVIDER_MANAGE = "conduit:provider:manage"
63
+ CONDUIT_PROVIDER_MANAGE = "conduit:provider:manage",
64
+ /** Read destinations. Never exposes their stored header values. */
65
+ CONDUIT_DESTINATION_READ = "conduit:destination:read",
66
+ /**
67
+ * Create, amend or delete a destination — **a URL Conduit will then post to on its own**,
68
+ * repeatedly, from inside our network, carrying whatever a provider sent.
69
+ *
70
+ * Deliberately a single manage permission rather than create/update/delete: the dangerous
71
+ * act is naming the URL at all, and splitting it would imply the three carry different
72
+ * risk. They do not.
73
+ */
74
+ CONDUIT_DESTINATION_MANAGE = "conduit:destination:manage",
75
+ CONDUIT_ROUTE_READ = "conduit:route:read",
76
+ /** Define which captures fan out to which destinations. */
77
+ CONDUIT_ROUTE_MANAGE = "conduit:route:manage",
78
+ /**
79
+ * Read the delivery log and the dead-letter queue, including each attempt's response.
80
+ *
81
+ * Grouped with reading rather than with operating the queue: a delivery record holds a
82
+ * target's response body, which can echo back the payload that was sent.
83
+ */
84
+ CONDUIT_DELIVERY_READ = "conduit:delivery:read",
85
+ /**
86
+ * Redrive a dead-lettered delivery, or cancel one still pending.
87
+ *
88
+ * Separate from `CONDUIT_DELIVERY_READ` for the same reason replay is separate from capture
89
+ * read: it causes an outbound request rather than returning a row, and redriving a large
90
+ * dead-letter backlog is a way to flood a customer's own service.
91
+ */
92
+ CONDUIT_DELIVERY_OPERATE = "conduit:delivery:operate"
64
93
  }
65
94
  /**
66
95
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,cAAc;IAItB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,sFAAsF;IACtF,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,sBAAsB,2BAA2B;IAGjD,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IAKjC,qEAAqE;IACrE,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IAGnD;;;;OAIG;IACH,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IAGjD;;;;OAIG;IACH,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,yFAAyF;IACzF,uBAAuB,4BAA4B;CACtD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAAiD,CAAC"}
1
+ {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,cAAc;IAItB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,sFAAsF;IACtF,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,sBAAsB,2BAA2B;IAGjD,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IAKjC,qEAAqE;IACrE,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IAGnD;;;;OAIG;IACH,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IAGjD;;;;OAIG;IACH,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,yFAAyF;IACzF,uBAAuB,4BAA4B;IAGnD,mEAAmE;IACnE,wBAAwB,6BAA6B;IACrD;;;;;;;OAOG;IACH,0BAA0B,+BAA+B;IAGzD,kBAAkB,uBAAuB;IACzC,2DAA2D;IAC3D,oBAAoB,yBAAyB;IAG7C;;;;;OAKG;IACH,qBAAqB,0BAA0B;IAC/C;;;;;;OAMG;IACH,wBAAwB,6BAA6B;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAAiD,CAAC"}
@@ -73,6 +73,38 @@ export var UserPermission;
73
73
  UserPermission["CONDUIT_PROVIDER_READ"] = "conduit:provider:read";
74
74
  /** Define or amend a custom provider manifest — signature scheme, headers, handshake. */
75
75
  UserPermission["CONDUIT_PROVIDER_MANAGE"] = "conduit:provider:manage";
76
+ // ── Destination (gateway mode) ──────────────────────────────────────────
77
+ /** Read destinations. Never exposes their stored header values. */
78
+ UserPermission["CONDUIT_DESTINATION_READ"] = "conduit:destination:read";
79
+ /**
80
+ * Create, amend or delete a destination — **a URL Conduit will then post to on its own**,
81
+ * repeatedly, from inside our network, carrying whatever a provider sent.
82
+ *
83
+ * Deliberately a single manage permission rather than create/update/delete: the dangerous
84
+ * act is naming the URL at all, and splitting it would imply the three carry different
85
+ * risk. They do not.
86
+ */
87
+ UserPermission["CONDUIT_DESTINATION_MANAGE"] = "conduit:destination:manage";
88
+ // ── Route (gateway mode) ────────────────────────────────────────────────
89
+ UserPermission["CONDUIT_ROUTE_READ"] = "conduit:route:read";
90
+ /** Define which captures fan out to which destinations. */
91
+ UserPermission["CONDUIT_ROUTE_MANAGE"] = "conduit:route:manage";
92
+ // ── Delivery (gateway mode) ─────────────────────────────────────────────
93
+ /**
94
+ * Read the delivery log and the dead-letter queue, including each attempt's response.
95
+ *
96
+ * Grouped with reading rather than with operating the queue: a delivery record holds a
97
+ * target's response body, which can echo back the payload that was sent.
98
+ */
99
+ UserPermission["CONDUIT_DELIVERY_READ"] = "conduit:delivery:read";
100
+ /**
101
+ * Redrive a dead-lettered delivery, or cancel one still pending.
102
+ *
103
+ * Separate from `CONDUIT_DELIVERY_READ` for the same reason replay is separate from capture
104
+ * read: it causes an outbound request rather than returning a row, and redriving a large
105
+ * dead-letter backlog is a way to flood a customer's own service.
106
+ */
107
+ UserPermission["CONDUIT_DELIVERY_OPERATE"] = "conduit:delivery:operate";
76
108
  })(UserPermission || (UserPermission = {}));
77
109
  /**
78
110
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,cAkEX;AAlED,WAAY,cAAc;IACtB,4EAA4E;IAE5E,2EAA2E;IAC3E,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,sFAAsF;IACtF,iDAA+B,CAAA;IAE/B,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,qDAAmC,CAAA;IACnC,6EAA6E;IAC7E,yDAAuC,CAAA;IACvC;;;OAGG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IAEjC,4EAA4E;IAE5E,2EAA2E;IAC3E,qEAAqE;IACrE,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E;;;;OAIG;IACH,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E;;;;OAIG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,iEAA+C,CAAA;IAC/C,yFAAyF;IACzF,qEAAmD,CAAA;AACvD,CAAC,EAlEW,cAAc,KAAd,cAAc,QAkEzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,cAqGX;AArGD,WAAY,cAAc;IACtB,4EAA4E;IAE5E,2EAA2E;IAC3E,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,sFAAsF;IACtF,iDAA+B,CAAA;IAE/B,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,qDAAmC,CAAA;IACnC,6EAA6E;IAC7E,yDAAuC,CAAA;IACvC;;;OAGG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IAEjC,4EAA4E;IAE5E,2EAA2E;IAC3E,qEAAqE;IACrE,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E;;;;OAIG;IACH,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E;;;;OAIG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,iEAA+C,CAAA;IAC/C,yFAAyF;IACzF,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E,mEAAmE;IACnE,uEAAqD,CAAA;IACrD;;;;;;;OAOG;IACH,2EAAyD,CAAA;IAEzD,2EAA2E;IAC3E,2DAAyC,CAAA;IACzC,2DAA2D;IAC3D,+DAA6C,CAAA;IAE7C,2EAA2E;IAC3E;;;;;OAKG;IACH,iEAA+C,CAAA;IAC/C;;;;;;OAMG;IACH,uEAAqD,CAAA;AACzD,CAAC,EArGW,cAAc,KAAd,cAAc,QAqGzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC"}
@@ -1,18 +1,5 @@
1
1
  import type { ErrorCode } from '../enum/error-code.enum.js';
2
2
  import type { Maybe } from './nil.type.js';
3
- /**
4
- * Envelope for a successful HTTP response.
5
- *
6
- * Every service wraps its payload in this shape, so a client can branch on
7
- * `success` before touching anything else and never has to guess whether a
8
- * 200 body is data or an error report.
9
- *
10
- * @typeParam T - the response payload type.
11
- */
12
- export interface ApiSuccessResponse<T> {
13
- success: true;
14
- data: T;
15
- }
16
3
  /**
17
4
  * The error half of {@link ApiErrorResponse}.
18
5
  *
@@ -36,8 +23,30 @@ export interface ApiErrorBody {
36
23
  correlationId?: Maybe<string>;
37
24
  }
38
25
  /**
39
- * Envelope for a failed HTTP response, emitted by the SDK's global exception
40
- * filter for every non-2xx status.
26
+ * Envelope for a failed response, emitted by the SDK's `GlobalExceptionFilter` for every
27
+ * non-2xx status.
28
+ *
29
+ * **Only errors are enveloped.** A success is the bare payload — a tenant response *is* a
30
+ * tenant, not a `{ success, data }` wrapper around one. So `success: false` discriminates a
31
+ * shape the client receives *instead of* its payload, never alongside it:
32
+ *
33
+ * ```ts
34
+ * const body: unknown = await response.json();
35
+ *
36
+ * if (!response.ok) {
37
+ * throw new ApiError(body as ApiErrorResponse);
38
+ * }
39
+ *
40
+ * return body as Tenant;
41
+ * ```
42
+ *
43
+ * This file also declared `ApiSuccessResponse<T>` and a union over the two until 0.3.0.
44
+ * Nothing ever sent it: both `iveri-identity-api` and `conduit-api` register the exception
45
+ * filter and no success interceptor. A type describing a response no service produces is worse
46
+ * than no type at all — reading it, the natural thing to write is `body.data`, which is
47
+ * `undefined` for every call in the application. It was removed rather than made true, because
48
+ * bare payloads were already shipped across two services and a frontend and the envelope added
49
+ * nothing to the HTTP status a client must check regardless.
41
50
  */
42
51
  export interface ApiErrorResponse {
43
52
  success: false;
@@ -47,17 +56,4 @@ export interface ApiErrorResponse {
47
56
  /** Request path that produced the error, without the query string. */
48
57
  path: string;
49
58
  }
50
- /**
51
- * Discriminated union of both envelopes. Narrow on `success`:
52
- *
53
- * ```ts
54
- * if (!response.success) {
55
- * return handle(response.error.code);
56
- * }
57
- * use(response.data);
58
- * ```
59
- *
60
- * @typeParam T - the payload type on the success branch.
61
- */
62
- export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
63
59
  //# sourceMappingURL=api-response.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-response.type.d.ts","sourceRoot":"","sources":["../../../src/type/api-response.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,iFAAiF;IACjF,IAAI,EAAE,SAAS,CAAC;IAEhB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IAEpB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"api-response.type.d.ts","sourceRoot":"","sources":["../../../src/type/api-response.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,iFAAiF;IACjF,IAAI,EAAE,SAAS,CAAC;IAEhB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IAEpB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -1,5 +1,6 @@
1
1
  export * from './api-response.type.js';
2
2
  export * from './cursor-page.type.js';
3
+ export * from './iso-date-time.type.js';
3
4
  export * from './nil.type.js';
4
5
  export * from './paginated.type.js';
5
6
  export * from './uuid.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './api-response.type.js';
2
2
  export * from './cursor-page.type.js';
3
+ export * from './iso-date-time.type.js';
3
4
  export * from './nil.type.js';
4
5
  export * from './paginated.type.js';
5
6
  export * from './uuid.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * An ISO-8601 timestamp as it appears on the wire: `2026-08-02T09:41:17.312Z`.
3
+ *
4
+ * **JSON has no date type**, so every timestamp a service sends is a string, whatever the
5
+ * entity behind it holds. Naming that is not pedantry — it is the single most reliable way to
6
+ * hand-retype a backend response wrongly. A frontend interface declaring `receivedAt: Date`
7
+ * compiles, and every `receivedAt.getTime()` throws at runtime against a value that is really
8
+ * a string. `conduit-admin-web` called this out in a comment and got it right by hand; the
9
+ * point of putting the shapes in this package is that nobody has to.
10
+ *
11
+ * It is an alias, not a branded type, deliberately. A brand would force a cast at every
12
+ * boundary where a string arrives from `JSON.parse` — which is all of them — and buy nothing,
13
+ * since the value genuinely is an unvalidated string until someone parses it. What this alias
14
+ * carries is the instruction: to get a `Date`, write `new Date(value)`.
15
+ */
16
+ export type IsoDateTime = string;
17
+ //# sourceMappingURL=iso-date-time.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso-date-time.type.d.ts","sourceRoot":"","sources":["../../../src/type/iso-date-time.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iso-date-time.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso-date-time.type.js","sourceRoot":"","sources":["../../../src/type/iso-date-time.type.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iveri/contracts",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Wire contracts shared by every Iveri backend and frontend. Zero runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -24,8 +24,28 @@
24
24
  "import": "./dist/esm/index.js",
25
25
  "require": "./dist/cjs/index.js"
26
26
  },
27
+ "./conduit": {
28
+ "types": "./dist/cjs/api/conduit/index.d.ts",
29
+ "import": "./dist/esm/api/conduit/index.js",
30
+ "require": "./dist/cjs/api/conduit/index.js"
31
+ },
32
+ "./identity": {
33
+ "types": "./dist/cjs/api/identity/index.d.ts",
34
+ "import": "./dist/esm/api/identity/index.js",
35
+ "require": "./dist/cjs/api/identity/index.js"
36
+ },
27
37
  "./package.json": "./package.json"
28
38
  },
39
+ "typesVersions": {
40
+ "*": {
41
+ "conduit": [
42
+ "./dist/cjs/api/conduit/index.d.ts"
43
+ ],
44
+ "identity": [
45
+ "./dist/cjs/api/identity/index.d.ts"
46
+ ]
47
+ }
48
+ },
29
49
  "sideEffects": false,
30
50
  "files": [
31
51
  "dist",
@@ -33,7 +53,7 @@
33
53
  ],
34
54
  "scripts": {
35
55
  "clean": "rimraf dist tsconfig.*.tsbuildinfo",
36
- "build": "pnpm clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node ./scripts/write-dist-package-json.mjs && node ./scripts/verify-zero-runtime-deps.mjs",
56
+ "build": "pnpm clean && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node ./scripts/write-dist-package-json.mjs && node ./scripts/verify-zero-runtime-deps.mjs && node ./scripts/verify-entry-points.mjs",
37
57
  "typecheck": "tsc -p tsconfig.json --noEmit",
38
58
  "test": "jest",
39
59
  "lint": "eslint .",