@t4h.framework/dev 0.0.0-experimental-20260905072306 → 0.0.0-experimental-20260907041001
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 -4
- package/README.md +45 -40
- package/dist/AppProcess.js +2 -1
- package/dist/AppProcess.js.map +1 -1
- package/dist/Server.d.ts +0 -4
- package/dist/Server.js +16 -8
- package/dist/Server.js.map +1 -1
- package/dist/constants/panel-config.d.ts +2 -0
- package/dist/constants/panel-config.js +34 -0
- package/dist/constants/panel-config.js.map +1 -0
- package/dist/constants/server.d.ts +1 -0
- package/dist/constants/server.js +1 -0
- package/dist/constants/server.js.map +1 -1
- package/dist/http/create-app.js +78 -23
- package/dist/http/create-app.js.map +1 -1
- package/dist/models/WorkflowRun.d.ts +0 -6
- package/dist/models/WorkflowRun.js +0 -2
- package/dist/models/WorkflowRun.js.map +1 -1
- package/dist/models/WorkflowRunActivity.d.ts +3 -0
- package/dist/models/WorkflowRunActivity.js +2 -0
- package/dist/models/WorkflowRunActivity.js.map +1 -1
- package/dist/models/claims/DevWorkflowBatchClaim.js +1 -3
- package/dist/models/claims/DevWorkflowBatchClaim.js.map +1 -1
- package/dist/repositories/WorkflowRun.repository.d.ts +22 -4
- package/dist/repositories/WorkflowRun.repository.js +55 -21
- package/dist/repositories/WorkflowRun.repository.js.map +1 -1
- package/dist/repositories/WorkflowRunActivity.repository.d.ts +8 -0
- package/dist/repositories/WorkflowRunActivity.repository.js +24 -4
- package/dist/repositories/WorkflowRunActivity.repository.js.map +1 -1
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.d.ts +16 -3
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js +64 -24
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js.map +1 -1
- package/dist/services/Database.service.js +1 -1
- package/dist/services/WorkflowRunEvents.service.d.ts +11 -0
- package/dist/services/WorkflowRunEvents.service.js +42 -0
- package/dist/services/WorkflowRunEvents.service.js.map +1 -0
- package/dist/services/WorkflowRunFacade.service.d.ts +71 -38
- package/dist/services/WorkflowRunFacade.service.js +30 -2
- package/dist/services/WorkflowRunFacade.service.js.map +1 -1
- package/dist/tools/copy-additional-files.d.ts +0 -5
- package/dist/tools/copy-additional-files.js +0 -5
- package/dist/tools/copy-additional-files.js.map +1 -1
- package/dist/tools/find-free-port.d.ts +5 -0
- package/dist/tools/find-free-port.js +30 -0
- package/dist/tools/find-free-port.js.map +1 -0
- package/dist/tools/format-routes.js +1 -0
- package/dist/tools/format-routes.js.map +1 -1
- package/dist/tools/to-rejected-reason.d.ts +5 -0
- package/dist/tools/to-rejected-reason.js +11 -0
- package/dist/tools/to-rejected-reason.js.map +1 -0
- package/dist/tools/to-workflow-run-activity-output.d.ts +24 -0
- package/dist/tools/to-workflow-run-activity-output.js +18 -0
- package/dist/tools/to-workflow-run-activity-output.js.map +1 -0
- package/dist/tools/to-workflow-run-output.d.ts +11 -0
- package/dist/tools/to-workflow-run-output.js +12 -0
- package/dist/tools/to-workflow-run-output.js.map +1 -0
- package/dist/transport/AppProcessJsonRpc.js +27 -9
- package/dist/transport/AppProcessJsonRpc.js.map +1 -1
- package/dist/use-cases/CreateWorkflowRun.usecase.d.ts +3 -1
- package/dist/use-cases/CreateWorkflowRun.usecase.js +9 -2
- package/dist/use-cases/CreateWorkflowRun.usecase.js.map +1 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +4 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js +13 -5
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js.map +1 -1
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +3 -1
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +12 -3
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +3 -2
- package/dist/use-cases/NextTickWorkflowRun.usecase.js +16 -18
- package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
- package/dist/use-cases/WorkflowRunActivityFind.usecase.d.ts +34 -0
- package/dist/use-cases/WorkflowRunActivityFind.usecase.js +49 -0
- package/dist/use-cases/WorkflowRunActivityFind.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.d.ts +34 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.js +60 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.d.ts +24 -0
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js +56 -0
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunFind.usecase.d.ts +2 -17
- package/dist/use-cases/WorkflowRunFind.usecase.js +1 -13
- package/dist/use-cases/WorkflowRunFind.usecase.js.map +1 -1
- package/dist/use-cases/WorkflowRunFindById.usecase.d.ts +3 -37
- package/dist/use-cases/WorkflowRunFindById.usecase.js +3 -41
- package/dist/use-cases/WorkflowRunFindById.usecase.js.map +1 -1
- package/dist/workers/app-process.js +9 -0
- package/dist/workers/app-process.js.map +1 -1
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
# @t4h.framework/dev
|
|
2
2
|
|
|
3
|
-
## 0.0.0-experimental-
|
|
3
|
+
## 0.0.0-experimental-20260907041001
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#151](https://github.com/tech4humans-brasil/framework/pull/151) [`85c8542`](https://github.com/tech4humans-brasil/framework/commit/85c85428878ca85ab3b53869ea0189fa2c3801eb) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - host owns panel config and run rejection lives in output
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`85c8542`](https://github.com/tech4humans-brasil/framework/commit/85c85428878ca85ab3b53869ea0189fa2c3801eb)]:
|
|
12
|
+
- @t4h.framework/vite-panel-plugin@0.0.0-experimental-20260907041001
|
|
13
|
+
|
|
14
|
+
## 0.15.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
6
17
|
|
|
@@ -8,9 +19,10 @@
|
|
|
8
19
|
|
|
9
20
|
### Patch Changes
|
|
10
21
|
|
|
11
|
-
- Updated dependencies [[`a3696b4`](https://github.com/tech4humans-brasil/framework/commit/a3696b48b48598eda9e51c53538a6086abe36018), [`45182d4`](https://github.com/tech4humans-brasil/framework/commit/45182d4a27c86353747646aa9b70a39bc4c56610)]:
|
|
12
|
-
- @t4h.framework/
|
|
13
|
-
- @t4h.framework/
|
|
22
|
+
- Updated dependencies [[`a3696b4`](https://github.com/tech4humans-brasil/framework/commit/a3696b48b48598eda9e51c53538a6086abe36018), [`a3696b4`](https://github.com/tech4humans-brasil/framework/commit/a3696b48b48598eda9e51c53538a6086abe36018), [`45182d4`](https://github.com/tech4humans-brasil/framework/commit/45182d4a27c86353747646aa9b70a39bc4c56610)]:
|
|
23
|
+
- @t4h.framework/vite-panel-plugin@0.1.0
|
|
24
|
+
- @t4h.framework/http@0.4.4
|
|
25
|
+
- @t4h.framework/oidc@0.5.0
|
|
14
26
|
|
|
15
27
|
## 0.14.2
|
|
16
28
|
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ When you run `framework dev` (via `@t4h.framework/cli`), this package powers the
|
|
|
9
9
|
1. **TypeScript watch** — compiles your app on every change.
|
|
10
10
|
2. **App process** — forks a child Node process that loads your compiled `App` and runs the workflow engine on an in-memory SQLite database.
|
|
11
11
|
3. **HTTP server** — a [Hono](https://hono.dev) app that exposes your workflows (create runs, advance pending activities), enforces the workflow authorization and adds `/_dev` routes for tooling.
|
|
12
|
-
4. **Vite** — a Vite dev server in middleware mode serves
|
|
12
|
+
4. **Vite** — a Vite dev server in middleware mode serves the built-in panel and anything else that is not an API route.
|
|
13
13
|
5. **Dev claims** — provides local implementations for ORM, HTTP, file system, cache, SMTP, and more.
|
|
14
14
|
|
|
15
15
|
```mermaid
|
|
@@ -83,13 +83,13 @@ The server listens right away and prints the routes of every workflow once the f
|
|
|
83
83
|
|
|
84
84
|
### Options
|
|
85
85
|
|
|
86
|
-
| Flag
|
|
87
|
-
|
|
88
|
-
| `--entrypoint <path>`
|
|
89
|
-
| `-e, --env <KEY=VALUE>`
|
|
90
|
-
| `--env-file-if-exists <path>` | Load variables from a `.env` file if it exists
|
|
91
|
-
| `-p, --port <port>`
|
|
92
|
-
| `--host <host>`
|
|
86
|
+
| Flag | Description | Default |
|
|
87
|
+
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------- |
|
|
88
|
+
| `--entrypoint <path>` | Path to the project's `package.json` | `./package.json` |
|
|
89
|
+
| `-e, --env <KEY=VALUE>` | Environment variable (repeatable) | — |
|
|
90
|
+
| `--env-file-if-exists <path>` | Load variables from a `.env` file if it exists | — |
|
|
91
|
+
| `-p, --port <port>` | HTTP port (also `PORT`); when something already answers on it, on any address of `--host`, the next free port up is taken and logged | `3000` |
|
|
92
|
+
| `--host <host>` | HTTP host | `localhost` |
|
|
93
93
|
|
|
94
94
|
Example with env vars:
|
|
95
95
|
|
|
@@ -101,11 +101,11 @@ framework dev --entrypoint ./package.json -e API_KEY=secret -e DB_HOST=localhost
|
|
|
101
101
|
|
|
102
102
|
The dev server has no tenants and a single live version (the last build), so the routes carry only the project and the workflow. `projectId` must match your `App` id.
|
|
103
103
|
|
|
104
|
-
| Method
|
|
105
|
-
|
|
106
|
-
| `GET`
|
|
107
|
-
| `POST`
|
|
108
|
-
| `PATCH` | `/projects/:projectId/workflows/:workflowId/runs/:runId/activities/:activityId` | yes
|
|
104
|
+
| Method | Route | Authorization | Response |
|
|
105
|
+
| ------- | ------------------------------------------------------------------------------- | ------------- | -------------------------- |
|
|
106
|
+
| `GET` | `/projects/:projectId/manifest.json` | no | `200` the app manifest |
|
|
107
|
+
| `POST` | `/projects/:projectId/workflows/:workflowId/runs` | yes | `201 { "id": "<run id>" }` |
|
|
108
|
+
| `PATCH` | `/projects/:projectId/workflows/:workflowId/runs/:runId/activities/:activityId` | yes | `200 { id, type, status }` |
|
|
109
109
|
|
|
110
110
|
The `POST` body is the workflow input, validated against the workflow schema (`400` with the validation errors). The `PATCH` body is `{ "payload": ... }`, validated against the pending async activity schema (`400 Payload is invalid`, `400 AsyncActivity is not pending`). Errors use the NestJS shape `{ statusCode, message, error }`; `503` means the app process is still starting.
|
|
111
111
|
|
|
@@ -124,18 +124,20 @@ Every `/projects` route requires an authorization: the workflow `authorization`
|
|
|
124
124
|
|
|
125
125
|
### Dev routes (no authorization)
|
|
126
126
|
|
|
127
|
-
| Method | Route
|
|
128
|
-
|
|
129
|
-
| `GET`
|
|
130
|
-
| `GET`
|
|
131
|
-
| `GET`
|
|
132
|
-
| `GET`
|
|
133
|
-
| `GET`
|
|
134
|
-
| `
|
|
135
|
-
| `
|
|
136
|
-
| `GET`
|
|
127
|
+
| Method | Route | Description |
|
|
128
|
+
| ------ | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
129
|
+
| `GET` | `/_dev/manifest` | App manifest |
|
|
130
|
+
| `GET` | `/_dev/state` | `{ state: 'idle' \| 'starting' \| 'ready' \| 'exited' }` |
|
|
131
|
+
| `GET` | `/_dev/runs?status=&workflow=&id=&parentRun=&parentActivity=&rootOnly=&createdAfter=&createdBefore=&limit=&offset=` | `{ count, runs }` newest first; `id` is a prefix, `rootOnly=true` hides child runs, `createdAfter`/`createdBefore` are ISO 8601 |
|
|
132
|
+
| `GET` | `/_dev/runs/:id` | Run with `input` and `output`; a rejected run carries its reason as `output` (framework tagged JSON) |
|
|
133
|
+
| `GET` | `/_dev/activities/waiting` | Async activities waiting for an advance |
|
|
134
|
+
| `POST` | `/_dev/workflows/:workflowId/runs` | Starts a run without authorization; body is the input, answers `201 { id }` |
|
|
135
|
+
| `POST` | `/_dev/activities/:activityId/advance` | Advances a pending async activity without authorization; body is `{ payload }` |
|
|
136
|
+
| `GET` | `/_dev/events` | SSE: `manifest`, `build:status`, `build:fail`, `app:exit`, `run:created`, `run:updated` |
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
`run:created` and `run:updated` carry the run summary (the same object `/_dev/runs` lists); updates of one run are coalesced, so a tick that writes several rows produces one event.
|
|
139
|
+
|
|
140
|
+
Everything else is handed to Vite, which serves the panel that ships with this package: open the base URL to browse the workflows and start runs from their schema, follow runs live with the execution trace of each one (activities as a waterfall, child runs nested, input, output, duration, logs, the activity that failed) and advance waiting activities. Plugins from the project's `vite.config.*` (or `vite.plugins`) are served by the same Vite.
|
|
139
141
|
|
|
140
142
|
## State
|
|
141
143
|
|
|
@@ -159,7 +161,10 @@ const server = new Server({
|
|
|
159
161
|
})
|
|
160
162
|
|
|
161
163
|
server.on('manifest', manifest => {
|
|
162
|
-
console.log(
|
|
164
|
+
console.log(
|
|
165
|
+
'App ready:',
|
|
166
|
+
manifest.workflows.map(workflow => workflow.id),
|
|
167
|
+
)
|
|
163
168
|
})
|
|
164
169
|
|
|
165
170
|
const address = await server.up()
|
|
@@ -171,13 +176,13 @@ await server.down()
|
|
|
171
176
|
|
|
172
177
|
### Server API
|
|
173
178
|
|
|
174
|
-
| Member
|
|
175
|
-
|
|
176
|
-
| `up()`
|
|
177
|
-
| `down()`
|
|
178
|
-
| `manifest` | Current app manifest or `null`.
|
|
179
|
-
| `address`
|
|
180
|
-
| events
|
|
179
|
+
| Member | Description |
|
|
180
|
+
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
181
|
+
| `up()` | Starts HTTP + Vite, then the TypeScript watch; resolves with `{ host, port, url }`. `port` is the one actually bound: a port already in use moves it up. |
|
|
182
|
+
| `down()` | Stops the watch, the app process, Vite and the HTTP server. |
|
|
183
|
+
| `manifest` | Current app manifest or `null`. |
|
|
184
|
+
| `address` | Listening address (throws before `up()`). |
|
|
185
|
+
| events | `manifest`, `build:status`, `build:fail`, `app:exit`, `run:created`, `run:updated`, `error`. |
|
|
181
186
|
|
|
182
187
|
`vite: false` disables Vite; `vite.root` / `vite.configFile` point at another Vite project. The server logs the listening URL, build output and the routes of every workflow through `logger` (default `console`, `false` to silence). A manifest with a workflow that has no authorization (and no app default) emits `error` with a `WorkflowAuthorizationMissingError`; `framework dev` exits with code 1 in that case.
|
|
183
188
|
|
|
@@ -185,14 +190,14 @@ await server.down()
|
|
|
185
190
|
|
|
186
191
|
In production, claims are fulfilled by the runtime (database connections, real HTTP clients, etc.). During local development, `@t4h.framework/dev` registers in-memory substitutes:
|
|
187
192
|
|
|
188
|
-
| Claim
|
|
189
|
-
|
|
190
|
-
| `ORMClaim`
|
|
191
|
-
| `HttpClientRequestClaim` | Real HTTP via `undici`
|
|
192
|
-
| `FileSystemClaim`
|
|
193
|
-
| `SmtpSendEmailClaim`
|
|
194
|
-
| `CacheClaim`
|
|
195
|
-
| `WorkflowClaim`
|
|
193
|
+
| Claim | Dev implementation |
|
|
194
|
+
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
|
195
|
+
| `ORMClaim` | SQLite file `db.sqlite` in the project directory; `where` keeps the Mongo-like semantics (`$like`, `$ilike`, `$or`, ...) |
|
|
196
|
+
| `HttpClientRequestClaim` | Real HTTP via `undici` |
|
|
197
|
+
| `FileSystemClaim` | Local file system with dev binary codec |
|
|
198
|
+
| `SmtpSendEmailClaim` | Captures emails in memory (no delivery) |
|
|
199
|
+
| `CacheClaim` | In-memory cache |
|
|
200
|
+
| `WorkflowClaim` | Runs workflows through the local workflow engine |
|
|
196
201
|
|
|
197
202
|
Import the full claim registry:
|
|
198
203
|
|
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, } from './constants/server.js';
|
|
6
|
+
import { APP_KILL_TIMEOUT_IN_MS, APP_READY_TIMEOUT_IN_MS, 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 {
|
|
@@ -28,6 +28,7 @@ export class AppProcess extends EventEmitter {
|
|
|
28
28
|
this.forkProcess = forkProcess;
|
|
29
29
|
this.server = new JSONRPCServer([
|
|
30
30
|
new JSONRPCServerMethod('manifest', { schema: [Type.Any()] }, (manifest) => this.onManifest(manifest)),
|
|
31
|
+
...WORKFLOW_RUN_EVENTS.map(event => new JSONRPCServerMethod(event, { schema: [Type.Any()] }, (payload) => void this.emit(event, payload))),
|
|
31
32
|
], message => {
|
|
32
33
|
this.child?.send(message);
|
|
33
34
|
});
|
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,
|
|
1
|
+
{"version":3,"file":"AppProcess.js","sourceRoot":"","sources":["../src/AppProcess.ts"],"names":[],"mappings":"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"}
|
package/dist/Server.d.ts
CHANGED
|
@@ -37,9 +37,5 @@ export declare class Server extends EventEmitter {
|
|
|
37
37
|
up(): Promise<ServerAddress>;
|
|
38
38
|
down(): Promise<void>;
|
|
39
39
|
private onTsBuildSuccess;
|
|
40
|
-
/**
|
|
41
|
-
* Vite only serves the UI (a panel plugin from the project's vite.config or
|
|
42
|
-
* from `vite.plugins`); the API never goes through it.
|
|
43
|
-
*/
|
|
44
40
|
private createVite;
|
|
45
41
|
}
|
package/dist/Server.js
CHANGED
|
@@ -5,9 +5,11 @@ import { pathToFileURL } from 'node:url';
|
|
|
5
5
|
import { styleText } from 'node:util';
|
|
6
6
|
import { getRequestListener } from '@hono/node-server';
|
|
7
7
|
import { AppProcess } from './AppProcess.js';
|
|
8
|
-
import {
|
|
8
|
+
import { PANEL_CONFIG } from './constants/panel-config.js';
|
|
9
|
+
import { DEFAULT_HOST, DEFAULT_PORT, DEV_ROUTES_PREFIX, PROJECTS_ROUTES_PREFIX, WORKFLOW_RUN_EVENTS, } from './constants/server.js';
|
|
9
10
|
import { createApp } from './http/create-app.js';
|
|
10
11
|
import { WorkflowAuthorizationMissingError } from './models/WorkflowAuthorizationMissingError.js';
|
|
12
|
+
import { findFreePort } from './tools/find-free-port.js';
|
|
11
13
|
import { formatRoutes } from './tools/format-routes.js';
|
|
12
14
|
import { mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath } from './tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
|
|
13
15
|
import { resolvePackageJsonPath } from './tools/resolve-package-json-path.js';
|
|
@@ -43,6 +45,8 @@ export class Server extends EventEmitter {
|
|
|
43
45
|
}));
|
|
44
46
|
this.emit('app:exit', code);
|
|
45
47
|
});
|
|
48
|
+
for (const event of WORKFLOW_RUN_EVENTS)
|
|
49
|
+
this.appProcess.on(event, payload => this.emit(event, payload));
|
|
46
50
|
}
|
|
47
51
|
get manifest() {
|
|
48
52
|
return this.appProcess.manifest;
|
|
@@ -76,11 +80,18 @@ export class Server extends EventEmitter {
|
|
|
76
80
|
this.httpServer = httpServer;
|
|
77
81
|
if (vite !== false)
|
|
78
82
|
this.vite = await this.createVite(httpServer, projectDir, vite ?? {});
|
|
83
|
+
const freePort = await findFreePort(port, host);
|
|
84
|
+
if (freePort !== port)
|
|
85
|
+
this.logger?.log(`[server] port ${port} is in use, moving to ${freePort}`);
|
|
79
86
|
await new Promise((resolve, reject) => {
|
|
80
87
|
httpServer.once('error', reject);
|
|
81
|
-
httpServer.listen(
|
|
88
|
+
httpServer.listen(freePort, host, resolve);
|
|
82
89
|
});
|
|
83
|
-
this.currentAddress = {
|
|
90
|
+
this.currentAddress = {
|
|
91
|
+
host,
|
|
92
|
+
port: freePort,
|
|
93
|
+
url: `http://${host}:${freePort}`,
|
|
94
|
+
};
|
|
84
95
|
this.logger?.log(`[server] listening on ${this.currentAddress.url}, waiting for the first build…`);
|
|
85
96
|
this.tsBuildWatcher = tsBuildWatch(tsConfigPath, {
|
|
86
97
|
outDir: path.join(this.outDir, 'dist'),
|
|
@@ -151,18 +162,15 @@ export class Server extends EventEmitter {
|
|
|
151
162
|
routes: this.routes,
|
|
152
163
|
}));
|
|
153
164
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Vite only serves the UI (a panel plugin from the project's vite.config or
|
|
156
|
-
* from `vite.plugins`); the API never goes through it.
|
|
157
|
-
*/
|
|
158
165
|
async createVite(httpServer, projectDir, { root = projectDir, configFile, plugins }) {
|
|
159
166
|
const { createServer } = await import('vite');
|
|
167
|
+
const { default: panel } = await import('@t4h.framework/vite-panel-plugin');
|
|
160
168
|
return createServer({
|
|
161
169
|
root,
|
|
162
170
|
configFile,
|
|
163
171
|
appType: 'custom',
|
|
164
172
|
server: { middlewareMode: true, hmr: { server: httpServer } },
|
|
165
|
-
plugins,
|
|
173
|
+
plugins: [panel({ config: PANEL_CONFIG }), ...(plugins ?? [])],
|
|
166
174
|
});
|
|
167
175
|
}
|
|
168
176
|
}
|
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,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DEV_ROUTES_PREFIX, PROJECTS_ROUTES_PREFIX } from './server.js';
|
|
2
|
+
export const PANEL_CONFIG = {
|
|
3
|
+
title: 'Framework Panel',
|
|
4
|
+
basePath: '',
|
|
5
|
+
apiUrl: DEV_ROUTES_PREFIX,
|
|
6
|
+
metadata: {},
|
|
7
|
+
fields: {},
|
|
8
|
+
api: {
|
|
9
|
+
manifest: '/manifest',
|
|
10
|
+
state: '/state',
|
|
11
|
+
runs: '/runs',
|
|
12
|
+
run: '/runs/:run',
|
|
13
|
+
runActivities: '/runs/:run/activities',
|
|
14
|
+
runActivity: '/runs/:run/activities/:activity',
|
|
15
|
+
runActivityPendings: '/runs/:run/activities/:activity/pendings',
|
|
16
|
+
runLogs: '/runs/:run/logs',
|
|
17
|
+
waitingActivities: '/activities/waiting',
|
|
18
|
+
runWorkflow: '/workflows/:workflow/runs',
|
|
19
|
+
advanceActivity: '/activities/:activity/advance',
|
|
20
|
+
events: '/events',
|
|
21
|
+
},
|
|
22
|
+
capabilities: { trigger: true, advance: true, events: true, rebuild: true },
|
|
23
|
+
routes: {
|
|
24
|
+
runs: {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
path: `${PROJECTS_ROUTES_PREFIX}/:project/workflows/:workflow/runs`,
|
|
27
|
+
},
|
|
28
|
+
advance: {
|
|
29
|
+
method: 'PATCH',
|
|
30
|
+
path: `${PROJECTS_ROUTES_PREFIX}/:project/workflows/:workflow/runs/:run/activities/:activity`,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=panel-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-config.js","sourceRoot":"","sources":["../../src/constants/panel-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,YAAY;QACjB,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,iCAAiC;QAC9C,mBAAmB,EAAE,0CAA0C;QAC/D,OAAO,EAAE,iBAAiB;QAC1B,iBAAiB,EAAE,qBAAqB;QACxC,WAAW,EAAE,2BAA2B;QACxC,eAAe,EAAE,+BAA+B;QAChD,MAAM,EAAE,SAAS;KAClB;IACD,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3E,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,sBAAsB,oCAAoC;SACpE;QACD,OAAO,EAAE;YACP,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG,sBAAsB,8DAA8D;SAC9F;KACF;CACF,CAAA"}
|
|
@@ -6,3 +6,4 @@ export declare const APP_KILL_TIMEOUT_IN_MS = 5000;
|
|
|
6
6
|
export declare const SSE_HEARTBEAT_INTERVAL_IN_MS = 15000;
|
|
7
7
|
export declare const PROJECTS_ROUTES_PREFIX = "/projects";
|
|
8
8
|
export declare const DEV_ROUTES_PREFIX = "/_dev";
|
|
9
|
+
export declare const WORKFLOW_RUN_EVENTS: readonly ["run:created", "run:updated"];
|
package/dist/constants/server.js
CHANGED
|
@@ -6,4 +6,5 @@ export const APP_KILL_TIMEOUT_IN_MS = 5_000;
|
|
|
6
6
|
export const SSE_HEARTBEAT_INTERVAL_IN_MS = 15_000;
|
|
7
7
|
export const PROJECTS_ROUTES_PREFIX = '/projects';
|
|
8
8
|
export const DEV_ROUTES_PREFIX = '/_dev';
|
|
9
|
+
export const WORKFLOW_RUN_EVENTS = ['run:created', 'run:updated'];
|
|
9
10
|
//# 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,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"}
|
|
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,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,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAA"}
|
package/dist/http/create-app.js
CHANGED
|
@@ -6,18 +6,68 @@ import { errorHandler } from './middlewares/error-handler.middleware.js';
|
|
|
6
6
|
import { projectManifest, } from './middlewares/project-manifest.middleware.js';
|
|
7
7
|
import { readJsonBody, } from './middlewares/read-json-body.middleware.js';
|
|
8
8
|
import { workflowAuthorization, } from './middlewares/workflow-authorization.middleware.js';
|
|
9
|
-
import { DEV_ROUTES_PREFIX, SSE_HEARTBEAT_INTERVAL_IN_MS, } from '../constants/server.js';
|
|
9
|
+
import { DEV_ROUTES_PREFIX, SSE_HEARTBEAT_INTERVAL_IN_MS, WORKFLOW_RUN_EVENTS, } from '../constants/server.js';
|
|
10
10
|
const WORKFLOW_PATH = '/projects/:projectId/workflows/:workflowId';
|
|
11
|
-
const SERVER_EVENTS = [
|
|
11
|
+
const SERVER_EVENTS = [
|
|
12
|
+
'manifest',
|
|
13
|
+
'build:status',
|
|
14
|
+
'build:fail',
|
|
15
|
+
'app:exit',
|
|
16
|
+
...WORKFLOW_RUN_EVENTS,
|
|
17
|
+
];
|
|
18
|
+
const FIND_QUERY_STRINGS = [
|
|
19
|
+
'status',
|
|
20
|
+
'workflow',
|
|
21
|
+
'id',
|
|
22
|
+
'parentRun',
|
|
23
|
+
'parentActivity',
|
|
24
|
+
];
|
|
25
|
+
const FIND_QUERY_DATES = ['createdAfter', 'createdBefore'];
|
|
26
|
+
const PAGE_QUERY_INTEGERS = ['limit', 'offset'];
|
|
27
|
+
const MAX_LIMIT = 50;
|
|
28
|
+
function toIntegers(query, names) {
|
|
29
|
+
const result = {};
|
|
30
|
+
for (const name of names) {
|
|
31
|
+
const value = Number.parseInt(query[name] ?? '', 10);
|
|
32
|
+
if (Number.isFinite(value))
|
|
33
|
+
result[name] = value;
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function checkPage(page) {
|
|
38
|
+
if (page.limit !== undefined && (page.limit < 1 || page.limit > MAX_LIMIT))
|
|
39
|
+
throw toHttpError(400, `limit must be between 1 and ${MAX_LIMIT}`);
|
|
40
|
+
if (page.offset !== undefined && page.offset < 0)
|
|
41
|
+
throw toHttpError(400, 'offset must be 0 or more');
|
|
42
|
+
}
|
|
43
|
+
function toPageQuery(query) {
|
|
44
|
+
const page = toIntegers(query, PAGE_QUERY_INTEGERS);
|
|
45
|
+
checkPage(page);
|
|
46
|
+
return page;
|
|
47
|
+
}
|
|
12
48
|
function toFindQuery(query) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
49
|
+
const result = toIntegers(query, PAGE_QUERY_INTEGERS);
|
|
50
|
+
checkPage(result);
|
|
51
|
+
for (const name of FIND_QUERY_STRINGS)
|
|
52
|
+
if (query[name])
|
|
53
|
+
result[name] = query[name];
|
|
54
|
+
for (const name of FIND_QUERY_DATES) {
|
|
55
|
+
const value = query[name];
|
|
56
|
+
if (!value)
|
|
57
|
+
continue;
|
|
58
|
+
if (Number.isNaN(Date.parse(value)))
|
|
59
|
+
throw toHttpError(400, `${name} must be an ISO 8601 date`);
|
|
60
|
+
result[name] = value;
|
|
61
|
+
}
|
|
62
|
+
if (query.rootOnly !== undefined)
|
|
63
|
+
result.rootOnly = query.rootOnly === 'true';
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
function toAdvancePayload(body) {
|
|
67
|
+
if (body !== undefined &&
|
|
68
|
+
(typeof body !== 'object' || body === null || Array.isArray(body)))
|
|
69
|
+
throw toHttpError(400, 'Body must be an object');
|
|
70
|
+
return body?.payload;
|
|
21
71
|
}
|
|
22
72
|
export function createApp({ appProcess, events, projectDir, }) {
|
|
23
73
|
const app = new Hono();
|
|
@@ -36,11 +86,7 @@ export function createApp({ appProcess, events, projectDir, }) {
|
|
|
36
86
|
return context.json({ id }, 201);
|
|
37
87
|
});
|
|
38
88
|
app.patch(`${WORKFLOW_PATH}/runs/:runId/activities/:activityId`, readJsonBody, manifest, authorization, async (context) => {
|
|
39
|
-
const
|
|
40
|
-
if (body !== undefined &&
|
|
41
|
-
(typeof body !== 'object' || body === null || Array.isArray(body)))
|
|
42
|
-
throw toHttpError(400, 'Body must be an object');
|
|
43
|
-
const payload = body?.payload;
|
|
89
|
+
const payload = toAdvancePayload(context.get('body'));
|
|
44
90
|
const activity = await appProcess.call('workflow.async-activities.advance', context.req.param('activityId'), payload);
|
|
45
91
|
return context.json({
|
|
46
92
|
id: activity.id,
|
|
@@ -53,14 +99,23 @@ export function createApp({ appProcess, events, projectDir, }) {
|
|
|
53
99
|
dev.get('/state', context => context.json({ state: appProcess.state }));
|
|
54
100
|
dev.get('/runs', async (context) => context.json(await appProcess.call('workflow.runs.find', toFindQuery(context.req.query()))));
|
|
55
101
|
dev.get('/runs/:id', async (context) => context.json(await appProcess.call('workflow.runs.findById', context.req.param('id'))));
|
|
56
|
-
dev.get('/activities
|
|
57
|
-
dev.get('/
|
|
58
|
-
dev.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
await appProcess.call('
|
|
63
|
-
return context.
|
|
102
|
+
dev.get('/runs/:id/activities', async (context) => context.json(await appProcess.call('workflow.runs.activities.find', context.req.param('id'), toPageQuery(context.req.query()))));
|
|
103
|
+
dev.get('/runs/:id/activities/:activityId/pendings', async (context) => context.json(await appProcess.call('workflow.runs.activities.pendings.find', context.req.param('id'), context.req.param('activityId'), toPageQuery(context.req.query()))));
|
|
104
|
+
dev.get('/runs/:id/activities/:activityId', async (context) => context.json(await appProcess.call('workflow.runs.activities.findById', context.req.param('id'), context.req.param('activityId'))));
|
|
105
|
+
dev.get('/runs/:id/logs', async (context) => context.json(await appProcess.call('workflow.runs.logs.find', context.req.param('id'), toPageQuery(context.req.query()))));
|
|
106
|
+
dev.get('/activities/waiting', async (context) => context.json(await appProcess.call('workflow.async-activities.waiting.list', toPageQuery(context.req.query()))));
|
|
107
|
+
dev.post('/workflows/:workflowId/runs', readJsonBody, async (context) => {
|
|
108
|
+
const { id } = await appProcess.call('workflow.run', context.req.param('workflowId'), context.get('body'));
|
|
109
|
+
return context.json({ id }, 201);
|
|
110
|
+
});
|
|
111
|
+
dev.post('/activities/:activityId/advance', readJsonBody, async (context) => {
|
|
112
|
+
const payload = toAdvancePayload(context.get('body'));
|
|
113
|
+
const activity = await appProcess.call('workflow.async-activities.advance', context.req.param('activityId'), payload);
|
|
114
|
+
return context.json({
|
|
115
|
+
id: activity.id,
|
|
116
|
+
type: activity.type,
|
|
117
|
+
status: activity.status,
|
|
118
|
+
});
|
|
64
119
|
});
|
|
65
120
|
dev.get('/events', context => streamSSE(context, async (stream) => {
|
|
66
121
|
const send = (event, data) => stream.writeSSE({ event, data: JSON.stringify(data ?? null) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/http/create-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AACxE,OAAO,EACL,eAAe,GAEhB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,YAAY,GAEb,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,qBAAqB,GAEtB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,iBAAiB,EACjB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/http/create-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
export type WorkflowRunStatus = 'running' | 'fulfilled' | 'rejected';
|
|
2
|
-
export interface WorkflowRunRejectedReason {
|
|
3
|
-
message: string;
|
|
4
|
-
stack?: string;
|
|
5
|
-
}
|
|
6
2
|
export interface WorkflowRunOptions {
|
|
7
3
|
id?: string;
|
|
8
4
|
status?: WorkflowRunStatus;
|
|
9
5
|
output?: unknown;
|
|
10
|
-
rejectedReason?: WorkflowRunRejectedReason;
|
|
11
6
|
parentWorkflowRunId?: string;
|
|
12
7
|
parentWorkflowRunActivityId?: string;
|
|
13
8
|
batchIndex?: number;
|
|
@@ -21,7 +16,6 @@ export declare class WorkflowRun {
|
|
|
21
16
|
readonly input: unknown;
|
|
22
17
|
readonly status: WorkflowRunStatus;
|
|
23
18
|
readonly output: unknown;
|
|
24
|
-
readonly rejectedReason: WorkflowRunRejectedReason | undefined;
|
|
25
19
|
readonly parentWorkflowRunId: string | undefined;
|
|
26
20
|
readonly parentWorkflowRunActivityId: string | undefined;
|
|
27
21
|
readonly batchIndex: number | undefined;
|
|
@@ -5,7 +5,6 @@ export class WorkflowRun {
|
|
|
5
5
|
input;
|
|
6
6
|
status;
|
|
7
7
|
output;
|
|
8
|
-
rejectedReason;
|
|
9
8
|
parentWorkflowRunId;
|
|
10
9
|
parentWorkflowRunActivityId;
|
|
11
10
|
batchIndex;
|
|
@@ -18,7 +17,6 @@ export class WorkflowRun {
|
|
|
18
17
|
this.input = input;
|
|
19
18
|
this.status = options.status ?? 'running';
|
|
20
19
|
this.output = options.output;
|
|
21
|
-
this.rejectedReason = options.rejectedReason;
|
|
22
20
|
this.parentWorkflowRunId = options.parentWorkflowRunId;
|
|
23
21
|
this.parentWorkflowRunActivityId = options.parentWorkflowRunActivityId;
|
|
24
22
|
this.batchIndex = options.batchIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRun.js","sourceRoot":"","sources":["../../src/models/WorkflowRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkflowRun.js","sourceRoot":"","sources":["../../src/models/WorkflowRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgB/B,MAAM,OAAO,WAAW;IACN,EAAE,CAAQ;IACV,QAAQ,CAAQ;IAChB,KAAK,CAAS;IACd,MAAM,CAAmB;IACzB,MAAM,CAAS;IACf,mBAAmB,CAAoB;IACvC,2BAA2B,CAAoB;IAC/C,UAAU,CAAoB;IAC9B,SAAS,CAAoB;IAC7B,SAAS,CAAM;IACf,SAAS,CAAM;IAE/B,YACE,QAAgB,EAChB,KAAc,EACd,UAA8B,EAAE;QAEhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QACtD,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAA;QACtE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;IACtD,CAAC;CACF"}
|