@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.
Files changed (56) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/README.md +7 -0
  3. package/dist/AppProcess.d.ts +7 -1
  4. package/dist/AppProcess.js +5 -2
  5. package/dist/AppProcess.js.map +1 -1
  6. package/dist/HeadlessApp.d.ts +3 -1
  7. package/dist/HeadlessApp.js +2 -2
  8. package/dist/HeadlessApp.js.map +1 -1
  9. package/dist/Server.d.ts +3 -0
  10. package/dist/Server.js +5 -0
  11. package/dist/Server.js.map +1 -1
  12. package/dist/constants/server.d.ts +4 -0
  13. package/dist/constants/server.js +4 -0
  14. package/dist/constants/server.js.map +1 -1
  15. package/dist/index.d.ts +5 -0
  16. package/dist/index.js +4 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/models/RuntimeControlServer.d.ts +32 -0
  19. package/dist/models/RuntimeControlServer.js +75 -0
  20. package/dist/models/RuntimeControlServer.js.map +1 -0
  21. package/dist/models/RuntimeDebugLog.d.ts +10 -0
  22. package/dist/models/RuntimeDebugLog.js +32 -0
  23. package/dist/models/RuntimeDebugLog.js.map +1 -0
  24. package/dist/models/RuntimeEvent.d.ts +95 -0
  25. package/dist/models/RuntimeEvent.js +2 -0
  26. package/dist/models/RuntimeEvent.js.map +1 -0
  27. package/dist/models/WorkflowRunJob.d.ts +4 -0
  28. package/dist/services/RuntimeEvents.service.d.ts +16 -0
  29. package/dist/services/RuntimeEvents.service.js +35 -0
  30. package/dist/services/RuntimeEvents.service.js.map +1 -0
  31. package/dist/services/WorkflowRunScheduler.service.d.ts +11 -1
  32. package/dist/services/WorkflowRunScheduler.service.js +93 -3
  33. package/dist/services/WorkflowRunScheduler.service.js.map +1 -1
  34. package/dist/tools/format-runtime-event.d.ts +3 -0
  35. package/dist/tools/format-runtime-event.js +51 -0
  36. package/dist/tools/format-runtime-event.js.map +1 -0
  37. package/dist/tools/runtime-control-client.d.ts +15 -0
  38. package/dist/tools/runtime-control-client.js +54 -0
  39. package/dist/tools/runtime-control-client.js.map +1 -0
  40. package/dist/tools/runtime-registry.d.ts +26 -0
  41. package/dist/tools/runtime-registry.js +57 -0
  42. package/dist/tools/runtime-registry.js.map +1 -0
  43. package/dist/tools/start-runtime-monitor.d.ts +12 -0
  44. package/dist/tools/start-runtime-monitor.js +69 -0
  45. package/dist/tools/start-runtime-monitor.js.map +1 -0
  46. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +3 -1
  47. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +20 -2
  48. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -1
  49. package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +3 -1
  50. package/dist/use-cases/NextTickWorkflowRun.usecase.js +40 -3
  51. package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
  52. package/dist/workers/app-process.js +31 -16
  53. package/dist/workers/app-process.js.map +1 -1
  54. package/dist/workers/workflow-worker.js +4 -0
  55. package/dist/workers/workflow-worker.js.map +1 -1
  56. 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-20261006121555
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.
@@ -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>;
@@ -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: [
@@ -1 +1 @@
1
- {"version":3,"file":"AppProcess.js","sourceRoot":"","sources":["../src/AppProcess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppProcess.js","sourceRoot":"","sources":["../src/AppProcess.ts"],"names":[],"mappings":"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"}
@@ -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>;
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"HeadlessApp.js","sourceRoot":"","sources":["../src/HeadlessApp.ts"],"names":[],"mappings":"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"}
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
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;
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RuntimeEvent.js.map
@@ -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 = {