@exaudeus/workrail 3.60.1 → 3.61.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.
- package/dist/console-ui/assets/{index-nsnuA1l5.js → index-DZpicVbF.js} +1 -1
- package/dist/console-ui/index.html +1 -1
- package/dist/manifest.json +29 -29
- package/dist/mcp/handlers/v2-advance-core/event-builders.d.ts +1 -1
- package/dist/mcp/handlers/v2-advance-events.d.ts +1 -1
- package/dist/mcp/handlers/v2-checkpoint.js +2 -0
- package/dist/mcp/handlers/v2-execution/start.js +6 -0
- package/dist/v2/durable-core/domain/ack-advance-append-plan.d.ts +1 -1
- package/dist/v2/durable-core/domain/ack-advance-append-plan.js +13 -2
- package/dist/v2/durable-core/domain/assessment-consequence-event-builder.d.ts +1 -1
- package/dist/v2/durable-core/domain/assessment-recorded-event-builder.d.ts +1 -1
- package/dist/v2/durable-core/domain/gap-builder.js +1 -0
- package/dist/v2/durable-core/domain/validation-event-builder.d.ts +1 -1
- package/dist/v2/durable-core/schemas/export-bundle/index.d.ts +192 -0
- package/dist/v2/durable-core/schemas/session/events.d.ts +51 -0
- package/dist/v2/durable-core/schemas/session/events.js +1 -0
- package/package.json +1 -1
package/dist/manifest.json
CHANGED
|
@@ -477,12 +477,12 @@
|
|
|
477
477
|
"sha256": "3bdb55ec0957928e0ebbb86a7d6b36d28f7ba7d5c0f3e236fd8f2e2aacee2fa4",
|
|
478
478
|
"bytes": 60631
|
|
479
479
|
},
|
|
480
|
-
"console-ui/assets/index-
|
|
481
|
-
"sha256": "
|
|
480
|
+
"console-ui/assets/index-DZpicVbF.js": {
|
|
481
|
+
"sha256": "63e1eb6134d4bf95c279e646796f6fac09d3d206f72c5e07bcc944fcaf3a108c",
|
|
482
482
|
"bytes": 760528
|
|
483
483
|
},
|
|
484
484
|
"console-ui/index.html": {
|
|
485
|
-
"sha256": "
|
|
485
|
+
"sha256": "ebdc97ab0d0b277f907b8e840e3e4036949de791bd202d5032788d38177c0c8e",
|
|
486
486
|
"bytes": 417
|
|
487
487
|
},
|
|
488
488
|
"console/standalone-console.d.ts": {
|
|
@@ -1038,8 +1038,8 @@
|
|
|
1038
1038
|
"bytes": 10270
|
|
1039
1039
|
},
|
|
1040
1040
|
"mcp/handlers/v2-advance-core/event-builders.d.ts": {
|
|
1041
|
-
"sha256": "
|
|
1042
|
-
"bytes":
|
|
1041
|
+
"sha256": "0544f528024d18de52fcd69151b88e7c6c39895d46278ed71723c40deb848293",
|
|
1042
|
+
"bytes": 2657
|
|
1043
1043
|
},
|
|
1044
1044
|
"mcp/handlers/v2-advance-core/event-builders.js": {
|
|
1045
1045
|
"sha256": "82d1c47597c116c209638e62bb74713b4cf2d03be5199effa67bacba1963a3ee",
|
|
@@ -1078,8 +1078,8 @@
|
|
|
1078
1078
|
"bytes": 7752
|
|
1079
1079
|
},
|
|
1080
1080
|
"mcp/handlers/v2-advance-events.d.ts": {
|
|
1081
|
-
"sha256": "
|
|
1082
|
-
"bytes":
|
|
1081
|
+
"sha256": "cb85286671ef70c888ff0784280542ea009a13f8ebe5e01e84603d6b8b8587ce",
|
|
1082
|
+
"bytes": 2785
|
|
1083
1083
|
},
|
|
1084
1084
|
"mcp/handlers/v2-advance-events.js": {
|
|
1085
1085
|
"sha256": "c23df725685ee2062f44e05512ee4463c9b29ed4d67a4e72846496d59920733c",
|
|
@@ -1090,8 +1090,8 @@
|
|
|
1090
1090
|
"bytes": 1480
|
|
1091
1091
|
},
|
|
1092
1092
|
"mcp/handlers/v2-checkpoint.js": {
|
|
1093
|
-
"sha256": "
|
|
1094
|
-
"bytes":
|
|
1093
|
+
"sha256": "d5c80dc14627c706247b1e63c2307c68e1ed55f7b98c98875dfe7b81b5f8cf53",
|
|
1094
|
+
"bytes": 10800
|
|
1095
1095
|
},
|
|
1096
1096
|
"mcp/handlers/v2-context-budget.d.ts": {
|
|
1097
1097
|
"sha256": "cbad1741a183d52c9cbe558be2e09f776843d1f3ec8cd28d6d0d230668e4298c",
|
|
@@ -1170,8 +1170,8 @@
|
|
|
1170
1170
|
"bytes": 3558
|
|
1171
1171
|
},
|
|
1172
1172
|
"mcp/handlers/v2-execution/start.js": {
|
|
1173
|
-
"sha256": "
|
|
1174
|
-
"bytes":
|
|
1173
|
+
"sha256": "be45c65e839a4dc6ab41fe3562fa16059e3719d82ea38007edeb570b642987d0",
|
|
1174
|
+
"bytes": 21576
|
|
1175
1175
|
},
|
|
1176
1176
|
"mcp/handlers/v2-execution/workflow-object-cache.d.ts": {
|
|
1177
1177
|
"sha256": "7e58a2a020fd8443821dbe4e6a2702a9882c517f032a340c1b393cdebf4af907",
|
|
@@ -1894,12 +1894,12 @@
|
|
|
1894
1894
|
"bytes": 3841
|
|
1895
1895
|
},
|
|
1896
1896
|
"v2/durable-core/domain/ack-advance-append-plan.d.ts": {
|
|
1897
|
-
"sha256": "
|
|
1898
|
-
"bytes":
|
|
1897
|
+
"sha256": "2b4a8ad0e1d9e9066f100f958e572f19af590ab70946c2396d2d5568875bdf00",
|
|
1898
|
+
"bytes": 1549
|
|
1899
1899
|
},
|
|
1900
1900
|
"v2/durable-core/domain/ack-advance-append-plan.js": {
|
|
1901
|
-
"sha256": "
|
|
1902
|
-
"bytes":
|
|
1901
|
+
"sha256": "437e811d81076599ae4fa76ff38ad457ccb0a04db6e4b762e175b783c2c928f6",
|
|
1902
|
+
"bytes": 7303
|
|
1903
1903
|
},
|
|
1904
1904
|
"v2/durable-core/domain/artifact-contract-validator.d.ts": {
|
|
1905
1905
|
"sha256": "262d667fb49fc68a5a6db9f60d4a50c15b9e45ba9ef5980d5b2036a29582eac8",
|
|
@@ -1910,8 +1910,8 @@
|
|
|
1910
1910
|
"bytes": 6500
|
|
1911
1911
|
},
|
|
1912
1912
|
"v2/durable-core/domain/assessment-consequence-event-builder.d.ts": {
|
|
1913
|
-
"sha256": "
|
|
1914
|
-
"bytes":
|
|
1913
|
+
"sha256": "be91245e615888ae4675c093a9f323500099dbe6d1250ced4726764e1029e9ad",
|
|
1914
|
+
"bytes": 842
|
|
1915
1915
|
},
|
|
1916
1916
|
"v2/durable-core/domain/assessment-consequence-event-builder.js": {
|
|
1917
1917
|
"sha256": "8a635f6c75777e58b0092e9e5394637cc15f64e97d987941f9de28b349c0bafb",
|
|
@@ -1926,8 +1926,8 @@
|
|
|
1926
1926
|
"bytes": 77
|
|
1927
1927
|
},
|
|
1928
1928
|
"v2/durable-core/domain/assessment-recorded-event-builder.d.ts": {
|
|
1929
|
-
"sha256": "
|
|
1930
|
-
"bytes":
|
|
1929
|
+
"sha256": "c4279c2e7af1b6a9b82d1accb0c5336fd3993eb950d2d6ded4e66ae3bffc57c7",
|
|
1930
|
+
"bytes": 840
|
|
1931
1931
|
},
|
|
1932
1932
|
"v2/durable-core/domain/assessment-recorded-event-builder.js": {
|
|
1933
1933
|
"sha256": "070adad6e9bbb7abb3650c84f8e66535e7e9076783a67b18088bfaf970920072",
|
|
@@ -2010,8 +2010,8 @@
|
|
|
2010
2010
|
"bytes": 620
|
|
2011
2011
|
},
|
|
2012
2012
|
"v2/durable-core/domain/gap-builder.js": {
|
|
2013
|
-
"sha256": "
|
|
2014
|
-
"bytes":
|
|
2013
|
+
"sha256": "673bdc1103a5438e55b49df1e2ca4603c87c6fd63e0187142c8b06472b7d1208",
|
|
2014
|
+
"bytes": 941
|
|
2015
2015
|
},
|
|
2016
2016
|
"v2/durable-core/domain/loop-control-evaluator.d.ts": {
|
|
2017
2017
|
"sha256": "fbda4d2cb49d71e066f1b9bc967d5b89f4e2d1c692b865b026cf9e0bad80ad99",
|
|
@@ -2118,8 +2118,8 @@
|
|
|
2118
2118
|
"bytes": 2550
|
|
2119
2119
|
},
|
|
2120
2120
|
"v2/durable-core/domain/validation-event-builder.d.ts": {
|
|
2121
|
-
"sha256": "
|
|
2122
|
-
"bytes":
|
|
2121
|
+
"sha256": "c18461e0153c8d0bced88322a555f4a12faa54136506caa29733eddecc746b68",
|
|
2122
|
+
"bytes": 939
|
|
2123
2123
|
},
|
|
2124
2124
|
"v2/durable-core/domain/validation-event-builder.js": {
|
|
2125
2125
|
"sha256": "e786f1f1991012032b9e45071679bc47bad21d422027e65701fb93e4035e6c01",
|
|
@@ -2334,8 +2334,8 @@
|
|
|
2334
2334
|
"bytes": 3397
|
|
2335
2335
|
},
|
|
2336
2336
|
"v2/durable-core/schemas/export-bundle/index.d.ts": {
|
|
2337
|
-
"sha256": "
|
|
2338
|
-
"bytes":
|
|
2337
|
+
"sha256": "9432b699d0cdc1db78d37181d8a6f72c669a5c2be7db7a915a44c783b0cb70c5",
|
|
2338
|
+
"bytes": 544060
|
|
2339
2339
|
},
|
|
2340
2340
|
"v2/durable-core/schemas/export-bundle/index.js": {
|
|
2341
2341
|
"sha256": "6e3566b2d05ea6302bbf4d311b8ec3e94725a8523834efe7670a79e7bd7dc40d",
|
|
@@ -2390,12 +2390,12 @@
|
|
|
2390
2390
|
"bytes": 2138
|
|
2391
2391
|
},
|
|
2392
2392
|
"v2/durable-core/schemas/session/events.d.ts": {
|
|
2393
|
-
"sha256": "
|
|
2394
|
-
"bytes":
|
|
2393
|
+
"sha256": "452cb4e020188c0699e5a3bc083a0c66ebdfe5f8506d41fb9f556cd6e3631bb9",
|
|
2394
|
+
"bytes": 82692
|
|
2395
2395
|
},
|
|
2396
2396
|
"v2/durable-core/schemas/session/events.js": {
|
|
2397
|
-
"sha256": "
|
|
2398
|
-
"bytes":
|
|
2397
|
+
"sha256": "92246ae89fd3af24571c3909cf56a9e27ff1dcc15d7ea774e60fef75d1a03841",
|
|
2398
|
+
"bytes": 13013
|
|
2399
2399
|
},
|
|
2400
2400
|
"v2/durable-core/schemas/session/gaps.d.ts": {
|
|
2401
2401
|
"sha256": "85d17b865a1ebe9deaa0c99d69039c514b217362715c6697b0bc5908cbf9fff0",
|
|
@@ -19,7 +19,7 @@ type BuildAppendPlanArgs = {
|
|
|
19
19
|
readonly currentNodeId: NodeId;
|
|
20
20
|
readonly attemptId: AttemptId;
|
|
21
21
|
readonly workflowHash: WorkflowHash;
|
|
22
|
-
readonly extraEventsToAppend: readonly Omit<DomainEventV1, 'eventIndex' | 'sessionId'>[];
|
|
22
|
+
readonly extraEventsToAppend: readonly Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>[];
|
|
23
23
|
readonly sessionStore: import('../../../v2/ports/session-event-log-store.port.js').SessionEventLogAppendStorePortV2;
|
|
24
24
|
readonly idFactory: AdvanceCorePorts['idFactory'];
|
|
25
25
|
readonly lock: WithHealthySessionLock;
|
|
@@ -9,7 +9,7 @@ import type { ReasonV1 } from '../../v2/durable-core/domain/reason-model.js';
|
|
|
9
9
|
import type { DecisionTraceEntry } from '../../v2/durable-core/domain/decision-trace-builder.js';
|
|
10
10
|
import type { InternalError } from './v2-error-mapping.js';
|
|
11
11
|
import type { AdvanceCorePorts } from './v2-advance-core.js';
|
|
12
|
-
type PartialEvent = Omit<DomainEventV1, 'eventIndex' | 'sessionId'>;
|
|
12
|
+
type PartialEvent = Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>;
|
|
13
13
|
import type { OutputRequirementStatus } from '../../v2/durable-core/domain/blocking-decision.js';
|
|
14
14
|
export type AdvanceMode = {
|
|
15
15
|
readonly kind: 'fresh';
|
|
@@ -122,6 +122,7 @@ function writeCheckpoint(truth, dedupeKey, originalNode, sessionId, runId, nodeI
|
|
|
122
122
|
eventId: nodeCreatedEventId,
|
|
123
123
|
eventIndex: truth.events.length,
|
|
124
124
|
sessionId: String(sessionId),
|
|
125
|
+
timestampMs: Date.now(),
|
|
125
126
|
kind: constants_js_1.EVENT_KIND.NODE_CREATED,
|
|
126
127
|
dedupeKey: `checkpoint_node:${dedupeKey}`,
|
|
127
128
|
scope: { runId: String(runId), nodeId: String(checkpointNodeId) },
|
|
@@ -137,6 +138,7 @@ function writeCheckpoint(truth, dedupeKey, originalNode, sessionId, runId, nodeI
|
|
|
137
138
|
eventId: edgeCreatedEventId,
|
|
138
139
|
eventIndex: truth.events.length + 1,
|
|
139
140
|
sessionId: String(sessionId),
|
|
141
|
+
timestampMs: Date.now(),
|
|
140
142
|
kind: constants_js_1.EVENT_KIND.EDGE_CREATED,
|
|
141
143
|
dedupeKey,
|
|
142
144
|
scope: { runId: String(runId) },
|
|
@@ -121,6 +121,7 @@ function buildInitialEvents(args) {
|
|
|
121
121
|
eventId: evtSessionCreated,
|
|
122
122
|
eventIndex: 0,
|
|
123
123
|
sessionId,
|
|
124
|
+
timestampMs: Date.now(),
|
|
124
125
|
kind: constants_js_1.EVENT_KIND.SESSION_CREATED,
|
|
125
126
|
dedupeKey: `session_created:${sessionId}`,
|
|
126
127
|
data: parentSessionId !== undefined ? { parentSessionId } : {},
|
|
@@ -130,6 +131,7 @@ function buildInitialEvents(args) {
|
|
|
130
131
|
eventId: evtRunStarted,
|
|
131
132
|
eventIndex: 1,
|
|
132
133
|
sessionId,
|
|
134
|
+
timestampMs: Date.now(),
|
|
133
135
|
kind: constants_js_1.EVENT_KIND.RUN_STARTED,
|
|
134
136
|
dedupeKey: `run_started:${sessionId}:${runId}`,
|
|
135
137
|
scope: { runId },
|
|
@@ -145,6 +147,7 @@ function buildInitialEvents(args) {
|
|
|
145
147
|
eventId: evtNodeCreated,
|
|
146
148
|
eventIndex: 2,
|
|
147
149
|
sessionId,
|
|
150
|
+
timestampMs: Date.now(),
|
|
148
151
|
kind: constants_js_1.EVENT_KIND.NODE_CREATED,
|
|
149
152
|
dedupeKey: `node_created:${sessionId}:${runId}:${nodeId}`,
|
|
150
153
|
scope: { runId, nodeId },
|
|
@@ -160,6 +163,7 @@ function buildInitialEvents(args) {
|
|
|
160
163
|
eventId: evtPreferencesChanged,
|
|
161
164
|
eventIndex: 3,
|
|
162
165
|
sessionId,
|
|
166
|
+
timestampMs: Date.now(),
|
|
163
167
|
kind: constants_js_1.EVENT_KIND.PREFERENCES_CHANGED,
|
|
164
168
|
dedupeKey: `preferences_changed:${sessionId}:${runId}:${nodeId}:${changeId}`,
|
|
165
169
|
scope: { runId, nodeId },
|
|
@@ -186,6 +190,7 @@ function buildInitialEvents(args) {
|
|
|
186
190
|
eventId: contextEventId,
|
|
187
191
|
eventIndex: mutableEvents.length,
|
|
188
192
|
sessionId,
|
|
193
|
+
timestampMs: Date.now(),
|
|
189
194
|
kind: constants_js_1.EVENT_KIND.CONTEXT_SET,
|
|
190
195
|
dedupeKey: `context_set:${sessionId}:${String(runId)}:initial`,
|
|
191
196
|
scope: { runId: String(runId) },
|
|
@@ -203,6 +208,7 @@ function buildInitialEvents(args) {
|
|
|
203
208
|
eventId: obsEventId,
|
|
204
209
|
eventIndex: mutableEvents.length,
|
|
205
210
|
sessionId,
|
|
211
|
+
timestampMs: Date.now(),
|
|
206
212
|
kind: constants_js_1.EVENT_KIND.OBSERVATION_RECORDED,
|
|
207
213
|
dedupeKey: `observation_recorded:${sessionId}:${obs.key}`,
|
|
208
214
|
data: {
|
|
@@ -2,7 +2,7 @@ import type { DomainEventV1 } from '../schemas/session/index.js';
|
|
|
2
2
|
import { type OutputToAppend } from './outputs.js';
|
|
3
3
|
import { type Result } from 'neverthrow';
|
|
4
4
|
import type { SnapshotRef, WorkflowHash } from '../ids/index.js';
|
|
5
|
-
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId'>;
|
|
5
|
+
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>;
|
|
6
6
|
export type AckAdvanceAppendPlanArgs = {
|
|
7
7
|
readonly sessionId: string;
|
|
8
8
|
readonly runId: string;
|
|
@@ -11,6 +11,7 @@ function buildAdvanceRecordedEvent(args) {
|
|
|
11
11
|
eventId: args.eventId,
|
|
12
12
|
eventIndex: args.eventIndex,
|
|
13
13
|
sessionId: args.sessionId,
|
|
14
|
+
timestampMs: Date.now(),
|
|
14
15
|
kind: constants_js_1.EVENT_KIND.ADVANCE_RECORDED,
|
|
15
16
|
dedupeKey: advanceDedupeKey,
|
|
16
17
|
scope: { runId: args.runId, nodeId: args.fromNodeId },
|
|
@@ -27,6 +28,7 @@ function buildNodeCreatedEvent(args) {
|
|
|
27
28
|
eventId: args.eventId,
|
|
28
29
|
eventIndex: args.eventIndex,
|
|
29
30
|
sessionId: args.sessionId,
|
|
31
|
+
timestampMs: Date.now(),
|
|
30
32
|
kind: constants_js_1.EVENT_KIND.NODE_CREATED,
|
|
31
33
|
dedupeKey: `node_created:${args.sessionId}:${args.runId}:${args.toNodeId}`,
|
|
32
34
|
scope: { runId: args.runId, nodeId: args.toNodeId },
|
|
@@ -44,6 +46,7 @@ function buildEdgeCreatedEvent(args) {
|
|
|
44
46
|
eventId: args.eventId,
|
|
45
47
|
eventIndex: args.eventIndex,
|
|
46
48
|
sessionId: args.sessionId,
|
|
49
|
+
timestampMs: Date.now(),
|
|
47
50
|
kind: constants_js_1.EVENT_KIND.EDGE_CREATED,
|
|
48
51
|
dedupeKey: `edge_created:${args.sessionId}:${args.runId}:${args.fromNodeId}->${args.toNodeId}:acked_step`,
|
|
49
52
|
scope: { runId: args.runId },
|
|
@@ -69,6 +72,7 @@ function buildOutputEvents(args) {
|
|
|
69
72
|
eventId: args.outputEventIds[idx],
|
|
70
73
|
eventIndex: args.startEventIndex + idx,
|
|
71
74
|
sessionId: args.sessionId,
|
|
75
|
+
timestampMs: Date.now(),
|
|
72
76
|
kind: constants_js_1.EVENT_KIND.NODE_OUTPUT_APPENDED,
|
|
73
77
|
dedupeKey: `node_output_appended:${args.sessionId}:${o.outputId}`,
|
|
74
78
|
scope: { runId: args.runId, nodeId: args.fromNodeId },
|
|
@@ -95,19 +99,26 @@ function processExtraEvents(extraEventsToAppend, sessionId, startEventIndex) {
|
|
|
95
99
|
if ('eventIndex' in raw) {
|
|
96
100
|
return (0, neverthrow_1.err)({
|
|
97
101
|
code: 'INVARIANT_VIOLATION',
|
|
98
|
-
message: 'extraEventsToAppend must not include eventIndex (assigned by append plan builder)'
|
|
102
|
+
message: 'extraEventsToAppend must not include eventIndex (assigned by append plan builder)',
|
|
99
103
|
});
|
|
100
104
|
}
|
|
101
105
|
if ('sessionId' in raw) {
|
|
102
106
|
return (0, neverthrow_1.err)({
|
|
103
107
|
code: 'INVARIANT_VIOLATION',
|
|
104
|
-
message: 'extraEventsToAppend must not include sessionId (assigned by append plan builder)'
|
|
108
|
+
message: 'extraEventsToAppend must not include sessionId (assigned by append plan builder)',
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if ('timestampMs' in raw) {
|
|
112
|
+
return (0, neverthrow_1.err)({
|
|
113
|
+
code: 'INVARIANT_VIOLATION',
|
|
114
|
+
message: 'extraEventsToAppend must not include timestampMs (assigned by append plan builder)',
|
|
105
115
|
});
|
|
106
116
|
}
|
|
107
117
|
extra.push({
|
|
108
118
|
...extraEventsToAppend[i],
|
|
109
119
|
sessionId,
|
|
110
120
|
eventIndex: startEventIndex + i,
|
|
121
|
+
timestampMs: Date.now(),
|
|
111
122
|
});
|
|
112
123
|
}
|
|
113
124
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Result } from 'neverthrow';
|
|
2
2
|
import type { DomainEventV1 } from '../schemas/session/index.js';
|
|
3
|
-
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId'>;
|
|
3
|
+
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>;
|
|
4
4
|
export type AssessmentConsequenceEventError = {
|
|
5
5
|
readonly code: 'ASSESSMENT_CONSEQUENCE_EVENT_INVARIANT_VIOLATION';
|
|
6
6
|
readonly message: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Result } from 'neverthrow';
|
|
2
2
|
import type { DomainEventV1 } from '../schemas/session/index.js';
|
|
3
3
|
import type { RecordedAssessmentV1 } from './assessment-record.js';
|
|
4
|
-
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId'>;
|
|
4
|
+
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>;
|
|
5
5
|
export type AssessmentRecordedEventError = {
|
|
6
6
|
readonly code: 'ASSESSMENT_EVENT_INVARIANT_VIOLATION';
|
|
7
7
|
readonly message: string;
|
|
@@ -10,6 +10,7 @@ function buildGapRecordedEventV1(args) {
|
|
|
10
10
|
eventId: args.eventId,
|
|
11
11
|
eventIndex: args.eventIndex,
|
|
12
12
|
sessionId: args.sessionId,
|
|
13
|
+
timestampMs: Date.now(),
|
|
13
14
|
kind: constants_js_1.EVENT_KIND.GAP_RECORDED,
|
|
14
15
|
dedupeKey: `gap_recorded:${args.sessionId}:${args.gapId}`,
|
|
15
16
|
scope: { runId: args.runId, nodeId: args.nodeId },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Result } from 'neverthrow';
|
|
2
2
|
import type { ValidationResult } from '../../../types/validation.js';
|
|
3
3
|
import type { DomainEventV1 } from '../schemas/session/index.js';
|
|
4
|
-
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId'>;
|
|
4
|
+
type EventToAppendV1 = Omit<DomainEventV1, 'eventIndex' | 'sessionId' | 'timestampMs'>;
|
|
5
5
|
export type ValidationEventError = {
|
|
6
6
|
readonly code: 'VALIDATION_EVENT_INVARIANT_VIOLATION';
|
|
7
7
|
readonly message: string;
|