@reventlessdev/reventless-aws 3.0.0-alpha.307 → 3.0.0-alpha.309
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 +23 -0
- package/package.json +10 -10
- package/src/Platform.res +1 -1
- package/src/Platform.res.mjs +3 -3
- package/src/adapter/Api/Platform_ComponentDefinitions_Lambda_Ops.res +1 -1
- package/src/adapter/Api/Platform_ComponentDefinitions_Lambda_Ops.res.mjs +2 -2
- package/src/adapter/Counter/CounterHandler_DynamoDbStream_Runtime.res +1 -1
- package/src/adapter/Counter/CounterHandler_DynamoDbStream_Runtime.res.mjs +6 -5
- package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb_Runtime.res +1 -1
- package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb_Runtime.res.mjs +3 -3
- package/src/adapter/Mcp/MCP_Lambda.res +2 -2
- package/src/adapter/Mcp/MCP_Lambda.res.mjs +4 -4
- package/src/adapter/Postgres/PgChangeFeedRelay_Builder.res +1 -1
- package/src/adapter/Postgres/PgChangeFeedRelay_Builder.res.mjs +3 -3
- package/src/adapter/Postgres/PgChangeFeedRelay_Runtime.res +1 -1
- package/src/adapter/Postgres/PgChangeFeedRelay_Runtime.res.mjs +3 -3
- package/src/adapter/Postgres/PgConnection.res.mjs +7 -7
- package/src/adapter/Runtime/AutomationSliceEntryPoint_Ops.res +2 -2
- package/src/adapter/Runtime/AutomationSliceEntryPoint_Ops.res.mjs +4 -4
- package/src/adapter/Runtime/CounterEntryPoint_Ops.res +1 -1
- package/src/adapter/Runtime/CounterEntryPoint_Ops.res.mjs +6 -5
- package/src/adapter/Runtime/DcbCommandTopicEntryPoint.mjs +3 -1
- package/src/adapter/Runtime/DcbCommandTopicEntryPoint_Ops.res +1 -1
- package/src/adapter/Runtime/DcbCommandTopicEntryPoint_Ops.res.mjs +3 -3
- package/src/adapter/Runtime/HeartbeatEntryPoint.res +1 -1
- package/src/adapter/Runtime/HeartbeatEntryPoint.res.mjs +2 -2
- package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res +11 -1
- package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs +1 -1
- package/src/adapter/Runtime/StateViewSliceEntryPoint_Ops.res +1 -1
- package/src/adapter/Runtime/StateViewSliceEntryPoint_Ops.res.mjs +3 -3
- package/src/util/Util_DeadLetterQueue.res +10 -5
- package/src/util/Util_DeadLetterQueue.res.mjs +4 -1
- package/src/util/Util_LambdaLogging.res +28 -0
- package/src/util/Util_LambdaLogging.res.mjs +15 -0
- package/tests/AppSync_AdapterTest.res.mjs +13 -13
- package/tests/AppSync_RetirementNarrowingTest.res +38 -0
- package/tests/AppSync_RetirementNarrowingTest.res.mjs +23 -0
- package/tests/AutomationSliceEntryPoint_OpsTest.res.mjs +5 -5
- package/tests/EpInboundTestSlice.res.mjs +6 -6
- package/tests/PgChangeFeedRelay_IntegrationTest.res +1 -1
- package/tests/PgChangeFeedRelay_IntegrationTest.res.mjs +2 -2
- package/tests/PgChangeFeedRelay_RuntimeTest.res +2 -2
- package/tests/PgChangeFeedRelay_RuntimeTest.res.mjs +3 -3
- package/tests/PgPipeline_IntegrationTest.res +1 -1
- package/tests/PgPipeline_IntegrationTest.res.mjs +8 -7
- package/tests/StateViewSliceEntryPoint_OpsTest.res.mjs +3 -3
- package/tests/Util_LambdaLoggingTest.res +27 -0
- package/tests/Util_LambdaLoggingTest.res.mjs +9 -0
- package/tests/integration/AggTestAggregate.res.mjs +6 -6
- package/tests/integration/EpCompositeSlice.res.mjs +17 -17
- package/tests/integration/EpTestSlice.res.mjs +6 -6
- package/tests/integration/StateViewSliceEntryPoint_IntegrationTest.res +1 -1
- package/tests/integration/StateViewSliceEntryPoint_IntegrationTest.res.mjs +4 -4
- package/tests/integration/SvsTestSlice.res.mjs +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
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.309 (2026-08-18)
|
|
7
|
+
|
|
8
|
+
* feat(core)!: tell the Monitoring seam where a unit's logs live ([6cbd595](https://github.com/ReventlessDev/reventless-core/commit/6cbd595e2474fce3f87b7720a332e82583899bae))
|
|
9
|
+
* feat(sury)!: migrate to sury 11.0.0-rc.1 ([2cf8969](https://github.com/ReventlessDev/reventless-core/commit/2cf8969a222ce1b775563668a4126cb20611966c))
|
|
10
|
+
|
|
11
|
+
### BREAKING CHANGES
|
|
12
|
+
|
|
13
|
+
* Monitoring.Backend.onProvisioned gained a required
|
|
14
|
+
~logLocator argument. An extension that packs its backend against the
|
|
15
|
+
module type will not compile until onProvisioned accepts it.
|
|
16
|
+
* sury is a direct dependency of the published packages and
|
|
17
|
+
its schema and serialization surface changed; consumers must migrate to
|
|
18
|
+
sury 11.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# 3.0.0-alpha.308 (2026-08-18)
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **aws:** make the unowned stub callable on the doors that call it ([931aa39](https://github.com/ReventlessDev/reventless-core/commit/931aa3968ae0e29befab7183125ed2453d4765cb))
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
# 3.0.0-alpha.307 (2026-08-18)
|
|
7
30
|
|
|
8
31
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-aws",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.309",
|
|
4
4
|
"description": "AWS adapters for Reventless",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"dependencies": {
|
|
@@ -10,24 +10,24 @@
|
|
|
10
10
|
"@aws-sdk/client-location": "3.970.0",
|
|
11
11
|
"@aws-sdk/client-s3": "3.970.0",
|
|
12
12
|
"@aws-sdk/s3-request-presigner": "3.970.0",
|
|
13
|
-
"sury": "11.0.0-
|
|
13
|
+
"sury": "11.0.0-rc.1",
|
|
14
14
|
"uuid": "^13.0.0",
|
|
15
15
|
"@reventlessdev/rescript-aws-sdk": "3.0.0-alpha.12",
|
|
16
16
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
17
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
18
|
-
"@reventlessdev/rescript-pulumi-aws": "2.4.0-alpha.79",
|
|
19
17
|
"@reventlessdev/rescript-node": "2.0.0-alpha.8",
|
|
18
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
19
|
+
"@reventlessdev/rescript-pulumi-aws": "3.0.0-alpha.0",
|
|
20
20
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.19",
|
|
21
21
|
"@reventlessdev/rescript-uuid": "2.0.0-alpha.0",
|
|
22
|
-
"@reventlessdev/reventless-
|
|
23
|
-
"@reventlessdev/reventless-interop": "3.0.0-alpha.
|
|
24
|
-
"@reventlessdev/reventless-
|
|
25
|
-
"@reventlessdev/reventless-
|
|
26
|
-
"@reventlessdev/reventless-
|
|
22
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.146",
|
|
23
|
+
"@reventlessdev/reventless-interop": "3.0.0-alpha.32",
|
|
24
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.240",
|
|
25
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.118",
|
|
26
|
+
"@reventlessdev/reventless-postgres": "3.0.0-alpha.104"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"rescript": "12.3.0",
|
|
30
|
-
"sury-ppx": "11.0.0-
|
|
30
|
+
"sury-ppx": "11.0.0-rc.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"rescript": "12.3.0"
|
package/src/Platform.res
CHANGED
|
@@ -2662,7 +2662,7 @@ module MakeWithConfig = (
|
|
|
2662
2662
|
),
|
|
2663
2663
|
commandJson: ReventlessInfra.PluginExtensionPointSpec.RedetectPlugin(
|
|
2664
2664
|
hbConfig.heartbeatTimeout,
|
|
2665
|
-
)->
|
|
2665
|
+
)->Reventless.Util_Sury.toJson(ReventlessInfra.PluginExtensionPointSpec.commandSchema),
|
|
2666
2666
|
}
|
|
2667
2667
|
try {
|
|
2668
2668
|
await publishHeartbeat([message])
|
package/src/Platform.res.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as NodeCrypto from "@reventlessdev/rescript-node/src/NodeCrypto.res.mjs";
|
|
5
4
|
import * as Pervasives from "@rescript/runtime/lib/es6/Pervasives.js";
|
|
6
5
|
import * as Aws from "@pulumi/aws";
|
|
@@ -15,6 +14,7 @@ import * as Pulumi from "@pulumi/pulumi";
|
|
|
15
14
|
import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
|
|
16
15
|
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
|
|
17
16
|
import * as Plugin$ReventlessAws from "./components/Plugin.res.mjs";
|
|
17
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
18
18
|
import * as Logger$ReventlessCore from "@reventlessdev/reventless-core/src/util/Logger.res.mjs";
|
|
19
19
|
import * as Plugin$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin.res.mjs";
|
|
20
20
|
import * as AWS_Tags$ReventlessAws from "./adapter/AWS_Tags.res.mjs";
|
|
@@ -1392,7 +1392,7 @@ function MakeWithConfig(Config) {
|
|
|
1392
1392
|
let publishHeartbeat = CommandTopicChannel_SQS_Runtime$ReventlessAws.publishJsons(queue, "SQS_FIFO");
|
|
1393
1393
|
let message_id = hbConfig.pluginId;
|
|
1394
1394
|
let message_meta = Message$ReventlessCore.generateMeta(PluginExtensionPointSpec$ReventlessInfra.name, undefined, "DeployHeartbeat", undefined, undefined, undefined, undefined, undefined);
|
|
1395
|
-
let message_commandJson =
|
|
1395
|
+
let message_commandJson = Util_Sury$Reventless.toJson({
|
|
1396
1396
|
TAG: "RedetectPlugin",
|
|
1397
1397
|
_0: hbConfig.heartbeatTimeout
|
|
1398
1398
|
}, PluginExtensionPointSpec$ReventlessInfra.commandSchema);
|
|
@@ -2680,7 +2680,7 @@ function Make($star) {
|
|
|
2680
2680
|
let publishHeartbeat = CommandTopicChannel_SQS_Runtime$ReventlessAws.publishJsons(queue, "SQS_FIFO");
|
|
2681
2681
|
let message_id = hbConfig.pluginId;
|
|
2682
2682
|
let message_meta = Message$ReventlessCore.generateMeta(PluginExtensionPointSpec$ReventlessInfra.name, undefined, "DeployHeartbeat", undefined, undefined, undefined, undefined, undefined);
|
|
2683
|
-
let message_commandJson =
|
|
2683
|
+
let message_commandJson = Util_Sury$Reventless.toJson({
|
|
2684
2684
|
TAG: "RedetectPlugin",
|
|
2685
2685
|
_0: hbConfig.heartbeatTimeout
|
|
2686
2686
|
}, PluginExtensionPointSpec$ReventlessInfra.commandSchema);
|
|
@@ -297,7 +297,7 @@ let structureOf = (item: dict<JSON.t>, ~name as _: string): option<(
|
|
|
297
297
|
switch (item->str("name"), item->Dict.get("structure")->Option.flatMap(JSON.Decode.object)) {
|
|
298
298
|
| (Some(pluginId), Some(structure)) =>
|
|
299
299
|
let healed = structure->healStructure->JSON.Encode.object
|
|
300
|
-
switch healed->
|
|
300
|
+
switch healed->Reventless.Util_Sury.fromJson(Reventless.Plugin.pluginStructureSchema) {
|
|
301
301
|
| decoded => Some((pluginId, decoded))
|
|
302
302
|
| exception _ =>
|
|
303
303
|
JsError.throwWithMessage(
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Nodefs from "node:fs";
|
|
5
4
|
import * as S3$AwsSdk from "@reventlessdev/rescript-aws-sdk/src/S3.res.mjs";
|
|
6
5
|
import * as Nodepath from "node:path";
|
|
@@ -14,6 +13,7 @@ import * as Primitive_object from "@rescript/runtime/lib/es6/Primitive_object.js
|
|
|
14
13
|
import * as Plugin$Reventless from "@reventlessdev/reventless-spec/src/components/Plugin.res.mjs";
|
|
15
14
|
import * as ClientS3 from "@aws-sdk/client-s3";
|
|
16
15
|
import * as Offload$Reventless from "@reventlessdev/reventless-spec/src/semantic/Offload.res.mjs";
|
|
16
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
17
17
|
import * as Platform_AdminScan_Ops$ReventlessAws from "./Platform_AdminScan_Ops.res.mjs";
|
|
18
18
|
import * as Platform_BakedManifest$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_BakedManifest.res.mjs";
|
|
19
19
|
|
|
@@ -266,7 +266,7 @@ function structureOf(item, param) {
|
|
|
266
266
|
let healed = healStructure(match$1);
|
|
267
267
|
let decoded;
|
|
268
268
|
try {
|
|
269
|
-
decoded =
|
|
269
|
+
decoded = Util_Sury$Reventless.fromJson(healed, Plugin$Reventless.pluginStructureSchema);
|
|
270
270
|
} catch (exn) {
|
|
271
271
|
return Stdlib_JsError.throwWithMessage(`baked manifest: the structure persisted for "` + match + `" cannot be decoded — it was written by a framework version this platform can no longer read. Redeploy that plugin, or drop it from the include-list.`);
|
|
272
272
|
}
|
|
@@ -79,7 +79,7 @@ let handleStreamEvent = (
|
|
|
79
79
|
let references = referenceRecords->Array.filterMap(record =>
|
|
80
80
|
switch record->parseDynamoDbStreamRecordState {
|
|
81
81
|
| NewImage(id, newImage) =>
|
|
82
|
-
let inc = switch newImage->
|
|
82
|
+
let inc = switch newImage->Reventless.Util_Sury.fromJson(referencesViewSchema) {
|
|
83
83
|
| {inc} => inc
|
|
84
84
|
| exception _err => 1
|
|
85
85
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as
|
|
3
|
+
import * as Sury from "sury";
|
|
4
4
|
import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
|
|
5
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
6
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
6
7
|
import * as LibDynamodb from "@aws-sdk/lib-dynamodb";
|
|
7
8
|
import * as Logger$ReventlessCore from "@reventlessdev/reventless-core/src/util/Logger.res.mjs";
|
|
8
9
|
import * as DynamoDb_DocumentClient$AwsSdk from "@reventlessdev/rescript-aws-sdk/src/DynamoDb_DocumentClient.res.mjs";
|
|
@@ -69,9 +70,9 @@ async function addToCounterTarget(table, param) {
|
|
|
69
70
|
return log.debug("CounterHandler_DynamoDbStream_Runtime", undefined, `addToCounterTarget: current count for ` + counterId + `: ` + Stdlib_Option.mapOr(DynamoDb_DocumentClient$AwsSdk.getIntAttribute(updateOutput.Attributes, "count"), "N/A", v => v.toString()));
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
let referencesViewSchema =
|
|
73
|
-
id: s.m(
|
|
74
|
-
inc: s.m(
|
|
73
|
+
let referencesViewSchema = Sury.$schema(s => ({
|
|
74
|
+
id: s.m(Sury.string),
|
|
75
|
+
inc: s.m(Sury.int)
|
|
75
76
|
}));
|
|
76
77
|
|
|
77
78
|
function handleStreamEvent(referencesStream, countsStream, counterHandler, streamEvent, param) {
|
|
@@ -101,7 +102,7 @@ function handleStreamEvent(referencesStream, countsStream, counterHandler, strea
|
|
|
101
102
|
let exit = 0;
|
|
102
103
|
let val;
|
|
103
104
|
try {
|
|
104
|
-
val =
|
|
105
|
+
val = Util_Sury$Reventless.fromJson(match._1, referencesViewSchema);
|
|
105
106
|
exit = 1;
|
|
106
107
|
} catch (_err) {
|
|
107
108
|
inc = 1;
|
|
@@ -190,7 +190,7 @@ let fromItem = (item: JSON.t): ReventlessCore.DcbEventLog_Adapter.rawSequencedEv
|
|
|
190
190
|
let meta =
|
|
191
191
|
obj
|
|
192
192
|
->ReventlessCore.Message.composeMeta
|
|
193
|
-
->
|
|
193
|
+
->Reventless.Util_Sury.fromJson(Reventless.Message.metaSchema)
|
|
194
194
|
|
|
195
195
|
{
|
|
196
196
|
position,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Uuid from "uuid";
|
|
5
4
|
import * as Effect from "@reventlessdev/rescript-effect/src/Effect.res.mjs";
|
|
6
5
|
import * as Stream from "@reventlessdev/rescript-effect/src/Stream.res.mjs";
|
|
@@ -14,6 +13,7 @@ import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
|
|
|
14
13
|
import * as Primitive_string from "@rescript/runtime/lib/es6/Primitive_string.js";
|
|
15
14
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
16
15
|
import * as Message$Reventless from "@reventlessdev/reventless-spec/src/types/Message.res.mjs";
|
|
16
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
17
17
|
import * as LibDynamodb from "@aws-sdk/lib-dynamodb";
|
|
18
18
|
import * as Message$ReventlessCore from "@reventlessdev/reventless-core/src/Message.res.mjs";
|
|
19
19
|
import * as DynamoDb_Error$ReventlessAws from "../../errors/DynamoDb_Error.res.mjs";
|
|
@@ -139,7 +139,7 @@ function fromItem(item) {
|
|
|
139
139
|
}
|
|
140
140
|
}));
|
|
141
141
|
let recordedAt = Stdlib_Option.getOr(Stdlib_Option.flatMap(obj["recordedAt"], Stdlib_JSON.Decode.string), "");
|
|
142
|
-
let meta =
|
|
142
|
+
let meta = Util_Sury$Reventless.fromJson(Message$ReventlessCore.composeMeta(obj), Message$Reventless.metaSchema);
|
|
143
143
|
return {
|
|
144
144
|
position: position,
|
|
145
145
|
eventType: eventType,
|
|
@@ -1213,4 +1213,4 @@ export {
|
|
|
1213
1213
|
executeQueryItemStream,
|
|
1214
1214
|
readStream,
|
|
1215
1215
|
}
|
|
1216
|
-
/*
|
|
1216
|
+
/* uuid Not a pure module */
|
|
@@ -62,11 +62,11 @@ let generateConfig = (
|
|
|
62
62
|
): mcpConfig => {
|
|
63
63
|
let toolDefs = ReventlessCore.MCP_SchemaGenerator.generateTools(~pluginName, ~mutationEntries)
|
|
64
64
|
// Build a lookup from field name to component kind.
|
|
65
|
-
//
|
|
65
|
+
// AnyOf({anyOf}) schemas are aggregate commands; others are DCB StateChangeSlice commands.
|
|
66
66
|
let kindByField = Dict.make()
|
|
67
67
|
mutationEntries->Array.forEach(entry => {
|
|
68
68
|
let kind = switch entry.commandSchema {
|
|
69
|
-
|
|
|
69
|
+
| AnyOf(_) => "Aggregate"
|
|
70
70
|
| _ => "StateChangeSlice"
|
|
71
71
|
}
|
|
72
72
|
entry.fieldNames->Array.forEach(fieldName => kindByField->Dict.set(fieldName, kind))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as
|
|
3
|
+
import * as Sury from "sury";
|
|
4
4
|
import * as Stream from "@reventlessdev/rescript-effect/src/Stream.res.mjs";
|
|
5
5
|
import * as Stdlib_Int from "@rescript/runtime/lib/es6/Stdlib_Int.js";
|
|
6
6
|
import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
|
|
@@ -29,7 +29,7 @@ function generateConfig(serverName, serverVersion, pluginName, mutationEntries,
|
|
|
29
29
|
mutationEntries.forEach(entry => {
|
|
30
30
|
let match = entry.commandSchema;
|
|
31
31
|
let kind;
|
|
32
|
-
kind = match.type === "
|
|
32
|
+
kind = match.type === "anyOf" ? "Aggregate" : "StateChangeSlice";
|
|
33
33
|
entry.fieldNames.forEach(fieldName => {
|
|
34
34
|
kindByField[fieldName] = kind;
|
|
35
35
|
});
|
|
@@ -251,7 +251,7 @@ function extractIdentity(authHeader) {
|
|
|
251
251
|
async function dispatchTool(tool, args, identity) {
|
|
252
252
|
let queueRef = makeQueueRef(tool.commandTopicArn);
|
|
253
253
|
let publishJsons = CommandTopicChannel_SQS_RuntimeResMjs.publishJsons(queueRef, AWS$ReventlessAws.SQS_FIFO.service);
|
|
254
|
-
let generateCommand = CommandGenerator_CallbackResMjs.makeGenerateCommand(publishJsons, tool.name,
|
|
254
|
+
let generateCommand = CommandGenerator_CallbackResMjs.makeGenerateCommand(publishJsons, tool.name, Sury.json, tool.componentKind, false);
|
|
255
255
|
let payload_command = tool.name;
|
|
256
256
|
let payload_meta = {
|
|
257
257
|
ip: [],
|
|
@@ -280,4 +280,4 @@ export {
|
|
|
280
280
|
extractIdentity,
|
|
281
281
|
dispatchTool,
|
|
282
282
|
}
|
|
283
|
-
/*
|
|
283
|
+
/* sury Not a pure module */
|
|
@@ -69,7 +69,7 @@ let make = (
|
|
|
69
69
|
entries
|
|
70
70
|
->Array.push((
|
|
71
71
|
"partitionTag",
|
|
72
|
-
partitionTag->
|
|
72
|
+
partitionTag->Reventless.Util_Sury.toJson(Reventless.DcbTag.derivedPartitionTagSchema),
|
|
73
73
|
))
|
|
74
74
|
->ignore
|
|
75
75
|
| Classic => entries->Array.push(("kind", "classic"->JSON.Encode.string))->ignore
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Aws from "@pulumi/aws";
|
|
5
4
|
import * as Output$Pulumi from "@reventlessdev/rescript-pulumi-pulumi/src/Output.res.mjs";
|
|
6
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
@@ -8,6 +7,7 @@ import * as Pulumi from "@pulumi/pulumi";
|
|
|
8
7
|
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
|
|
9
8
|
import * as AWS$ReventlessAws from "../AWS.res.mjs";
|
|
10
9
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
10
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
11
11
|
import * as AWS_Tags$ReventlessAws from "../AWS_Tags.res.mjs";
|
|
12
12
|
import * as Adapter$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/Adapter.res.mjs";
|
|
13
13
|
import * as PolicyDocument$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/IAM/PolicyDocument.res.mjs";
|
|
@@ -55,7 +55,7 @@ function make(name, logs, securityGroupId, subnetIds, intervalMinutesOpt, opts)
|
|
|
55
55
|
} else {
|
|
56
56
|
entries.push([
|
|
57
57
|
"partitionTag",
|
|
58
|
-
|
|
58
|
+
Util_Sury$Reventless.toJson(match.partitionTag, DcbTag$Reventless.derivedPartitionTagSchema)
|
|
59
59
|
]);
|
|
60
60
|
}
|
|
61
61
|
return JSON.stringify(Object.fromEntries(entries));
|
|
@@ -130,4 +130,4 @@ function make(name, logs, securityGroupId, subnetIds, intervalMinutesOpt, opts)
|
|
|
130
130
|
export {
|
|
131
131
|
make,
|
|
132
132
|
}
|
|
133
|
-
/*
|
|
133
|
+
/* @pulumi/aws Not a pure module */
|
|
@@ -62,7 +62,7 @@ let relayWithPool = async (
|
|
|
62
62
|
): int => {
|
|
63
63
|
let partitionTag =
|
|
64
64
|
partitionTagJson->Option.map(json =>
|
|
65
|
-
json->
|
|
65
|
+
json->Reventless.Util_Sury.fromJson(Reventless.DcbTag.derivedPartitionTagSchema)
|
|
66
66
|
)
|
|
67
67
|
await ReventlessPostgres.PgChangeFeed.drain(pool, ~logName, ~subscriber, ~handle=async events => {
|
|
68
68
|
let jsons = events->Array.filterMap(event => toEventCollectorJson(event, ~partitionTag?))
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
|
|
5
4
|
import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
|
|
6
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
7
6
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
7
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
8
8
|
import * as Message$ReventlessCore from "@reventlessdev/reventless-core/src/Message.res.mjs";
|
|
9
9
|
import * as PgRuntime$ReventlessAws from "./PgRuntime.res.mjs";
|
|
10
10
|
import * as PgChangeFeed$ReventlessPostgres from "@reventlessdev/reventless-postgres/src/PgChangeFeed.res.mjs";
|
|
@@ -25,7 +25,7 @@ function toEventCollectorJson(event, partitionTag) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
async function relayWithPool(pool, logName, subscriber, partitionTagJson, sendBatch) {
|
|
28
|
-
let partitionTag = Stdlib_Option.map(partitionTagJson, json =>
|
|
28
|
+
let partitionTag = Stdlib_Option.map(partitionTagJson, json => Util_Sury$Reventless.fromJson(json, DcbTag$Reventless.derivedPartitionTagSchema));
|
|
29
29
|
return await PgChangeFeed$ReventlessPostgres.drain(pool, logName, subscriber, undefined, async events => {
|
|
30
30
|
let jsons = Stdlib_Array.filterMap(events, event => toEventCollectorJson(event, partitionTag));
|
|
31
31
|
if (jsons.length !== 0) {
|
|
@@ -65,4 +65,4 @@ export {
|
|
|
65
65
|
relayClassicWithPool,
|
|
66
66
|
relayClassic,
|
|
67
67
|
}
|
|
68
|
-
/*
|
|
68
|
+
/* DcbTag-Reventless Not a pure module */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as
|
|
3
|
+
import * as Sury from "sury";
|
|
4
4
|
import * as Aws from "@pulumi/aws";
|
|
5
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
6
6
|
import * as Pulumi from "@pulumi/pulumi";
|
|
@@ -11,12 +11,12 @@ import * as Util_Pulumi$ReventlessCore from "@reventlessdev/reventless-core/src/
|
|
|
11
11
|
import * as EC2_SecurityGroup$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_SecurityGroup.res.mjs";
|
|
12
12
|
import * as PgMigration_Builder$ReventlessAws from "./PgMigration_Builder.res.mjs";
|
|
13
13
|
|
|
14
|
-
let connectionConfigSchema =
|
|
15
|
-
host: s.m(
|
|
16
|
-
port: s.m(
|
|
17
|
-
database: s.m(
|
|
18
|
-
username: s.m(
|
|
19
|
-
secretArn: s.m(
|
|
14
|
+
let connectionConfigSchema = Sury.$schema(s => ({
|
|
15
|
+
host: s.m(Sury.string),
|
|
16
|
+
port: s.m(Sury.int),
|
|
17
|
+
database: s.m(Sury.string),
|
|
18
|
+
username: s.m(Sury.string),
|
|
19
|
+
secretArn: s.m(Sury.string)
|
|
20
20
|
}));
|
|
21
21
|
|
|
22
22
|
function connectionConfigToJson(lockStrategy, cc) {
|
|
@@ -122,7 +122,7 @@ let makeSyncTodoItems = (
|
|
|
122
122
|
await todoItems
|
|
123
123
|
->Dict.toArray
|
|
124
124
|
->Array.map(((id, row)) =>
|
|
125
|
-
save(id, row->
|
|
125
|
+
save(id, row->Reventless.Util_Sury.toJson(rowSchema), ReventlessCore.QueryDb.Overwrite, None)
|
|
126
126
|
)
|
|
127
127
|
->Promise.all
|
|
128
128
|
}
|
|
@@ -181,7 +181,7 @@ let makeLoadTodoItems = (
|
|
|
181
181
|
let id = json->JSON.Decode.object->Option.flatMap(d => d->Dict.get("id"))->Option.flatMap(JSON.Decode.string)
|
|
182
182
|
switch id {
|
|
183
183
|
| Some(id) if todoItems->Dict.get(id)->Option.isNone =>
|
|
184
|
-
switch json->
|
|
184
|
+
switch json->Reventless.Util_Sury.fromJson(rowSchema) {
|
|
185
185
|
| row =>
|
|
186
186
|
todoItems->Dict.set(id, row)
|
|
187
187
|
count + 1
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Stream from "@reventlessdev/rescript-effect/src/Stream.res.mjs";
|
|
5
4
|
import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
|
|
6
5
|
import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
|
|
@@ -11,6 +10,7 @@ import * as Stream$1 from "effect/Stream";
|
|
|
11
10
|
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
|
|
12
11
|
import * as DcbDecode$Reventless from "@reventlessdev/reventless-spec/src/components/DcbDecode.res.mjs";
|
|
13
12
|
import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
|
|
13
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
14
14
|
import * as Message$ReventlessCore from "@reventlessdev/reventless-core/src/Message.res.mjs";
|
|
15
15
|
import * as EffectLogger$ReventlessCore from "@reventlessdev/reventless-core/src/util/EffectLogger.res.mjs";
|
|
16
16
|
import * as DynamoDb_Error$ReventlessAws from "../../errors/DynamoDb_Error.res.mjs";
|
|
@@ -89,7 +89,7 @@ function makeSyncTodoItems(queryDbTableName, todoItems, rowSchema) {
|
|
|
89
89
|
};
|
|
90
90
|
let save = QueryDbStorage_DynamoDb_Runtime$ReventlessAws.save(table);
|
|
91
91
|
return async () => {
|
|
92
|
-
await Promise.all(Object.entries(todoItems).map(param => save(param[0],
|
|
92
|
+
await Promise.all(Object.entries(todoItems).map(param => save(param[0], Util_Sury$Reventless.toJson(param[1], rowSchema), "Overwrite", undefined)));
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -136,7 +136,7 @@ function makeLoadTodoItems(queryDbTableName, todoItems, rowSchema, comp) {
|
|
|
136
136
|
}
|
|
137
137
|
let row;
|
|
138
138
|
try {
|
|
139
|
-
row =
|
|
139
|
+
row = Util_Sury$Reventless.fromJson(json, rowSchema);
|
|
140
140
|
} catch (exn) {
|
|
141
141
|
return count;
|
|
142
142
|
}
|
|
@@ -262,4 +262,4 @@ export {
|
|
|
262
262
|
makeOutboundRegisteredHandler,
|
|
263
263
|
runSweeps,
|
|
264
264
|
}
|
|
265
|
-
/*
|
|
265
|
+
/* Stream Not a pure module */
|
|
@@ -86,7 +86,7 @@ let splitRecords = (
|
|
|
86
86
|
let references = referenceRecords->Array.filterMap(record =>
|
|
87
87
|
switch record->Util_DynamoDbStream_Runtime.parseDynamoDbStreamRecordState {
|
|
88
88
|
| NewImage(id, newImage) =>
|
|
89
|
-
let inc = switch newImage->
|
|
89
|
+
let inc = switch newImage->Reventless.Util_Sury.fromJson(referencesViewSchema) {
|
|
90
90
|
| {inc} => inc
|
|
91
91
|
| exception _ => 1
|
|
92
92
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as
|
|
3
|
+
import * as Sury from "sury";
|
|
4
4
|
import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
|
|
5
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
6
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
6
7
|
import * as Counter_Callback$ReventlessCore from "@reventlessdev/reventless-core/src/components/Counter/Counter_Callback.res.mjs";
|
|
7
8
|
import * as StreamRoutedEntryPoint_Ops$ReventlessAws from "./StreamRoutedEntryPoint_Ops.res.mjs";
|
|
8
9
|
import * as Util_DynamoDbStream_Runtime$ReventlessAws from "../../util/Util_DynamoDbStream_Runtime.res.mjs";
|
|
@@ -29,9 +30,9 @@ function makeCounterOps(config) {
|
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
let referencesViewSchema =
|
|
33
|
-
id: s.m(
|
|
34
|
-
inc: s.m(
|
|
33
|
+
let referencesViewSchema = Sury.$schema(s => ({
|
|
34
|
+
id: s.m(Sury.string),
|
|
35
|
+
inc: s.m(Sury.int)
|
|
35
36
|
}));
|
|
36
37
|
|
|
37
38
|
function splitRecords(referencesStreamArn, countsStreamArn, records) {
|
|
@@ -58,7 +59,7 @@ function splitRecords(referencesStreamArn, countsStreamArn, records) {
|
|
|
58
59
|
let exit = 0;
|
|
59
60
|
let val;
|
|
60
61
|
try {
|
|
61
|
-
val =
|
|
62
|
+
val = Util_Sury$Reventless.fromJson(match._1, referencesViewSchema);
|
|
62
63
|
exit = 1;
|
|
63
64
|
} catch (exn) {
|
|
64
65
|
inc = 1;
|
|
@@ -22,7 +22,9 @@ import {
|
|
|
22
22
|
import { Make as dcbEventLogOperationsMake } from "@reventlessdev/reventless-core/src/components/DcbEventLog/DcbEventLog_Operations.res.mjs";
|
|
23
23
|
import { makeCommandGenerator } from "./CommandGeneratorEntryPoint_Ops.res.mjs";
|
|
24
24
|
import { commandOutcomeToJson, runInlineAndCollect } from "@reventlessdev/reventless-core/src/components/CommandTopic/CommandTopic_Helpers.res.mjs";
|
|
25
|
-
|
|
25
|
+
// `json` lives on sury's own entry, not the ReScript shim — `S.res.mjs` stopped
|
|
26
|
+
// re-exporting it in sury 11. This is the same binding the compiled ReScript uses.
|
|
27
|
+
import { json as jsonSchema } from "sury";
|
|
26
28
|
import { handleQueueEvent, publishJsons as sqsPublishJsons } from "@reventlessdev/reventless-aws/src/adapter/CommandTopic/CommandTopicChannel_SQS_Runtime.res.mjs";
|
|
27
29
|
// Typed cold-start core — scope/partitionTag derivation, storage-ops wiring, and
|
|
28
30
|
// per-slice handler building (functor + decode + handleCommands), all
|
|
@@ -263,7 +263,7 @@ let buildInboundReceiver = (
|
|
|
263
263
|
let id = result->ReventlessCore.InboundTranslationSlice_Callback.requestIdOf
|
|
264
264
|
switch callback.auditLog->ReventlessCore.InboundTranslationSlice_Callback.takeAuditRow(id) {
|
|
265
265
|
| Some(row) =>
|
|
266
|
-
let json = row->
|
|
266
|
+
let json = row->Reventless.Util_Sury.toJson(
|
|
267
267
|
ReventlessCore.InboundTranslationSlice_Callback.auditRowSchema,
|
|
268
268
|
)
|
|
269
269
|
// A failed audit write must not fail the mutation (the command was
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Stdlib_JsExn from "@rescript/runtime/lib/es6/Stdlib_JsExn.js";
|
|
5
4
|
import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
|
|
6
5
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
@@ -9,6 +8,7 @@ import * as Stream from "effect/Stream";
|
|
|
9
8
|
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
|
|
10
9
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
11
10
|
import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
|
|
11
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
12
12
|
import * as Message$ReventlessCore from "@reventlessdev/reventless-core/src/Message.res.mjs";
|
|
13
13
|
import * as QueryDb$ReventlessCore from "@reventlessdev/reventless-core/src/components/QueryDb/QueryDb.res.mjs";
|
|
14
14
|
import * as EffectLogger$ReventlessCore from "@reventlessdev/reventless-core/src/util/EffectLogger.res.mjs";
|
|
@@ -109,7 +109,7 @@ function buildInboundReceiver(spec, translation, publishJsons, auditQueryDbOps)
|
|
|
109
109
|
let id = InboundTranslationSlice_Callback$ReventlessCore.requestIdOf(result);
|
|
110
110
|
let row = InboundTranslationSlice_Callback$ReventlessCore.takeAuditRow(callback.auditLog, id);
|
|
111
111
|
if (row !== undefined) {
|
|
112
|
-
let json =
|
|
112
|
+
let json = Util_Sury$Reventless.toJson(row, InboundTranslationSlice_Callback$ReventlessCore.auditRowSchema);
|
|
113
113
|
try {
|
|
114
114
|
let err = await auditQueryDbOps.save(id, json, "Overwrite", undefined);
|
|
115
115
|
if (err.TAG !== "Ok") {
|
|
@@ -135,4 +135,4 @@ export {
|
|
|
135
135
|
buildSliceHandler,
|
|
136
136
|
buildInboundReceiver,
|
|
137
137
|
}
|
|
138
|
-
/*
|
|
138
|
+
/* Stdlib_JsExn Not a pure module */
|
|
@@ -45,7 +45,7 @@ let handler = async (_event: JSON.t, _context: PulumiAws.Lambda.context) => {
|
|
|
45
45
|
),
|
|
46
46
|
commandJson: ReventlessInfra.PluginExtensionPointSpec.Heartbeat(
|
|
47
47
|
timeout,
|
|
48
|
-
)->
|
|
48
|
+
)->Reventless.Util_Sury.toJson(ReventlessInfra.PluginExtensionPointSpec.commandSchema),
|
|
49
49
|
}
|
|
50
50
|
await publishJsons([message])
|
|
51
51
|
""
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as S from "sury/src/S.res.mjs";
|
|
4
3
|
import * as Stdlib_Int from "@rescript/runtime/lib/es6/Stdlib_Int.js";
|
|
5
4
|
import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
|
|
5
|
+
import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
|
|
6
6
|
import * as Message$ReventlessCore from "@reventlessdev/reventless-core/src/Message.res.mjs";
|
|
7
7
|
import * as HandlerFactoryHelpersMjs from "./HandlerFactoryHelpers.mjs";
|
|
8
8
|
import * as PluginExtensionPointSpec$ReventlessInfra from "@reventlessdev/reventless-infra/src/types/PluginExtensionPointSpec.res.mjs";
|
|
@@ -27,7 +27,7 @@ let runtimeExtensionsReady = HandlerFactoryHelpersMjs.runtimeExtensionsReady;
|
|
|
27
27
|
async function handler(_event, _context) {
|
|
28
28
|
await runtimeExtensionsReady;
|
|
29
29
|
let message_meta = Message$ReventlessCore.generateMeta(PluginExtensionPointSpec$ReventlessInfra.name, "", "Heartbeat", undefined, undefined, undefined, undefined, undefined);
|
|
30
|
-
let message_commandJson =
|
|
30
|
+
let message_commandJson = Util_Sury$Reventless.toJson({
|
|
31
31
|
TAG: "Heartbeat",
|
|
32
32
|
_0: timeout
|
|
33
33
|
}, PluginExtensionPointSpec$ReventlessInfra.commandSchema);
|
|
@@ -355,7 +355,17 @@ let makeFromCodeAsset: (
|
|
|
355
355
|
// Announce the provisioned execution unit to the Monitoring registry. No-op
|
|
356
356
|
// unless a deploy program registered a backend via Monitoring.use — see
|
|
357
357
|
// docs/plans/done/monitoring-hook-seam.md.
|
|
358
|
-
|
|
358
|
+
//
|
|
359
|
+
// `~logLocator` is resolved from the branch actually taken above: the managed
|
|
360
|
+
// group when one was created, the group Lambda auto-creates otherwise. This is
|
|
361
|
+
// the only place both are known, which is why the seam is told rather than
|
|
362
|
+
// leaving a backend to guess.
|
|
363
|
+
ReventlessCore.Monitoring.notify(
|
|
364
|
+
~kind=unitKind,
|
|
365
|
+
~name,
|
|
366
|
+
~component=lambdaResource,
|
|
367
|
+
~logLocator=Util_LambdaLogging.logLocatorFor(~logGroup, ~physicalName=lambdaResource.name),
|
|
368
|
+
)
|
|
359
369
|
|
|
360
370
|
{
|
|
361
371
|
parts: {lambda: lambda->Pulumi.Output.make, lambdaRole},
|
|
@@ -167,7 +167,7 @@ function makeFromCodeAsset(name, unitKind, componentKind, code, sourceCodeHash,
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
let lambdaResource = Util_Lambda$ReventlessAws.functionToResource(tags, lambda);
|
|
170
|
-
Monitoring$ReventlessCore.notify(unitKind, name, lambdaResource);
|
|
170
|
+
Monitoring$ReventlessCore.notify(unitKind, name, lambdaResource, Util_LambdaLogging$ReventlessAws.logLocatorFor(logGroup, lambdaResource.name));
|
|
171
171
|
return {
|
|
172
172
|
parts: {
|
|
173
173
|
lambda: Pulumi.output(lambda),
|
|
@@ -136,7 +136,7 @@ let makeJsonEventsHandler = (
|
|
|
136
136
|
Effect.sync(() =>
|
|
137
137
|
try {
|
|
138
138
|
let {event, meta, recordedAt} = decodeEnvelope(json)
|
|
139
|
-
project({event: event->
|
|
139
|
+
project({event: event->Reventless.Util_Sury.fromJson(eventSchema), meta, recordedAt})
|
|
140
140
|
} catch {
|
|
141
141
|
| exn =>
|
|
142
142
|
StreamRoutedEntryPoint_Ops.logError(
|