@t4h.framework/dev 0.0.0-experimental-20261006121555 → 0.0.0-experimental-20261006133319
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 +16 -1
- package/README.md +7 -0
- package/dist/AppProcess.d.ts +7 -1
- package/dist/AppProcess.js +5 -2
- package/dist/AppProcess.js.map +1 -1
- package/dist/HeadlessApp.d.ts +3 -1
- package/dist/HeadlessApp.js +2 -2
- package/dist/HeadlessApp.js.map +1 -1
- package/dist/Server.d.ts +3 -0
- package/dist/Server.js +5 -0
- package/dist/Server.js.map +1 -1
- package/dist/constants/server.d.ts +4 -0
- package/dist/constants/server.js +4 -0
- package/dist/constants/server.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/models/RuntimeControlServer.d.ts +32 -0
- package/dist/models/RuntimeControlServer.js +75 -0
- package/dist/models/RuntimeControlServer.js.map +1 -0
- package/dist/models/RuntimeDebugLog.d.ts +10 -0
- package/dist/models/RuntimeDebugLog.js +32 -0
- package/dist/models/RuntimeDebugLog.js.map +1 -0
- package/dist/models/RuntimeEvent.d.ts +95 -0
- package/dist/models/RuntimeEvent.js +2 -0
- package/dist/models/RuntimeEvent.js.map +1 -0
- package/dist/models/WorkflowRunJob.d.ts +4 -0
- package/dist/services/RuntimeEvents.service.d.ts +16 -0
- package/dist/services/RuntimeEvents.service.js +35 -0
- package/dist/services/RuntimeEvents.service.js.map +1 -0
- package/dist/services/WorkflowRunScheduler.service.d.ts +11 -1
- package/dist/services/WorkflowRunScheduler.service.js +93 -3
- package/dist/services/WorkflowRunScheduler.service.js.map +1 -1
- package/dist/tools/format-runtime-event.d.ts +3 -0
- package/dist/tools/format-runtime-event.js +51 -0
- package/dist/tools/format-runtime-event.js.map +1 -0
- package/dist/tools/runtime-control-client.d.ts +15 -0
- package/dist/tools/runtime-control-client.js +54 -0
- package/dist/tools/runtime-control-client.js.map +1 -0
- package/dist/tools/runtime-registry.d.ts +26 -0
- package/dist/tools/runtime-registry.js +57 -0
- package/dist/tools/runtime-registry.js.map +1 -0
- package/dist/tools/start-runtime-monitor.d.ts +12 -0
- package/dist/tools/start-runtime-monitor.js +69 -0
- package/dist/tools/start-runtime-monitor.js.map +1 -0
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +3 -1
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +20 -2
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +3 -1
- package/dist/use-cases/NextTickWorkflowRun.usecase.js +40 -3
- package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
- package/dist/workers/app-process.js +31 -16
- package/dist/workers/app-process.js.map +1 -1
- package/dist/workers/workflow-worker.js +4 -0
- package/dist/workers/workflow-worker.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @t4h.framework/dev
|
|
2
2
|
|
|
3
|
-
## 0.0.0-experimental-
|
|
3
|
+
## 0.0.0-experimental-20261006133319
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -29,6 +29,21 @@
|
|
|
29
29
|
stored there so every worker sees the same cache. A worker that dies rejects
|
|
30
30
|
the runs it held and is replaced.
|
|
31
31
|
|
|
32
|
+
- [#210](https://github.com/tech4humans-brasil/framework/pull/210) [`990c074`](https://github.com/tech4humans-brasil/framework/commit/990c074af498cb7610d310e295ad613dce7a9b52) Thanks [@tony-tsx](https://github.com/tony-tsx)! - The dev runtime publishes what it runs: jobs queued, started and finished
|
|
33
|
+
(with the queue counts), runs created and settled, activities started, waiting
|
|
34
|
+
and settled (with the error of a rejected one), timeouts and lost workers.
|
|
35
|
+
- `--debug` on `framework dev` and `framework workflows <workflow> run` prints
|
|
36
|
+
those events on stderr; `--debug-log <file>` appends them to a file as NDJSON.
|
|
37
|
+
- Every app process registers itself and listens on a local socket (named pipe
|
|
38
|
+
on Windows). `framework runtime ls` lists them, `framework runtime status`
|
|
39
|
+
prints the queue, the jobs running and waiting and the runs in progress, and
|
|
40
|
+
`framework runtime watch` follows the events live (`--json` for NDJSON),
|
|
41
|
+
reconnecting across `dev` rebuilds.
|
|
42
|
+
|
|
43
|
+
`@t4h.framework/dev` exports `listRuntimes`, `requestRuntimeStatus`,
|
|
44
|
+
`watchRuntime` and `formatRuntimeEvent`, and takes `debugLog` on `Server` and
|
|
45
|
+
`HeadlessApp.up`.
|
|
46
|
+
|
|
32
47
|
## 0.22.4
|
|
33
48
|
|
|
34
49
|
## 0.22.3
|
package/README.md
CHANGED
|
@@ -188,6 +188,13 @@ export default defineConfig({
|
|
|
188
188
|
})
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
+
### Debugging and monitoring
|
|
192
|
+
|
|
193
|
+
The runtime publishes an event for every job it queues, starts and finishes (with the queue counts at that moment), every run created and settled, every activity started, waiting and settled, every timeout and every worker lost.
|
|
194
|
+
|
|
195
|
+
- **Debug log** — `framework dev --debug` / `framework workflows <workflow> run --debug` print them on stderr; `--debug-log <file>` appends them to a file as NDJSON. Programmatically: `debugLog: '-'` or a path on `Server` and `HeadlessApp.up`.
|
|
196
|
+
- **Another process** — each app process registers in `<tmpdir>/t4h-framework/runtimes` and listens on a local socket (named pipe on Windows). `framework runtime ls | status | watch` reads it; from code, `listRuntimes()`, `requestRuntimeStatus(runtime)` and `watchRuntime(runtime, { onEvent })`.
|
|
197
|
+
|
|
191
198
|
## State
|
|
192
199
|
|
|
193
200
|
Workflow runs, activities, pending async activities, logs and the cache live in a SQLite database (`node:sqlite`) in a temporary file the app process creates and removes on exit; the workers open the same file (WAL mode). With `workers: 0` it stays in memory. Every successful build forks a fresh process, so **a rebuild resets all runs, timers and pending activities**; the `manifest` SSE event tells a UI to reload. The queue is not durable either: nothing resumes across rebuilds, by design.
|
package/dist/AppProcess.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { fork } from 'node:child_process';
|
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
import type { App } from '@t4h.framework/core';
|
|
4
4
|
import type { FrameworkRuntimeConfig } from './models/FrameworkConfig.js';
|
|
5
|
+
import type { RuntimeKind } from './tools/runtime-registry.js';
|
|
5
6
|
export type AppManifest = ReturnType<App['toManifest']>;
|
|
6
7
|
export type AppProcessState = 'idle' | 'starting' | 'ready' | 'exited';
|
|
7
8
|
export declare class AppProcessNotReadyError extends Error {
|
|
@@ -20,6 +21,11 @@ export interface AppProcessUpOptions {
|
|
|
20
21
|
serverUrl?: string;
|
|
21
22
|
/** How the app runs workflows; see `FrameworkConfig.runtime`. */
|
|
22
23
|
runtime?: FrameworkRuntimeConfig;
|
|
24
|
+
/** Advertised to `framework runtime` so it can tell runtimes apart. */
|
|
25
|
+
kind?: RuntimeKind;
|
|
26
|
+
projectDir?: string;
|
|
27
|
+
/** Logs every runtime event: `-` to stderr, or a file path (NDJSON). */
|
|
28
|
+
debugLog?: string;
|
|
23
29
|
}
|
|
24
30
|
export declare class AppProcess extends EventEmitter {
|
|
25
31
|
private readonly workerPath;
|
|
@@ -36,7 +42,7 @@ export declare class AppProcess extends EventEmitter {
|
|
|
36
42
|
constructor({ workerPath, readyTimeoutInMs, killTimeoutInMs, fork: forkProcess, stdout, }?: AppProcessOptions);
|
|
37
43
|
get manifest(): AppManifest | null;
|
|
38
44
|
get state(): AppProcessState;
|
|
39
|
-
up(entrypoint: string, env: Record<string, string>, { serverUrl, runtime }?: AppProcessUpOptions): Promise<AppManifest>;
|
|
45
|
+
up(entrypoint: string, env: Record<string, string>, { serverUrl, runtime, kind, projectDir, debugLog, }?: AppProcessUpOptions): Promise<AppManifest>;
|
|
40
46
|
down(): Promise<void>;
|
|
41
47
|
private kill;
|
|
42
48
|
whenReady(): Promise<AppManifest>;
|
package/dist/AppProcess.js
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter } from 'node:events';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { styleText } from 'node:util';
|
|
5
5
|
import Type from 'typebox';
|
|
6
|
-
import { APP_KILL_TIMEOUT_IN_MS, APP_READY_TIMEOUT_IN_MS, RUNTIME_CONCURRENCY_ARG, RUNTIME_WORKERS_ARG, SERVER_URL_ARG, WORKFLOW_RUN_EVENTS, } from './constants/server.js';
|
|
6
|
+
import { APP_KILL_TIMEOUT_IN_MS, APP_READY_TIMEOUT_IN_MS, DEBUG_LOG_ARG, PROJECT_DIR_ARG, RUNTIME_CONCURRENCY_ARG, RUNTIME_KIND_ARG, RUNTIME_WORKERS_ARG, SERVER_URL_ARG, WORKFLOW_RUN_EVENTS, } from './constants/server.js';
|
|
7
7
|
import { JSONRPCClient } from './models/JSONRPCClient.js';
|
|
8
8
|
import { JSONRPCServer, JSONRPCServerMethod } from './models/JSONRPCServer.js';
|
|
9
9
|
export class AppProcessNotReadyError extends Error {
|
|
@@ -41,7 +41,7 @@ export class AppProcess extends EventEmitter {
|
|
|
41
41
|
get state() {
|
|
42
42
|
return this.currentState;
|
|
43
43
|
}
|
|
44
|
-
async up(entrypoint, env, { serverUrl, runtime } = {}) {
|
|
44
|
+
async up(entrypoint, env, { serverUrl, runtime, kind, projectDir, debugLog, } = {}) {
|
|
45
45
|
const previous = this.child;
|
|
46
46
|
this.child = null;
|
|
47
47
|
this.client?.rejectPending(new AppProcessNotReadyError('App process is restarting'));
|
|
@@ -59,6 +59,9 @@ export class AppProcess extends EventEmitter {
|
|
|
59
59
|
...(runtime?.concurrency !== undefined
|
|
60
60
|
? [`${RUNTIME_CONCURRENCY_ARG}${runtime.concurrency}`]
|
|
61
61
|
: []),
|
|
62
|
+
...(kind ? [`${RUNTIME_KIND_ARG}${kind}`] : []),
|
|
63
|
+
...(projectDir ? [`${PROJECT_DIR_ARG}${projectDir}`] : []),
|
|
64
|
+
...(debugLog ? [`${DEBUG_LOG_ARG}${debugLog}`] : []),
|
|
62
65
|
...Object.entries(env).map(([name, value]) => `${name}=${value}`),
|
|
63
66
|
], {
|
|
64
67
|
stdio: [
|
package/dist/AppProcess.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProcess.js","sourceRoot":"","sources":["../src/AppProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"AppProcess.js","sourceRoot":"","sources":["../src/AppProcess.ts"],"names":[],"mappings":"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"}
|
package/dist/HeadlessApp.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface HeadlessAppUpOptions {
|
|
|
5
5
|
/** Path to the project's `package.json` (or its directory). */
|
|
6
6
|
entrypoint: string;
|
|
7
7
|
env?: Record<string, string>;
|
|
8
|
+
/** Logs every runtime event: `-` to stderr, or a file path (NDJSON). */
|
|
9
|
+
debugLog?: string;
|
|
8
10
|
}
|
|
9
11
|
export interface HeadlessRunOptions {
|
|
10
12
|
/** Gives up waiting after this long; the run keeps its `running` status. */
|
|
@@ -49,7 +51,7 @@ export declare class HeadlessApp {
|
|
|
49
51
|
readonly manifest: AppManifest;
|
|
50
52
|
private readonly outDir;
|
|
51
53
|
constructor(appProcess: HeadlessAppProcess, manifest: AppManifest, outDir?: string | null);
|
|
52
|
-
static up({ entrypoint, env, }: HeadlessAppUpOptions): Promise<HeadlessApp>;
|
|
54
|
+
static up({ entrypoint, env, debugLog, }: HeadlessAppUpOptions): Promise<HeadlessApp>;
|
|
53
55
|
get workflows(): AppManifest['workflows'];
|
|
54
56
|
/** Starts a run and waits until it settles or `timeoutInMs` elapses. */
|
|
55
57
|
run(workflowId: string, input: unknown, { timeoutInMs, trace, }?: HeadlessRunOptions): Promise<HeadlessRunResult>;
|
package/dist/HeadlessApp.js
CHANGED
|
@@ -35,7 +35,7 @@ export class HeadlessApp {
|
|
|
35
35
|
this.manifest = manifest;
|
|
36
36
|
this.outDir = outDir;
|
|
37
37
|
}
|
|
38
|
-
static async up({ entrypoint, env = {}, }) {
|
|
38
|
+
static async up({ entrypoint, env = {}, debugLog, }) {
|
|
39
39
|
const packageJsonPath = await resolvePackageJsonPath(entrypoint);
|
|
40
40
|
const tsConfigPath = await resolveTsconfigFromPackageJsonPath(packageJsonPath);
|
|
41
41
|
const projectDir = path.dirname(packageJsonPath);
|
|
@@ -60,7 +60,7 @@ export class HeadlessApp {
|
|
|
60
60
|
throw new Error('Main is not a string');
|
|
61
61
|
const appProcess = new AppProcess({ stdout: 'stderr' });
|
|
62
62
|
const manifest = await appProcess
|
|
63
|
-
.up(pathToFileURL(path.join(outDir, 'dist', packageJson.main)).href, env, { runtime })
|
|
63
|
+
.up(pathToFileURL(path.join(outDir, 'dist', packageJson.main)).href, env, { runtime, kind: 'headless', projectDir, debugLog })
|
|
64
64
|
.catch(async (error) => {
|
|
65
65
|
await appProcess.down();
|
|
66
66
|
throw error;
|
package/dist/HeadlessApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadlessApp.js","sourceRoot":"","sources":["../src/HeadlessApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,oDAAoD,EAAE,MAAM,4EAA4E,CAAA;AACjJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAA;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"HeadlessApp.js","sourceRoot":"","sources":["../src/HeadlessApp.ts"],"names":[],"mappings":"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"}
|
package/dist/Server.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface ServerOptions {
|
|
|
14
14
|
host?: string;
|
|
15
15
|
vite?: ServerViteOptions | false;
|
|
16
16
|
logger?: ServerLogger | false;
|
|
17
|
+
/** Logs every runtime event: `-` to stderr, or a file path (NDJSON). */
|
|
18
|
+
debugLog?: string;
|
|
17
19
|
}
|
|
18
20
|
export interface ServerAddress {
|
|
19
21
|
host: string;
|
|
@@ -32,6 +34,7 @@ export declare class Server extends EventEmitter {
|
|
|
32
34
|
private packageJsonPath;
|
|
33
35
|
private outDir;
|
|
34
36
|
private runtime;
|
|
37
|
+
private projectDir;
|
|
35
38
|
constructor(options: ServerOptions);
|
|
36
39
|
get manifest(): AppManifest | null;
|
|
37
40
|
get address(): ServerAddress;
|
package/dist/Server.js
CHANGED
|
@@ -37,6 +37,7 @@ export class Server extends EventEmitter {
|
|
|
37
37
|
packageJsonPath = null;
|
|
38
38
|
outDir = null;
|
|
39
39
|
runtime = undefined;
|
|
40
|
+
projectDir = null;
|
|
40
41
|
constructor(options) {
|
|
41
42
|
super();
|
|
42
43
|
this.options = options;
|
|
@@ -66,6 +67,7 @@ export class Server extends EventEmitter {
|
|
|
66
67
|
const project = await mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, this.packageJsonPath);
|
|
67
68
|
this.outDir = project.outDir;
|
|
68
69
|
const projectDir = path.dirname(this.packageJsonPath);
|
|
70
|
+
this.projectDir = projectDir;
|
|
69
71
|
this.runtime = toRuntimeConfig((await loadFrameworkConfig(projectDir)).runtime);
|
|
70
72
|
const app = createApp({
|
|
71
73
|
appProcess: this.appProcess,
|
|
@@ -144,6 +146,9 @@ export class Server extends EventEmitter {
|
|
|
144
146
|
manifest = await this.appProcess.up(entrypoint, this.options.env, {
|
|
145
147
|
serverUrl: this.currentAddress?.url,
|
|
146
148
|
runtime: this.runtime,
|
|
149
|
+
kind: 'dev',
|
|
150
|
+
projectDir: this.projectDir ?? undefined,
|
|
151
|
+
debugLog: this.options.debugLog,
|
|
147
152
|
});
|
|
148
153
|
}
|
|
149
154
|
catch (error) {
|
package/dist/Server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,oDAAoD,EAAE,MAAM,4EAA4E,CAAA;AACjJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAA;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,8 @@ export declare const WORKFLOW_RUN_EVENTS: readonly ["run:created", "run:updated"
|
|
|
14
14
|
export declare const WORKFLOW_RUN_JOB_CONCURRENCY = 4;
|
|
15
15
|
export declare const RUNTIME_WORKERS_ARG = "--runtime-workers=";
|
|
16
16
|
export declare const RUNTIME_CONCURRENCY_ARG = "--runtime-concurrency=";
|
|
17
|
+
export declare const RUNTIME_KIND_ARG = "--runtime-kind=";
|
|
18
|
+
export declare const PROJECT_DIR_ARG = "--project-dir=";
|
|
19
|
+
/** `-` for readable lines on stderr, or a file path for NDJSON. */
|
|
20
|
+
export declare const DEBUG_LOG_ARG = "--debug-log=";
|
|
17
21
|
export declare const WORKFLOW_WORKER_READY_TIMEOUT_IN_MS = 30000;
|
package/dist/constants/server.js
CHANGED
|
@@ -14,5 +14,9 @@ export const WORKFLOW_RUN_EVENTS = ['run:created', 'run:updated'];
|
|
|
14
14
|
export const WORKFLOW_RUN_JOB_CONCURRENCY = 4;
|
|
15
15
|
export const RUNTIME_WORKERS_ARG = '--runtime-workers=';
|
|
16
16
|
export const RUNTIME_CONCURRENCY_ARG = '--runtime-concurrency=';
|
|
17
|
+
export const RUNTIME_KIND_ARG = '--runtime-kind=';
|
|
18
|
+
export const PROJECT_DIR_ARG = '--project-dir=';
|
|
19
|
+
/** `-` for readable lines on stderr, or a file path for NDJSON. */
|
|
20
|
+
export const DEBUG_LOG_ARG = '--debug-log=';
|
|
17
21
|
export const WORKFLOW_WORKER_READY_TIMEOUT_IN_MS = 30_000;
|
|
18
22
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/constants/server.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAElD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAE3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAA;AAE1E,uFAAuF;AACvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAA;AAE/D,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/constants/server.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAElD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAE3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAA;AAE1E,uFAAuF;AACvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAA;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE/C,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,3 +2,8 @@ export * from './Server.js';
|
|
|
2
2
|
export * from './models/WorkflowAuthorizationMissingError.js';
|
|
3
3
|
export type { AppManifest, AppProcessState } from './AppProcess.js';
|
|
4
4
|
export * from './HeadlessApp.js';
|
|
5
|
+
export { DEBUG_LOG_STDERR } from './models/RuntimeDebugLog.js';
|
|
6
|
+
export type * from './models/RuntimeEvent.js';
|
|
7
|
+
export { formatRuntimeEvent } from './tools/format-runtime-event.js';
|
|
8
|
+
export * from './tools/runtime-control-client.js';
|
|
9
|
+
export { listRuntimes, type RuntimeInfo, type RuntimeKind, type RuntimeStatus, } from './tools/runtime-registry.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export * from './Server.js';
|
|
2
2
|
export * from './models/WorkflowAuthorizationMissingError.js';
|
|
3
3
|
export * from './HeadlessApp.js';
|
|
4
|
+
export { DEBUG_LOG_STDERR } from './models/RuntimeDebugLog.js';
|
|
5
|
+
export { formatRuntimeEvent } from './tools/format-runtime-event.js';
|
|
6
|
+
export * from './tools/runtime-control-client.js';
|
|
7
|
+
export { listRuntimes, } from './tools/runtime-registry.js';
|
|
4
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,+CAA+C,CAAA;AAE7D,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,+CAA+C,CAAA;AAE7D,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,cAAc,mCAAmC,CAAA;AACjD,OAAO,EACL,YAAY,GAIb,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { RuntimeEvent } from './RuntimeEvent.js';
|
|
2
|
+
import type { RuntimeEventsService } from '../services/RuntimeEvents.service.js';
|
|
3
|
+
import { type RuntimeInfo, type RuntimeStatus } from '../tools/runtime-registry.js';
|
|
4
|
+
/** First line a client sends; the server answers with NDJSON lines. */
|
|
5
|
+
export interface RuntimeControlRequest {
|
|
6
|
+
method: 'status' | 'watch';
|
|
7
|
+
}
|
|
8
|
+
export type RuntimeControlMessage = ({
|
|
9
|
+
type: 'status';
|
|
10
|
+
} & RuntimeStatus) | {
|
|
11
|
+
type: 'event';
|
|
12
|
+
event: RuntimeEvent;
|
|
13
|
+
} | {
|
|
14
|
+
type: 'error';
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Local socket (named pipe on Windows) through which `framework runtime`
|
|
19
|
+
* reads the status of this app process and follows its events.
|
|
20
|
+
*/
|
|
21
|
+
export declare class RuntimeControlServer {
|
|
22
|
+
private readonly info;
|
|
23
|
+
private readonly status;
|
|
24
|
+
private readonly events;
|
|
25
|
+
private readonly server;
|
|
26
|
+
constructor(info: RuntimeInfo, status: () => Promise<RuntimeStatus>, events: RuntimeEventsService);
|
|
27
|
+
start(): Promise<void>;
|
|
28
|
+
/** Synchronous so it can run in a process `exit` handler. */
|
|
29
|
+
close(): void;
|
|
30
|
+
private onConnection;
|
|
31
|
+
private handle;
|
|
32
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import net from 'node:net';
|
|
3
|
+
import { runtimeRegistryDir, runtimeRegistryFile, } from '../tools/runtime-registry.js';
|
|
4
|
+
const send = (socket, message) => socket.write(`${JSON.stringify(message)}\n`);
|
|
5
|
+
/**
|
|
6
|
+
* Local socket (named pipe on Windows) through which `framework runtime`
|
|
7
|
+
* reads the status of this app process and follows its events.
|
|
8
|
+
*/
|
|
9
|
+
export class RuntimeControlServer {
|
|
10
|
+
info;
|
|
11
|
+
status;
|
|
12
|
+
events;
|
|
13
|
+
server;
|
|
14
|
+
constructor(info, status, events) {
|
|
15
|
+
this.info = info;
|
|
16
|
+
this.status = status;
|
|
17
|
+
this.events = events;
|
|
18
|
+
this.server = net.createServer(socket => this.onConnection(socket));
|
|
19
|
+
}
|
|
20
|
+
async start() {
|
|
21
|
+
fs.mkdirSync(runtimeRegistryDir(), { recursive: true, mode: 0o700 });
|
|
22
|
+
if (process.platform !== 'win32')
|
|
23
|
+
fs.rmSync(this.info.socket, { force: true });
|
|
24
|
+
await new Promise((resolve, reject) => {
|
|
25
|
+
this.server.once('error', reject);
|
|
26
|
+
this.server.listen(this.info.socket, () => {
|
|
27
|
+
this.server.off('error', reject);
|
|
28
|
+
resolve();
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
fs.writeFileSync(runtimeRegistryFile(this.info.pid), JSON.stringify(this.info, null, 2));
|
|
32
|
+
}
|
|
33
|
+
/** Synchronous so it can run in a process `exit` handler. */
|
|
34
|
+
close() {
|
|
35
|
+
this.server.close();
|
|
36
|
+
fs.rmSync(runtimeRegistryFile(this.info.pid), { force: true });
|
|
37
|
+
if (process.platform !== 'win32')
|
|
38
|
+
fs.rmSync(this.info.socket, { force: true });
|
|
39
|
+
}
|
|
40
|
+
onConnection(socket) {
|
|
41
|
+
let buffer = '';
|
|
42
|
+
socket.setEncoding('utf8');
|
|
43
|
+
socket.on('error', () => socket.destroy());
|
|
44
|
+
const onData = (chunk) => {
|
|
45
|
+
buffer += chunk;
|
|
46
|
+
const end = buffer.indexOf('\n');
|
|
47
|
+
if (end === -1)
|
|
48
|
+
return;
|
|
49
|
+
socket.off('data', onData);
|
|
50
|
+
void this.handle(socket, buffer.slice(0, end));
|
|
51
|
+
};
|
|
52
|
+
socket.on('data', onData);
|
|
53
|
+
}
|
|
54
|
+
async handle(socket, line) {
|
|
55
|
+
let request;
|
|
56
|
+
try {
|
|
57
|
+
request = JSON.parse(line);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
send(socket, { type: 'error', message: 'Invalid request' });
|
|
61
|
+
return void socket.end();
|
|
62
|
+
}
|
|
63
|
+
if (request.method !== 'status' && request.method !== 'watch') {
|
|
64
|
+
send(socket, { type: 'error', message: 'Unknown method' });
|
|
65
|
+
return void socket.end();
|
|
66
|
+
}
|
|
67
|
+
send(socket, { type: 'status', ...(await this.status()) });
|
|
68
|
+
if (request.method === 'status')
|
|
69
|
+
return void socket.end();
|
|
70
|
+
const forward = (event) => send(socket, { type: 'event', event });
|
|
71
|
+
this.events.on('event', forward);
|
|
72
|
+
socket.once('close', () => this.events.off('event', forward));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=RuntimeControlServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeControlServer.js","sourceRoot":"","sources":["../../src/models/RuntimeControlServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RuntimeEvent } from './RuntimeEvent.js';
|
|
2
|
+
/** `-` writes readable lines to stderr; a path appends NDJSON to that file. */
|
|
3
|
+
export declare const DEBUG_LOG_STDERR = "-";
|
|
4
|
+
export declare class RuntimeDebugLog {
|
|
5
|
+
private readonly toStderr;
|
|
6
|
+
private fd;
|
|
7
|
+
constructor(target: string);
|
|
8
|
+
readonly write: (event: RuntimeEvent) => void;
|
|
9
|
+
close(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { formatRuntimeEvent } from '../tools/format-runtime-event.js';
|
|
4
|
+
/** `-` writes readable lines to stderr; a path appends NDJSON to that file. */
|
|
5
|
+
export const DEBUG_LOG_STDERR = '-';
|
|
6
|
+
export class RuntimeDebugLog {
|
|
7
|
+
toStderr;
|
|
8
|
+
// Written synchronously: the app process may exit right after an event.
|
|
9
|
+
fd = null;
|
|
10
|
+
constructor(target) {
|
|
11
|
+
this.toStderr = target === DEBUG_LOG_STDERR;
|
|
12
|
+
if (this.toStderr)
|
|
13
|
+
return;
|
|
14
|
+
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
15
|
+
this.fd = fs.openSync(target, 'a');
|
|
16
|
+
}
|
|
17
|
+
write = (event) => {
|
|
18
|
+
if (this.toStderr) {
|
|
19
|
+
process.stderr.write(`[runtime] ${formatRuntimeEvent(event)}\n`);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (this.fd !== null)
|
|
23
|
+
fs.writeSync(this.fd, `${JSON.stringify(event)}\n`);
|
|
24
|
+
};
|
|
25
|
+
close() {
|
|
26
|
+
if (this.fd === null)
|
|
27
|
+
return;
|
|
28
|
+
fs.closeSync(this.fd);
|
|
29
|
+
this.fd = null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=RuntimeDebugLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeDebugLog.js","sourceRoot":"","sources":["../../src/models/RuntimeDebugLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAErE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAEnC,MAAM,OAAO,eAAe;IACT,QAAQ,CAAS;IAElC,wEAAwE;IAChE,EAAE,GAAkB,IAAI,CAAA;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,KAAK,gBAAgB,CAAA;QAE3C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC;IAEe,KAAK,GAAG,CAAC,KAAmB,EAAQ,EAAE;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAEhE,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI;YAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3E,CAAC,CAAA;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI;YAAE,OAAM;QAE5B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { WorkflowRunJobKind } from './WorkflowRunJob.js';
|
|
2
|
+
/** A job as runtime events describe it: what it is, never its payload. */
|
|
3
|
+
export interface RuntimeJobSummary {
|
|
4
|
+
kind: WorkflowRunJobKind;
|
|
5
|
+
runId: string | null;
|
|
6
|
+
/** The activity, pending or child run the job is about, when there is one. */
|
|
7
|
+
target: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface RuntimeLaneStats {
|
|
10
|
+
lane: number;
|
|
11
|
+
inFlight: number;
|
|
12
|
+
pinnedRuns: number;
|
|
13
|
+
}
|
|
14
|
+
export interface RuntimeQueueStats {
|
|
15
|
+
workers: number;
|
|
16
|
+
concurrency: number;
|
|
17
|
+
capacity: number;
|
|
18
|
+
queued: number;
|
|
19
|
+
urgent: number;
|
|
20
|
+
inFlight: number;
|
|
21
|
+
lanes: RuntimeLaneStats[];
|
|
22
|
+
}
|
|
23
|
+
export interface RuntimeRunningJob extends RuntimeJobSummary {
|
|
24
|
+
lane: number;
|
|
25
|
+
startedAt: string;
|
|
26
|
+
}
|
|
27
|
+
export interface RuntimeQueueSnapshot extends RuntimeQueueStats {
|
|
28
|
+
running: RuntimeRunningJob[];
|
|
29
|
+
waiting: RuntimeJobSummary[];
|
|
30
|
+
}
|
|
31
|
+
/** Something the runtime did, published on the coordinator. */
|
|
32
|
+
export type RuntimeEventBody = {
|
|
33
|
+
type: 'job:queued';
|
|
34
|
+
job: RuntimeJobSummary;
|
|
35
|
+
queue: RuntimeQueueStats;
|
|
36
|
+
} | {
|
|
37
|
+
type: 'job:started';
|
|
38
|
+
job: RuntimeJobSummary;
|
|
39
|
+
lane: number;
|
|
40
|
+
queue: RuntimeQueueStats;
|
|
41
|
+
} | {
|
|
42
|
+
type: 'job:finished';
|
|
43
|
+
job: RuntimeJobSummary;
|
|
44
|
+
lane: number;
|
|
45
|
+
durationInMs: number;
|
|
46
|
+
error: string | null;
|
|
47
|
+
queue: RuntimeQueueStats;
|
|
48
|
+
} | {
|
|
49
|
+
type: 'run:created';
|
|
50
|
+
runId: string;
|
|
51
|
+
workflow: string;
|
|
52
|
+
parentRunId: string | null;
|
|
53
|
+
} | {
|
|
54
|
+
type: 'run:settled';
|
|
55
|
+
runId: string;
|
|
56
|
+
workflow: string;
|
|
57
|
+
status: 'fulfilled' | 'rejected';
|
|
58
|
+
} | {
|
|
59
|
+
type: 'activity:started';
|
|
60
|
+
runId: string;
|
|
61
|
+
activityId: string;
|
|
62
|
+
activityType: string;
|
|
63
|
+
kind: 'sync' | 'async';
|
|
64
|
+
} | {
|
|
65
|
+
type: 'activity:waiting';
|
|
66
|
+
runId: string;
|
|
67
|
+
activityId: string;
|
|
68
|
+
activityType: string;
|
|
69
|
+
timeoutAt: string | null;
|
|
70
|
+
} | {
|
|
71
|
+
type: 'activity:settled';
|
|
72
|
+
runId: string;
|
|
73
|
+
activityId: string;
|
|
74
|
+
activityType: string;
|
|
75
|
+
status: 'fulfilled' | 'rejected';
|
|
76
|
+
/** Why a sync activity or a bootstrap threw, when it did. */
|
|
77
|
+
error?: string;
|
|
78
|
+
} | {
|
|
79
|
+
type: 'timeout:scheduled';
|
|
80
|
+
runId: string;
|
|
81
|
+
pendingId: string;
|
|
82
|
+
timeoutAt: string;
|
|
83
|
+
} | {
|
|
84
|
+
type: 'timeout:fired';
|
|
85
|
+
runId: string;
|
|
86
|
+
pendingId: string;
|
|
87
|
+
} | {
|
|
88
|
+
type: 'worker:lost';
|
|
89
|
+
lane: number;
|
|
90
|
+
error: string;
|
|
91
|
+
};
|
|
92
|
+
export type RuntimeEvent = RuntimeEventBody & {
|
|
93
|
+
at: string;
|
|
94
|
+
};
|
|
95
|
+
export type RuntimeEventType = RuntimeEvent['type'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeEvent.js","sourceRoot":"","sources":["../../src/models/RuntimeEvent.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AsyncActivityCallback } from '@t4h.framework/core';
|
|
2
|
+
import type { RuntimeEvent } from './RuntimeEvent.js';
|
|
2
3
|
/**
|
|
3
4
|
* Unit of work the scheduler hands to an executor. Jobs carrying a `runId`
|
|
4
5
|
* are serialized per run and pinned to the executor lane that first ran it,
|
|
@@ -75,6 +76,9 @@ export type WorkflowWorkerMessage = {
|
|
|
75
76
|
} | {
|
|
76
77
|
type: 'events:run-updated';
|
|
77
78
|
runId: string;
|
|
79
|
+
} | {
|
|
80
|
+
type: 'runtime:event';
|
|
81
|
+
event: RuntimeEvent;
|
|
78
82
|
};
|
|
79
83
|
/** Messages the coordinator thread sends to a workflow worker. */
|
|
80
84
|
export type WorkflowCoordinatorMessage = {
|