@hatchet-dev/typescript-sdk 0.2.1 → 0.3.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/clients/event/event-client.d.ts +1 -0
- package/clients/event/event-client.js +26 -0
- package/clients/listener/listener-client.d.ts +1 -0
- package/clients/listener/listener-client.js +3 -0
- package/package.json +1 -1
- package/protoc/dispatcher/dispatcher.d.ts +1 -0
- package/protoc/dispatcher/dispatcher.js +6 -0
- package/protoc/events/events.d.ts +52 -0
- package/protoc/events/events.js +166 -1
- package/step.d.ts +1 -0
- package/step.js +11 -0
|
@@ -15,4 +15,5 @@ export declare class EventClient {
|
|
|
15
15
|
constructor(config: ClientConfig, channel: Channel, factory: ClientFactory);
|
|
16
16
|
push<T>(type: string, input: T): Promise<import("../../protoc/events/events").Event>;
|
|
17
17
|
putLog(stepRunId: string, log: string, level?: LogLevel): void;
|
|
18
|
+
putStream(stepRunId: string, data: string | Uint8Array): void;
|
|
18
19
|
}
|
|
@@ -65,5 +65,31 @@ class EventClient {
|
|
|
65
65
|
this.logger.warn(`Could not put log: ${e.message}`);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
+
putStream(stepRunId, data) {
|
|
69
|
+
const createdAt = new Date();
|
|
70
|
+
let dataBytes;
|
|
71
|
+
if (typeof data === 'string') {
|
|
72
|
+
dataBytes = new TextEncoder().encode(data);
|
|
73
|
+
}
|
|
74
|
+
else if (data instanceof Uint8Array) {
|
|
75
|
+
dataBytes = data;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
throw new Error('Invalid data type. Expected string or Uint8Array.');
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
(0, retrier_1.retrier)(() => __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
return this.client.putStreamEvent({
|
|
83
|
+
stepRunId,
|
|
84
|
+
createdAt,
|
|
85
|
+
message: dataBytes,
|
|
86
|
+
});
|
|
87
|
+
}), this.logger);
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
// log a warning, but this is not a fatal error
|
|
91
|
+
this.logger.warn(`Could not put log: ${e.message}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
68
94
|
}
|
|
69
95
|
exports.EventClient = EventClient;
|
|
@@ -11,6 +11,7 @@ export declare enum RunEventType {
|
|
|
11
11
|
STEP_RUN_EVENT_TYPE_FAILED = "STEP_RUN_EVENT_TYPE_FAILED",
|
|
12
12
|
STEP_RUN_EVENT_TYPE_CANCELLED = "STEP_RUN_EVENT_TYPE_CANCELLED",
|
|
13
13
|
STEP_RUN_EVENT_TYPE_TIMED_OUT = "STEP_RUN_EVENT_TYPE_TIMED_OUT",
|
|
14
|
+
STEP_RUN_EVENT_TYPE_STREAM = "STEP_RUN_EVENT_TYPE_STREAM",
|
|
14
15
|
WORKFLOW_RUN_EVENT_TYPE_STARTED = "WORKFLOW_RUN_EVENT_TYPE_STARTED",
|
|
15
16
|
WORKFLOW_RUN_EVENT_TYPE_COMPLETED = "WORKFLOW_RUN_EVENT_TYPE_COMPLETED",
|
|
16
17
|
WORKFLOW_RUN_EVENT_TYPE_FAILED = "WORKFLOW_RUN_EVENT_TYPE_FAILED",
|
|
@@ -52,6 +52,7 @@ var RunEventType;
|
|
|
52
52
|
RunEventType["STEP_RUN_EVENT_TYPE_FAILED"] = "STEP_RUN_EVENT_TYPE_FAILED";
|
|
53
53
|
RunEventType["STEP_RUN_EVENT_TYPE_CANCELLED"] = "STEP_RUN_EVENT_TYPE_CANCELLED";
|
|
54
54
|
RunEventType["STEP_RUN_EVENT_TYPE_TIMED_OUT"] = "STEP_RUN_EVENT_TYPE_TIMED_OUT";
|
|
55
|
+
RunEventType["STEP_RUN_EVENT_TYPE_STREAM"] = "STEP_RUN_EVENT_TYPE_STREAM";
|
|
55
56
|
RunEventType["WORKFLOW_RUN_EVENT_TYPE_STARTED"] = "WORKFLOW_RUN_EVENT_TYPE_STARTED";
|
|
56
57
|
RunEventType["WORKFLOW_RUN_EVENT_TYPE_COMPLETED"] = "WORKFLOW_RUN_EVENT_TYPE_COMPLETED";
|
|
57
58
|
RunEventType["WORKFLOW_RUN_EVENT_TYPE_FAILED"] = "WORKFLOW_RUN_EVENT_TYPE_FAILED";
|
|
@@ -64,6 +65,7 @@ const stepEventTypeMap = {
|
|
|
64
65
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_FAILED]: RunEventType.STEP_RUN_EVENT_TYPE_FAILED,
|
|
65
66
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_CANCELLED]: RunEventType.STEP_RUN_EVENT_TYPE_CANCELLED,
|
|
66
67
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_TIMED_OUT]: RunEventType.STEP_RUN_EVENT_TYPE_TIMED_OUT,
|
|
68
|
+
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_STREAM]: RunEventType.STEP_RUN_EVENT_TYPE_STREAM,
|
|
67
69
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_UNKNOWN]: undefined,
|
|
68
70
|
[dispatcher_1.ResourceEventType.UNRECOGNIZED]: undefined,
|
|
69
71
|
};
|
|
@@ -74,6 +76,7 @@ const workflowEventTypeMap = {
|
|
|
74
76
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_CANCELLED]: RunEventType.WORKFLOW_RUN_EVENT_TYPE_CANCELLED,
|
|
75
77
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_TIMED_OUT]: RunEventType.WORKFLOW_RUN_EVENT_TYPE_TIMED_OUT,
|
|
76
78
|
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_UNKNOWN]: undefined,
|
|
79
|
+
[dispatcher_1.ResourceEventType.RESOURCE_EVENT_TYPE_STREAM]: undefined,
|
|
77
80
|
[dispatcher_1.ResourceEventType.UNRECOGNIZED]: undefined,
|
|
78
81
|
};
|
|
79
82
|
const resourceTypeMap = {
|
package/package.json
CHANGED
|
@@ -42,6 +42,7 @@ export declare enum ResourceEventType {
|
|
|
42
42
|
RESOURCE_EVENT_TYPE_FAILED = 3,
|
|
43
43
|
RESOURCE_EVENT_TYPE_CANCELLED = 4,
|
|
44
44
|
RESOURCE_EVENT_TYPE_TIMED_OUT = 5,
|
|
45
|
+
RESOURCE_EVENT_TYPE_STREAM = 6,
|
|
45
46
|
UNRECOGNIZED = -1
|
|
46
47
|
}
|
|
47
48
|
export declare function resourceEventTypeFromJSON(object: any): ResourceEventType;
|
|
@@ -203,6 +203,7 @@ var ResourceEventType;
|
|
|
203
203
|
ResourceEventType[ResourceEventType["RESOURCE_EVENT_TYPE_FAILED"] = 3] = "RESOURCE_EVENT_TYPE_FAILED";
|
|
204
204
|
ResourceEventType[ResourceEventType["RESOURCE_EVENT_TYPE_CANCELLED"] = 4] = "RESOURCE_EVENT_TYPE_CANCELLED";
|
|
205
205
|
ResourceEventType[ResourceEventType["RESOURCE_EVENT_TYPE_TIMED_OUT"] = 5] = "RESOURCE_EVENT_TYPE_TIMED_OUT";
|
|
206
|
+
ResourceEventType[ResourceEventType["RESOURCE_EVENT_TYPE_STREAM"] = 6] = "RESOURCE_EVENT_TYPE_STREAM";
|
|
206
207
|
ResourceEventType[ResourceEventType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
207
208
|
})(ResourceEventType || (exports.ResourceEventType = ResourceEventType = {}));
|
|
208
209
|
function resourceEventTypeFromJSON(object) {
|
|
@@ -225,6 +226,9 @@ function resourceEventTypeFromJSON(object) {
|
|
|
225
226
|
case 5:
|
|
226
227
|
case 'RESOURCE_EVENT_TYPE_TIMED_OUT':
|
|
227
228
|
return ResourceEventType.RESOURCE_EVENT_TYPE_TIMED_OUT;
|
|
229
|
+
case 6:
|
|
230
|
+
case 'RESOURCE_EVENT_TYPE_STREAM':
|
|
231
|
+
return ResourceEventType.RESOURCE_EVENT_TYPE_STREAM;
|
|
228
232
|
case -1:
|
|
229
233
|
case 'UNRECOGNIZED':
|
|
230
234
|
default:
|
|
@@ -246,6 +250,8 @@ function resourceEventTypeToJSON(object) {
|
|
|
246
250
|
return 'RESOURCE_EVENT_TYPE_CANCELLED';
|
|
247
251
|
case ResourceEventType.RESOURCE_EVENT_TYPE_TIMED_OUT:
|
|
248
252
|
return 'RESOURCE_EVENT_TYPE_TIMED_OUT';
|
|
253
|
+
case ResourceEventType.RESOURCE_EVENT_TYPE_STREAM:
|
|
254
|
+
return 'RESOURCE_EVENT_TYPE_STREAM';
|
|
249
255
|
case ResourceEventType.UNRECOGNIZED:
|
|
250
256
|
default:
|
|
251
257
|
return 'UNRECOGNIZED';
|
|
@@ -27,6 +27,18 @@ export interface PutLogRequest {
|
|
|
27
27
|
}
|
|
28
28
|
export interface PutLogResponse {
|
|
29
29
|
}
|
|
30
|
+
export interface PutStreamEventRequest {
|
|
31
|
+
/** the step run id for the request */
|
|
32
|
+
stepRunId: string;
|
|
33
|
+
/** when the stream event was created */
|
|
34
|
+
createdAt: Date | undefined;
|
|
35
|
+
/** the stream event message */
|
|
36
|
+
message: Uint8Array;
|
|
37
|
+
/** associated stream event metadata */
|
|
38
|
+
metadata: string;
|
|
39
|
+
}
|
|
40
|
+
export interface PutStreamEventResponse {
|
|
41
|
+
}
|
|
30
42
|
export interface PushEventRequest {
|
|
31
43
|
/** the key for the event */
|
|
32
44
|
key: string;
|
|
@@ -63,6 +75,22 @@ export declare const PutLogResponse: {
|
|
|
63
75
|
create(base?: DeepPartial<PutLogResponse>): PutLogResponse;
|
|
64
76
|
fromPartial(_: DeepPartial<PutLogResponse>): PutLogResponse;
|
|
65
77
|
};
|
|
78
|
+
export declare const PutStreamEventRequest: {
|
|
79
|
+
encode(message: PutStreamEventRequest, writer?: _m0.Writer): _m0.Writer;
|
|
80
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): PutStreamEventRequest;
|
|
81
|
+
fromJSON(object: any): PutStreamEventRequest;
|
|
82
|
+
toJSON(message: PutStreamEventRequest): unknown;
|
|
83
|
+
create(base?: DeepPartial<PutStreamEventRequest>): PutStreamEventRequest;
|
|
84
|
+
fromPartial(object: DeepPartial<PutStreamEventRequest>): PutStreamEventRequest;
|
|
85
|
+
};
|
|
86
|
+
export declare const PutStreamEventResponse: {
|
|
87
|
+
encode(_: PutStreamEventResponse, writer?: _m0.Writer): _m0.Writer;
|
|
88
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): PutStreamEventResponse;
|
|
89
|
+
fromJSON(_: any): PutStreamEventResponse;
|
|
90
|
+
toJSON(_: PutStreamEventResponse): unknown;
|
|
91
|
+
create(base?: DeepPartial<PutStreamEventResponse>): PutStreamEventResponse;
|
|
92
|
+
fromPartial(_: DeepPartial<PutStreamEventResponse>): PutStreamEventResponse;
|
|
93
|
+
};
|
|
66
94
|
export declare const PushEventRequest: {
|
|
67
95
|
encode(message: PushEventRequest, writer?: _m0.Writer): _m0.Writer;
|
|
68
96
|
decode(input: _m0.Reader | Uint8Array, length?: number): PushEventRequest;
|
|
@@ -150,17 +178,41 @@ export declare const EventsServiceDefinition: {
|
|
|
150
178
|
readonly responseStream: false;
|
|
151
179
|
readonly options: {};
|
|
152
180
|
};
|
|
181
|
+
readonly putStreamEvent: {
|
|
182
|
+
readonly name: "PutStreamEvent";
|
|
183
|
+
readonly requestType: {
|
|
184
|
+
encode(message: PutStreamEventRequest, writer?: _m0.Writer): _m0.Writer;
|
|
185
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): PutStreamEventRequest;
|
|
186
|
+
fromJSON(object: any): PutStreamEventRequest;
|
|
187
|
+
toJSON(message: PutStreamEventRequest): unknown;
|
|
188
|
+
create(base?: DeepPartial<PutStreamEventRequest>): PutStreamEventRequest;
|
|
189
|
+
fromPartial(object: DeepPartial<PutStreamEventRequest>): PutStreamEventRequest;
|
|
190
|
+
};
|
|
191
|
+
readonly requestStream: false;
|
|
192
|
+
readonly responseType: {
|
|
193
|
+
encode(_: PutStreamEventResponse, writer?: _m0.Writer): _m0.Writer;
|
|
194
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): PutStreamEventResponse;
|
|
195
|
+
fromJSON(_: any): PutStreamEventResponse;
|
|
196
|
+
toJSON(_: PutStreamEventResponse): unknown;
|
|
197
|
+
create(base?: DeepPartial<PutStreamEventResponse>): PutStreamEventResponse;
|
|
198
|
+
fromPartial(_: DeepPartial<PutStreamEventResponse>): PutStreamEventResponse;
|
|
199
|
+
};
|
|
200
|
+
readonly responseStream: false;
|
|
201
|
+
readonly options: {};
|
|
202
|
+
};
|
|
153
203
|
};
|
|
154
204
|
};
|
|
155
205
|
export interface EventsServiceImplementation<CallContextExt = {}> {
|
|
156
206
|
push(request: PushEventRequest, context: CallContext & CallContextExt): Promise<DeepPartial<Event>>;
|
|
157
207
|
replaySingleEvent(request: ReplayEventRequest, context: CallContext & CallContextExt): Promise<DeepPartial<Event>>;
|
|
158
208
|
putLog(request: PutLogRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PutLogResponse>>;
|
|
209
|
+
putStreamEvent(request: PutStreamEventRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PutStreamEventResponse>>;
|
|
159
210
|
}
|
|
160
211
|
export interface EventsServiceClient<CallOptionsExt = {}> {
|
|
161
212
|
push(request: DeepPartial<PushEventRequest>, options?: CallOptions & CallOptionsExt): Promise<Event>;
|
|
162
213
|
replaySingleEvent(request: DeepPartial<ReplayEventRequest>, options?: CallOptions & CallOptionsExt): Promise<Event>;
|
|
163
214
|
putLog(request: DeepPartial<PutLogRequest>, options?: CallOptions & CallOptionsExt): Promise<PutLogResponse>;
|
|
215
|
+
putStreamEvent(request: DeepPartial<PutStreamEventRequest>, options?: CallOptions & CallOptionsExt): Promise<PutStreamEventResponse>;
|
|
164
216
|
}
|
|
165
217
|
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
166
218
|
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
package/protoc/events/events.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.EventsServiceDefinition = exports.ReplayEventRequest = exports.PushEventRequest = exports.PutLogResponse = exports.PutLogRequest = exports.Event = exports.protobufPackage = void 0;
|
|
26
|
+
exports.EventsServiceDefinition = exports.ReplayEventRequest = exports.PushEventRequest = exports.PutStreamEventResponse = exports.PutStreamEventRequest = exports.PutLogResponse = exports.PutLogRequest = exports.Event = exports.protobufPackage = void 0;
|
|
27
27
|
const _m0 = __importStar(require("protobufjs/minimal"));
|
|
28
28
|
const timestamp_1 = require("../google/protobuf/timestamp");
|
|
29
29
|
exports.protobufPackage = '';
|
|
@@ -284,6 +284,138 @@ exports.PutLogResponse = {
|
|
|
284
284
|
return message;
|
|
285
285
|
},
|
|
286
286
|
};
|
|
287
|
+
function createBasePutStreamEventRequest() {
|
|
288
|
+
return { stepRunId: '', createdAt: undefined, message: new Uint8Array(0), metadata: '' };
|
|
289
|
+
}
|
|
290
|
+
exports.PutStreamEventRequest = {
|
|
291
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
292
|
+
if (message.stepRunId !== '') {
|
|
293
|
+
writer.uint32(10).string(message.stepRunId);
|
|
294
|
+
}
|
|
295
|
+
if (message.createdAt !== undefined) {
|
|
296
|
+
timestamp_1.Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(18).fork()).ldelim();
|
|
297
|
+
}
|
|
298
|
+
if (message.message.length !== 0) {
|
|
299
|
+
writer.uint32(26).bytes(message.message);
|
|
300
|
+
}
|
|
301
|
+
if (message.metadata !== '') {
|
|
302
|
+
writer.uint32(42).string(message.metadata);
|
|
303
|
+
}
|
|
304
|
+
return writer;
|
|
305
|
+
},
|
|
306
|
+
decode(input, length) {
|
|
307
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
308
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
309
|
+
const message = createBasePutStreamEventRequest();
|
|
310
|
+
while (reader.pos < end) {
|
|
311
|
+
const tag = reader.uint32();
|
|
312
|
+
switch (tag >>> 3) {
|
|
313
|
+
case 1:
|
|
314
|
+
if (tag !== 10) {
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
message.stepRunId = reader.string();
|
|
318
|
+
continue;
|
|
319
|
+
case 2:
|
|
320
|
+
if (tag !== 18) {
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
message.createdAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
|
|
324
|
+
continue;
|
|
325
|
+
case 3:
|
|
326
|
+
if (tag !== 26) {
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
message.message = reader.bytes();
|
|
330
|
+
continue;
|
|
331
|
+
case 5:
|
|
332
|
+
if (tag !== 42) {
|
|
333
|
+
break;
|
|
334
|
+
}
|
|
335
|
+
message.metadata = reader.string();
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
reader.skipType(tag & 7);
|
|
342
|
+
}
|
|
343
|
+
return message;
|
|
344
|
+
},
|
|
345
|
+
fromJSON(object) {
|
|
346
|
+
return {
|
|
347
|
+
stepRunId: isSet(object.stepRunId) ? globalThis.String(object.stepRunId) : '',
|
|
348
|
+
createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
|
|
349
|
+
message: isSet(object.message) ? bytesFromBase64(object.message) : new Uint8Array(0),
|
|
350
|
+
metadata: isSet(object.metadata) ? globalThis.String(object.metadata) : '',
|
|
351
|
+
};
|
|
352
|
+
},
|
|
353
|
+
toJSON(message) {
|
|
354
|
+
const obj = {};
|
|
355
|
+
if (message.stepRunId !== '') {
|
|
356
|
+
obj.stepRunId = message.stepRunId;
|
|
357
|
+
}
|
|
358
|
+
if (message.createdAt !== undefined) {
|
|
359
|
+
obj.createdAt = message.createdAt.toISOString();
|
|
360
|
+
}
|
|
361
|
+
if (message.message.length !== 0) {
|
|
362
|
+
obj.message = base64FromBytes(message.message);
|
|
363
|
+
}
|
|
364
|
+
if (message.metadata !== '') {
|
|
365
|
+
obj.metadata = message.metadata;
|
|
366
|
+
}
|
|
367
|
+
return obj;
|
|
368
|
+
},
|
|
369
|
+
create(base) {
|
|
370
|
+
return exports.PutStreamEventRequest.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
371
|
+
},
|
|
372
|
+
fromPartial(object) {
|
|
373
|
+
var _a, _b, _c, _d;
|
|
374
|
+
const message = createBasePutStreamEventRequest();
|
|
375
|
+
message.stepRunId = (_a = object.stepRunId) !== null && _a !== void 0 ? _a : '';
|
|
376
|
+
message.createdAt = (_b = object.createdAt) !== null && _b !== void 0 ? _b : undefined;
|
|
377
|
+
message.message = (_c = object.message) !== null && _c !== void 0 ? _c : new Uint8Array(0);
|
|
378
|
+
message.metadata = (_d = object.metadata) !== null && _d !== void 0 ? _d : '';
|
|
379
|
+
return message;
|
|
380
|
+
},
|
|
381
|
+
};
|
|
382
|
+
function createBasePutStreamEventResponse() {
|
|
383
|
+
return {};
|
|
384
|
+
}
|
|
385
|
+
exports.PutStreamEventResponse = {
|
|
386
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
387
|
+
return writer;
|
|
388
|
+
},
|
|
389
|
+
decode(input, length) {
|
|
390
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
391
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
392
|
+
const message = createBasePutStreamEventResponse();
|
|
393
|
+
while (reader.pos < end) {
|
|
394
|
+
const tag = reader.uint32();
|
|
395
|
+
switch (tag >>> 3) {
|
|
396
|
+
}
|
|
397
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
reader.skipType(tag & 7);
|
|
401
|
+
}
|
|
402
|
+
return message;
|
|
403
|
+
},
|
|
404
|
+
fromJSON(_) {
|
|
405
|
+
return {};
|
|
406
|
+
},
|
|
407
|
+
toJSON(_) {
|
|
408
|
+
const obj = {};
|
|
409
|
+
return obj;
|
|
410
|
+
},
|
|
411
|
+
create(base) {
|
|
412
|
+
return exports.PutStreamEventResponse.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
413
|
+
},
|
|
414
|
+
fromPartial(_) {
|
|
415
|
+
const message = createBasePutStreamEventResponse();
|
|
416
|
+
return message;
|
|
417
|
+
},
|
|
418
|
+
};
|
|
287
419
|
function createBasePushEventRequest() {
|
|
288
420
|
return { key: '', payload: '', eventTimestamp: undefined };
|
|
289
421
|
}
|
|
@@ -446,8 +578,41 @@ exports.EventsServiceDefinition = {
|
|
|
446
578
|
responseStream: false,
|
|
447
579
|
options: {},
|
|
448
580
|
},
|
|
581
|
+
putStreamEvent: {
|
|
582
|
+
name: 'PutStreamEvent',
|
|
583
|
+
requestType: exports.PutStreamEventRequest,
|
|
584
|
+
requestStream: false,
|
|
585
|
+
responseType: exports.PutStreamEventResponse,
|
|
586
|
+
responseStream: false,
|
|
587
|
+
options: {},
|
|
588
|
+
},
|
|
449
589
|
},
|
|
450
590
|
};
|
|
591
|
+
function bytesFromBase64(b64) {
|
|
592
|
+
if (globalThis.Buffer) {
|
|
593
|
+
return Uint8Array.from(globalThis.Buffer.from(b64, 'base64'));
|
|
594
|
+
}
|
|
595
|
+
else {
|
|
596
|
+
const bin = globalThis.atob(b64);
|
|
597
|
+
const arr = new Uint8Array(bin.length);
|
|
598
|
+
for (let i = 0; i < bin.length; ++i) {
|
|
599
|
+
arr[i] = bin.charCodeAt(i);
|
|
600
|
+
}
|
|
601
|
+
return arr;
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
function base64FromBytes(arr) {
|
|
605
|
+
if (globalThis.Buffer) {
|
|
606
|
+
return globalThis.Buffer.from(arr).toString('base64');
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
609
|
+
const bin = [];
|
|
610
|
+
arr.forEach((byte) => {
|
|
611
|
+
bin.push(globalThis.String.fromCharCode(byte));
|
|
612
|
+
});
|
|
613
|
+
return globalThis.btoa(bin.join(''));
|
|
614
|
+
}
|
|
615
|
+
}
|
|
451
616
|
function toTimestamp(date) {
|
|
452
617
|
const seconds = Math.trunc(date.getTime() / 1000);
|
|
453
618
|
const nanos = (date.getTime() % 1000) * 1000000;
|
package/step.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export declare class Context<T, K> {
|
|
|
59
59
|
workflowRunId(): string;
|
|
60
60
|
playground(name: string, defaultValue?: string): string;
|
|
61
61
|
log(message: string, level?: LogLevel): void;
|
|
62
|
+
putStream(data: string | Uint8Array): Promise<void>;
|
|
62
63
|
spawnWorkflow<P = unknown>(workflowName: string, input: T, key?: string): ChildWorkflowRef<P>;
|
|
63
64
|
}
|
|
64
65
|
export type StepRunFunction<T, K> = (ctx: Context<T, K>) => Promise<NextStep> | NextStep | void;
|
package/step.js
CHANGED
|
@@ -182,6 +182,17 @@ class Context {
|
|
|
182
182
|
}
|
|
183
183
|
this.client.event.putLog(stepRunId, message, level);
|
|
184
184
|
}
|
|
185
|
+
putStream(data) {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
const { stepRunId } = this.action;
|
|
188
|
+
if (!stepRunId) {
|
|
189
|
+
// log a warning
|
|
190
|
+
this.logger.warn('cannot log from context without stepRunId');
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
yield this.client.event.putStream(stepRunId, data);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
185
196
|
spawnWorkflow(workflowName, input, key) {
|
|
186
197
|
const { workflowRunId, stepRunId } = this.action;
|
|
187
198
|
const childWorkflowRunIdPromise = this.client.admin.run_workflow(workflowName, input, {
|