@reventlessdev/reventless-infra 3.0.0-alpha.194 → 3.0.0-alpha.195

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.195 (2026-10-16)
7
+
8
+ * feat!(inbound): a translation slice can declare a signed webhook URL ([0ad6994](https://github.com/ReventlessDev/reventless-core/commit/0ad69949fcc91c2756c60ca8cb120dd468841d8b))
9
+
10
+ ### BREAKING CHANGES
11
+
12
+ * InboundTranslationSlice.Spec requires `endpoint`. Specs under
13
+ @@reventless.spec get it from the PPX (republish reventless-ppx with this
14
+ release); hand-written specs add `let endpoint = None`.
15
+
16
+
17
+
6
18
  # 3.0.0-alpha.194 (2026-10-16)
7
19
 
8
20
  **Note:** Version bump only for package @reventlessdev/reventless-infra
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-infra",
3
- "version": "3.0.0-alpha.194",
3
+ "version": "3.0.0-alpha.195",
4
4
  "description": "Infrastructure types for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -17,9 +17,9 @@
17
17
  "sury-ppx": "11.0.0",
18
18
  "uuid": "^13.0.0",
19
19
  "@reventlessdev/rescript-effect": "1.0.0-alpha.0",
20
- "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.23",
21
20
  "@reventlessdev/rescript-uuid": "2.0.0-alpha.1",
22
- "@reventlessdev/reventless-spec": "3.0.0-alpha.166"
21
+ "@reventlessdev/rescript-pulumi-pulumi": "3.0.0-alpha.0",
22
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.167"
23
23
  },
24
24
  "devDependencies": {
25
25
  "rescript": "12.3.1",
@@ -29,7 +29,8 @@ authorization check, by command encoding or by the publish itself.
29
29
 
30
30
  - `requestId` -- the key the audit row is stored under
31
31
  - `error` -- the rejection message
32
- - `errorCode` -- `"Forbidden"` for a refused caller; absent for a failed translation
32
+ - `errorCode` -- `"Forbidden"` for a refused caller, `"PublishFailed"` when the
33
+ commands could not be published (worth retrying); absent for a failed translation
33
34
  */
34
35
  type rejectedResult = {
35
36
  requestId: string,
@@ -44,14 +45,24 @@ response with the slice's audit row, and so the GraphQL resolver can report a
44
45
  */
45
46
  type receiveResult = result<acceptedResult, rejectedResult>
46
47
 
48
+ /** Which door an input arrived through, recorded on its audit row. */
49
+ @schema
50
+ type door =
51
+ | Mutation
52
+ | Webhook
53
+
47
54
  /**
48
55
  Runtime operations exposed by an `InboundTranslationSlice` component.
49
56
 
50
57
  - `receive` -- accept external input, translate it, and publish its commands.
51
- `caller` is who sent it; absent means the platform itself.
58
+ `caller` is who sent it; absent means the platform itself. `door` defaults to
59
+ `Mutation`.
60
+ - `refuse` -- record a webhook request refused before it could be read (a bad
61
+ signature, a body that is not JSON) and answer it as rejected.
52
62
  */
53
63
  type operations = {
54
- receive: (JSON.t, ~caller: Reventless.Identity.t=?) => promise<receiveResult>,
64
+ receive: (JSON.t, ~caller: Reventless.Identity.t=?, ~door: door=?) => promise<receiveResult>,
65
+ refuse: (~body: string, ~errorCode: string, string) => promise<receiveResult>,
55
66
  }
56
67
 
57
68
  /**
@@ -1,2 +1,13 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
- /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
2
+
3
+ import * as Sury from "sury";
4
+
5
+ let doorSchema = Sury.union([
6
+ Sury.literal("Mutation"),
7
+ Sury.literal("Webhook")
8
+ ]);
9
+
10
+ export {
11
+ doorSchema,
12
+ }
13
+ /* doorSchema Not a pure module */