@t4h.framework/dev 0.0.0-experimental-20261006133319 → 0.0.0-experimental-20261008133517

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 (37) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +29 -8
  3. package/dist/AppProcess.d.ts +4 -2
  4. package/dist/AppProcess.js +11 -2
  5. package/dist/AppProcess.js.map +1 -1
  6. package/dist/HeadlessApp.js +5 -2
  7. package/dist/HeadlessApp.js.map +1 -1
  8. package/dist/Server.d.ts +1 -0
  9. package/dist/Server.js +6 -1
  10. package/dist/Server.js.map +1 -1
  11. package/dist/constants/server.d.ts +5 -0
  12. package/dist/constants/server.js +5 -0
  13. package/dist/constants/server.js.map +1 -1
  14. package/dist/integrations/orm.js +12 -1
  15. package/dist/integrations/orm.js.map +1 -1
  16. package/dist/models/DevORMStore.d.ts +18 -0
  17. package/dist/models/DevORMStore.js +7 -0
  18. package/dist/models/DevORMStore.js.map +1 -0
  19. package/dist/models/FrameworkConfig.d.ts +9 -0
  20. package/dist/models/FrameworkConfig.js +1 -0
  21. package/dist/models/FrameworkConfig.js.map +1 -1
  22. package/dist/models/PostgresDevORMStore.d.ts +23 -0
  23. package/dist/models/PostgresDevORMStore.js +94 -0
  24. package/dist/models/PostgresDevORMStore.js.map +1 -0
  25. package/dist/models/SqliteDevORMStore.d.ts +16 -0
  26. package/dist/models/SqliteDevORMStore.js +69 -0
  27. package/dist/models/SqliteDevORMStore.js.map +1 -0
  28. package/dist/models/claims/DevORMClaim.d.ts +5 -8
  29. package/dist/models/claims/DevORMClaim.js +22 -60
  30. package/dist/models/claims/DevORMClaim.js.map +1 -1
  31. package/dist/models/claims/DevWorkflowClaim.d.ts +1 -1
  32. package/dist/models/claims/DevWorkflowClaim.js +3 -2
  33. package/dist/models/claims/DevWorkflowClaim.js.map +1 -1
  34. package/dist/tools/to-orm-config.d.ts +3 -0
  35. package/dist/tools/to-orm-config.js +13 -0
  36. package/dist/tools/to-orm-config.js.map +1 -0
  37. package/package.json +15 -13
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @t4h.framework/dev
2
2
 
3
- ## 0.0.0-experimental-20261006133319
3
+ ## 0.0.0-experimental-20261008133517
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -15,6 +15,15 @@
15
15
  `@t4h.framework/dev` exports `HeadlessApp`, the API behind it, and the app
16
16
  process resolves its bundle root from `file:` URLs.
17
17
 
18
+ - [#210](https://github.com/tech4humans-brasil/framework/pull/210) [`a93218a`](https://github.com/tech4humans-brasil/framework/commit/a93218ae284d91de7d94a65e8f306ace0db2d733) Thanks [@tony-tsx](https://github.com/tony-tsx)! - The dev ORM claim can store its rows in Postgres instead of `db.sqlite`:
19
+ set `orm: { connectionString: 'postgres://…' }` in `framework.config.ts`.
20
+ Workers write in parallel instead of waiting on the SQLite file lock, each one
21
+ with its own connection pool, and updates lock their row so concurrent updates
22
+ merge. Each entity gets an `(id text, data jsonb)` table, created on first use;
23
+ `where`, `orderBy` and pagination behave as on SQLite. Without the setting
24
+ nothing changes, and the `connectionString` passed to `new ORM()` is still
25
+ ignored in dev.
26
+
18
27
  - [#207](https://github.com/tech4humans-brasil/framework/pull/207) [`92db468`](https://github.com/tech4humans-brasil/framework/commit/92db468f819d3c7d01884526598acd5fbef9b4ef) Thanks [@tony-tsx](https://github.com/tony-tsx)! - Workflows run asynchronously on a pool of worker threads. Starting a run,
19
28
  delivering a callback, advancing an activity, a timeout and the settlement of a
20
29
  parent run only queue work; a scheduler runs it with at most one step per run
@@ -44,6 +53,21 @@
44
53
  `watchRuntime` and `formatRuntimeEvent`, and takes `debugLog` on `Server` and
45
54
  `HeadlessApp.up`.
46
55
 
56
+ ## 0.22.6
57
+
58
+ ### Patch Changes
59
+
60
+ - [#214](https://github.com/tech4humans-brasil/framework/pull/214) [`fc4db5f`](https://github.com/tech4humans-brasil/framework/commit/fc4db5fa01454a45a3727b76dbacc215aa6b3ab7) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - `WorkflowClaim.startMany` accepts its inputs as an `Iterable` or an
61
+ `AsyncIterable`, not only an array. The runtime reads them once, as a stream,
62
+ so a batch no longer has to fit in memory before its first child starts.
63
+
64
+ ## 0.22.5
65
+
66
+ ### Patch Changes
67
+
68
+ - Updated dependencies [[`8f50cc5`](https://github.com/tech4humans-brasil/framework/commit/8f50cc5c494fd76b08536a08da397d2255d47d31)]:
69
+ - @t4h.framework/vite-panel-plugin@0.4.0
70
+
47
71
  ## 0.22.4
48
72
 
49
73
  ## 0.22.3
package/README.md CHANGED
@@ -203,6 +203,27 @@ Sync activities run inside the job of their run, `sleep` and other timeouts are
203
203
 
204
204
  The ORM claim is the exception: its rows live in `db.sqlite` next to your `package.json` and survive rebuilds and restarts (add it to `.gitignore`). Delete the file to start over. The previous `db.json` is no longer read.
205
205
 
206
+ ### ORM on Postgres
207
+
208
+ SQLite takes one write at a time, so with many workers writing through the ORM they wait on each other. Point the ORM claim at a Postgres database instead with `orm.connectionString` in `framework.config.ts`:
209
+
210
+ ```typescript
211
+ import { defineConfig } from '@t4h.framework/dev/config'
212
+
213
+ export default defineConfig({
214
+ orm: { connectionString: process.env.DEV_DATABASE_URL },
215
+ })
216
+ ```
217
+
218
+ Each entity gets a table `(id text primary key, data jsonb)` in the connection's current schema, created on first use; `where`, `orderBy` and pagination keep the same semantics as on SQLite. Every worker opens its own pool (as many connections as its `concurrency`), and an update locks its row, so concurrent updates from different workers merge instead of overwriting each other. Rows survive rebuilds and restarts; drop the tables (or the schema) to start over.
219
+
220
+ It is opt-in on purpose: the `connectionString` you pass to `new ORM()` is not used, so a `DATABASE_URL` aimed at a shared database never receives dev writes. Use a database (or a schema, with `?options=-c%20search_path%3Dmy_schema`) of its own: a table with the entity's name and another layout is refused. Leaving the value unset (e.g. `DEV_DATABASE_URL` not exported) keeps `db.sqlite`.
221
+
222
+ ```bash
223
+ docker run -d --name framework-dev-db -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:17
224
+ export DEV_DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres
225
+ ```
226
+
206
227
  ## Programmatic usage
207
228
 
208
229
  ```typescript
@@ -268,14 +289,14 @@ try {
268
289
 
269
290
  In production, claims are fulfilled by the runtime (database connections, real HTTP clients, etc.). During local development, `@t4h.framework/dev` registers in-memory substitutes:
270
291
 
271
- | Claim | Dev implementation |
272
- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
273
- | `ORMClaim` | SQLite file `db.sqlite` in the project directory; `where` keeps the Mongo-like semantics (`$like`, `$ilike`, `$or`, ...) |
274
- | `HttpClientRequestClaim` | Real HTTP via `undici` |
275
- | `FileSystemClaim` | Local file system with dev binary codec |
276
- | `SmtpSendEmailClaim` | Captures emails in memory (no delivery) |
277
- | `CacheClaim` | Runtime SQLite table shared by every worker (reset on rebuild) |
278
- | `WorkflowClaim` | Runs workflows through the local workflow engine |
292
+ | Claim | Dev implementation |
293
+ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
294
+ | `ORMClaim` | SQLite file `db.sqlite` in the project directory, or Postgres with `orm.connectionString`; `where` keeps the Mongo-like semantics (`$like`, `$ilike`, `$or`, ...) |
295
+ | `HttpClientRequestClaim` | Real HTTP via `undici` |
296
+ | `FileSystemClaim` | Local file system with dev binary codec |
297
+ | `SmtpSendEmailClaim` | Captures emails in memory (no delivery) |
298
+ | `CacheClaim` | Runtime SQLite table shared by every worker (reset on rebuild) |
299
+ | `WorkflowClaim` | Runs workflows through the local workflow engine |
279
300
 
280
301
  Import the full claim registry:
281
302
 
@@ -1,7 +1,7 @@
1
1
  import { fork } from 'node:child_process';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import type { App } from '@t4h.framework/core';
4
- import type { FrameworkRuntimeConfig } from './models/FrameworkConfig.js';
4
+ import type { FrameworkORMConfig, FrameworkRuntimeConfig } from './models/FrameworkConfig.js';
5
5
  import type { RuntimeKind } from './tools/runtime-registry.js';
6
6
  export type AppManifest = ReturnType<App['toManifest']>;
7
7
  export type AppProcessState = 'idle' | 'starting' | 'ready' | 'exited';
@@ -21,6 +21,8 @@ export interface AppProcessUpOptions {
21
21
  serverUrl?: string;
22
22
  /** How the app runs workflows; see `FrameworkConfig.runtime`. */
23
23
  runtime?: FrameworkRuntimeConfig;
24
+ /** Where the ORM claim stores its rows; see `FrameworkConfig.orm`. */
25
+ orm?: FrameworkORMConfig;
24
26
  /** Advertised to `framework runtime` so it can tell runtimes apart. */
25
27
  kind?: RuntimeKind;
26
28
  projectDir?: string;
@@ -42,7 +44,7 @@ export declare class AppProcess extends EventEmitter {
42
44
  constructor({ workerPath, readyTimeoutInMs, killTimeoutInMs, fork: forkProcess, stdout, }?: AppProcessOptions);
43
45
  get manifest(): AppManifest | null;
44
46
  get state(): AppProcessState;
45
- up(entrypoint: string, env: Record<string, string>, { serverUrl, runtime, kind, projectDir, debugLog, }?: AppProcessUpOptions): Promise<AppManifest>;
47
+ up(entrypoint: string, env: Record<string, string>, { serverUrl, runtime, orm, kind, projectDir, debugLog, }?: AppProcessUpOptions): Promise<AppManifest>;
46
48
  down(): Promise<void>;
47
49
  private kill;
48
50
  whenReady(): Promise<AppManifest>;
@@ -3,12 +3,20 @@ 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, 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';
6
+ import { APP_KILL_TIMEOUT_IN_MS, APP_READY_TIMEOUT_IN_MS, DEBUG_LOG_ARG, ORM_CONNECTION_STRING_ENV, 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 {
10
10
  name = 'AppProcessNotReadyError';
11
11
  }
12
+ /** Only `orm.connectionString` turns Postgres on, never an inherited variable. */
13
+ function appProcessEnv(orm) {
14
+ const env = { ...process.env };
15
+ delete env[ORM_CONNECTION_STRING_ENV];
16
+ if (orm?.connectionString)
17
+ env[ORM_CONNECTION_STRING_ENV] = orm.connectionString;
18
+ return env;
19
+ }
12
20
  export class AppProcess extends EventEmitter {
13
21
  workerPath;
14
22
  readyTimeoutInMs;
@@ -41,7 +49,7 @@ export class AppProcess extends EventEmitter {
41
49
  get state() {
42
50
  return this.currentState;
43
51
  }
44
- async up(entrypoint, env, { serverUrl, runtime, kind, projectDir, debugLog, } = {}) {
52
+ async up(entrypoint, env, { serverUrl, runtime, orm, kind, projectDir, debugLog, } = {}) {
45
53
  const previous = this.child;
46
54
  this.child = null;
47
55
  this.client?.rejectPending(new AppProcessNotReadyError('App process is restarting'));
@@ -64,6 +72,7 @@ export class AppProcess extends EventEmitter {
64
72
  ...(debugLog ? [`${DEBUG_LOG_ARG}${debugLog}`] : []),
65
73
  ...Object.entries(env).map(([name, value]) => `${name}=${value}`),
66
74
  ], {
75
+ env: appProcessEnv(orm),
67
76
  stdio: [
68
77
  'ignore',
69
78
  this.stdout === 'stderr' ? process.stderr : 'inherit',
@@ -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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"}
@@ -8,6 +8,7 @@ import { loadFrameworkConfig } from './tools/load-framework-config.js';
8
8
  import { mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath } from './tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
9
9
  import { resolvePackageJsonPath } from './tools/resolve-package-json-path.js';
10
10
  import { resolveTsconfigFromPackageJsonPath } from './tools/resolve-tsconfig-path-from-package-json-path.js';
11
+ import { toORMConfig } from './tools/to-orm-config.js';
11
12
  import { toRuntimeConfig } from './tools/to-runtime-config.js';
12
13
  import { tsBuild } from './tools/ts-build.js';
13
14
  const PAGE_LIMIT = 100;
@@ -39,7 +40,9 @@ export class HeadlessApp {
39
40
  const packageJsonPath = await resolvePackageJsonPath(entrypoint);
40
41
  const tsConfigPath = await resolveTsconfigFromPackageJsonPath(packageJsonPath);
41
42
  const projectDir = path.dirname(packageJsonPath);
42
- const runtime = toRuntimeConfig((await loadFrameworkConfig(projectDir)).runtime);
43
+ const config = await loadFrameworkConfig(projectDir);
44
+ const runtime = toRuntimeConfig(config.runtime);
45
+ const orm = toORMConfig(config.orm);
43
46
  const { outDir } = await mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, packageJsonPath);
44
47
  const removeOutDir = () => fs.promises.rm(outDir, { recursive: true, force: true });
45
48
  try {
@@ -60,7 +63,7 @@ export class HeadlessApp {
60
63
  throw new Error('Main is not a string');
61
64
  const appProcess = new AppProcess({ stdout: 'stderr' });
62
65
  const manifest = await appProcess
63
- .up(pathToFileURL(path.join(outDir, 'dist', packageJson.main)).href, env, { runtime, kind: 'headless', projectDir, debugLog })
66
+ .up(pathToFileURL(path.join(outDir, 'dist', packageJson.main)).href, env, { runtime, orm, kind: 'headless', projectDir, debugLog })
64
67
  .catch(async (error) => {
65
68
  await appProcess.down();
66
69
  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
@@ -34,6 +34,7 @@ export declare class Server extends EventEmitter {
34
34
  private packageJsonPath;
35
35
  private outDir;
36
36
  private runtime;
37
+ private orm;
37
38
  private projectDir;
38
39
  constructor(options: ServerOptions);
39
40
  get manifest(): AppManifest | null;
package/dist/Server.js CHANGED
@@ -15,6 +15,7 @@ import { loadFrameworkConfig } from './tools/load-framework-config.js';
15
15
  import { mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath } from './tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
16
16
  import { resolvePackageJsonPath } from './tools/resolve-package-json-path.js';
17
17
  import { resolveTsconfigFromPackageJsonPath } from './tools/resolve-tsconfig-path-from-package-json-path.js';
18
+ import { toORMConfig } from './tools/to-orm-config.js';
18
19
  import { toRuntimeConfig } from './tools/to-runtime-config.js';
19
20
  import { tsBuildWatch } from './tools/ts-build-watch.js';
20
21
  function isApiPath(pathname) {
@@ -37,6 +38,7 @@ export class Server extends EventEmitter {
37
38
  packageJsonPath = null;
38
39
  outDir = null;
39
40
  runtime = undefined;
41
+ orm = undefined;
40
42
  projectDir = null;
41
43
  constructor(options) {
42
44
  super();
@@ -68,7 +70,9 @@ export class Server extends EventEmitter {
68
70
  this.outDir = project.outDir;
69
71
  const projectDir = path.dirname(this.packageJsonPath);
70
72
  this.projectDir = projectDir;
71
- this.runtime = toRuntimeConfig((await loadFrameworkConfig(projectDir)).runtime);
73
+ const config = await loadFrameworkConfig(projectDir);
74
+ this.runtime = toRuntimeConfig(config.runtime);
75
+ this.orm = toORMConfig(config.orm);
72
76
  const app = createApp({
73
77
  appProcess: this.appProcess,
74
78
  events: this,
@@ -146,6 +150,7 @@ export class Server extends EventEmitter {
146
150
  manifest = await this.appProcess.up(entrypoint, this.options.env, {
147
151
  serverUrl: this.currentAddress?.url,
148
152
  runtime: this.runtime,
153
+ orm: this.orm,
149
154
  kind: 'dev',
150
155
  projectDir: this.projectDir ?? undefined,
151
156
  debugLog: this.options.debugLog,
@@ -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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"}
@@ -16,6 +16,11 @@ export declare const RUNTIME_WORKERS_ARG = "--runtime-workers=";
16
16
  export declare const RUNTIME_CONCURRENCY_ARG = "--runtime-concurrency=";
17
17
  export declare const RUNTIME_KIND_ARG = "--runtime-kind=";
18
18
  export declare const PROJECT_DIR_ARG = "--project-dir=";
19
+ /**
20
+ * Hands `orm.connectionString` to the app process and its workers through the
21
+ * environment, so it never shows up in the process arguments.
22
+ */
23
+ export declare const ORM_CONNECTION_STRING_ENV = "T4H_DEV_ORM_CONNECTION_STRING";
19
24
  /** `-` for readable lines on stderr, or a file path for NDJSON. */
20
25
  export declare const DEBUG_LOG_ARG = "--debug-log=";
21
26
  export declare const WORKFLOW_WORKER_READY_TIMEOUT_IN_MS = 30000;
@@ -16,6 +16,11 @@ export const RUNTIME_WORKERS_ARG = '--runtime-workers=';
16
16
  export const RUNTIME_CONCURRENCY_ARG = '--runtime-concurrency=';
17
17
  export const RUNTIME_KIND_ARG = '--runtime-kind=';
18
18
  export const PROJECT_DIR_ARG = '--project-dir=';
19
+ /**
20
+ * Hands `orm.connectionString` to the app process and its workers through the
21
+ * environment, so it never shows up in the process arguments.
22
+ */
23
+ export const ORM_CONNECTION_STRING_ENV = 'T4H_DEV_ORM_CONNECTION_STRING';
19
24
  /** `-` for readable lines on stderr, or a file path for NDJSON. */
20
25
  export const DEBUG_LOG_ARG = '--debug-log=';
21
26
  export const WORKFLOW_WORKER_READY_TIMEOUT_IN_MS = 30_000;
@@ -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,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"}
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;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAA;AAExE,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAA"}
@@ -1,7 +1,18 @@
1
1
  import { MapCollection, ORM, ORMClaim, Ref, RefCollection, } from '@t4h.framework/orm';
2
+ import { ORM_CONNECTION_STRING_ENV } from '../constants/server.js';
2
3
  import { DevORMClaim } from '../models/claims/DevORMClaim.js';
3
4
  import { JSONCodecKindFrameworkSerializableClass as Kind } from '../models/JSONCodecKindFrameworkSerializableClass.js';
4
- export const claims = [{ provide: ORMClaim, value: new DevORMClaim() }];
5
+ import { PostgresDevORMStore } from '../models/PostgresDevORMStore.js';
6
+ import { SqliteDevORMStore } from '../models/SqliteDevORMStore.js';
7
+ const connectionString = process.env[ORM_CONNECTION_STRING_ENV];
8
+ export const claims = [
9
+ {
10
+ provide: ORMClaim,
11
+ value: new DevORMClaim(connectionString
12
+ ? new PostgresDevORMStore(connectionString)
13
+ : new SqliteDevORMStore()),
14
+ },
15
+ ];
5
16
  export const kinds = [
6
17
  new Kind('orm', ORM),
7
18
  new Kind('orm:ref', Ref),
@@ -1 +1 @@
1
- {"version":3,"file":"orm.js","sourceRoot":"","sources":["../../src/integrations/orm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,GAAG,EACH,QAAQ,EACR,GAAG,EACH,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,uCAAuC,IAAI,IAAI,EAAE,MAAM,sDAAsD,CAAA;AAEtH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,EAAE,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC7C,IAAI,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;CAC9C,CAAA"}
1
+ {"version":3,"file":"orm.js","sourceRoot":"","sources":["../../src/integrations/orm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,GAAG,EACH,QAAQ,EACR,GAAG,EACH,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,uCAAuC,IAAI,IAAI,EAAE,MAAM,sDAAsD,CAAA;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;QACE,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,IAAI,WAAW,CACpB,gBAAgB;YACd,CAAC,CAAC,IAAI,mBAAmB,CAAC,gBAAgB,CAAC;YAC3C,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAC5B;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC7C,IAAI,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;CAC9C,CAAA"}
@@ -0,0 +1,18 @@
1
+ export interface DevORMStoredRow {
2
+ id: string;
3
+ /** The row encoded by the dev JSON codec. */
4
+ data: string;
5
+ }
6
+ /** Where `DevORMClaim` keeps its rows: one `(id, data)` table per entity. */
7
+ export interface DevORMStore {
8
+ insert(table: string, rows: DevORMStoredRow[]): Promise<void>;
9
+ get(table: string, id: string): Promise<string | null>;
10
+ getMany(table: string, ids: string[]): Promise<DevORMStoredRow[]>;
11
+ /** Replaces the row with what `apply` returns; a missing row is skipped. */
12
+ update(table: string, id: string, apply: (data: string) => Promise<string>): Promise<void>;
13
+ delete(table: string, ids: string[]): Promise<void>;
14
+ /** Every row of the table, ordered by id. */
15
+ scan(table: string): Promise<string[]>;
16
+ close(): Promise<void>;
17
+ }
18
+ export declare function quoteTableName(name: string): string;
@@ -0,0 +1,7 @@
1
+ const TABLE_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
2
+ export function quoteTableName(name) {
3
+ if (!TABLE_NAME.test(name))
4
+ throw new Error(`Invalid table name: ${name}`);
5
+ return `"${name}"`;
6
+ }
7
+ //# sourceMappingURL=DevORMStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevORMStore.js","sourceRoot":"","sources":["../../src/models/DevORMStore.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,GAAG,0BAA0B,CAAA;AAE7C,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAE1E,OAAO,IAAI,IAAI,GAAG,CAAA;AACpB,CAAC"}
@@ -10,9 +10,17 @@ export type FrameworkRuntimeConfig = {
10
10
  /** Jobs each worker (or the app thread) runs at once. Defaults to 4. */
11
11
  concurrency?: number;
12
12
  };
13
+ export type FrameworkORMConfig = {
14
+ /**
15
+ * Postgres URL (`postgres://user:password@host:5432/database`) where the dev
16
+ * ORM claim stores its rows instead of `db.sqlite`. Unset keeps SQLite.
17
+ */
18
+ connectionString?: string;
19
+ };
13
20
  export type FrameworkConfig = {
14
21
  build?: FrameworkBuildConfig;
15
22
  runtime?: FrameworkRuntimeConfig;
23
+ orm?: FrameworkORMConfig;
16
24
  };
17
25
  /**
18
26
  * Identity helper that types a `framework.config.ts` default export.
@@ -24,6 +32,7 @@ export type FrameworkConfig = {
24
32
  * export default defineConfig({
25
33
  * build: { assets: ['assets/**'] },
26
34
  * runtime: { workers: 2, concurrency: 4 },
35
+ * orm: { connectionString: process.env.DEV_DATABASE_URL },
27
36
  * })
28
37
  */
29
38
  export declare function defineConfig(config: FrameworkConfig): FrameworkConfig;
@@ -8,6 +8,7 @@
8
8
  * export default defineConfig({
9
9
  * build: { assets: ['assets/**'] },
10
10
  * runtime: { workers: 2, concurrency: 4 },
11
+ * orm: { connectionString: process.env.DEV_DATABASE_URL },
11
12
  * })
12
13
  */
13
14
  export function defineConfig(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkConfig.js","sourceRoot":"","sources":["../../src/models/FrameworkConfig.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"FrameworkConfig.js","sourceRoot":"","sources":["../../src/models/FrameworkConfig.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type DevORMStore, type DevORMStoredRow } from './DevORMStore.js';
2
+ /**
3
+ * Stores the dev ORM rows in Postgres, one `(id text, data jsonb)` table per
4
+ * entity. Every workflow worker opens its own pool, sized to the jobs it runs
5
+ * at once, and writes from different workers no longer wait on a file lock.
6
+ */
7
+ export declare class PostgresDevORMStore implements DevORMStore {
8
+ private readonly pool;
9
+ private readonly tables;
10
+ constructor(connectionString: string, { max }?: {
11
+ max?: number;
12
+ });
13
+ insert(table: string, rows: DevORMStoredRow[]): Promise<void>;
14
+ get(table: string, id: string): Promise<string | null>;
15
+ getMany(table: string, ids: string[]): Promise<DevORMStoredRow[]>;
16
+ update(table: string, id: string, apply: (data: string) => Promise<string>): Promise<void>;
17
+ delete(table: string, ids: string[]): Promise<void>;
18
+ scan(table: string): Promise<string[]>;
19
+ close(): Promise<void>;
20
+ private table;
21
+ private createTable;
22
+ private transaction;
23
+ }
@@ -0,0 +1,94 @@
1
+ import pg from 'pg';
2
+ import { quoteTableName, } from './DevORMStore.js';
3
+ import { WORKFLOW_RUN_JOB_CONCURRENCY } from '../constants/server.js';
4
+ /**
5
+ * Stores the dev ORM rows in Postgres, one `(id text, data jsonb)` table per
6
+ * entity. Every workflow worker opens its own pool, sized to the jobs it runs
7
+ * at once, and writes from different workers no longer wait on a file lock.
8
+ */
9
+ export class PostgresDevORMStore {
10
+ pool;
11
+ tables = new Map();
12
+ constructor(connectionString, { max = WORKFLOW_RUN_JOB_CONCURRENCY } = {}) {
13
+ this.pool = new pg.Pool({ connectionString, max });
14
+ // An idle connection dropped by the server must not crash the process.
15
+ this.pool.on('error', error => console.error('[orm] Postgres connection error:', error.message));
16
+ }
17
+ async insert(table, rows) {
18
+ if (rows.length === 0)
19
+ return;
20
+ await this.pool.query(`INSERT INTO ${await this.table(table)} (id, data)
21
+ SELECT * FROM unnest($1::text[], $2::jsonb[])`, [rows.map(row => row.id), rows.map(row => row.data)]);
22
+ }
23
+ async get(table, id) {
24
+ const { rows } = await this.pool.query(`SELECT data::text AS data FROM ${await this.table(table)} WHERE id = $1`, [id]);
25
+ return rows[0]?.data ?? null;
26
+ }
27
+ async getMany(table, ids) {
28
+ const { rows } = await this.pool.query(`SELECT id, data::text AS data FROM ${await this.table(table)} WHERE id = ANY($1::text[])`, [ids]);
29
+ return rows;
30
+ }
31
+ async update(table, id, apply) {
32
+ const quoted = await this.table(table);
33
+ await this.transaction(async (client) => {
34
+ // Locks the row so concurrent updates from other workers merge in turn.
35
+ const { rows } = await client.query(`SELECT data::text AS data FROM ${quoted} WHERE id = $1 FOR UPDATE`, [id]);
36
+ if (!rows[0])
37
+ return;
38
+ await client.query(`UPDATE ${quoted} SET data = $2::jsonb WHERE id = $1`, [id, await apply(rows[0].data)]);
39
+ });
40
+ }
41
+ async delete(table, ids) {
42
+ if (ids.length === 0)
43
+ return;
44
+ await this.pool.query(`DELETE FROM ${await this.table(table)} WHERE id = ANY($1::text[])`, [ids]);
45
+ }
46
+ async scan(table) {
47
+ const { rows } = await this.pool.query(`SELECT data::text AS data FROM ${await this.table(table)} ORDER BY id`);
48
+ return rows.map(row => row.data);
49
+ }
50
+ async close() {
51
+ this.tables.clear();
52
+ await this.pool.end();
53
+ }
54
+ table(name) {
55
+ let table = this.tables.get(name);
56
+ if (!table) {
57
+ table = this.createTable(name);
58
+ table.catch(() => this.tables.delete(name));
59
+ this.tables.set(name, table);
60
+ }
61
+ return table;
62
+ }
63
+ async createTable(name) {
64
+ const quoted = quoteTableName(name);
65
+ await this.transaction(async (client) => {
66
+ // Workers creating the same table at once would race on the catalog.
67
+ await client.query('SELECT pg_advisory_xact_lock(hashtext($1))', [name]);
68
+ await client.query(`CREATE TABLE IF NOT EXISTS ${quoted} (id TEXT PRIMARY KEY, data JSONB NOT NULL)`);
69
+ const { rows } = await client.query(`SELECT column_name AS name, data_type AS type
70
+ FROM information_schema.columns
71
+ WHERE table_schema = current_schema() AND table_name = $1`, [name]);
72
+ const columns = new Map(rows.map(row => [row.name, row.type]));
73
+ if (columns.get('id') !== 'text' || columns.get('data') !== 'jsonb')
74
+ throw new Error(`Table ${quoted} already exists without the dev ORM layout (id text, data jsonb); point orm.connectionString in framework.config at a database of its own`);
75
+ });
76
+ return quoted;
77
+ }
78
+ async transaction(fn) {
79
+ const client = await this.pool.connect();
80
+ try {
81
+ await client.query('BEGIN');
82
+ await fn(client);
83
+ await client.query('COMMIT');
84
+ }
85
+ catch (error) {
86
+ await client.query('ROLLBACK').catch(() => { });
87
+ throw error;
88
+ }
89
+ finally {
90
+ client.release();
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=PostgresDevORMStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresDevORMStore.js","sourceRoot":"","sources":["../../src/models/PostgresDevORMStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type DevORMStore, type DevORMStoredRow } from './DevORMStore.js';
2
+ export declare class SqliteDevORMStore implements DevORMStore {
3
+ private readonly location;
4
+ private database;
5
+ private readonly tables;
6
+ constructor(location?: string);
7
+ insert(table: string, rows: DevORMStoredRow[]): Promise<void>;
8
+ get(table: string, id: string): Promise<string | null>;
9
+ getMany(table: string, ids: string[]): Promise<DevORMStoredRow[]>;
10
+ update(table: string, id: string, apply: (data: string) => Promise<string>): Promise<void>;
11
+ delete(table: string, ids: string[]): Promise<void>;
12
+ scan(table: string): Promise<string[]>;
13
+ close(): Promise<void>;
14
+ private get db();
15
+ private table;
16
+ }
@@ -0,0 +1,69 @@
1
+ import path from 'node:path';
2
+ import { DatabaseSync } from 'node:sqlite';
3
+ import { quoteTableName, } from './DevORMStore.js';
4
+ const BUSY_TIMEOUT_IN_MS = 5_000;
5
+ export class SqliteDevORMStore {
6
+ location;
7
+ database = null;
8
+ tables = new Set();
9
+ constructor(location = path.join(process.cwd(), 'db.sqlite')) {
10
+ this.location = location;
11
+ }
12
+ async insert(table, rows) {
13
+ const insert = this.db.prepare(`INSERT INTO ${this.table(table)} (id, data) VALUES (?, ?)`);
14
+ for (const { id, data } of rows)
15
+ insert.run(id, data);
16
+ }
17
+ async get(table, id) {
18
+ const row = this.db
19
+ .prepare(`SELECT data FROM ${this.table(table)} WHERE id = ?`)
20
+ .get(id);
21
+ return row?.data ?? null;
22
+ }
23
+ async getMany(table, ids) {
24
+ return this.db
25
+ .prepare(`SELECT id, data FROM ${this.table(table)} WHERE id IN (SELECT value FROM json_each(?))`)
26
+ .all(JSON.stringify(ids));
27
+ }
28
+ async update(table, id, apply) {
29
+ const current = await this.get(table, id);
30
+ if (current === null)
31
+ return;
32
+ this.db
33
+ .prepare(`UPDATE ${this.table(table)} SET data = ? WHERE id = ?`)
34
+ .run(await apply(current), id);
35
+ }
36
+ async delete(table, ids) {
37
+ const statement = this.db.prepare(`DELETE FROM ${this.table(table)} WHERE id = ?`);
38
+ for (const id of ids)
39
+ statement.run(id);
40
+ }
41
+ async scan(table) {
42
+ const rows = this.db
43
+ .prepare(`SELECT data FROM ${this.table(table)} ORDER BY id`)
44
+ .all();
45
+ return rows.map(row => row.data);
46
+ }
47
+ async close() {
48
+ this.database?.close();
49
+ this.database = null;
50
+ this.tables.clear();
51
+ }
52
+ get db() {
53
+ if (this.database)
54
+ return this.database;
55
+ this.database = new DatabaseSync(this.location);
56
+ // Workflow workers open their own connection to the same file.
57
+ this.database.exec(`PRAGMA busy_timeout = ${BUSY_TIMEOUT_IN_MS}`);
58
+ return this.database;
59
+ }
60
+ table(name) {
61
+ const quoted = quoteTableName(name);
62
+ if (!this.tables.has(name)) {
63
+ this.db.exec(`CREATE TABLE IF NOT EXISTS ${quoted} (id TEXT PRIMARY KEY, data TEXT NOT NULL)`);
64
+ this.tables.add(name);
65
+ }
66
+ return quoted;
67
+ }
68
+ }
69
+ //# sourceMappingURL=SqliteDevORMStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteDevORMStore.js","sourceRoot":"","sources":["../../src/models/SqliteDevORMStore.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
1
  import { ORMClaim, type SerializableCreateInput, type SerializableFindInput, type SerializableGetSnapshotInput, type SerializableGetSnapshotsInput, type SerializableRemoveInput, type SerializableDeleteInput, type SerializableUpdateInput, type SerializedRow } from '@t4h.framework/orm';
2
+ import type { DevORMStore } from '../DevORMStore.js';
2
3
  export declare class DevORMClaim extends ORMClaim<string> {
3
- private readonly location;
4
- private database;
5
- private readonly tables;
6
- constructor(location?: string);
4
+ private readonly store;
5
+ constructor(store?: DevORMStore);
7
6
  find(input: SerializableFindInput): Promise<string[]>;
8
7
  create(input: SerializableCreateInput): Promise<string[]>;
9
8
  getSnapshot(input: SerializableGetSnapshotInput<string>): Promise<SerializedRow | null>;
10
9
  getSnapshots(input: SerializableGetSnapshotsInput<string>): Promise<(SerializedRow | null)[]>;
11
10
  update(input: SerializableUpdateInput<string>): Promise<void>;
12
- remove(input: SerializableRemoveInput<string>): void;
11
+ remove(input: SerializableRemoveInput<string>): Promise<void>;
13
12
  delete(input: SerializableDeleteInput): Promise<number>;
14
- close(): void;
15
- private get db();
16
- private table;
13
+ close(): Promise<void>;
17
14
  private select;
18
15
  private sort;
19
16
  private encode;
@@ -1,12 +1,9 @@
1
- import path from 'node:path';
2
- import { DatabaseSync } from 'node:sqlite';
3
1
  import { ORMClaim, } from '@t4h.framework/orm';
4
2
  import sift from 'sift';
5
3
  import { uuidv7 } from 'uuidv7';
6
4
  import { getJsonCodec } from '../../tools/json-codec.js';
5
+ import { SqliteDevORMStore } from '../SqliteDevORMStore.js';
7
6
  const { createEqualsOperation } = sift;
8
- const TABLE_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
9
- const BUSY_TIMEOUT_IN_MS = 5_000;
10
7
  const escapeRegExp = (char) => char.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
11
8
  const likePatternToRegExp = (pattern, flags) => {
12
9
  let source = '';
@@ -32,93 +29,58 @@ const operations = {
32
29
  $ilike: createLikeOperation('is'),
33
30
  };
34
31
  export class DevORMClaim extends ORMClaim {
35
- location;
36
- database = null;
37
- tables = new Set();
38
- constructor(location = path.join(process.cwd(), 'db.sqlite')) {
32
+ store;
33
+ constructor(store = new SqliteDevORMStore()) {
39
34
  super();
40
- this.location = location;
35
+ this.store = store;
41
36
  }
42
37
  async find(input) {
43
38
  const rows = await this.select(input);
44
39
  return rows.map(row => row.id);
45
40
  }
46
41
  async create(input) {
47
- const insert = this.db.prepare(`INSERT INTO ${this.table(input.table)} (id, data) VALUES (?, ?)`);
48
- const ids = [];
42
+ const rows = [];
49
43
  for (const data of input.data) {
50
44
  const id = uuidv7();
51
- insert.run(id, await this.encode({ ...data, id }));
52
- ids.push(id);
45
+ rows.push({ id, data: await this.encode({ ...data, id }) });
53
46
  }
54
- return ids;
47
+ await this.store.insert(input.table, rows);
48
+ return rows.map(row => row.id);
55
49
  }
56
50
  async getSnapshot(input) {
57
- const row = this.db
58
- .prepare(`SELECT data FROM ${this.table(input.table)} WHERE id = ?`)
59
- .get(input.ref);
60
- return row ? await this.decode(row.data) : null;
51
+ const data = await this.store.get(input.table, input.ref);
52
+ return data === null ? null : await this.decode(data);
61
53
  }
62
54
  async getSnapshots(input) {
63
- const stored = this.db
64
- .prepare(`SELECT id, data FROM ${this.table(input.table)} WHERE id IN (SELECT value FROM json_each(?))`)
65
- .all(JSON.stringify(input.refs));
55
+ const stored = await this.store.getMany(input.table, input.refs);
66
56
  const rows = new Map();
67
57
  for (const { id, data } of stored)
68
58
  rows.set(id, await this.decode(data));
69
59
  return input.refs.map(ref => rows.get(ref) ?? null);
70
60
  }
71
61
  async update(input) {
72
- const current = await this.getSnapshot(input);
73
- if (!current)
74
- return;
75
- this.db
76
- .prepare(`UPDATE ${this.table(input.table)} SET data = ? WHERE id = ?`)
77
- .run(await this.encode({ ...current, ...input.data, id: input.ref }), input.ref);
62
+ await this.store.update(input.table, input.ref, async (data) => this.encode({
63
+ ...(await this.decode(data)),
64
+ ...input.data,
65
+ id: input.ref,
66
+ }));
78
67
  }
79
- remove(input) {
80
- this.db
81
- .prepare(`DELETE FROM ${this.table(input.table)} WHERE id = ?`)
82
- .run(input.ref);
68
+ async remove(input) {
69
+ await this.store.delete(input.table, [input.ref]);
83
70
  }
84
71
  async delete(input) {
85
72
  const ids = await this.find(input);
86
- const statement = this.db.prepare(`DELETE FROM ${this.table(input.table)} WHERE id = ?`);
87
- for (const id of ids)
88
- statement.run(id);
73
+ await this.store.delete(input.table, ids);
89
74
  return ids.length;
90
75
  }
91
- close() {
92
- this.database?.close();
93
- this.database = null;
94
- this.tables.clear();
95
- }
96
- get db() {
97
- if (this.database)
98
- return this.database;
99
- this.database = new DatabaseSync(this.location);
100
- // Workflow workers open their own connection to the same file.
101
- this.database.exec(`PRAGMA busy_timeout = ${BUSY_TIMEOUT_IN_MS}`);
102
- return this.database;
103
- }
104
- table(name) {
105
- if (!TABLE_NAME.test(name))
106
- throw new Error(`Invalid table name: ${name}`);
107
- const quoted = `"${name}"`;
108
- if (!this.tables.has(name)) {
109
- this.db.exec(`CREATE TABLE IF NOT EXISTS ${quoted} (id TEXT PRIMARY KEY, data TEXT NOT NULL)`);
110
- this.tables.add(name);
111
- }
112
- return quoted;
76
+ async close() {
77
+ await this.store.close();
113
78
  }
114
79
  async select({ table, where, orderBy, limit, offset, }) {
115
80
  // @ts-expect-error: sift's default export is typed as a namespace
116
81
  const matches = sift(where ?? {}, { operations });
117
- const stored = this.db
118
- .prepare(`SELECT data FROM ${this.table(table)} ORDER BY id`)
119
- .all();
120
82
  let rows = [];
121
- for (const { data } of stored) {
83
+ for (const data of await this.store.scan(table)) {
122
84
  const row = await this.decode(data);
123
85
  if (matches(row))
124
86
  rows.push(row);
@@ -1 +1 @@
1
- {"version":3,"file":"DevORMClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevORMClaim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevORMClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevORMClaim.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export declare class DevWorkflowClaim extends WorkflowClaim {
4
4
  private readonly context;
5
5
  constructor(context: RuntimeContextService);
6
6
  start<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow | string, input?: WorkflowInput<TWorkflow>): Promise<Serializable>;
7
- startMany<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow | string, inputs: WorkflowInput<TWorkflow>[] | Binary[]): Promise<WorkflowBatchCollectionRef>;
7
+ startMany<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow | string, inputs: Iterable<WorkflowInput<TWorkflow> | Binary> | AsyncIterable<WorkflowInput<TWorkflow> | Binary>): Promise<WorkflowBatchCollectionRef>;
8
8
  }
@@ -37,11 +37,12 @@ let DevWorkflowClaim = class DevWorkflowClaim extends WorkflowClaim {
37
37
  if (!parentContext?.activityId)
38
38
  throw new Error('Could not start a batch outside of an activity context');
39
39
  const workflowRun = container.resolve(WorkflowRunFacade);
40
- await workflowRun.createMany(workflowId, inputs, {
40
+ const items = await Array.fromAsync(inputs);
41
+ await workflowRun.createMany(workflowId, items, {
41
42
  parentWorkflowRunId: parentContext.runId,
42
43
  parentWorkflowRunActivityId: parentContext.activityId,
43
44
  });
44
- return new WorkflowBatchCollectionRef(parentContext.activityId, inputs.length);
45
+ return new WorkflowBatchCollectionRef(parentContext.activityId, items.length);
45
46
  }
46
47
  };
47
48
  DevWorkflowClaim = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"DevWorkflowClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevWorkflowClaim.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,0BAA0B,EAC1B,aAAa,GAKd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAGxE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAG9B;IAFnB,YAEmB,OAA8B;QAE/C,KAAK,EAAE,CAAA;QAFU,YAAO,GAAP,OAAO,CAAuB;IAGjD,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,QAA4B,EAC5B,KAAgC;QAEhC,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;QAExE,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAExD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE;YACtD,mBAAmB,EAAE,aAAa,EAAE,KAAK;YACzC,2BAA2B,EAAE,aAAa,EAAE,UAAU;SACvD,CAAC,CAAA;QAEF,OAAO,GAAG,CAAC,EAAE,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,QAA4B,EAC5B,MAA6C;QAE7C,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;QAExE,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,UAAU;YAC5B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAE3E,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAExD,MAAM,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE;YAC/C,mBAAmB,EAAE,aAAa,CAAC,KAAK;YACxC,2BAA2B,EAAE,aAAa,CAAC,UAAU;SACtD,CAAC,CAAA;QAEF,OAAO,IAAI,0BAA0B,CACnC,aAAa,CAAC,UAAU,EACxB,MAAM,CAAC,MAAM,CACd,CAAA;IACH,CAAC;CACF,CAAA;AAvDY,gBAAgB;IAD5B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;GAF3B,gBAAgB,CAuD5B"}
1
+ {"version":3,"file":"DevWorkflowClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevWorkflowClaim.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,0BAA0B,EAC1B,aAAa,GAKd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAGxE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAG9B;IAFnB,YAEmB,OAA8B;QAE/C,KAAK,EAAE,CAAA;QAFU,YAAO,GAAP,OAAO,CAAuB;IAGjD,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,QAA4B,EAC5B,KAAgC;QAEhC,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;QAExE,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAExD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE;YACtD,mBAAmB,EAAE,aAAa,EAAE,KAAK;YACzC,2BAA2B,EAAE,aAAa,EAAE,UAAU;SACvD,CAAC,CAAA;QAEF,OAAO,GAAG,CAAC,EAAE,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,QAA4B,EAC5B,MAEoD;QAEpD,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;QAExE,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,UAAU;YAC5B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAE3E,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAExD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAU,MAAM,CAAC,CAAA;QAEpD,MAAM,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE;YAC9C,mBAAmB,EAAE,aAAa,CAAC,KAAK;YACxC,2BAA2B,EAAE,aAAa,CAAC,UAAU;SACtD,CAAC,CAAA;QAEF,OAAO,IAAI,0BAA0B,CACnC,aAAa,CAAC,UAAU,EACxB,KAAK,CAAC,MAAM,CACb,CAAA;IACH,CAAC;CACF,CAAA;AA3DY,gBAAgB;IAD5B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;GAF3B,gBAAgB,CA2D5B"}
@@ -0,0 +1,3 @@
1
+ import type { FrameworkORMConfig } from '../models/FrameworkConfig.js';
2
+ /** Validates `orm` from `framework.config.*`. */
3
+ export declare function toORMConfig(orm: FrameworkORMConfig | undefined): FrameworkORMConfig | undefined;
@@ -0,0 +1,13 @@
1
+ const POSTGRES_URL = /^postgres(?:ql)?:\/\//;
2
+ /** Validates `orm` from `framework.config.*`. */
3
+ export function toORMConfig(orm) {
4
+ // `process.env.X` left unset in the config keeps the SQLite file.
5
+ if (!orm?.connectionString)
6
+ return undefined;
7
+ const { connectionString } = orm;
8
+ if (typeof connectionString !== 'string' ||
9
+ !POSTGRES_URL.test(connectionString))
10
+ throw new Error('framework.config orm.connectionString must be a postgres:// or postgresql:// URL');
11
+ return { connectionString };
12
+ }
13
+ //# sourceMappingURL=to-orm-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-orm-config.js","sourceRoot":"","sources":["../../src/tools/to-orm-config.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAE5C,iDAAiD;AACjD,MAAM,UAAU,WAAW,CACzB,GAAmC;IAEnC,kEAAkE;IAClE,IAAI,CAAC,GAAG,EAAE,gBAAgB;QAAE,OAAO,SAAS,CAAA;IAE5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAA;IAEhC,IACE,OAAO,gBAAgB,KAAK,QAAQ;QACpC,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAEpC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IAEH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t4h.framework/dev",
3
- "version": "0.0.0-experimental-20261006133319",
3
+ "version": "0.0.0-experimental-20261008133517",
4
4
  "description": "Dev server for the T4H Framework",
5
5
  "homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/dev",
6
6
  "bugs": "https://github.com/tech4humans-brasil/framework/issues",
@@ -43,12 +43,13 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@hono/node-server": "^2.1.1",
46
- "@t4h.framework/vite-panel-plugin": "^0.3.1",
46
+ "@t4h.framework/vite-panel-plugin": "^0.4.0",
47
47
  "ajv": "^8.18.0",
48
48
  "dot-object": "^2.1.5",
49
49
  "hono": "^4.13.5",
50
50
  "mime-types": "^3.0.2",
51
51
  "nodemailer": "^8.0.1",
52
+ "pg": "^8.23.1",
52
53
  "pleroma": "^1.0.0",
53
54
  "reflect-metadata": "^0.2.2",
54
55
  "sift": "^17.1.3",
@@ -59,23 +60,24 @@
59
60
  "vite": "^8.0.3"
60
61
  },
61
62
  "devDependencies": {
62
- "@t4h.framework/cache": "^0.6.9",
63
- "@t4h.framework/core": "^0.18.0",
64
- "@t4h.framework/fs": "^0.12.2",
65
- "@t4h.framework/hmac": "^0.3.6",
66
- "@t4h.framework/http": "^0.7.4",
67
- "@t4h.framework/jwks": "^0.7.5",
68
- "@t4h.framework/oidc": "^0.6.9",
69
- "@t4h.framework/orm": "^0.11.1",
63
+ "@t4h.framework/cache": "^0.6.10",
64
+ "@t4h.framework/core": "^0.19.0",
65
+ "@t4h.framework/fs": "^0.13.0",
66
+ "@t4h.framework/hmac": "^0.3.7",
67
+ "@t4h.framework/http": "^0.7.5",
68
+ "@t4h.framework/jwks": "^0.7.6",
69
+ "@t4h.framework/oidc": "^0.6.10",
70
+ "@t4h.framework/orm": "^0.11.2",
70
71
  "@t4h.framework/runtime-claims": "^0.1.0",
71
- "@t4h.framework/sftp": "^0.8.4",
72
- "@t4h.framework/smtp": "^0.7.4",
73
- "@t4h.framework/webhook": "^0.2.6",
72
+ "@t4h.framework/sftp": "^0.8.5",
73
+ "@t4h.framework/smtp": "^0.7.5",
74
+ "@t4h.framework/webhook": "^0.2.7",
74
75
  "@types/dot-object": "^2.1.6",
75
76
  "@types/json-schema": "^7.0.15",
76
77
  "@types/mime-types": "^3",
77
78
  "@types/node": "^25.3.5",
78
79
  "@types/nodemailer": "^7.0.11",
80
+ "@types/pg": "^8.23.1",
79
81
  "json-schema-typed": "^8.0.2",
80
82
  "typescript": "^5.9.3",
81
83
  "vitest": "^4.0.18"