mirror of
https://github.com/n8n-io/n8n.git
synced 2026-07-27 11:05:14 +02:00
Compare commits
202 Commits
n8n@2.32.2
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f4e65419a | ||
|
|
4f7c725b83 | ||
|
|
90f1430c5e | ||
|
|
e2054f984c | ||
|
|
771d038657 | ||
|
|
91751c3ce2 | ||
|
|
d0adaf7b5a | ||
|
|
2c4805cf4c | ||
|
|
4e43644bba | ||
|
|
d93d2dea5b | ||
|
|
75366af57c | ||
|
|
734f957395 | ||
|
|
1713d9a9bc | ||
|
|
0dabb99ce5 | ||
|
|
7d8426f055 | ||
|
|
6d66056058 | ||
|
|
dee23d2de5 | ||
|
|
5339b5e48a | ||
|
|
55e92cc283 | ||
|
|
decb3228c5 | ||
|
|
6b4021147b | ||
|
|
bac8debc0e | ||
|
|
490b7220e1 | ||
|
|
359d82fb05 | ||
|
|
8017b3d85f | ||
|
|
99d70aedbd | ||
|
|
7089418a6b | ||
|
|
3f2bc68846 | ||
|
|
e6a08eec58 | ||
|
|
f99d75c3d5 | ||
|
|
fdd4e33f9c | ||
|
|
5a97bd1a2e | ||
|
|
4212fc2202 | ||
|
|
9e09ff4d23 | ||
|
|
ded1697671 | ||
|
|
b5da0744c4 | ||
|
|
d6c9c38ae7 | ||
|
|
bf8f5d85a3 | ||
|
|
efa86c697b | ||
|
|
ddc1766af3 | ||
|
|
335b9d7a96 | ||
|
|
e5bb60f663 | ||
|
|
50789b1553 | ||
|
|
6e124263dc | ||
|
|
016421680d | ||
|
|
a0f6861e17 | ||
|
|
0c613b4405 | ||
|
|
8c49c405be | ||
|
|
d67b9cd0d1 | ||
|
|
3f1b35d669 | ||
|
|
f4edeeba31 | ||
|
|
9503892225 | ||
|
|
a647aeff23 | ||
|
|
95da84912f | ||
|
|
d5b5d8ead5 | ||
|
|
ecd09aa09d | ||
|
|
da0de05058 | ||
|
|
d0b254cff8 | ||
|
|
765129c436 | ||
|
|
13becf336c | ||
|
|
0ec49b3735 | ||
|
|
697174f3f8 | ||
|
|
b7dcfc84cb | ||
|
|
7040b69102 | ||
|
|
0b4bbd05b8 | ||
|
|
e904939db2 | ||
|
|
a2d5aec831 | ||
|
|
25c5a7341e | ||
|
|
7c5196ddf6 | ||
|
|
d2672a63a6 | ||
|
|
26ae903a2e | ||
|
|
39490bcda8 | ||
|
|
1f82beef47 | ||
|
|
6f3d2b9faa | ||
|
|
fe649efcbf | ||
|
|
40cd7c4424 | ||
|
|
eca731c2de | ||
|
|
01e06399d8 | ||
|
|
cbe5710c4c | ||
|
|
ac6fb2b6ba | ||
|
|
855c283101 | ||
|
|
b0a14728d7 | ||
|
|
41f0825235 | ||
|
|
09c90f9bf4 | ||
|
|
bd6f617efb | ||
|
|
c692ef81d9 | ||
|
|
e2840a7443 | ||
|
|
21f5097bfe | ||
|
|
05c691b0b7 | ||
|
|
4ead8600f9 | ||
|
|
151ca180f9 | ||
|
|
d8d89cc381 | ||
|
|
e5b1ac9f38 | ||
|
|
e9933bd1c0 | ||
|
|
96268910d3 | ||
|
|
b93a99945b | ||
|
|
66939681c9 | ||
|
|
46cd9cf029 | ||
|
|
4fdf3ed633 | ||
|
|
a8c90f84fe | ||
|
|
84b25bef6b | ||
|
|
4d861d16a6 | ||
|
|
1666f1ec67 | ||
|
|
0147aa7d6a | ||
|
|
5aac66d8cb | ||
|
|
5a647443ad | ||
|
|
206a2581e4 | ||
|
|
1138f1196f | ||
|
|
b2cbcc1b81 | ||
|
|
f8a338b0c0 | ||
|
|
b2f9293f31 | ||
|
|
7c74af6844 | ||
|
|
c7b90d0051 | ||
|
|
91ac921d45 | ||
|
|
ccd5a87adb | ||
|
|
8e5fdb4b2d | ||
|
|
ac839bb54a | ||
|
|
3f63b73d38 | ||
|
|
df3e092473 | ||
|
|
ce6416fe04 | ||
|
|
4044d58d13 | ||
|
|
68c7b55f86 | ||
|
|
463d50b1bd | ||
|
|
7b4d0a8f82 | ||
|
|
94e505a972 | ||
|
|
3e0188cf2a | ||
|
|
0e186ad8d3 | ||
|
|
9ac95b68be | ||
|
|
5dfa49be6f | ||
|
|
60112eb81c | ||
|
|
e56c10f753 | ||
|
|
aa75d76493 | ||
|
|
c0fe8ba4db | ||
|
|
cf3a8658a9 | ||
|
|
359e1fba36 | ||
|
|
b8b3fab14d | ||
|
|
5a1aa3feef | ||
|
|
03163367a3 | ||
|
|
34ab8eda03 | ||
|
|
d7d7f966b7 | ||
|
|
8c2c8b8ca7 | ||
|
|
07f6cd4673 | ||
|
|
7a0ca859ae | ||
|
|
37bb354b46 | ||
|
|
85b1188d1d | ||
|
|
ee029b8df9 | ||
|
|
ebfd5185c3 | ||
|
|
2b1e4b8910 | ||
|
|
cd1e48e5f5 | ||
|
|
ca0c5f4938 | ||
|
|
87115d6cb9 | ||
|
|
66e8b1310e | ||
|
|
e01e996649 | ||
|
|
d0badf8b0c | ||
|
|
8301a804b4 | ||
|
|
db5c59f9e5 | ||
|
|
95c36b8deb | ||
|
|
6195471424 | ||
|
|
ee46e64d50 | ||
|
|
72a311a6f3 | ||
|
|
5939eb52e9 | ||
|
|
2222fe3a6c | ||
|
|
69c86333b2 | ||
|
|
4a8dd5b817 | ||
|
|
072f2bbd96 | ||
|
|
43c6f329fb | ||
|
|
cc4dbf9439 | ||
|
|
f4365b1579 | ||
|
|
54a95fea6c | ||
|
|
babc0b7344 | ||
|
|
6d38f2ee39 | ||
|
|
0f0d373a59 | ||
|
|
fa0abd8ca8 | ||
|
|
29f2facb48 | ||
|
|
5fd800de20 | ||
|
|
edbed4fc01 | ||
|
|
4ab05c2da4 | ||
|
|
1ce57014d9 | ||
|
|
2c89c2587d | ||
|
|
156ac00120 | ||
|
|
fd405f1881 | ||
|
|
2748e1ac78 | ||
|
|
e68371c0a9 | ||
|
|
bd89cfc041 | ||
|
|
3bb3835db4 | ||
|
|
1196c9da35 | ||
|
|
41660d0067 | ||
|
|
3117e455c3 | ||
|
|
e67c119f8b | ||
|
|
b16b2d8e84 | ||
|
|
6dc2079399 | ||
|
|
fd9845df00 | ||
|
|
96121cccc9 | ||
|
|
aafd6064a1 | ||
|
|
2f6bb60b14 | ||
|
|
09018b9dba | ||
|
|
be786e2802 | ||
|
|
d8c3fadef4 | ||
|
|
3c278f0167 | ||
|
|
8ae53ef742 | ||
|
|
ec5f5032a4 | ||
|
|
e07eab880a |
|
|
@ -23,8 +23,8 @@ exhaustive field reference; this skill is the opinionated *how*.
|
|||
> approach.** Author the file locally (uncommitted), calibrate it against a real
|
||||
> build, then **push it to a lang-tracer suite** with `eval:langtracer-push`
|
||||
> (see [Push to a lang-tracer suite](#push-to-a-lang-tracer-suite)) —
|
||||
> `--suite n8n-workflows` for the corpus n8n CI runs, or a capability suite
|
||||
> like `workflow-building` that runs on LangTracer's own automation.
|
||||
> `--suite baseline` for the consolidated corpus n8n CI runs, or a dedicated
|
||||
> capability suite like `agents`.
|
||||
> The suite is the home for the case; the eval CLI reads it back via
|
||||
> `--source langtracer`. You still write the JSON file — it's just the input to
|
||||
> the push, not a committed artifact.
|
||||
|
|
@ -208,7 +208,9 @@ calibration you hand the driver the thread link + login to review the real build
|
|||
(or delete it once it's in the suite). Committing new case JSONs into the repo
|
||||
is no longer the approach. (Exception: seeded cases can't be pushed — a
|
||||
`seedFile`/`priorConversation` case stays committed JSON, a `seedThread` case is
|
||||
a local throwaway; see [`case-shapes.md`](case-shapes.md).)
|
||||
a local throwaway; see [`case-shapes.md`](case-shapes.md).) For a sourced case,
|
||||
finish by **linking it to its source thread/finding** over the MCP — see
|
||||
[Link the pushed case to its source](#link-the-pushed-case-to-its-source-provenance-step--always-do-this).
|
||||
|
||||
`--iterations N` is available to measure flakiness (pass@k / pass^k) — reach for
|
||||
it when you suspect a case is non-deterministic or before promoting it to a
|
||||
|
|
@ -381,7 +383,7 @@ What each piece is doing:
|
|||
misses the label filter. Keep the whole script in one turn and encode ordering
|
||||
inside it (don't fabricate assistant "done" turns to sequence steps — see
|
||||
[`case-shapes.md`](case-shapes.md)). `applies-each-change-when-asked` (in the
|
||||
`n8n-workflows` LangTracer suite) is a good real example.
|
||||
`baseline` LangTracer suite) is a good real example.
|
||||
- **`dataSetup` describes only what external services return.** That's the layer
|
||||
the harness controls (below).
|
||||
|
||||
|
|
@ -630,9 +632,9 @@ drifted, leaves the rest unchanged, and never prunes. It's the inverse of
|
|||
```bash
|
||||
cd packages/@n8n/instance-ai
|
||||
# preview first — no writes (use `npx dotenvx`; the bare `dotenvx` binary is usually not on PATH):
|
||||
npx dotenvx run -f .env.eval -- pnpm eval:langtracer-push --suite workflow-building --dry-run --changed
|
||||
npx dotenvx run -f .env.eval -- pnpm eval:langtracer-push --suite baseline --dry-run --changed
|
||||
# then push (drop --dry-run):
|
||||
npx dotenvx run -f .env.eval -- pnpm eval:langtracer-push --suite workflow-building --changed
|
||||
npx dotenvx run -f .env.eval -- pnpm eval:langtracer-push --suite baseline --changed
|
||||
```
|
||||
|
||||
- **Selectors** (at least one required — no accidental push-all): positional
|
||||
|
|
@ -666,6 +668,35 @@ npx dotenvx run -f .env.eval -- pnpm eval:langtracer-push --suite workflow-build
|
|||
case isn't transient and has no suite home, so it's the one exception to
|
||||
"don't commit the JSON" — it lives as a committed artifact.
|
||||
|
||||
### Link the pushed case to its source (provenance step — always do this)
|
||||
|
||||
A sourced case that isn't linked back to the conversation/finding it encodes is
|
||||
an orphan: six months later nobody can tell what real failure it guards. The
|
||||
push CLI doesn't carry provenance, so after pushing, link the case over the
|
||||
lang-tracer MCP with one **`update_test_case`** call on the new case id (the
|
||||
push prints it):
|
||||
|
||||
1. **`sourceThreadId`** — the source conversation's thread id (plus
|
||||
**`sourceRunId`** when the case anchors to one specific run/step within it).
|
||||
This is the DB-level link every by-version rollup, conversation float, and
|
||||
`?sourceThreadId=` query joins on — the tags/description below are the
|
||||
human-readable layer on top, not a substitute. The thread must already be
|
||||
imported into lang-tracer (running `get_conversation_analysis` on it, as the
|
||||
sourcing flow does, is enough); `source_kind` is derived server-side, and
|
||||
the link is only editable on authored cases — promotion-recorded provenance
|
||||
is immutable.
|
||||
2. **`expectedBehavior`** — the rule the case enforces, one paragraph — and
|
||||
**`failurePattern`** — what actually happened in the source thread, with
|
||||
turn references. Copy/adapt these from the analysis's `extractedCases`
|
||||
entry when the case came from `get_conversation_analysis`.
|
||||
|
||||
Then **`add_case_tags`** (additive; targets the LT-side `tags` array, not
|
||||
`evalTags`, so nothing round-trips into eval runs): add a capability tag (e.g.
|
||||
`instruction-persistence`). Tag normalization is aggressive (lowercase, kebab);
|
||||
colon-form tags get silently dropped. And keep the thread id + turn refs in
|
||||
the case `description` too (the drafter's habit of "Sourced from thread <id>"
|
||||
is the convention) — the description is the only field shown everywhere.
|
||||
|
||||
## Running
|
||||
|
||||
You need a running n8n instance with Instance AI enabled and a working sandbox;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Example cases in the corpus get renamed and churned, so this file names as few
|
|||
cases as possible — search the LangTracer suite by tag/field instead (the
|
||||
`search_test_cases` MCP tool, or export the suite and grep). The one stable
|
||||
pointer worth naming: **`applies-each-change-when-asked`** (in the
|
||||
`n8n-workflows` suite) for a well-built director conversation.
|
||||
`baseline` suite) for a well-built director conversation.
|
||||
|
||||
The schema
|
||||
([`harness/schema.ts`](../../../packages/@n8n/instance-ai/evaluations/harness/schema.ts))
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ instance's Instance AI config and the README's environment-variables section.
|
|||
|
||||
| Mode | How | Produces |
|
||||
|---|---|---|
|
||||
| **Direct loop** | no `LANGSMITH_API_KEY` | `eval-results.json` + HTML report locally |
|
||||
| **Direct driver** | no `LANGSMITH_API_KEY` | `eval-results.json` + HTML report locally — same pipeline and row order as the LangSmith driver (TRUST-261), row concurrency follows `--concurrency` |
|
||||
| **LangSmith** | `LANGSMITH_API_KEY` set | also records an experiment and auto-compares against the baseline |
|
||||
| **Prebuilt** | `--prebuilt-workflows <manifest>` | skips the build; verifies existing workflows (score MCP/hand-built cohorts on the same verifier) |
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ inspection; `--iterations N` runs each case N times for pass@k / pass^k.
|
|||
| Source | When to use it |
|
||||
|---|---|
|
||||
| **`disk`** (default) | **Preferred for local development** — authoring and calibrating the case in front of you: drop the JSON into `data/workflows/`, `--filter` it, iterate. Also the only home of the `agents` tier and the seeded carve-out cases; since the corpus migration the directory holds only those, not the full suite. |
|
||||
| **`langtracer`** (`--source langtracer --suite n8n-workflows`) | Bigger runs (the full corpus or a whole tier), re-running specific cases that already live in the suite, and CI — which always runs this way. Needs `LANGTRACER_URL`/`LANGTRACER_API_KEY` in your env. |
|
||||
| **`langtracer`** (`--source langtracer --suite baseline`) | Bigger runs (the full corpus or a whole tier), re-running specific cases that already live in the suite, and CI — which always runs this way. Needs `LANGTRACER_URL`/`LANGTRACER_API_KEY` in your env. |
|
||||
|
||||
## Configuration & secrets
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ for low noise:
|
|||
# with your env loaded and LANGSMITH_API_KEY set, from packages/@n8n/instance-ai/
|
||||
# (--dataset/--baseline-prefix mirror CI's pins — langtracer mode otherwise
|
||||
# derives suite-scoped names and later runs would never find this baseline)
|
||||
pnpm eval:instance-ai --source langtracer --suite n8n-workflows \
|
||||
pnpm eval:instance-ai --source langtracer --suite baseline \
|
||||
--dataset instance-ai-workflow-evals --baseline-prefix instance-ai-baseline- \
|
||||
--experiment-name instance-ai-baseline --iterations 10
|
||||
```
|
||||
|
|
|
|||
|
|
@ -2,22 +2,17 @@
|
|||
name: n8n:public-api
|
||||
description: >-
|
||||
Adds or updates n8n Public API v1 endpoints, OpenAPI specs, and handler wiring.
|
||||
Use when creating public API handlers, registering paths in openapi.yml, or
|
||||
adding OpenAPI tags. Prefer @PublicApiController for new endpoints (API-37+).
|
||||
Use when creating public API handlers, registering paths in openapi.yml, or adding OpenAPI tags. Always use @PublicApiController for new endpoints (API-37+).
|
||||
---
|
||||
|
||||
# Public API v1
|
||||
|
||||
Public API lives under `packages/cli/src/public-api/v1/`.
|
||||
|
||||
**Preferred for new endpoints (API-37+):** `@PublicApiController` +
|
||||
`PublicApiControllerRegistry` — same decorator style as internal
|
||||
`@RestController`, mounted at `/api/v1` with API-key auth and public errors.
|
||||
**Always use `@PublicApiController` for new endpoints (API-37+).** Do not add new business logic to `express-openapi-validator` handlers. Controllers use the same decorator style as internal `@RestController`, mounted at `/api/v1` with API-key auth and public errors via `PublicApiControllerRegistry`.
|
||||
|
||||
**Legacy (existing endpoints):** `express-openapi-validator` handlers under
|
||||
`handlers/`; OpenAPI path specs are YAML under each handler's `spec/` directory.
|
||||
Migrate to the controller pattern when touching an endpoint; do not mix data
|
||||
access styles within a new feature.
|
||||
**Legacy (existing endpoints only):** `express-openapi-validator` handlers under `handlers/`; OpenAPI path specs are YAML under each handler's `spec/` directory.
|
||||
When you touch a legacy endpoint, migrate it to `@PublicApiController` rather than extending the eov handler. Do not mix data-access styles within a new feature.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
|
@ -30,13 +25,14 @@ GET /rest/tags → TagsController ┐ JWT auth, internal shape
|
|||
GET /api/v1/tags → TagsPublicController ┘ API-key auth, public DTO
|
||||
```
|
||||
|
||||
## Adding an endpoint (controller pattern)
|
||||
## Adding an endpoint (required: controller pattern)
|
||||
|
||||
Reference: `v1/controllers/tags.public.controller.ts` (`GET /tags`).
|
||||
|
||||
1. **Public DTOs** in `@n8n/api-types` — input query/body + output resource DTO
|
||||
(distinct from internal shapes when they diverge). Use `Z.class` so the
|
||||
registry can validate/parse.
|
||||
registry can validate/parse. Wrap list payloads as objects (e.g. `{ data: [...] }`),
|
||||
same as `TagListPublicDto` / `WorkflowVersionHistoryListPublicDto`.
|
||||
2. **Controller** — `v1/controllers/<feature>.public.controller.ts`
|
||||
```ts
|
||||
@PublicApiController('/tags')
|
||||
|
|
@ -50,21 +46,31 @@ Reference: `v1/controllers/tags.public.controller.ts` (`GET /tags`).
|
|||
}
|
||||
```
|
||||
- Reuse `@Get/@Post/@Body/@Query/@Param/@GlobalScope/@ProjectScope` as-is.
|
||||
- For `@ProjectScope` on workflow/credential routes, name the path param
|
||||
`workflowId` / `credentialId` (or `projectId` / `dataTableId`) — the
|
||||
registry passes `req.params` to `userHasScopes`, which does not remap `id`.
|
||||
- `@ApiKeyScope` — string, or `{ anyOf }` / `{ allOf }` (no bare arrays).
|
||||
- `@ApiResponse(Dto)` — registry `.parse()`s the return value (strips
|
||||
undeclared fields). Shape is provisional until API-39 (doc-gen).
|
||||
- Delegate to the same service as the internal REST controller.
|
||||
3. **Side-effect import** the controller from `packages/cli/src/public-api/index.ts`
|
||||
so metadata is registered before `PublicApiControllerRegistry.activate`.
|
||||
3. **Side-effect import** the controller from
|
||||
`packages/cli/src/public-api/v1/controllers/index.ts` (re-exported via
|
||||
`public-api/index.ts`) so metadata is registered before
|
||||
`PublicApiControllerRegistry.activate`. Name the file
|
||||
`*.public.controller.ts` — `public-api-controllers.test.ts` fails CI if a
|
||||
controller file is missing from that barrel or lives outside `controllers/`.
|
||||
4. **OpenAPI path spec** — still required for docs + `scope-parity.test.ts`
|
||||
(`handlers/<feature>/spec/paths/…`, `$ref` in `openapi.yml`,
|
||||
`x-required-scope` matching `@ApiKeyScope`). Until scope-parity reads
|
||||
decorator metadata, keep a scope-tagged stub in the eov handler (see
|
||||
`getTags` in `tags.handler.ts`).
|
||||
(`handlers/<feature>/spec/paths/…`, `$ref` in `openapi.yml`). Set
|
||||
`operationId`, `x-required-scope` matching `@ApiKeyScope`. **Do not** set
|
||||
`x-eov-operation-id` / `x-eov-operation-handler` — those are legacy eov-only;
|
||||
scope-parity and discover read `@ApiKeyScope` from the controller by matching
|
||||
method + path.
|
||||
5. **Coverage manifest** — add every new OpenAPI endpoint to
|
||||
`packages/nodes-base/nodes/N8n/n8n-api-coverage.json`.
|
||||
|
||||
## Adding an endpoint (legacy eov handler)
|
||||
## Legacy eov handlers (do not use for new endpoints)
|
||||
|
||||
Only for maintaining endpoints not yet migrated:
|
||||
|
||||
1. **Handler** — `handlers/<feature>/<feature>.handler.ts`
|
||||
- Export middleware arrays keyed by `x-eov-operation-id`.
|
||||
|
|
@ -73,12 +79,9 @@ Reference: `v1/controllers/tags.public.controller.ts` (`GET /tags`).
|
|||
middleware with `__apiKeyScope`) and add matching `x-required-scope` in the
|
||||
path YAML; use `none` for endpoints without an API-key scope (see
|
||||
`scope-parity.test.ts`).
|
||||
- **Delegate to the same service/controller layer as the internal REST API.**
|
||||
Parse input with `@n8n/api-types` DTOs, call `Container.get(SomeService)` or
|
||||
`Container.get(SomeController)`, map errors — do not reach into repositories
|
||||
or duplicate business logic in the handler. Older handlers like
|
||||
`handlers/credentials/` and `handlers/workflows/` predate this pattern;
|
||||
follow them only for middleware/OpenAPI wiring, not for data access.
|
||||
- **Delegate to the same service layer as the internal REST API.**
|
||||
Parse input with `@n8n/api-types` DTOs, call `Container.get(SomeService)`,
|
||||
map errors — do not reach into repositories or duplicate business logic.
|
||||
2. **OpenAPI path spec** — `handlers/<feature>/spec/paths/<path>.yml`
|
||||
- Set `tags: [<TagName>]` matching a top-level tag in `openapi.yml`.
|
||||
3. **Register path** — add a `$ref` entry under `paths:` in `openapi.yml`.
|
||||
|
|
@ -107,10 +110,10 @@ sort order.
|
|||
|
||||
## Reference
|
||||
|
||||
- **Controller pattern:** `v1/controllers/tags.public.controller.ts`
|
||||
- **Controller pattern (required for new work):** `v1/controllers/tags.public.controller.ts`, `v1/controllers/workflows.public.controller.ts`
|
||||
- **Registry:** `packages/cli/src/public-api/public-api-controller.registry.ts`
|
||||
- Simple GET via eov + service: `handlers/insights/`
|
||||
- CRUD via eov + service/controller: `handlers/variables/`, `handlers/folders/`,
|
||||
`handlers/projects/`, `handlers/data-tables/`
|
||||
- Legacy eov examples (migration targets, not templates for new endpoints):
|
||||
`handlers/insights/`, `handlers/variables/`, `handlers/folders/`,
|
||||
`handlers/projects/`, `handlers/data-tables/`, `handlers/workflows/`
|
||||
- Multipart: `handlers/n8n-packages/` (see also
|
||||
`packages/cli/src/modules/n8n-packages/CLAUDE.md`)
|
||||
|
|
|
|||
70
.agents/skills/telemetry/SKILL.md
Normal file
70
.agents/skills/telemetry/SKILL.md
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
---
|
||||
name: n8n:telemetry
|
||||
description: >-
|
||||
Guides adding, changing, and reviewing telemetry through the `@n8n/telemetry`
|
||||
event registry. Use when working on telemetry, analytics, tracking, product
|
||||
events, `track()` calls, or RudderStack/PostHog product events, in frontend
|
||||
or backend code — and whenever you need to find which registered telemetry
|
||||
events exist, what an event means, or what properties it carries.
|
||||
---
|
||||
|
||||
# Telemetry
|
||||
|
||||
## The registry
|
||||
|
||||
Events migrated to the registry live in `packages/@n8n/telemetry` as one entry per event — its exact emitted name, a description, and a zod schema typing its properties — organized per product domain in `src/events/` and composed into `TELEMETRY_EVENT.<DOMAIN>.<EVENT>`. The package defines registered events and never depends on transport SDKs.
|
||||
|
||||
**To find which events are registered, what they mean, or what properties they carry, run the catalog first:**
|
||||
|
||||
```bash
|
||||
pnpm --filter @n8n/telemetry catalog # human-readable, grouped by domain
|
||||
pnpm --filter @n8n/telemetry catalog --json # structured, for programmatic use
|
||||
```
|
||||
|
||||
The registry is being adopted incrementally. Events not yet registered do not appear in the catalog, so search `track()` call sites when the catalog has no match.
|
||||
|
||||
Pass the entry itself to `track()` — it resolves the emitted name internally:
|
||||
|
||||
```ts
|
||||
import { TELEMETRY_EVENT } from '@n8n/telemetry';
|
||||
|
||||
telemetry.track(TELEMETRY_EVENT.PLATFORM.USER_IS_PART_OF_EXPERIMENT, {
|
||||
name: experimentName,
|
||||
variant,
|
||||
});
|
||||
```
|
||||
|
||||
Both `track()` implementations accept registry entries and plain strings. Plain strings remain supported for events that have not yet migrated:
|
||||
|
||||
- Frontend: `packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts`
|
||||
- Backend: `packages/cli/src/telemetry/index.ts`
|
||||
|
||||
Entries get property autocomplete and compile-time checks — typo'd, missing, or wrongly typed properties fail typecheck. When the telemetry transport is initialized, `track()` additionally validates registered-event payloads via `getEventValidationError` (shared from `@n8n/telemetry`) and logs a warning on mismatch, including unrecognized properties that slipped past structural typing. A validation warning does not stop the event from being emitted.
|
||||
|
||||
## Adding an event
|
||||
|
||||
1. **Check the catalog first** (`pnpm --filter @n8n/telemetry catalog`). If an existing event covers the same user action from another surface, augment it with a property instead of adding a near-duplicate event.
|
||||
2. **Pick the domain by the event's subject** — what the event is about, never the surface that triggered it. `User opened Credential modal` is CREDENTIALS whether opened from the NDV, template setup, or chat. The trigger context goes into a `source` property.
|
||||
3. **Name it with the house grammar:** sentence case, actor first, past-tense verb, specific object (`User pinned node data`). No template interpolation in names — variability goes into properties. The name must snake_case cleanly into a BigQuery table name: no punctuation beyond spaces, no casing that collides after snake_casing.
|
||||
4. **Write the entry `description`** stating what the event means and when it fires — a registry test rejects blank descriptions. Document individual properties with `.describe()` where the key alone is not obvious.
|
||||
5. **Type the properties with zod (`import { z } from 'zod/v4'`):** `snake_case` keys, explicit `.optional()` where a call site may omit a value, `z.looseObject()`/`.catchall()` for genuinely dynamic remainders. Schemas must stay JSON-Schema-representable — no transforms, refinements, or `z.date()` (a registry test enforces this via `z.toJSONSchema()`).
|
||||
6. **Place the emission:** frontend via `useTelemetry().track(...)`; backend either through a `RelayEventMap` handler in `packages/cli/src/events/relays/telemetry.event-relay.ts` (event-bus-driven) or a direct `Telemetry.track(...)` call — both reference the same registry entry.
|
||||
|
||||
## Hard rules
|
||||
|
||||
- **Never rename an emitted event.** BigQuery materializes one table per event name; a rename orphans downstream history. A rename is delete + create, names are never reused, and removals must be coordinated with the data team before deleting the registry entry.
|
||||
- **Never duplicate an event name** — one entry per event across all domains, referenced by every call site (even FE + BE). CI fails on collision.
|
||||
- **Properties evolve additively only.** Changing a property's type forks warehouse columns even under a stable name. Mark deprecations on the schema (`.meta({ deprecated: true })`) instead of removing.
|
||||
- **Breaking changes need a data-team heads-up** in Slack plus a Notion note before they ship.
|
||||
|
||||
## Testing
|
||||
|
||||
Do not retype event-name literals in tests:
|
||||
|
||||
- In call-site tests, mock `useTelemetry().track` or the backend `Telemetry.track` service and expect the registry entry itself with the payload.
|
||||
- In frontend transport tests, expect `window.rudderanalytics.track` to receive `entry.name` and the augmented payload.
|
||||
- In backend transport tests, expect the RudderStack payload's `event` field to equal `entry.name` and its `properties` to include the event payload.
|
||||
|
||||
## Related
|
||||
|
||||
Experiment exposure and metric events follow `n8n:experiments` (`.agents/skills/experiments/SKILL.md`).
|
||||
1
.claude/plugins/n8n/skills/telemetry
Symbolic link
1
.claude/plugins/n8n/skills/telemetry
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../../../.agents/skills/telemetry
|
||||
|
|
@ -1,7 +1,18 @@
|
|||
import semver from 'semver';
|
||||
|
||||
import { getMonorepoProjects } from './pnpm-utils.mjs';
|
||||
|
||||
const NPM_REGISTRY = 'https://registry.npmjs.org';
|
||||
|
||||
// Standalone packages release from master out-of-sync with the main pipeline
|
||||
// (release-standalone-package.yml), so their `latest` follows the newest beta
|
||||
// on npm instead of the version recorded in the stable checkout.
|
||||
const STANDALONE_PACKAGES_FOLLOWING_BETA = new Set([
|
||||
'@n8n/create-node',
|
||||
'@n8n/eslint-plugin-community-nodes',
|
||||
'@n8n/scan-community-package',
|
||||
]);
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @param {string} version
|
||||
|
|
@ -23,6 +34,30 @@ async function setDistTag(name, version, tag, token) {
|
|||
});
|
||||
}
|
||||
|
||||
/** @param {string} name */
|
||||
async function getDistTags(name) {
|
||||
const res = await fetch(`${NPM_REGISTRY}/-/package/${encodeURIComponent(name)}/dist-tags`);
|
||||
if (!res.ok) {
|
||||
throw new Error(`Failed to fetch dist-tags for ${name}: HTTP ${res.status}`);
|
||||
}
|
||||
return await res.json();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the version `latest` should point at, or null if no move is needed.
|
||||
* Standalone packages follow the npm `beta` dist-tag; a standalone release
|
||||
* from master may already have pushed `latest` past beta, so never downgrade.
|
||||
* @param {import('./pnpm-utils.mjs').PnpmPackage} pkg
|
||||
*/
|
||||
export async function resolveLatestVersion(pkg) {
|
||||
if (!STANDALONE_PACKAGES_FOLLOWING_BETA.has(pkg.name)) return pkg.version;
|
||||
|
||||
const tags = await getDistTags(pkg.name);
|
||||
const target = tags.beta ?? pkg.version;
|
||||
if (tags.latest && semver.gte(tags.latest, target)) return null;
|
||||
return target;
|
||||
}
|
||||
|
||||
async function setLatestForMonorepoPackages() {
|
||||
const token = process.env.NPM_TOKEN;
|
||||
if (!token) {
|
||||
|
|
@ -39,10 +74,15 @@ async function setLatestForMonorepoPackages() {
|
|||
const failures = [];
|
||||
|
||||
for (const pkg of publishedPackages) {
|
||||
const versionName = `${pkg.name}@${pkg.version}`;
|
||||
|
||||
try {
|
||||
const res = await setDistTag(pkg.name, pkg.version, 'latest', token);
|
||||
const version = await resolveLatestVersion(pkg);
|
||||
if (version === null) {
|
||||
console.log(`Skipped ${pkg.name}: latest is already at or ahead of beta`);
|
||||
continue;
|
||||
}
|
||||
|
||||
const versionName = `${pkg.name}@${version}`;
|
||||
const res = await setDistTag(pkg.name, version, 'latest', token);
|
||||
|
||||
if (res.ok) {
|
||||
console.log(`Set ${versionName} as latest`);
|
||||
|
|
@ -53,8 +93,8 @@ async function setLatestForMonorepoPackages() {
|
|||
}
|
||||
} catch (err) {
|
||||
const message = err instanceof Error ? err.message : String(err);
|
||||
console.error(`Failed to set ${versionName} as latest: ${message}`);
|
||||
failures.push(versionName);
|
||||
console.error(`Failed to set latest for ${pkg.name}: ${message}`);
|
||||
failures.push(pkg.name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
53
.github/scripts/set-latest-for-monorepo-packages.test.mjs
vendored
Normal file
53
.github/scripts/set-latest-for-monorepo-packages.test.mjs
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import { describe, it, before, afterEach } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
|
||||
/**
|
||||
* Run these tests by running
|
||||
*
|
||||
* node --test --experimental-test-module-mocks ./.github/scripts/set-latest-for-monorepo-packages.test.mjs
|
||||
* */
|
||||
|
||||
let resolveLatestVersion;
|
||||
before(async () => {
|
||||
({ resolveLatestVersion } = await import('./set-latest-for-monorepo-packages.mjs'));
|
||||
});
|
||||
|
||||
const originalFetch = globalThis.fetch;
|
||||
afterEach(() => {
|
||||
globalThis.fetch = originalFetch;
|
||||
});
|
||||
|
||||
function mockDistTags(tags) {
|
||||
globalThis.fetch = async () => ({ ok: true, json: async () => tags });
|
||||
}
|
||||
|
||||
describe('resolveLatestVersion', () => {
|
||||
it('uses the checkout version for regular monorepo packages', async () => {
|
||||
globalThis.fetch = async () => {
|
||||
throw new Error('should not fetch dist-tags for regular packages');
|
||||
};
|
||||
const version = await resolveLatestVersion({ name: '@n8n/config', version: '1.2.3' });
|
||||
assert.equal(version, '1.2.3');
|
||||
});
|
||||
|
||||
it('pins standalone packages to the beta dist-tag', async () => {
|
||||
mockDistTags({ beta: '0.40.1', latest: '0.39.3' });
|
||||
const version = await resolveLatestVersion({ name: '@n8n/create-node', version: '0.39.3' });
|
||||
assert.equal(version, '0.40.1');
|
||||
});
|
||||
|
||||
it('never downgrades latest below a newer standalone release', async () => {
|
||||
mockDistTags({ beta: '0.40.1', latest: '0.41.0' });
|
||||
const version = await resolveLatestVersion({ name: '@n8n/create-node', version: '0.39.3' });
|
||||
assert.equal(version, null);
|
||||
});
|
||||
|
||||
it('skips standalone packages without a beta tag when latest is current', async () => {
|
||||
mockDistTags({ latest: '0.25.0' });
|
||||
const version = await resolveLatestVersion({
|
||||
name: '@n8n/eslint-plugin-community-nodes',
|
||||
version: '0.25.0',
|
||||
});
|
||||
assert.equal(version, null);
|
||||
});
|
||||
});
|
||||
|
|
@ -80,9 +80,12 @@ jobs:
|
|||
|
||||
ensure-correct-latest-version-on-npm:
|
||||
name: Ensure correct latest version on npm
|
||||
# Also runs on beta patches: standalone packages pin `latest` to the newest
|
||||
# beta, so every beta publish needs a re-pin, not just stable promotions.
|
||||
if: |
|
||||
inputs.bump == 'minor' ||
|
||||
(inputs.track == 'stable' && inputs.release_type != 'rc')
|
||||
(inputs.track == 'stable' && inputs.release_type != 'rc') ||
|
||||
(inputs.track == 'beta' && inputs.release_type != 'rc')
|
||||
uses: ./.github/workflows/release-set-stable-npm-packages-to-latest.yml
|
||||
secrets: inherit
|
||||
|
||||
|
|
|
|||
104
.github/workflows/test-e2e-coverage-nightly.yml
vendored
104
.github/workflows/test-e2e-coverage-nightly.yml
vendored
|
|
@ -248,8 +248,11 @@ jobs:
|
|||
shell: bash
|
||||
run: sleep 60
|
||||
|
||||
# Advisory only: a Codecov API hiccup (e.g. a 503) must not red the whole
|
||||
# nightly nor block the impact-map refresh, which runs off the built map.
|
||||
- name: Analyse Coverage Gaps
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
env:
|
||||
CODECOV_API_TOKEN: ${{ secrets.CODECOV_API_TOKEN }}
|
||||
run: |
|
||||
|
|
@ -263,3 +266,104 @@ jobs:
|
|||
name: coverage-gap-report
|
||||
path: coverage-gaps.json
|
||||
retention-days: 21
|
||||
|
||||
# Refresh the committed impact map PRs read for E2E selection. Without this the
|
||||
# map only updates on manual commits and drifts, so newly-covered source→spec
|
||||
# couplings get declared uncovered and their E2E specs skipped. Gated on ALL
|
||||
# shards passing (complete map) + aggregate having built it — a partial shard
|
||||
# set yields a degraded map, worse than a stale one.
|
||||
commit-impact-map:
|
||||
name: Commit refreshed impact map
|
||||
needs: [e2e, aggregate]
|
||||
if: needs.e2e.result == 'success' && needs.aggregate.result == 'success'
|
||||
runs-on: ubuntu-latest
|
||||
# Least-privilege GITHUB_TOKEN: checkout + download-artifact only need read;
|
||||
# the branch push + PR are done with the scoped app token below, not this token.
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
outputs:
|
||||
pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }}
|
||||
steps:
|
||||
- name: Generate GitHub App Token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
|
||||
with:
|
||||
app-id: ${{ secrets.N8N_ASSISTANT_APP_ID }}
|
||||
private-key: ${{ secrets.N8N_ASSISTANT_PRIVATE_KEY }}
|
||||
# Scope the token to only what the branch push + PR need.
|
||||
permission-contents: write
|
||||
permission-pull-requests: write
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
# Don't persist the token in .git/config (avoids leaking it via artifacts);
|
||||
# create-pull-request pushes with its own token input, not the git remote creds.
|
||||
persist-credentials: false
|
||||
|
||||
- name: Download coverage report artifact
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
name: coverage-report
|
||||
path: /tmp/coverage-report
|
||||
|
||||
- name: Copy impact map into place
|
||||
run: |
|
||||
MAP=/tmp/coverage-report/impact-map.json
|
||||
# Guard: a missing/empty map is a build hiccup — keep the committed map
|
||||
# rather than clobber it with a degraded one.
|
||||
node -e '
|
||||
const fs = require("fs");
|
||||
const m = JSON.parse(fs.readFileSync(process.argv[1], "utf8"));
|
||||
const n = Array.isArray(m.specs) ? m.specs.length : 0;
|
||||
if (!n) { console.error("impact map has no specs — refusing to commit"); process.exit(1); }
|
||||
console.log("impact map ok: " + n + " specs");
|
||||
' "$MAP"
|
||||
# Raw copy: the map is intentionally minified and biome-ignored
|
||||
# (.github/test-metrics/**). Do NOT format it.
|
||||
cp "$MAP" .github/test-metrics/e2e-impact-map.json
|
||||
|
||||
- name: Check for changes
|
||||
id: check-changes
|
||||
run: |
|
||||
if git diff --quiet .github/test-metrics/e2e-impact-map.json; then
|
||||
echo "Impact map unchanged"
|
||||
echo "has_changes=false" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "Impact map changed"
|
||||
echo "has_changes=true" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.check-changes.outputs.has_changes == 'true'
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
commit-message: 'chore: Update e2e impact map'
|
||||
labels: 'automation:scheduled-update'
|
||||
title: 'chore: Update e2e impact map'
|
||||
body: |
|
||||
Automated refresh of the committed E2E impact map from the latest
|
||||
nightly coverage run.
|
||||
|
||||
PRs use this map to scope which E2E specs run; refreshing it keeps
|
||||
newly-covered source→spec couplings visible so changes aren't
|
||||
declared uncovered and their specs silently skipped.
|
||||
|
||||
_Generated by the E2E coverage nightly._
|
||||
branch: update-e2e-impact-map
|
||||
base: master
|
||||
delete-branch: true
|
||||
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
|
||||
approve-and-automerge:
|
||||
needs: [commit-impact-map]
|
||||
if: needs.commit-impact-map.outputs.pull-request-number != ''
|
||||
uses: ./.github/workflows/util-approve-and-set-automerge.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
pull-request-number: ${{ needs.commit-impact-map.outputs.pull-request-number }}
|
||||
|
|
|
|||
41
AGENTS.md
41
AGENTS.md
|
|
@ -22,6 +22,10 @@ frontend, and extensible node-based workflow engine.
|
|||
relevant to the surrounding code, not just to the current task
|
||||
- We use Linear as a ticket tracking system
|
||||
- We use Posthog for feature flags
|
||||
- To find registered telemetry events (names, descriptions, properties), run
|
||||
`pnpm --filter @n8n/telemetry catalog` (`--json` for structured output). The
|
||||
registry is being adopted incrementally, so search call sites if the catalog
|
||||
has no match. The `n8n:telemetry` skill covers adding or changing events
|
||||
- When starting to work on a new ticket – create a new branch from fresh
|
||||
master with the name specified in Linear ticket
|
||||
- When creating a new branch for a ticket in Linear - use the branch name
|
||||
|
|
@ -193,6 +197,41 @@ const children = getChildNodes(workflow.connections, 'NodeName', 'main', 1);
|
|||
failed assertion) that developers need to fix.
|
||||
- Import from appropriate error classes in each package
|
||||
|
||||
### Persistence layer & the TypeORM boundary
|
||||
|
||||
TypeORM (`@n8n/typeorm`) must stay in the **persistence layer** — the `@n8n/db`
|
||||
package or a backend module's own `database/` folder (entity/repository files).
|
||||
Business logic — services, controllers, handlers, commands, factories — must not
|
||||
import from `@n8n/typeorm` (including `@n8n/typeorm/...` subpaths). In
|
||||
`packages/cli` this is enforced by the `misplaced-n8n-typeorm-import` lint rule;
|
||||
a new import (or an inline `eslint-disable` of the rule) fails CI.
|
||||
|
||||
- **Pattern:** when a query needs operators (`In`, `IsNull`, `LessThan`,
|
||||
`FindOptionsWhere`, …), put it behind a **use-case-named repository method**
|
||||
that takes plain parameters and returns domain-shaped values — not a generic
|
||||
`find(options)` passthrough.
|
||||
- **Transactions:** transaction orchestration belongs in the persistence layer.
|
||||
Don't reach for `.manager` / `.manager.transaction(...)` or
|
||||
`createQueryBuilder(...)` in business logic. Use the sanctioned primitive in
|
||||
`@n8n/db`: inject the abstract `TransactionRunner` and wrap the unit of work in
|
||||
`txRunner.run(ctx, async (ctx) => …)`. The callback receives an
|
||||
`OperationContext` carrying the active transaction; thread that `ctx` into the
|
||||
repository methods you call. `run` **requires** a context — pass an empty `{}`
|
||||
at the operation entry point, and reuse the one you were handed everywhere
|
||||
below it (a context that already carries a transaction is joined, not nested).
|
||||
Repositories extend `BaseRepository` and resolve the right `EntityManager` with
|
||||
`this.managerFor(ctx)`; the `Transaction` handle is opaque and never exposes a
|
||||
driver type to business logic. See `oauth-token.service.ts` +
|
||||
`oauth-*-token.repository.ts` for a worked example.
|
||||
- **Anti-patterns reviewers reject** — they hide the dependency instead of
|
||||
removing it:
|
||||
- String-matching TypeORM errors, e.g. `error.name === 'QueryFailedError'`.
|
||||
- Relabeling the import from `@n8n/typeorm` to `@n8n/db` to silence the rule
|
||||
(`@n8n/db` re-exports several operators/types, but this relabels the
|
||||
dependency rather than removing it).
|
||||
- Pushing `.manager` / `createQueryBuilder` into business logic to avoid an
|
||||
operator import — trades a visible leak for an invisible one.
|
||||
|
||||
### Frontend Development
|
||||
- Refer to `packages/frontend/AGENTS.md`
|
||||
- **All UI text must use i18n** - add translations to `@n8n/i18n` package
|
||||
|
|
@ -218,7 +257,7 @@ What we use for testing and writing tests:
|
|||
- **To iterate on a feature without docker rebuilds**, boot service containers
|
||||
and run `pnpm dev` locally — `pnpm --filter n8n-containers services --services postgres,redis,mailpit,proxy`
|
||||
then `pnpm dev`. See [Develop against running containers](packages/testing/playwright/README.md#develop-against-running-containers-avoid-docker-rebuilds).
|
||||
- **For Playwright test maintenance/cleanup**, see @packages/testing/playwright/AGENTS.md (includes janitor tool for static analysis, dead code removal, architecture enforcement, and TCR workflows).
|
||||
- **For Playwright test maintenance/cleanup**, see `packages/testing/playwright/AGENTS.md` (includes janitor tool for static analysis, dead code removal, architecture enforcement, and TCR workflows).
|
||||
|
||||
### Common Development Tasks
|
||||
|
||||
|
|
|
|||
|
|
@ -10,14 +10,18 @@ Auto-generated from the PostgreSQL migrations in @n8n/db. Do not edit by hand.
|
|||
| ---- | ------- | ------- | ---- |
|
||||
| [public.agent_chat_subscriptions](public.agent_chat_subscriptions.md) | 6 | | BASE TABLE |
|
||||
| [public.agent_checkpoints](public.agent_checkpoints.md) | 6 | | BASE TABLE |
|
||||
| [public.agent_execution](public.agent_execution.md) | 18 | | BASE TABLE |
|
||||
| [public.agent_eval_dataset](public.agent_eval_dataset.md) | 10 | | BASE TABLE |
|
||||
| [public.agent_eval_rating](public.agent_eval_rating.md) | 8 | | BASE TABLE |
|
||||
| [public.agent_eval_result](public.agent_eval_result.md) | 15 | | BASE TABLE |
|
||||
| [public.agent_eval_run](public.agent_eval_run.md) | 14 | | BASE TABLE |
|
||||
| [public.agent_execution](public.agent_execution.md) | 19 | | BASE TABLE |
|
||||
| [public.agent_execution_threads](public.agent_execution_threads.md) | 17 | | BASE TABLE |
|
||||
| [public.agent_files](public.agent_files.md) | 8 | | BASE TABLE |
|
||||
| [public.agent_history](public.agent_history.md) | 9 | | BASE TABLE |
|
||||
| [public.agent_task_definition](public.agent_task_definition.md) | 7 | | BASE TABLE |
|
||||
| [public.agent_task_run_lock](public.agent_task_run_lock.md) | 6 | | BASE TABLE |
|
||||
| [public.agent_task_snapshot](public.agent_task_snapshot.md) | 8 | | BASE TABLE |
|
||||
| [public.agents](public.agents.md) | 11 | | BASE TABLE |
|
||||
| [public.agents](public.agents.md) | 12 | | BASE TABLE |
|
||||
| [public.agents_memory_entries](public.agents_memory_entries.md) | 13 | | BASE TABLE |
|
||||
| [public.agents_memory_entry_cursors](public.agents_memory_entry_cursors.md) | 6 | | BASE TABLE |
|
||||
| [public.agents_memory_entry_locks](public.agents_memory_entry_locks.md) | 6 | | BASE TABLE |
|
||||
|
|
@ -40,7 +44,7 @@ Auto-generated from the PostgreSQL migrations in @n8n/db. Do not edit by hand.
|
|||
| [public.chat_hub_sessions](public.chat_hub_sessions.md) | 13 | | BASE TABLE |
|
||||
| [public.chat_hub_tools](public.chat_hub_tools.md) | 9 | | BASE TABLE |
|
||||
| [public.credential_dependency](public.credential_dependency.md) | 5 | | BASE TABLE |
|
||||
| [public.credentials_entity](public.credentials_entity.md) | 11 | | BASE TABLE |
|
||||
| [public.credentials_entity](public.credentials_entity.md) | 12 | | BASE TABLE |
|
||||
| [public.data_table](public.data_table.md) | 5 | | BASE TABLE |
|
||||
| [public.data_table_column](public.data_table_column.md) | 7 | | BASE TABLE |
|
||||
| [public.deployment_key](public.deployment_key.md) | 7 | | BASE TABLE |
|
||||
|
|
@ -77,6 +81,7 @@ Auto-generated from the PostgreSQL migrations in @n8n/db. Do not edit by hand.
|
|||
| [public.instance_ai_thread_grants](public.instance_ai_thread_grants.md) | 5 | | BASE TABLE |
|
||||
| [public.instance_ai_threads](public.instance_ai_threads.md) | 7 | | BASE TABLE |
|
||||
| [public.instance_ai_workflow_snapshots](public.instance_ai_workflow_snapshots.md) | 7 | | BASE TABLE |
|
||||
| [public.instance_credential_assignment](public.instance_credential_assignment.md) | 4 | | BASE TABLE |
|
||||
| [public.instance_version_history](public.instance_version_history.md) | 5 | | BASE TABLE |
|
||||
| [public.invalid_auth_token](public.invalid_auth_token.md) | 2 | | BASE TABLE |
|
||||
| [public.mcp_registry_server](public.mcp_registry_server.md) | 7 | | BASE TABLE |
|
||||
|
|
@ -119,6 +124,10 @@ Auto-generated from the PostgreSQL migrations in @n8n/db. Do not edit by hand.
|
|||
| [public.workflow_publication_trigger_status](public.workflow_publication_trigger_status.md) | 8 | | BASE TABLE |
|
||||
| [public.workflow_publish_history](public.workflow_publish_history.md) | 6 | | BASE TABLE |
|
||||
| [public.workflow_published_version](public.workflow_published_version.md) | 4 | | BASE TABLE |
|
||||
| [public.workflow_review_request](public.workflow_review_request.md) | 12 | | BASE TABLE |
|
||||
| [public.workflow_review_request_authors](public.workflow_review_request_authors.md) | 2 | | BASE TABLE |
|
||||
| [public.workflow_review_request_reviewers](public.workflow_review_request_reviewers.md) | 2 | | BASE TABLE |
|
||||
| [public.workflow_review_request_workflow](public.workflow_review_request_workflow.md) | 4 | | BASE TABLE |
|
||||
| [public.workflow_statistics](public.workflow_statistics.md) | 7 | | BASE TABLE |
|
||||
| [public.workflow_statistics_delta](public.workflow_statistics_delta.md) | 6 | | BASE TABLE |
|
||||
| [public.workflows_tags](public.workflows_tags.md) | 2 | | BASE TABLE |
|
||||
|
|
@ -146,6 +155,13 @@ erDiagram
|
|||
|
||||
"public.agent_chat_subscriptions" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_checkpoints" }o--o| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_dataset" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_dataset" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_rating" }o--o| "public.user" : "FOREIGN KEY (#quot;ratedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_rating" }o--|| "public.agent_eval_result" : "FOREIGN KEY (#quot;resultId#quot;) REFERENCES agent_eval_result(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_result" }o--|| "public.agent_eval_run" : "FOREIGN KEY (#quot;runId#quot;) REFERENCES agent_eval_run(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_run" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_run" }o--|| "public.agent_eval_dataset" : "FOREIGN KEY (#quot;datasetId#quot;) REFERENCES agent_eval_dataset(id) ON DELETE CASCADE"
|
||||
"public.agent_execution" }o--|| "public.agent_execution_threads" : "FOREIGN KEY (#quot;threadId#quot;) REFERENCES agent_execution_threads(id) ON DELETE CASCADE"
|
||||
"public.agent_execution_threads" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.agent_execution_threads" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
|
|
@ -247,6 +263,7 @@ erDiagram
|
|||
"public.instance_ai_thread_grants" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.instance_ai_thread_grants" }o--|| "public.instance_ai_threads" : "FOREIGN KEY (#quot;threadId#quot;) REFERENCES instance_ai_threads(id) ON DELETE CASCADE"
|
||||
"public.instance_ai_threads" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.instance_credential_assignment" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialId#quot;) REFERENCES credentials_entity(id) ON DELETE RESTRICT"
|
||||
"public.oauth_access_tokens" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.oauth_access_tokens" }o--|| "public.oauth_clients" : "FOREIGN KEY (#quot;clientId#quot;) REFERENCES oauth_clients(id) ON DELETE CASCADE"
|
||||
"public.oauth_authorization_codes" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
|
|
@ -297,6 +314,17 @@ erDiagram
|
|||
"public.workflow_publish_history" }o--o| "public.workflow_history" : "FOREIGN KEY (#quot;versionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
"public.workflow_published_version" |o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE RESTRICT"
|
||||
"public.workflow_published_version" }o--|| "public.workflow_history" : "FOREIGN KEY (#quot;publishedVersionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE RESTRICT"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;updatedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;closedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_authors" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_authors" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_workflow" }o--o| "public.workflow_history" : "FOREIGN KEY (#quot;workflowVersionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflows_tags" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflows_tags" }o--|| "public.tag_entity" : "FOREIGN KEY (#quot;tagId#quot;) REFERENCES tag_entity(id) ON DELETE CASCADE"
|
||||
|
||||
|
|
@ -316,6 +344,61 @@ erDiagram
|
|||
text state
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
json columnMapping
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
json datasetRef
|
||||
varchar_32_ datasetSource
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_128_ name
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_rating" {
|
||||
text comment
|
||||
json correction
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
uuid ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"public.agent_eval_result" {
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json input
|
||||
json metrics
|
||||
json output
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_36_ runId FK
|
||||
integer runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
json toolCalls
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json metrics
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_execution" {
|
||||
integer completionTokens
|
||||
double_precision cost
|
||||
|
|
@ -330,6 +413,7 @@ erDiagram
|
|||
timestamp_3__with_time_zone startedAt
|
||||
varchar_16_ status
|
||||
timestamp_3__with_time_zone stoppedAt
|
||||
varchar_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
json timeline
|
||||
integer totalTokens
|
||||
|
|
@ -405,6 +489,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
@ -642,6 +727,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.data_table" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
@ -983,6 +1069,12 @@ erDiagram
|
|||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_255_ workflowName
|
||||
}
|
||||
"public.instance_credential_assignment" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.instance_version_history" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
integer id
|
||||
|
|
@ -1381,6 +1473,34 @@ erDiagram
|
|||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
"public.workflow_review_request_authors" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.workflow_review_request_reviewers" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.workflow_review_request_workflow" {
|
||||
varchar_36_ id
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"public.workflow_statistics" {
|
||||
bigint count
|
||||
integer id
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
113
docs/generated/postgres-schema/public.agent_eval_dataset.md
Normal file
113
docs/generated/postgres-schema/public.agent_eval_dataset.md
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
# public.agent_eval_dataset
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| agentId | varchar(36) | | false | | [public.agents](public.agents.md) | |
|
||||
| columnMapping | json | | true | | | Maps dataset columns onto input / expectedOutput / criteria roles |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| createdById | uuid | | true | | [public.user](public.user.md) | |
|
||||
| datasetRef | json | | false | | | Pointer into the dataset backend (e.g. { dataTableId }); shape varies by datasetSource |
|
||||
| datasetSource | varchar(32) | | false | | | Dataset backend the cases are read from |
|
||||
| description | text | | true | | | |
|
||||
| id | varchar(36) | | false | [public.agent_eval_run](public.agent_eval_run.md) | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_agent_eval_dataset_datasetSource | CHECK | CHECK ((("datasetSource")::text = ANY ((ARRAY['data_table'::character varying, 'google_sheets'::character varying])::text[]))) |
|
||||
| FK_9d3a6fd750f7746de453cf4d5ed | FOREIGN KEY | FOREIGN KEY ("agentId") REFERENCES agents(id) ON DELETE CASCADE |
|
||||
| FK_eda9e5fa5558d3f16bc2f6c21b6 | FOREIGN KEY | FOREIGN KEY ("createdById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| PK_ac887efbb3580a577f1442cfa89 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agent_eval_dataset_agentId_not_null | n | NOT NULL "agentId" |
|
||||
| agent_eval_dataset_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agent_eval_dataset_datasetRef_not_null | n | NOT NULL "datasetRef" |
|
||||
| agent_eval_dataset_datasetSource_not_null | n | NOT NULL "datasetSource" |
|
||||
| agent_eval_dataset_id_not_null | n | NOT NULL id |
|
||||
| agent_eval_dataset_name_not_null | n | NOT NULL name |
|
||||
| agent_eval_dataset_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9d3a6fd750f7746de453cf4d5e | CREATE INDEX "IDX_9d3a6fd750f7746de453cf4d5e" ON public.agent_eval_dataset USING btree ("agentId") |
|
||||
| PK_ac887efbb3580a577f1442cfa89 | CREATE UNIQUE INDEX "PK_ac887efbb3580a577f1442cfa89" ON public.agent_eval_dataset USING btree (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.agent_eval_dataset" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_dataset" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_run" }o--|| "public.agent_eval_dataset" : "FOREIGN KEY (#quot;datasetId#quot;) REFERENCES agent_eval_dataset(id) ON DELETE CASCADE"
|
||||
|
||||
"public.agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
json columnMapping
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
json datasetRef
|
||||
varchar_32_ datasetSource
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_128_ name
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
varchar_128_ name
|
||||
varchar_255_ projectId FK
|
||||
json schema
|
||||
json skills
|
||||
json tools
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_36_ versionId
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json metrics
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
93
docs/generated/postgres-schema/public.agent_eval_rating.md
Normal file
93
docs/generated/postgres-schema/public.agent_eval_rating.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
# public.agent_eval_rating
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| comment | text | | true | | | |
|
||||
| correction | json | | true | | | Optional corrected/edited output supplied by the rater |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| id | varchar(36) | | false | | | |
|
||||
| ratedById | uuid | | true | | [public.user](public.user.md) | |
|
||||
| resultId | varchar(36) | | false | | [public.agent_eval_result](public.agent_eval_result.md) | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| vote | varchar(8) | | false | | | Human feedback direction |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_agent_eval_rating_vote | CHECK | CHECK (((vote)::text = ANY ((ARRAY['up'::character varying, 'down'::character varying])::text[]))) |
|
||||
| FK_9cadae6591c64498f1b58a2cef3 | FOREIGN KEY | FOREIGN KEY ("resultId") REFERENCES agent_eval_result(id) ON DELETE CASCADE |
|
||||
| FK_e06a7408573a3e152e673977d2c | FOREIGN KEY | FOREIGN KEY ("ratedById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| PK_04b7709a435e0c07520ceb37393 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agent_eval_rating_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agent_eval_rating_id_not_null | n | NOT NULL id |
|
||||
| agent_eval_rating_resultId_not_null | n | NOT NULL "resultId" |
|
||||
| agent_eval_rating_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
| agent_eval_rating_vote_not_null | n | NOT NULL vote |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9cadae6591c64498f1b58a2cef | CREATE INDEX "IDX_9cadae6591c64498f1b58a2cef" ON public.agent_eval_rating USING btree ("resultId") |
|
||||
| PK_04b7709a435e0c07520ceb37393 | CREATE UNIQUE INDEX "PK_04b7709a435e0c07520ceb37393" ON public.agent_eval_rating USING btree (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.agent_eval_rating" }o--o| "public.user" : "FOREIGN KEY (#quot;ratedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_rating" }o--|| "public.agent_eval_result" : "FOREIGN KEY (#quot;resultId#quot;) REFERENCES agent_eval_result(id) ON DELETE CASCADE"
|
||||
|
||||
"public.agent_eval_rating" {
|
||||
text comment
|
||||
json correction
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
uuid ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_result" {
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json input
|
||||
json metrics
|
||||
json output
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_36_ runId FK
|
||||
integer runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
json toolCalls
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
98
docs/generated/postgres-schema/public.agent_eval_result.md
Normal file
98
docs/generated/postgres-schema/public.agent_eval_result.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
# public.agent_eval_result
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| completedAt | timestamp(3) with time zone | | true | | | |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| errorCode | varchar(255) | | true | | | |
|
||||
| errorDetails | json | | true | | | |
|
||||
| id | varchar(36) | | false | [public.agent_eval_rating](public.agent_eval_rating.md) | | |
|
||||
| input | json | | true | | | Snapshot of the case input actually run (row may later change) |
|
||||
| metrics | json | | true | | | Per-case judge scores |
|
||||
| output | json | | true | | | Agent output for this case |
|
||||
| runAt | timestamp(3) with time zone | | true | | | |
|
||||
| runId | varchar(36) | | false | | [public.agent_eval_run](public.agent_eval_run.md) | |
|
||||
| runIndex | integer | | true | | | Order of this case within the run |
|
||||
| sourceRowId | varchar(255) | | true | | | Origin dataset row id; loose pointer, rows are external and mutable |
|
||||
| status | varchar | | false | | | Per-case lifecycle |
|
||||
| toolCalls | json | | true | | | Tool-call timeline captured during the run |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_agent_eval_result_status | CHECK | CHECK (((status)::text = ANY ((ARRAY['new'::character varying, 'running'::character varying, 'success'::character varying, 'error'::character varying, 'cancelled'::character varying])::text[]))) |
|
||||
| FK_40a2d1248a6d984f442de2fac1b | FOREIGN KEY | FOREIGN KEY ("runId") REFERENCES agent_eval_run(id) ON DELETE CASCADE |
|
||||
| PK_d40a22dc56dc200313c1f0e41ac | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agent_eval_result_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agent_eval_result_id_not_null | n | NOT NULL id |
|
||||
| agent_eval_result_runId_not_null | n | NOT NULL "runId" |
|
||||
| agent_eval_result_status_not_null | n | NOT NULL status |
|
||||
| agent_eval_result_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_40a2d1248a6d984f442de2fac1 | CREATE INDEX "IDX_40a2d1248a6d984f442de2fac1" ON public.agent_eval_result USING btree ("runId") |
|
||||
| PK_d40a22dc56dc200313c1f0e41ac | CREATE UNIQUE INDEX "PK_d40a22dc56dc200313c1f0e41ac" ON public.agent_eval_result USING btree (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.agent_eval_rating" }o--|| "public.agent_eval_result" : "FOREIGN KEY (#quot;resultId#quot;) REFERENCES agent_eval_result(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_result" }o--|| "public.agent_eval_run" : "FOREIGN KEY (#quot;runId#quot;) REFERENCES agent_eval_run(id) ON DELETE CASCADE"
|
||||
|
||||
"public.agent_eval_result" {
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json input
|
||||
json metrics
|
||||
json output
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_36_ runId FK
|
||||
integer runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
json toolCalls
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_rating" {
|
||||
text comment
|
||||
json correction
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
uuid ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"public.agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json metrics
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
119
docs/generated/postgres-schema/public.agent_eval_run.md
Normal file
119
docs/generated/postgres-schema/public.agent_eval_run.md
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# public.agent_eval_run
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| agentVersionId | varchar(36) | | true | | | Published agent version under test (agent_history.versionId); loose pointer, no FK so runs survive history pruning. The agent itself comes from the dataset. |
|
||||
| cancelRequested | boolean | false | false | | | Fallback cancellation flag polled by the running main |
|
||||
| completedAt | timestamp(3) with time zone | | true | | | |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| createdById | uuid | | true | | [public.user](public.user.md) | |
|
||||
| datasetId | varchar(36) | | false | | [public.agent_eval_dataset](public.agent_eval_dataset.md) | |
|
||||
| errorCode | varchar(255) | | true | | | |
|
||||
| errorDetails | json | | true | | | |
|
||||
| id | varchar(36) | | false | [public.agent_eval_result](public.agent_eval_result.md) | | |
|
||||
| metrics | json | | true | | | Aggregated run-level scores |
|
||||
| runAt | timestamp(3) with time zone | | true | | | |
|
||||
| runningInstanceId | varchar(255) | | true | | | Main instance executing this run; used to coordinate cancellation |
|
||||
| status | varchar | | false | | | Run lifecycle |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_agent_eval_run_status | CHECK | CHECK (((status)::text = ANY ((ARRAY['new'::character varying, 'running'::character varying, 'completed'::character varying, 'error'::character varying, 'cancelled'::character varying])::text[]))) |
|
||||
| FK_39ca447735d378e365f4227abff | FOREIGN KEY | FOREIGN KEY ("datasetId") REFERENCES agent_eval_dataset(id) ON DELETE CASCADE |
|
||||
| FK_54ee897f442cc7393a6d6165334 | FOREIGN KEY | FOREIGN KEY ("createdById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| PK_280832ca3f1b43663cc0e25e77f | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agent_eval_run_cancelRequested_not_null | n | NOT NULL "cancelRequested" |
|
||||
| agent_eval_run_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agent_eval_run_datasetId_not_null | n | NOT NULL "datasetId" |
|
||||
| agent_eval_run_id_not_null | n | NOT NULL id |
|
||||
| agent_eval_run_status_not_null | n | NOT NULL status |
|
||||
| agent_eval_run_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_39ca447735d378e365f4227abf | CREATE INDEX "IDX_39ca447735d378e365f4227abf" ON public.agent_eval_run USING btree ("datasetId") |
|
||||
| PK_280832ca3f1b43663cc0e25e77f | CREATE UNIQUE INDEX "PK_280832ca3f1b43663cc0e25e77f" ON public.agent_eval_run USING btree (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.agent_eval_run" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_run" }o--|| "public.agent_eval_dataset" : "FOREIGN KEY (#quot;datasetId#quot;) REFERENCES agent_eval_dataset(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_result" }o--|| "public.agent_eval_run" : "FOREIGN KEY (#quot;runId#quot;) REFERENCES agent_eval_run(id) ON DELETE CASCADE"
|
||||
|
||||
"public.agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json metrics
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
json columnMapping
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
json datasetRef
|
||||
varchar_32_ datasetSource
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_128_ name
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_result" {
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json input
|
||||
json metrics
|
||||
json output
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_36_ runId FK
|
||||
integer runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
json toolCalls
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
| startedAt | timestamp(3) with time zone | | true | | | |
|
||||
| status | varchar(16) | | false | | | |
|
||||
| stoppedAt | timestamp(3) with time zone | | true | | | |
|
||||
| storedAt | varchar(2) | 'db'::character varying | false | | | |
|
||||
| threadId | varchar(128) | | false | | [public.agent_execution_threads](public.agent_execution_threads.md) | |
|
||||
| timeline | json | | true | | | |
|
||||
| totalTokens | integer | | true | | | |
|
||||
|
|
@ -29,12 +30,14 @@
|
|||
| ---- | ---- | ---------- |
|
||||
| CHK_agent_execution_hitlStatus | CHECK | CHECK ((("hitlStatus")::text = ANY ((ARRAY['suspended'::character varying, 'resumed'::character varying])::text[]))) |
|
||||
| CHK_agent_execution_status | CHECK | CHECK (((status)::text = ANY ((ARRAY['success'::character varying, 'error'::character varying])::text[]))) |
|
||||
| CHK_agent_execution_storedAt | CHECK | CHECK ((("storedAt")::text = ANY ((ARRAY['db'::character varying, 'fs'::character varying, 's3'::character varying, 'az'::character varying])::text[]))) |
|
||||
| FK_add2432fb6034cc18b6af299dce | FOREIGN KEY | FOREIGN KEY ("threadId") REFERENCES agent_execution_threads(id) ON DELETE CASCADE |
|
||||
| PK_ba438acc8532addc12d1ef17049 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agent_execution_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agent_execution_duration_not_null | n | NOT NULL duration |
|
||||
| agent_execution_id_not_null | n | NOT NULL id |
|
||||
| agent_execution_status_not_null | n | NOT NULL status |
|
||||
| agent_execution_storedAt_not_null | n | NOT NULL "storedAt" |
|
||||
| agent_execution_threadId_not_null | n | NOT NULL "threadId" |
|
||||
| agent_execution_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
|
|
@ -66,6 +69,7 @@ erDiagram
|
|||
timestamp_3__with_time_zone startedAt
|
||||
varchar_16_ status
|
||||
timestamp_3__with_time_zone stoppedAt
|
||||
varchar_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
json timeline
|
||||
integer totalTokens
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
@ -107,6 +108,7 @@ erDiagram
|
|||
timestamp_3__with_time_zone startedAt
|
||||
varchar_16_ status
|
||||
timestamp_3__with_time_zone stoppedAt
|
||||
varchar_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
json timeline
|
||||
integer totalTokens
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -5,8 +5,9 @@
|
|||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| activeVersionId | varchar(36) | | true | | [public.agent_history](public.agent_history.md) | |
|
||||
| availableInMCP | boolean | false | false | | | Whether MCP clients granted agent scopes may operate on this agent |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| id | varchar(36) | | false | [public.agent_chat_subscriptions](public.agent_chat_subscriptions.md) [public.agent_checkpoints](public.agent_checkpoints.md) [public.agent_execution_threads](public.agent_execution_threads.md) [public.agent_files](public.agent_files.md) [public.agent_history](public.agent_history.md) [public.agent_task_definition](public.agent_task_definition.md) [public.agent_task_run_lock](public.agent_task_run_lock.md) [public.agents_memory_entries](public.agents_memory_entries.md) [public.agents_memory_entry_cursors](public.agents_memory_entry_cursors.md) [public.agents_memory_entry_locks](public.agents_memory_entry_locks.md) [public.agents_memory_entry_sources](public.agents_memory_entry_sources.md) [public.agents_observation_cursors](public.agents_observation_cursors.md) [public.agents_observation_locks](public.agents_observation_locks.md) [public.agents_observations](public.agents_observations.md) | | |
|
||||
| id | varchar(36) | | false | [public.agent_chat_subscriptions](public.agent_chat_subscriptions.md) [public.agent_checkpoints](public.agent_checkpoints.md) [public.agent_eval_dataset](public.agent_eval_dataset.md) [public.agent_execution_threads](public.agent_execution_threads.md) [public.agent_files](public.agent_files.md) [public.agent_history](public.agent_history.md) [public.agent_task_definition](public.agent_task_definition.md) [public.agent_task_run_lock](public.agent_task_run_lock.md) [public.agents_memory_entries](public.agents_memory_entries.md) [public.agents_memory_entry_cursors](public.agents_memory_entry_cursors.md) [public.agents_memory_entry_locks](public.agents_memory_entry_locks.md) [public.agents_memory_entry_sources](public.agents_memory_entry_sources.md) [public.agents_observation_cursors](public.agents_observation_cursors.md) [public.agents_observation_locks](public.agents_observation_locks.md) [public.agents_observations](public.agents_observations.md) | | |
|
||||
| integrations | json | '[]'::json | false | | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
| projectId | varchar(255) | | false | | [public.project](public.project.md) | |
|
||||
|
|
@ -23,6 +24,7 @@
|
|||
| FK_940597dfe9753375309ce6aeea0 | FOREIGN KEY | FOREIGN KEY ("activeVersionId") REFERENCES agent_history("versionId") ON DELETE SET NULL |
|
||||
| FK_a30d560207c4071d98aa03c179c | FOREIGN KEY | FOREIGN KEY ("projectId") REFERENCES project(id) ON DELETE CASCADE |
|
||||
| PK_9c653f28ae19c5884d5baf6a1d9 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| agents_availableInMCP_not_null | n | NOT NULL "availableInMCP" |
|
||||
| agents_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| agents_id_not_null | n | NOT NULL id |
|
||||
| agents_integrations_not_null | n | NOT NULL integrations |
|
||||
|
|
@ -48,6 +50,7 @@ erDiagram
|
|||
"public.agents" }o--o| "public.agent_history" : "FOREIGN KEY (#quot;activeVersionId#quot;) REFERENCES agent_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
"public.agent_chat_subscriptions" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_checkpoints" }o--o| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_eval_dataset" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_execution_threads" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_files" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
"public.agent_history" }o--|| "public.agents" : "FOREIGN KEY (#quot;agentId#quot;) REFERENCES agents(id) ON DELETE CASCADE"
|
||||
|
|
@ -64,6 +67,7 @@ erDiagram
|
|||
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
@ -102,6 +106,18 @@ erDiagram
|
|||
text state
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
json columnMapping
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
json datasetRef
|
||||
varchar_32_ datasetSource
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_128_ name
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_execution_threads" {
|
||||
varchar_36_ agentId FK
|
||||
varchar_255_ agentName
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.chat_hub_agent_tools" {
|
||||
uuid agentId FK
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.chat_hub_messages" {
|
||||
uuid agentId FK
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| data | text | | false | | | |
|
||||
| id | varchar(36) | | false | [public.chat_hub_agents](public.chat_hub_agents.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.credential_dependency](public.credential_dependency.md) [public.dynamic_credential_entry](public.dynamic_credential_entry.md) [public.dynamic_credential_user_entry](public.dynamic_credential_user_entry.md) [public.instance_ai_mcp_registry_connections](public.instance_ai_mcp_registry_connections.md) [public.shared_credentials](public.shared_credentials.md) | | |
|
||||
| id | varchar(36) | | false | [public.chat_hub_agents](public.chat_hub_agents.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.credential_dependency](public.credential_dependency.md) [public.dynamic_credential_entry](public.dynamic_credential_entry.md) [public.dynamic_credential_user_entry](public.dynamic_credential_user_entry.md) [public.instance_ai_mcp_registry_connections](public.instance_ai_mcp_registry_connections.md) [public.instance_credential_assignment](public.instance_credential_assignment.md) [public.shared_credentials](public.shared_credentials.md) | | |
|
||||
| isGlobal | boolean | false | false | | | |
|
||||
| isManaged | boolean | false | false | | | |
|
||||
| isResolvable | boolean | false | false | | | |
|
||||
|
|
@ -15,11 +15,13 @@
|
|||
| resolverId | varchar(16) | | true | | [public.dynamic_credential_resolver](public.dynamic_credential_resolver.md) | |
|
||||
| type | varchar(128) | | false | | | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| usageScope | varchar(16) | 'project'::character varying | false | | | Where the credential may be consumed: a project-owned feature or an instance-level feature |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_credentials_entity_usageScope | CHECK | CHECK ((("usageScope")::text = ANY ((ARRAY['project'::character varying, 'instance'::character varying])::text[]))) |
|
||||
| credentials_entity_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| credentials_entity_data_not_null | n | NOT NULL data |
|
||||
| credentials_entity_id_not_null1 | n | NOT NULL id |
|
||||
|
|
@ -32,6 +34,7 @@
|
|||
| credentials_entity_resolverId_foreign | FOREIGN KEY | FOREIGN KEY ("resolverId") REFERENCES dynamic_credential_resolver(id) ON DELETE SET NULL |
|
||||
| credentials_entity_type_not_null | n | NOT NULL type |
|
||||
| credentials_entity_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
| credentials_entity_usageScope_not_null | n | NOT NULL "usageScope" |
|
||||
|
||||
## Indexes
|
||||
|
||||
|
|
@ -53,6 +56,7 @@ erDiagram
|
|||
"public.dynamic_credential_entry" }o--|| "public.credentials_entity" : "FOREIGN KEY (credential_id) REFERENCES credentials_entity(id) ON DELETE CASCADE"
|
||||
"public.dynamic_credential_user_entry" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialId#quot;) REFERENCES credentials_entity(id) ON DELETE CASCADE"
|
||||
"public.instance_ai_mcp_registry_connections" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialId#quot;) REFERENCES credentials_entity(id) ON DELETE CASCADE"
|
||||
"public.instance_credential_assignment" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialId#quot;) REFERENCES credentials_entity(id) ON DELETE RESTRICT"
|
||||
"public.shared_credentials" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialsId#quot;) REFERENCES credentials_entity(id) ON DELETE CASCADE"
|
||||
"public.credentials_entity" }o--o| "public.dynamic_credential_resolver" : "FOREIGN KEY (#quot;resolverId#quot;) REFERENCES dynamic_credential_resolver(id) ON DELETE SET NULL"
|
||||
|
||||
|
|
@ -68,6 +72,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.chat_hub_agents" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
@ -131,6 +136,12 @@ erDiagram
|
|||
timestamp_3__with_time_zone updatedAt
|
||||
uuid userId FK
|
||||
}
|
||||
"public.instance_credential_assignment" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.shared_credentials" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ credentialsId FK
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.dynamic_credential_resolver" {
|
||||
text config
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.dynamic_credential_entry" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.dynamic_credential_resolver" {
|
||||
text config
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.mcp_registry_server" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
# public.instance_credential_assignment
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| credentialId | varchar(36) | | false | | [public.credentials_entity](public.credentials_entity.md) | Credential assigned to the registered use; repositories enforce instance usage scope |
|
||||
| credentialUseId | varchar(128) | | false | | | Stable credential use registered with the instance credential broker |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| FK_instance_credential_assignment_credential | FOREIGN KEY | FOREIGN KEY ("credentialId") REFERENCES credentials_entity(id) ON DELETE RESTRICT |
|
||||
| PK_984b0a98726485c9a330cde6b2f | PRIMARY KEY | PRIMARY KEY ("credentialUseId") |
|
||||
| instance_credential_assignment_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| instance_credential_assignment_credentialId_not_null | n | NOT NULL "credentialId" |
|
||||
| instance_credential_assignment_credentialUseId_not_null | n | NOT NULL "credentialUseId" |
|
||||
| instance_credential_assignment_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9626b8dc1bee96a86a3ee09d73 | CREATE INDEX "IDX_9626b8dc1bee96a86a3ee09d73" ON public.instance_credential_assignment USING btree ("credentialId") |
|
||||
| PK_984b0a98726485c9a330cde6b2f | CREATE UNIQUE INDEX "PK_984b0a98726485c9a330cde6b2f" ON public.instance_credential_assignment USING btree ("credentialUseId") |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.instance_credential_assignment" }o--|| "public.credentials_entity" : "FOREIGN KEY (#quot;credentialId#quot;) REFERENCES credentials_entity(id) ON DELETE RESTRICT"
|
||||
|
||||
"public.instance_credential_assignment" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.credentials_entity" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
text data
|
||||
varchar_36_ id
|
||||
boolean isGlobal
|
||||
boolean isManaged
|
||||
boolean isResolvable
|
||||
varchar_128_ name
|
||||
boolean resolvableAllowFallback
|
||||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
| customTelemetryTags | json | '[]'::json | false | | | |
|
||||
| description | varchar(512) | | true | | | |
|
||||
| icon | json | | true | | | |
|
||||
| id | varchar(36) | | false | [public.agent_execution_threads](public.agent_execution_threads.md) [public.agents](public.agents.md) [public.data_table](public.data_table.md) [public.folder](public.folder.md) [public.insights_metadata](public.insights_metadata.md) [public.instance_ai_threads](public.instance_ai_threads.md) [public.project_relation](public.project_relation.md) [public.project_secrets_provider_access](public.project_secrets_provider_access.md) [public.role_mapping_rule_project](public.role_mapping_rule_project.md) [public.shared_credentials](public.shared_credentials.md) [public.shared_workflow](public.shared_workflow.md) [public.variables](public.variables.md) | | |
|
||||
| id | varchar(36) | | false | [public.agent_execution_threads](public.agent_execution_threads.md) [public.agents](public.agents.md) [public.data_table](public.data_table.md) [public.folder](public.folder.md) [public.insights_metadata](public.insights_metadata.md) [public.instance_ai_threads](public.instance_ai_threads.md) [public.project_relation](public.project_relation.md) [public.project_secrets_provider_access](public.project_secrets_provider_access.md) [public.role_mapping_rule_project](public.role_mapping_rule_project.md) [public.shared_credentials](public.shared_credentials.md) [public.shared_workflow](public.shared_workflow.md) [public.variables](public.variables.md) [public.workflow_review_request](public.workflow_review_request.md) | | |
|
||||
| name | varchar(255) | | false | | | |
|
||||
| type | varchar(36) | | false | | | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
|
|
@ -51,6 +51,7 @@ erDiagram
|
|||
"public.shared_credentials" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.shared_workflow" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.variables" }o--o| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
|
||||
"public.project" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
@ -101,6 +102,7 @@ erDiagram
|
|||
}
|
||||
"public.agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
json integrations
|
||||
|
|
@ -182,6 +184,20 @@ erDiagram
|
|||
varchar_50_ type
|
||||
text value
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_128_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_16_ usageScope
|
||||
}
|
||||
"public.project" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
| disabled | boolean | false | false | | | |
|
||||
| email | varchar(255) | | true | | | |
|
||||
| firstName | varchar(32) | | true | | | |
|
||||
| id | uuid | gen_random_uuid() | false | [public.agent_history](public.agent_history.md) [public.auth_identity](public.auth_identity.md) [public.chat_hub_agents](public.chat_hub_agents.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.chat_hub_tools](public.chat_hub_tools.md) [public.dynamic_credential_user_entry](public.dynamic_credential_user_entry.md) [public.evaluation_collection](public.evaluation_collection.md) [public.instance_ai_mcp_registry_connections](public.instance_ai_mcp_registry_connections.md) [public.instance_ai_pending_confirmations](public.instance_ai_pending_confirmations.md) [public.instance_ai_thread_grants](public.instance_ai_thread_grants.md) [public.oauth_access_tokens](public.oauth_access_tokens.md) [public.oauth_authorization_codes](public.oauth_authorization_codes.md) [public.oauth_refresh_tokens](public.oauth_refresh_tokens.md) [public.oauth_user_consents](public.oauth_user_consents.md) [public.project](public.project.md) [public.project_relation](public.project_relation.md) [public.user_api_keys](public.user_api_keys.md) [public.user_favorites](public.user_favorites.md) [public.workflow_builder_session](public.workflow_builder_session.md) [public.workflow_publish_history](public.workflow_publish_history.md) | | |
|
||||
| id | uuid | gen_random_uuid() | false | [public.agent_eval_dataset](public.agent_eval_dataset.md) [public.agent_eval_rating](public.agent_eval_rating.md) [public.agent_eval_run](public.agent_eval_run.md) [public.agent_history](public.agent_history.md) [public.auth_identity](public.auth_identity.md) [public.chat_hub_agents](public.chat_hub_agents.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.chat_hub_tools](public.chat_hub_tools.md) [public.dynamic_credential_user_entry](public.dynamic_credential_user_entry.md) [public.evaluation_collection](public.evaluation_collection.md) [public.instance_ai_mcp_registry_connections](public.instance_ai_mcp_registry_connections.md) [public.instance_ai_pending_confirmations](public.instance_ai_pending_confirmations.md) [public.instance_ai_thread_grants](public.instance_ai_thread_grants.md) [public.oauth_access_tokens](public.oauth_access_tokens.md) [public.oauth_authorization_codes](public.oauth_authorization_codes.md) [public.oauth_refresh_tokens](public.oauth_refresh_tokens.md) [public.oauth_user_consents](public.oauth_user_consents.md) [public.project](public.project.md) [public.project_relation](public.project_relation.md) [public.user_api_keys](public.user_api_keys.md) [public.user_favorites](public.user_favorites.md) [public.workflow_builder_session](public.workflow_builder_session.md) [public.workflow_publish_history](public.workflow_publish_history.md) [public.workflow_review_request](public.workflow_review_request.md) [public.workflow_review_request_authors](public.workflow_review_request_authors.md) [public.workflow_review_request_reviewers](public.workflow_review_request_reviewers.md) | | |
|
||||
| lastActiveAt | date | | true | | | |
|
||||
| lastName | varchar(32) | | true | | | |
|
||||
| mfaEnabled | boolean | false | false | | | |
|
||||
|
|
@ -47,6 +47,9 @@
|
|||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.agent_eval_dataset" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_rating" }o--o| "public.user" : "FOREIGN KEY (#quot;ratedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_eval_run" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.agent_history" }o--o| "public.user" : "FOREIGN KEY (#quot;publishedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.auth_identity" }o--o| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id)"
|
||||
"public.chat_hub_agents" }o--|| "public.user" : "FOREIGN KEY (#quot;ownerId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
|
|
@ -67,6 +70,11 @@ erDiagram
|
|||
"public.user_favorites" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_builder_session" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_publish_history" }o--o| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;updatedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;closedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request_authors" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.user" }o--|| "public.role" : "FOREIGN KEY (#quot;roleSlug#quot;) REFERENCES role(slug)"
|
||||
|
||||
"public.user" {
|
||||
|
|
@ -86,6 +94,44 @@ erDiagram
|
|||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
json columnMapping
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
json datasetRef
|
||||
varchar_32_ datasetSource
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_128_ name
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_eval_rating" {
|
||||
text comment
|
||||
json correction
|
||||
timestamp_3__with_time_zone createdAt
|
||||
varchar_36_ id
|
||||
uuid ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"public.agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
timestamp_3__with_time_zone completedAt
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
json errorDetails
|
||||
varchar_36_ id
|
||||
json metrics
|
||||
timestamp_3__with_time_zone runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.agent_history" {
|
||||
varchar_36_ agentId FK
|
||||
varchar_255_ author
|
||||
|
|
@ -284,6 +330,28 @@ erDiagram
|
|||
varchar_36_ versionId FK
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
"public.workflow_review_request_authors" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.workflow_review_request_reviewers" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.role" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
text description
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
| connections | json | | false | | | |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| description | text | | true | | | |
|
||||
| id | varchar(36) | | false | [public.ai_builder_temporary_workflow](public.ai_builder_temporary_workflow.md) [public.chat_hub_messages](public.chat_hub_messages.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.evaluation_collection](public.evaluation_collection.md) [public.evaluation_config](public.evaluation_config.md) [public.execution_entity](public.execution_entity.md) [public.insights_metadata](public.insights_metadata.md) [public.processed_data](public.processed_data.md) [public.shared_workflow](public.shared_workflow.md) [public.test_run](public.test_run.md) [public.webhook_entity](public.webhook_entity.md) [public.workflow_builder_session](public.workflow_builder_session.md) [public.workflow_dependency](public.workflow_dependency.md) [public.workflow_history](public.workflow_history.md) [public.workflow_publication_trigger_status](public.workflow_publication_trigger_status.md) [public.workflow_publish_history](public.workflow_publish_history.md) [public.workflow_published_version](public.workflow_published_version.md) [public.workflows_tags](public.workflows_tags.md) | | |
|
||||
| id | varchar(36) | | false | [public.ai_builder_temporary_workflow](public.ai_builder_temporary_workflow.md) [public.chat_hub_messages](public.chat_hub_messages.md) [public.chat_hub_sessions](public.chat_hub_sessions.md) [public.evaluation_collection](public.evaluation_collection.md) [public.evaluation_config](public.evaluation_config.md) [public.execution_entity](public.execution_entity.md) [public.insights_metadata](public.insights_metadata.md) [public.processed_data](public.processed_data.md) [public.shared_workflow](public.shared_workflow.md) [public.test_run](public.test_run.md) [public.webhook_entity](public.webhook_entity.md) [public.workflow_builder_session](public.workflow_builder_session.md) [public.workflow_dependency](public.workflow_dependency.md) [public.workflow_history](public.workflow_history.md) [public.workflow_publication_trigger_status](public.workflow_publication_trigger_status.md) [public.workflow_publish_history](public.workflow_publish_history.md) [public.workflow_published_version](public.workflow_published_version.md) [public.workflow_review_request_workflow](public.workflow_review_request_workflow.md) [public.workflows_tags](public.workflows_tags.md) | | |
|
||||
| isArchived | boolean | false | false | | | |
|
||||
| meta | json | | true | | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
|
|
@ -83,6 +83,7 @@ erDiagram
|
|||
"public.workflow_publication_trigger_status" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflow_publish_history" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflow_published_version" |o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE RESTRICT"
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflows_tags" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflow_entity" }o--o| "public.folder" : "FOREIGN KEY (#quot;parentFolderId#quot;) REFERENCES folder(id) ON DELETE CASCADE"
|
||||
|
||||
|
|
@ -300,6 +301,12 @@ erDiagram
|
|||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
"public.workflow_review_request_workflow" {
|
||||
varchar_36_ id
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"public.workflows_tags" {
|
||||
varchar_36_ tagId FK
|
||||
varchar_36_ workflowId FK
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
| nodeGroups | json | '[]'::json | false | | | |
|
||||
| nodes | json | | false | | | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| versionId | varchar(36) | | false | [public.workflow_entity](public.workflow_entity.md) [public.workflow_publication_trigger_status](public.workflow_publication_trigger_status.md) [public.workflow_publish_history](public.workflow_publish_history.md) [public.workflow_published_version](public.workflow_published_version.md) | | |
|
||||
| versionId | varchar(36) | | false | [public.workflow_entity](public.workflow_entity.md) [public.workflow_publication_trigger_status](public.workflow_publication_trigger_status.md) [public.workflow_publish_history](public.workflow_publish_history.md) [public.workflow_published_version](public.workflow_published_version.md) [public.workflow_review_request_workflow](public.workflow_review_request_workflow.md) | | |
|
||||
| workflowId | varchar(36) | | false | | [public.workflow_entity](public.workflow_entity.md) | |
|
||||
|
||||
## Constraints
|
||||
|
|
@ -48,6 +48,7 @@ erDiagram
|
|||
"public.workflow_publication_trigger_status" }o--|| "public.workflow_history" : "FOREIGN KEY (#quot;versionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE CASCADE"
|
||||
"public.workflow_publish_history" }o--o| "public.workflow_history" : "FOREIGN KEY (#quot;versionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
"public.workflow_published_version" }o--|| "public.workflow_history" : "FOREIGN KEY (#quot;publishedVersionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE RESTRICT"
|
||||
"public.workflow_review_request_workflow" }o--o| "public.workflow_history" : "FOREIGN KEY (#quot;workflowVersionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
"public.workflow_history" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
|
||||
"public.workflow_history" {
|
||||
|
|
@ -109,6 +110,12 @@ erDiagram
|
|||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
"public.workflow_review_request_workflow" {
|
||||
varchar_36_ id
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
119
docs/generated/postgres-schema/public.workflow_review_request.md
Normal file
119
docs/generated/postgres-schema/public.workflow_review_request.md
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# public.workflow_review_request
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| approvedAt | timestamp(3) with time zone | | true | | | |
|
||||
| closedById | uuid | | true | | [public.user](public.user.md) | |
|
||||
| createdAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| createdById | uuid | | true | | [public.user](public.user.md) | |
|
||||
| decision | varchar(50) | 'pending'::character varying | false | | | Latest review outcome while the request is open |
|
||||
| description | text | | true | | | |
|
||||
| id | varchar(36) | | false | [public.workflow_review_request_authors](public.workflow_review_request_authors.md) [public.workflow_review_request_reviewers](public.workflow_review_request_reviewers.md) [public.workflow_review_request_workflow](public.workflow_review_request_workflow.md) | | |
|
||||
| projectId | varchar(36) | | false | | [public.project](public.project.md) | |
|
||||
| state | varchar(16) | 'open'::character varying | false | | | Review lifecycle: open reviews accept actions; closed reviews are done |
|
||||
| title | varchar(255) | | false | | | |
|
||||
| updatedAt | timestamp(3) with time zone | CURRENT_TIMESTAMP(3) | false | | | |
|
||||
| updatedById | uuid | | true | | [public.user](public.user.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| CHK_workflow_review_request_decision | CHECK | CHECK (((decision)::text = ANY ((ARRAY['pending'::character varying, 'changes_requested'::character varying, 'approved'::character varying])::text[]))) |
|
||||
| CHK_workflow_review_request_state | CHECK | CHECK (((state)::text = ANY ((ARRAY['open'::character varying, 'closed'::character varying])::text[]))) |
|
||||
| FK_21d5f5a831d2e38960030bb4f60 | FOREIGN KEY | FOREIGN KEY ("createdById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| FK_2817c3a0245197b498818c447cb | FOREIGN KEY | FOREIGN KEY ("updatedById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| FK_c218d1df94adc3b169dee3cc06c | FOREIGN KEY | FOREIGN KEY ("projectId") REFERENCES project(id) ON DELETE CASCADE |
|
||||
| FK_d53ef208e6055f328dd7b897e51 | FOREIGN KEY | FOREIGN KEY ("closedById") REFERENCES "user"(id) ON DELETE SET NULL |
|
||||
| PK_ae17b90023bcd05e003cd8f64dc | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| workflow_review_request_createdAt_not_null | n | NOT NULL "createdAt" |
|
||||
| workflow_review_request_decision_not_null | n | NOT NULL decision |
|
||||
| workflow_review_request_id_not_null | n | NOT NULL id |
|
||||
| workflow_review_request_projectId_not_null | n | NOT NULL "projectId" |
|
||||
| workflow_review_request_state_not_null | n | NOT NULL state |
|
||||
| workflow_review_request_title_not_null | n | NOT NULL title |
|
||||
| workflow_review_request_updatedAt_not_null | n | NOT NULL "updatedAt" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_project_state | CREATE INDEX "IDX_workflow_review_request_project_state" ON public.workflow_review_request USING btree ("projectId", state) |
|
||||
| PK_ae17b90023bcd05e003cd8f64dc | CREATE UNIQUE INDEX "PK_ae17b90023bcd05e003cd8f64dc" ON public.workflow_review_request USING btree (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;closedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;createdById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
"public.workflow_review_request_authors" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request" }o--|| "public.project" : "FOREIGN KEY (#quot;projectId#quot;) REFERENCES project(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request" }o--o| "public.user" : "FOREIGN KEY (#quot;updatedById#quot;) REFERENCES #quot;user#quot;(id) ON DELETE SET NULL"
|
||||
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.workflow_review_request_authors" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.workflow_review_request_reviewers" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.workflow_review_request_workflow" {
|
||||
varchar_36_ id
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"public.project" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid creatorId FK
|
||||
json customTelemetryTags
|
||||
varchar_512_ description
|
||||
json icon
|
||||
varchar_36_ id
|
||||
varchar_255_ name
|
||||
varchar_36_ type
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# public.workflow_review_request_authors
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| userId | uuid | | false | | [public.user](public.user.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [public.workflow_review_request](public.workflow_review_request.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| FK_a9c79ab0c352aa0496c39ea56a4 | FOREIGN KEY | FOREIGN KEY ("userId") REFERENCES "user"(id) ON DELETE CASCADE |
|
||||
| FK_c255ae5087010c1ab73ac8684af | FOREIGN KEY | FOREIGN KEY ("workflowReviewRequestId") REFERENCES workflow_review_request(id) ON DELETE CASCADE |
|
||||
| PK_ae197bb5135d422f6392a879e0c | PRIMARY KEY | PRIMARY KEY ("workflowReviewRequestId", "userId") |
|
||||
| workflow_review_request_author_workflowReviewRequestId_not_null | n | NOT NULL "workflowReviewRequestId" |
|
||||
| workflow_review_request_authors_userId_not_null | n | NOT NULL "userId" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| PK_ae197bb5135d422f6392a879e0c | CREATE UNIQUE INDEX "PK_ae197bb5135d422f6392a879e0c" ON public.workflow_review_request_authors USING btree ("workflowReviewRequestId", "userId") |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.workflow_review_request_authors" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_authors" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
|
||||
"public.workflow_review_request_authors" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
# public.workflow_review_request_reviewers
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| userId | uuid | | false | | [public.user](public.user.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [public.workflow_review_request](public.workflow_review_request.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| FK_81d0a2584aa4e8e5e0d6aa68f32 | FOREIGN KEY | FOREIGN KEY ("userId") REFERENCES "user"(id) ON DELETE CASCADE |
|
||||
| FK_ba29e1cc5cdba43ce7b810b3ddd | FOREIGN KEY | FOREIGN KEY ("workflowReviewRequestId") REFERENCES workflow_review_request(id) ON DELETE CASCADE |
|
||||
| PK_4715c6035e0ebc4f3e8716f1e34 | PRIMARY KEY | PRIMARY KEY ("workflowReviewRequestId", "userId") |
|
||||
| workflow_review_request_review_workflowReviewRequestId_not_null | n | NOT NULL "workflowReviewRequestId" |
|
||||
| workflow_review_request_reviewers_userId_not_null | n | NOT NULL "userId" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_reviewers_user | CREATE INDEX "IDX_workflow_review_request_reviewers_user" ON public.workflow_review_request_reviewers USING btree ("userId", "workflowReviewRequestId") |
|
||||
| PK_4715c6035e0ebc4f3e8716f1e34 | CREATE UNIQUE INDEX "PK_4715c6035e0ebc4f3e8716f1e34" ON public.workflow_review_request_reviewers USING btree ("workflowReviewRequestId", "userId") |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.user" : "FOREIGN KEY (#quot;userId#quot;) REFERENCES #quot;user#quot;(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_reviewers" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
|
||||
"public.workflow_review_request_reviewers" {
|
||||
uuid userId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
}
|
||||
"public.user" {
|
||||
timestamp_3__with_time_zone createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
uuid id
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
text mfaRecoveryCodes
|
||||
text mfaSecret
|
||||
varchar_255_ password
|
||||
json personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
json settings
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
# public.workflow_review_request_workflow
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| id | varchar(36) | | false | | | |
|
||||
| workflowId | varchar(36) | | false | | [public.workflow_entity](public.workflow_entity.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [public.workflow_review_request](public.workflow_review_request.md) | |
|
||||
| workflowVersionId | varchar(36) | | true | | [public.workflow_history](public.workflow_history.md) | Pinned workflow_history version for this review item |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| FK_0f6f0f2c6d46b806fee02962ac2 | FOREIGN KEY | FOREIGN KEY ("workflowVersionId") REFERENCES workflow_history("versionId") ON DELETE SET NULL |
|
||||
| FK_619f5b0544bcec60c3387e82f2f | FOREIGN KEY | FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE |
|
||||
| FK_e44b652e6dc99ef1364a2d85504 | FOREIGN KEY | FOREIGN KEY ("workflowReviewRequestId") REFERENCES workflow_review_request(id) ON DELETE CASCADE |
|
||||
| PK_be3bf4facb054cf2b2b116b3b9c | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| workflow_review_request_workfl_workflowReviewRequestId_not_null | n | NOT NULL "workflowReviewRequestId" |
|
||||
| workflow_review_request_workflow_id_not_null | n | NOT NULL id |
|
||||
| workflow_review_request_workflow_workflowId_not_null | n | NOT NULL "workflowId" |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_workflow_workflow_request | CREATE INDEX "IDX_workflow_review_request_workflow_workflow_request" ON public.workflow_review_request_workflow USING btree ("workflowId", "workflowReviewRequestId") |
|
||||
| PK_be3bf4facb054cf2b2b116b3b9c | CREATE UNIQUE INDEX "PK_be3bf4facb054cf2b2b116b3b9c" ON public.workflow_review_request_workflow USING btree (id) |
|
||||
| UQ_workflow_review_request_workflow_request_workflow | CREATE UNIQUE INDEX "UQ_workflow_review_request_workflow_request_workflow" ON public.workflow_review_request_workflow USING btree ("workflowReviewRequestId", "workflowId") |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_entity" : "FOREIGN KEY (#quot;workflowId#quot;) REFERENCES workflow_entity(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_workflow" }o--|| "public.workflow_review_request" : "FOREIGN KEY (#quot;workflowReviewRequestId#quot;) REFERENCES workflow_review_request(id) ON DELETE CASCADE"
|
||||
"public.workflow_review_request_workflow" }o--o| "public.workflow_history" : "FOREIGN KEY (#quot;workflowVersionId#quot;) REFERENCES workflow_history(#quot;versionId#quot;) ON DELETE SET NULL"
|
||||
|
||||
"public.workflow_review_request_workflow" {
|
||||
varchar_36_ id
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"public.workflow_entity" {
|
||||
boolean active
|
||||
varchar_36_ activeVersionId FK
|
||||
json connections
|
||||
timestamp_3__with_time_zone createdAt
|
||||
text description
|
||||
varchar_36_ id
|
||||
boolean isArchived
|
||||
json meta
|
||||
varchar_128_ name
|
||||
json nodeGroups
|
||||
json nodes
|
||||
varchar_36_ parentFolderId FK
|
||||
json pinData
|
||||
json settings
|
||||
varchar sourceWorkflowId
|
||||
json staticData
|
||||
integer triggerCount
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
integer versionCounter
|
||||
character_36_ versionId
|
||||
}
|
||||
"public.workflow_review_request" {
|
||||
timestamp_3__with_time_zone approvedAt
|
||||
uuid closedById FK
|
||||
timestamp_3__with_time_zone createdAt
|
||||
uuid createdById FK
|
||||
varchar_50_ decision
|
||||
text description
|
||||
varchar_36_ id
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
uuid updatedById FK
|
||||
}
|
||||
"public.workflow_history" {
|
||||
varchar_255_ authors
|
||||
boolean autosaved
|
||||
json connections
|
||||
timestamp_3__with_time_zone createdAt
|
||||
text description
|
||||
varchar_128_ name
|
||||
json nodeGroups
|
||||
json nodes
|
||||
timestamp_3__with_time_zone updatedAt
|
||||
varchar_36_ versionId
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -10,14 +10,18 @@ Auto-generated from the SQLite migrations in @n8n/db. Do not edit by hand.
|
|||
| ---- | ------- | ------- | ---- |
|
||||
| [agent_chat_subscriptions](agent_chat_subscriptions.md) | 6 | | table |
|
||||
| [agent_checkpoints](agent_checkpoints.md) | 6 | | table |
|
||||
| [agent_execution](agent_execution.md) | 18 | | table |
|
||||
| [agent_eval_dataset](agent_eval_dataset.md) | 10 | | table |
|
||||
| [agent_eval_rating](agent_eval_rating.md) | 8 | | table |
|
||||
| [agent_eval_result](agent_eval_result.md) | 15 | | table |
|
||||
| [agent_eval_run](agent_eval_run.md) | 14 | | table |
|
||||
| [agent_execution](agent_execution.md) | 19 | | table |
|
||||
| [agent_execution_threads](agent_execution_threads.md) | 17 | | table |
|
||||
| [agent_files](agent_files.md) | 8 | | table |
|
||||
| [agent_history](agent_history.md) | 9 | | table |
|
||||
| [agent_task_definition](agent_task_definition.md) | 7 | | table |
|
||||
| [agent_task_run_lock](agent_task_run_lock.md) | 6 | | table |
|
||||
| [agent_task_snapshot](agent_task_snapshot.md) | 8 | | table |
|
||||
| [agents](agents.md) | 11 | | table |
|
||||
| [agents](agents.md) | 12 | | table |
|
||||
| [agents_memory_entries](agents_memory_entries.md) | 13 | | table |
|
||||
| [agents_memory_entry_cursors](agents_memory_entry_cursors.md) | 6 | | table |
|
||||
| [agents_memory_entry_locks](agents_memory_entry_locks.md) | 6 | | table |
|
||||
|
|
@ -40,7 +44,7 @@ Auto-generated from the SQLite migrations in @n8n/db. Do not edit by hand.
|
|||
| [chat_hub_sessions](chat_hub_sessions.md) | 13 | | table |
|
||||
| [chat_hub_tools](chat_hub_tools.md) | 9 | | table |
|
||||
| [credential_dependency](credential_dependency.md) | 5 | | table |
|
||||
| [credentials_entity](credentials_entity.md) | 11 | | table |
|
||||
| [credentials_entity](credentials_entity.md) | 12 | | table |
|
||||
| [data_table](data_table.md) | 5 | | table |
|
||||
| [data_table_column](data_table_column.md) | 7 | | table |
|
||||
| [deployment_key](deployment_key.md) | 7 | | table |
|
||||
|
|
@ -77,6 +81,7 @@ Auto-generated from the SQLite migrations in @n8n/db. Do not edit by hand.
|
|||
| [instance_ai_thread_grants](instance_ai_thread_grants.md) | 5 | | table |
|
||||
| [instance_ai_threads](instance_ai_threads.md) | 7 | | table |
|
||||
| [instance_ai_workflow_snapshots](instance_ai_workflow_snapshots.md) | 7 | | table |
|
||||
| [instance_credential_assignment](instance_credential_assignment.md) | 4 | | table |
|
||||
| [instance_version_history](instance_version_history.md) | 5 | | table |
|
||||
| [invalid_auth_token](invalid_auth_token.md) | 2 | | table |
|
||||
| [mcp_registry_server](mcp_registry_server.md) | 7 | | table |
|
||||
|
|
@ -119,6 +124,10 @@ Auto-generated from the SQLite migrations in @n8n/db. Do not edit by hand.
|
|||
| [workflow_publication_trigger_status](workflow_publication_trigger_status.md) | 8 | | table |
|
||||
| [workflow_publish_history](workflow_publish_history.md) | 6 | | table |
|
||||
| [workflow_published_version](workflow_published_version.md) | 4 | | table |
|
||||
| [workflow_review_request](workflow_review_request.md) | 12 | | table |
|
||||
| [workflow_review_request_authors](workflow_review_request_authors.md) | 2 | | table |
|
||||
| [workflow_review_request_reviewers](workflow_review_request_reviewers.md) | 2 | | table |
|
||||
| [workflow_review_request_workflow](workflow_review_request_workflow.md) | 4 | | table |
|
||||
| [workflow_statistics](workflow_statistics.md) | 7 | | table |
|
||||
| [workflows_tags](workflows_tags.md) | 2 | | table |
|
||||
|
||||
|
|
@ -129,6 +138,13 @@ erDiagram
|
|||
|
||||
"agent_chat_subscriptions" |o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_checkpoints" }o--o| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_dataset" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_dataset" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_rating" }o--o| "user" : "FOREIGN KEY (ratedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_rating" }o--|| "agent_eval_result" : "FOREIGN KEY (resultId) REFERENCES agent_eval_result (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_result" }o--|| "agent_eval_run" : "FOREIGN KEY (runId) REFERENCES agent_eval_run (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_run" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_run" }o--|| "agent_eval_dataset" : "FOREIGN KEY (datasetId) REFERENCES agent_eval_dataset (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_execution" }o--|| "agent_execution_threads" : "FOREIGN KEY (threadId) REFERENCES agent_execution_threads (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_execution_threads" }o--o| "agent_history" : "FOREIGN KEY (taskVersionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_execution_threads" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
|
@ -139,8 +155,8 @@ erDiagram
|
|||
"agent_task_definition" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_task_run_lock" |o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_task_snapshot" |o--|| "agent_history" : "FOREIGN KEY (versionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agents" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agents" }o--o| "agent_history" : "FOREIGN KEY (activeVersionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agents" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agents_memory_entries" }o--o| "agents_memory_entries" : "FOREIGN KEY (supersededBy) REFERENCES agents_memory_entries (id) ON UPDATE NO ACTION ON DELETE NO ACTION MATCH NONE"
|
||||
"agents_memory_entries" }o--|| "agents_resources" : "FOREIGN KEY (resourceId) REFERENCES agents_resources (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agents_memory_entries" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
|
@ -230,6 +246,7 @@ erDiagram
|
|||
"instance_ai_thread_grants" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"instance_ai_thread_grants" |o--|| "instance_ai_threads" : "FOREIGN KEY (threadId) REFERENCES instance_ai_threads (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"instance_ai_threads" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"instance_credential_assignment" }o--|| "credentials_entity" : "FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
"oauth_access_tokens" }o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"oauth_access_tokens" }o--|| "oauth_clients" : "FOREIGN KEY (clientId) REFERENCES oauth_clients (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"oauth_authorization_codes" }o--|| "oauth_clients" : "FOREIGN KEY (clientId) REFERENCES oauth_clients (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
|
@ -284,6 +301,17 @@ erDiagram
|
|||
"workflow_published_version" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
"workflow_published_version" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_published_version" }o--|| "workflow_history" : "FOREIGN KEY (publishedVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (closedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (updatedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_authors" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_authors" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_reviewers" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_reviewers" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--o| "workflow_history" : "FOREIGN KEY (workflowVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflows_tags" |o--|| "tag_entity" : "FOREIGN KEY (tagId) REFERENCES tag_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflows_tags" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
|
|
@ -303,6 +331,61 @@ erDiagram
|
|||
TEXT state
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
TEXT columnMapping
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
TEXT datasetRef
|
||||
varchar_32_ datasetSource
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_128_ name
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_rating" {
|
||||
TEXT comment
|
||||
TEXT correction
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
varchar ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
datetime_3_ updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"agent_eval_result" {
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT input
|
||||
TEXT metrics
|
||||
TEXT output
|
||||
datetime_3_ runAt
|
||||
varchar_36_ runId FK
|
||||
INTEGER runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
TEXT toolCalls
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT metrics
|
||||
datetime_3_ runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_execution" {
|
||||
INTEGER completionTokens
|
||||
REAL cost
|
||||
|
|
@ -317,6 +400,7 @@ erDiagram
|
|||
datetime_3_ startedAt
|
||||
varchar_16_ status
|
||||
datetime_3_ stoppedAt
|
||||
VARCHAR_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
TEXT timeline
|
||||
INTEGER totalTokens
|
||||
|
|
@ -392,6 +476,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
@ -629,6 +714,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"data_table" {
|
||||
datetime_3_ createdAt
|
||||
|
|
@ -970,6 +1056,12 @@ erDiagram
|
|||
datetime_3_ updatedAt
|
||||
varchar_255_ workflowName PK
|
||||
}
|
||||
"instance_credential_assignment" {
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId PK
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"instance_version_history" {
|
||||
datetime_3_ createdAt
|
||||
INTEGER id
|
||||
|
|
@ -1370,6 +1462,34 @@ erDiagram
|
|||
datetime_3_ updatedAt
|
||||
varchar_36_ workflowId PK
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
"workflow_review_request_authors" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"workflow_review_request_reviewers" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"workflow_review_request_workflow" {
|
||||
varchar_36_ id PK
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"workflow_statistics" {
|
||||
INTEGER count
|
||||
INTEGER id
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
118
docs/generated/sqlite-schema/agent_eval_dataset.md
Normal file
118
docs/generated/sqlite-schema/agent_eval_dataset.md
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
# agent_eval_dataset
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agent_eval_dataset" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "description" text, "agentId" varchar(36) NOT NULL, "datasetSource" varchar(32) NOT NULL, "datasetRef" text NOT NULL, "columnMapping" text, "createdById" varchar, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_eval_dataset_datasetSource" CHECK ("datasetSource" IN ('data_table', 'google_sheets')), CONSTRAINT "FK_9d3a6fd750f7746de453cf4d5ed" FOREIGN KEY ("agentId") REFERENCES "agents" ("id") ON DELETE CASCADE, CONSTRAINT "FK_eda9e5fa5558d3f16bc2f6c21b6" FOREIGN KEY ("createdById") REFERENCES "user" ("id") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| agentId | varchar(36) | | false | | [agents](agents.md) | |
|
||||
| columnMapping | TEXT | | true | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| createdById | varchar | | true | | [user](user.md) | |
|
||||
| datasetRef | TEXT | | false | | | |
|
||||
| datasetSource | varchar(32) | | false | | | |
|
||||
| description | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [agent_eval_run](agent_eval_run.md) | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("datasetSource" IN ('data_table', 'google_sheets')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_agent_eval_dataset_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9d3a6fd750f7746de453cf4d5e | CREATE INDEX "IDX_9d3a6fd750f7746de453cf4d5e" ON "agent_eval_dataset" ("agentId") |
|
||||
| sqlite_autoindex_agent_eval_dataset_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"agent_eval_dataset" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_dataset" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_run" }o--|| "agent_eval_dataset" : "FOREIGN KEY (datasetId) REFERENCES agent_eval_dataset (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
TEXT columnMapping
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
TEXT datasetRef
|
||||
varchar_32_ datasetSource
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_128_ name
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
varchar_128_ name
|
||||
varchar_255_ projectId FK
|
||||
TEXT schema
|
||||
TEXT skills
|
||||
TEXT tools
|
||||
datetime_3_ updatedAt
|
||||
varchar_36_ versionId
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT metrics
|
||||
datetime_3_ runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
100
docs/generated/sqlite-schema/agent_eval_rating.md
Normal file
100
docs/generated/sqlite-schema/agent_eval_rating.md
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# agent_eval_rating
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agent_eval_rating" ("id" varchar(36) PRIMARY KEY NOT NULL, "resultId" varchar(36) NOT NULL, "vote" varchar(8) NOT NULL, "comment" text, "correction" text, "ratedById" varchar, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_eval_rating_vote" CHECK ("vote" IN ('up', 'down')), CONSTRAINT "FK_9cadae6591c64498f1b58a2cef3" FOREIGN KEY ("resultId") REFERENCES "agent_eval_result" ("id") ON DELETE CASCADE, CONSTRAINT "FK_e06a7408573a3e152e673977d2c" FOREIGN KEY ("ratedById") REFERENCES "user" ("id") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| comment | TEXT | | true | | | |
|
||||
| correction | TEXT | | true | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| id | varchar(36) | | false | | | |
|
||||
| ratedById | varchar | | true | | [user](user.md) | |
|
||||
| resultId | varchar(36) | | false | | [agent_eval_result](agent_eval_result.md) | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| vote | varchar(8) | | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("vote" IN ('up', 'down')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (ratedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (resultId) REFERENCES agent_eval_result (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_agent_eval_rating_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9cadae6591c64498f1b58a2cef | CREATE INDEX "IDX_9cadae6591c64498f1b58a2cef" ON "agent_eval_rating" ("resultId") |
|
||||
| sqlite_autoindex_agent_eval_rating_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"agent_eval_rating" }o--o| "user" : "FOREIGN KEY (ratedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_rating" }o--|| "agent_eval_result" : "FOREIGN KEY (resultId) REFERENCES agent_eval_result (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"agent_eval_rating" {
|
||||
TEXT comment
|
||||
TEXT correction
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
varchar ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
datetime_3_ updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_result" {
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT input
|
||||
TEXT metrics
|
||||
TEXT output
|
||||
datetime_3_ runAt
|
||||
varchar_36_ runId FK
|
||||
INTEGER runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
TEXT toolCalls
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
105
docs/generated/sqlite-schema/agent_eval_result.md
Normal file
105
docs/generated/sqlite-schema/agent_eval_result.md
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
# agent_eval_result
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agent_eval_result" ("id" varchar(36) PRIMARY KEY NOT NULL, "runId" varchar(36) NOT NULL, "sourceRowId" varchar(255), "runIndex" integer, "status" varchar NOT NULL, "input" text, "output" text, "toolCalls" text, "metrics" text, "runAt" datetime(3), "completedAt" datetime(3), "errorCode" varchar(255), "errorDetails" text, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_eval_result_status" CHECK ("status" IN ('new', 'running', 'success', 'error', 'cancelled')), CONSTRAINT "FK_40a2d1248a6d984f442de2fac1b" FOREIGN KEY ("runId") REFERENCES "agent_eval_run" ("id") ON DELETE CASCADE)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| completedAt | datetime(3) | | true | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| errorCode | varchar(255) | | true | | | |
|
||||
| errorDetails | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [agent_eval_rating](agent_eval_rating.md) | | |
|
||||
| input | TEXT | | true | | | |
|
||||
| metrics | TEXT | | true | | | |
|
||||
| output | TEXT | | true | | | |
|
||||
| runAt | datetime(3) | | true | | | |
|
||||
| runId | varchar(36) | | false | | [agent_eval_run](agent_eval_run.md) | |
|
||||
| runIndex | INTEGER | | true | | | |
|
||||
| sourceRowId | varchar(255) | | true | | | |
|
||||
| status | varchar | | false | | | |
|
||||
| toolCalls | TEXT | | true | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("status" IN ('new', 'running', 'success', 'error', 'cancelled')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (runId) REFERENCES agent_eval_run (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_agent_eval_result_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_40a2d1248a6d984f442de2fac1 | CREATE INDEX "IDX_40a2d1248a6d984f442de2fac1" ON "agent_eval_result" ("runId") |
|
||||
| sqlite_autoindex_agent_eval_result_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"agent_eval_rating" }o--|| "agent_eval_result" : "FOREIGN KEY (resultId) REFERENCES agent_eval_result (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_result" }o--|| "agent_eval_run" : "FOREIGN KEY (runId) REFERENCES agent_eval_run (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"agent_eval_result" {
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT input
|
||||
TEXT metrics
|
||||
TEXT output
|
||||
datetime_3_ runAt
|
||||
varchar_36_ runId FK
|
||||
INTEGER runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
TEXT toolCalls
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_rating" {
|
||||
TEXT comment
|
||||
TEXT correction
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
varchar ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
datetime_3_ updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT metrics
|
||||
datetime_3_ runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
125
docs/generated/sqlite-schema/agent_eval_run.md
Normal file
125
docs/generated/sqlite-schema/agent_eval_run.md
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
# agent_eval_run
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agent_eval_run" ("id" varchar(36) PRIMARY KEY NOT NULL, "datasetId" varchar(36) NOT NULL, "agentVersionId" varchar(36), "status" varchar NOT NULL, "runAt" datetime(3), "completedAt" datetime(3), "metrics" text, "errorCode" varchar(255), "errorDetails" text, "runningInstanceId" varchar(255), "cancelRequested" boolean NOT NULL DEFAULT (false), "createdById" varchar, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_eval_run_status" CHECK ("status" IN ('new', 'running', 'completed', 'error', 'cancelled')), CONSTRAINT "FK_39ca447735d378e365f4227abff" FOREIGN KEY ("datasetId") REFERENCES "agent_eval_dataset" ("id") ON DELETE CASCADE, CONSTRAINT "FK_54ee897f442cc7393a6d6165334" FOREIGN KEY ("createdById") REFERENCES "user" ("id") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| agentVersionId | varchar(36) | | true | | | |
|
||||
| cancelRequested | boolean | false | false | | | |
|
||||
| completedAt | datetime(3) | | true | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| createdById | varchar | | true | | [user](user.md) | |
|
||||
| datasetId | varchar(36) | | false | | [agent_eval_dataset](agent_eval_dataset.md) | |
|
||||
| errorCode | varchar(255) | | true | | | |
|
||||
| errorDetails | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [agent_eval_result](agent_eval_result.md) | | |
|
||||
| metrics | TEXT | | true | | | |
|
||||
| runAt | datetime(3) | | true | | | |
|
||||
| runningInstanceId | varchar(255) | | true | | | |
|
||||
| status | varchar | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("status" IN ('new', 'running', 'completed', 'error', 'cancelled')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (datasetId) REFERENCES agent_eval_dataset (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_agent_eval_run_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_39ca447735d378e365f4227abf | CREATE INDEX "IDX_39ca447735d378e365f4227abf" ON "agent_eval_run" ("datasetId") |
|
||||
| sqlite_autoindex_agent_eval_run_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"agent_eval_run" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_run" }o--|| "agent_eval_dataset" : "FOREIGN KEY (datasetId) REFERENCES agent_eval_dataset (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_result" }o--|| "agent_eval_run" : "FOREIGN KEY (runId) REFERENCES agent_eval_run (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT metrics
|
||||
datetime_3_ runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
TEXT columnMapping
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
TEXT datasetRef
|
||||
varchar_32_ datasetSource
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_128_ name
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_result" {
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT input
|
||||
TEXT metrics
|
||||
TEXT output
|
||||
datetime_3_ runAt
|
||||
varchar_36_ runId FK
|
||||
INTEGER runIndex
|
||||
varchar_255_ sourceRowId
|
||||
varchar status
|
||||
TEXT toolCalls
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agent_execution" ("id" varchar(36) PRIMARY KEY NOT NULL, "threadId" varchar(128) NOT NULL, "status" varchar(16) NOT NULL, "startedAt" datetime(3), "stoppedAt" datetime(3), "duration" integer NOT NULL DEFAULT (0), "userMessage" text, "model" varchar(255), "promptTokens" integer, "completionTokens" integer, "totalTokens" integer, "cost" real, "timeline" text, "error" text, "hitlStatus" varchar(16), "source" varchar(32), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_execution_status" CHECK (((("status" IN ('success', 'error'))))), CONSTRAINT "CHK_agent_execution_hitlStatus" CHECK (((("hitlStatus" IN ('suspended', 'resumed'))))), CONSTRAINT "FK_add2432fb6034cc18b6af299dce" FOREIGN KEY ("threadId") REFERENCES "agent_execution_threads" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)
|
||||
CREATE TABLE "agent_execution" ("id" varchar(36) PRIMARY KEY NOT NULL, "threadId" varchar(128) NOT NULL, "status" varchar(16) NOT NULL, "startedAt" datetime(3), "stoppedAt" datetime(3), "duration" integer NOT NULL DEFAULT (0), "userMessage" text, "model" varchar(255), "promptTokens" integer, "completionTokens" integer, "totalTokens" integer, "cost" real, "timeline" text, "error" text, "hitlStatus" varchar(16), "source" varchar(32), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "storedAt" VARCHAR(2) NOT NULL DEFAULT 'db' CONSTRAINT "CHK_agent_execution_storedAt" CHECK("storedAt" IN ('db', 'fs', 's3', 'az')), CONSTRAINT "CHK_agent_execution_status" CHECK (((("status" IN ('success', 'error'))))), CONSTRAINT "CHK_agent_execution_hitlStatus" CHECK (((("hitlStatus" IN ('suspended', 'resumed'))))), CONSTRAINT "FK_add2432fb6034cc18b6af299dce" FOREIGN KEY ("threadId") REFERENCES "agent_execution_threads" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
|
@ -28,6 +28,7 @@ CREATE TABLE "agent_execution" ("id" varchar(36) PRIMARY KEY NOT NULL, "threadId
|
|||
| startedAt | datetime(3) | | true | | | |
|
||||
| status | varchar(16) | | false | | | |
|
||||
| stoppedAt | datetime(3) | | true | | | |
|
||||
| storedAt | VARCHAR(2) | 'db' | false | | | |
|
||||
| threadId | varchar(128) | | false | | [agent_execution_threads](agent_execution_threads.md) | |
|
||||
| timeline | TEXT | | true | | | |
|
||||
| totalTokens | INTEGER | | true | | | |
|
||||
|
|
@ -38,6 +39,7 @@ CREATE TABLE "agent_execution" ("id" varchar(36) PRIMARY KEY NOT NULL, "threadId
|
|||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK("storedAt" IN ('db', 'fs', 's3', 'az')) |
|
||||
| - | CHECK | CHECK (((("status" IN ('success', 'error'))))) |
|
||||
| - | CHECK | CHECK (((("hitlStatus" IN ('suspended', 'resumed'))))) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (threadId) REFERENCES agent_execution_threads (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
|
|
@ -72,6 +74,7 @@ erDiagram
|
|||
datetime_3_ startedAt
|
||||
varchar_16_ status
|
||||
datetime_3_ stoppedAt
|
||||
VARCHAR_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
TEXT timeline
|
||||
INTEGER totalTokens
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
@ -108,6 +109,7 @@ erDiagram
|
|||
datetime_3_ startedAt
|
||||
varchar_16_ status
|
||||
datetime_3_ stoppedAt
|
||||
VARCHAR_2_ storedAt
|
||||
varchar_128_ threadId FK
|
||||
TEXT timeline
|
||||
INTEGER totalTokens
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "agents" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "projectId" varchar(255) NOT NULL, "integrations" text NOT NULL DEFAULT ('[]'), "schema" text, "tools" text NOT NULL DEFAULT ('{}'), "skills" text NOT NULL DEFAULT ('{}'), "versionId" varchar(36), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "activeVersionId" varchar(36), CONSTRAINT "FK_940597dfe9753375309ce6aeea0" FOREIGN KEY ("activeVersionId") REFERENCES "agent_history" ("versionId") ON DELETE SET NULL ON UPDATE NO ACTION, CONSTRAINT "FK_a30d560207c4071d98aa03c179c" FOREIGN KEY ("projectId") REFERENCES "project" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)
|
||||
CREATE TABLE "agents" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "projectId" varchar(255) NOT NULL, "integrations" text NOT NULL DEFAULT ('[]'), "schema" text, "tools" text NOT NULL DEFAULT ('{}'), "skills" text NOT NULL DEFAULT ('{}'), "versionId" varchar(36), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "activeVersionId" varchar(36), "availableInMCP" boolean NOT NULL DEFAULT (false), CONSTRAINT "FK_a30d560207c4071d98aa03c179c" FOREIGN KEY ("projectId") REFERENCES "project" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_940597dfe9753375309ce6aeea0" FOREIGN KEY ("activeVersionId") REFERENCES "agent_history" ("versionId") ON DELETE SET NULL ON UPDATE NO ACTION)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
|
@ -16,8 +16,9 @@ CREATE TABLE "agents" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128
|
|||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| activeVersionId | varchar(36) | | true | | [agent_history](agent_history.md) | |
|
||||
| availableInMCP | boolean | false | false | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| id | varchar(36) | | false | [agent_chat_subscriptions](agent_chat_subscriptions.md) [agent_checkpoints](agent_checkpoints.md) [agent_execution_threads](agent_execution_threads.md) [agent_files](agent_files.md) [agent_history](agent_history.md) [agent_task_definition](agent_task_definition.md) [agent_task_run_lock](agent_task_run_lock.md) [agents_memory_entries](agents_memory_entries.md) [agents_memory_entry_cursors](agents_memory_entry_cursors.md) [agents_memory_entry_locks](agents_memory_entry_locks.md) [agents_memory_entry_sources](agents_memory_entry_sources.md) [agents_observation_cursors](agents_observation_cursors.md) [agents_observation_locks](agents_observation_locks.md) [agents_observations](agents_observations.md) | | |
|
||||
| id | varchar(36) | | false | [agent_chat_subscriptions](agent_chat_subscriptions.md) [agent_checkpoints](agent_checkpoints.md) [agent_eval_dataset](agent_eval_dataset.md) [agent_execution_threads](agent_execution_threads.md) [agent_files](agent_files.md) [agent_history](agent_history.md) [agent_task_definition](agent_task_definition.md) [agent_task_run_lock](agent_task_run_lock.md) [agents_memory_entries](agents_memory_entries.md) [agents_memory_entry_cursors](agents_memory_entry_cursors.md) [agents_memory_entry_locks](agents_memory_entry_locks.md) [agents_memory_entry_sources](agents_memory_entry_sources.md) [agents_observation_cursors](agents_observation_cursors.md) [agents_observation_locks](agents_observation_locks.md) [agents_observations](agents_observations.md) | | |
|
||||
| integrations | TEXT | '[]' | false | | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
| projectId | varchar(255) | | false | | [project](project.md) | |
|
||||
|
|
@ -31,8 +32,8 @@ CREATE TABLE "agents" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128
|
|||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (activeVersionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (activeVersionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_agents_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
|
|
@ -52,6 +53,7 @@ erDiagram
|
|||
"agents" }o--o| "agent_history" : "FOREIGN KEY (activeVersionId) REFERENCES agent_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_chat_subscriptions" |o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_checkpoints" }o--o| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_eval_dataset" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_execution_threads" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_files" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"agent_history" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
|
@ -68,6 +70,7 @@ erDiagram
|
|||
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
@ -106,6 +109,18 @@ erDiagram
|
|||
TEXT state
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
TEXT columnMapping
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
TEXT datasetRef
|
||||
varchar_32_ datasetSource
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_128_ name
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_execution_threads" {
|
||||
varchar_36_ agentId FK
|
||||
varchar_255_ agentName
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"chat_hub_agent_tools" {
|
||||
varchar agentId PK
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"chat_hub_messages" {
|
||||
varchar_36_ agentId FK
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "credentials_entity" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "data" text NOT NULL, "type" varchar(32) NOT NULL, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "isManaged" boolean NOT NULL DEFAULT (0), "isGlobal" boolean NOT NULL DEFAULT (0), "isResolvable" boolean NOT NULL DEFAULT (false), "resolvableAllowFallback" boolean NOT NULL DEFAULT (false), "resolverId" varchar(16), CONSTRAINT "credentials_entity_resolverId_foreign" FOREIGN KEY ("resolverId") REFERENCES "dynamic_credential_resolver" ("id") ON DELETE SET NULL)
|
||||
CREATE TABLE "credentials_entity" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "data" text NOT NULL, "type" varchar(32) NOT NULL, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "isManaged" boolean NOT NULL DEFAULT (0), "isGlobal" boolean NOT NULL DEFAULT (0), "isResolvable" boolean NOT NULL DEFAULT (false), "resolvableAllowFallback" boolean NOT NULL DEFAULT (false), "resolverId" varchar(16), "usageScope" VARCHAR(16) NOT NULL DEFAULT 'project' CONSTRAINT "CHK_credentials_entity_usageScope" CHECK ("usageScope" IN ('project', 'instance')), CONSTRAINT "credentials_entity_resolverId_foreign" FOREIGN KEY ("resolverId") REFERENCES "dynamic_credential_resolver" ("id") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
|
@ -17,7 +17,7 @@ CREATE TABLE "credentials_entity" ("id" varchar(36) PRIMARY KEY NOT NULL, "name"
|
|||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| data | TEXT | | false | | | |
|
||||
| id | varchar(36) | | false | [chat_hub_agents](chat_hub_agents.md) [chat_hub_sessions](chat_hub_sessions.md) [credential_dependency](credential_dependency.md) [dynamic_credential_entry](dynamic_credential_entry.md) [dynamic_credential_user_entry](dynamic_credential_user_entry.md) [instance_ai_mcp_registry_connections](instance_ai_mcp_registry_connections.md) [shared_credentials](shared_credentials.md) | | |
|
||||
| id | varchar(36) | | false | [chat_hub_agents](chat_hub_agents.md) [chat_hub_sessions](chat_hub_sessions.md) [credential_dependency](credential_dependency.md) [dynamic_credential_entry](dynamic_credential_entry.md) [dynamic_credential_user_entry](dynamic_credential_user_entry.md) [instance_ai_mcp_registry_connections](instance_ai_mcp_registry_connections.md) [instance_credential_assignment](instance_credential_assignment.md) [shared_credentials](shared_credentials.md) | | |
|
||||
| isGlobal | boolean | 0 | false | | | |
|
||||
| isManaged | boolean | 0 | false | | | |
|
||||
| isResolvable | boolean | false | false | | | |
|
||||
|
|
@ -26,11 +26,13 @@ CREATE TABLE "credentials_entity" ("id" varchar(36) PRIMARY KEY NOT NULL, "name"
|
|||
| resolverId | varchar(16) | | true | | [dynamic_credential_resolver](dynamic_credential_resolver.md) | |
|
||||
| type | varchar(32) | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| usageScope | VARCHAR(16) | 'project' | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("usageScope" IN ('project', 'instance')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (resolverId) REFERENCES dynamic_credential_resolver (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_credentials_entity_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
|
@ -54,6 +56,7 @@ erDiagram
|
|||
"dynamic_credential_entry" |o--|| "credentials_entity" : "FOREIGN KEY (credential_id) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"dynamic_credential_user_entry" |o--|| "credentials_entity" : "FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"instance_ai_mcp_registry_connections" }o--|| "credentials_entity" : "FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"instance_credential_assignment" }o--|| "credentials_entity" : "FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
"shared_credentials" |o--|| "credentials_entity" : "FOREIGN KEY (credentialsId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"credentials_entity" }o--o| "dynamic_credential_resolver" : "FOREIGN KEY (resolverId) REFERENCES dynamic_credential_resolver (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
|
||||
|
|
@ -69,6 +72,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"chat_hub_agents" {
|
||||
datetime_3_ createdAt
|
||||
|
|
@ -132,6 +136,12 @@ erDiagram
|
|||
datetime_3_ updatedAt
|
||||
varchar userId FK
|
||||
}
|
||||
"instance_credential_assignment" {
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId PK
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"shared_credentials" {
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ credentialsId PK
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"dynamic_credential_resolver" {
|
||||
TEXT config
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"dynamic_credential_entry" {
|
||||
datetime_3_ createdAt
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"dynamic_credential_resolver" {
|
||||
TEXT config
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"mcp_registry_server" {
|
||||
datetime_3_ createdAt
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
# instance_credential_assignment
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "instance_credential_assignment" ("credentialUseId" varchar(128) PRIMARY KEY NOT NULL, "credentialId" varchar(36) NOT NULL, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "FK_instance_credential_assignment_credential" FOREIGN KEY ("credentialId") REFERENCES "credentials_entity" ("id") ON DELETE RESTRICT)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| credentialId | varchar(36) | | false | | [credentials_entity](credentials_entity.md) | |
|
||||
| credentialUseId | varchar(128) | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE |
|
||||
| credentialUseId | PRIMARY KEY | PRIMARY KEY (credentialUseId) |
|
||||
| sqlite_autoindex_instance_credential_assignment_1 | PRIMARY KEY | PRIMARY KEY (credentialUseId) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_9626b8dc1bee96a86a3ee09d73 | CREATE INDEX "IDX_9626b8dc1bee96a86a3ee09d73" ON "instance_credential_assignment" ("credentialId") |
|
||||
| sqlite_autoindex_instance_credential_assignment_1 | PRIMARY KEY (credentialUseId) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"instance_credential_assignment" }o--|| "credentials_entity" : "FOREIGN KEY (credentialId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
|
||||
"instance_credential_assignment" {
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ credentialId FK
|
||||
varchar_128_ credentialUseId PK
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"credentials_entity" {
|
||||
datetime_3_ createdAt
|
||||
TEXT data
|
||||
varchar_36_ id PK
|
||||
boolean isGlobal
|
||||
boolean isManaged
|
||||
boolean isResolvable
|
||||
varchar_128_ name
|
||||
boolean resolvableAllowFallback
|
||||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -20,7 +20,7 @@ CREATE TABLE "project" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" varchar(25
|
|||
| customTelemetryTags | TEXT | '[]' | false | | | |
|
||||
| description | varchar(512) | | true | | | |
|
||||
| icon | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [agent_execution_threads](agent_execution_threads.md) [agents](agents.md) [data_table](data_table.md) [folder](folder.md) [insights_metadata](insights_metadata.md) [instance_ai_threads](instance_ai_threads.md) [project_relation](project_relation.md) [project_secrets_provider_access](project_secrets_provider_access.md) [role_mapping_rule_project](role_mapping_rule_project.md) [shared_credentials](shared_credentials.md) [shared_workflow](shared_workflow.md) [variables](variables.md) | | |
|
||||
| id | varchar(36) | | false | [agent_execution_threads](agent_execution_threads.md) [agents](agents.md) [data_table](data_table.md) [folder](folder.md) [insights_metadata](insights_metadata.md) [instance_ai_threads](instance_ai_threads.md) [project_relation](project_relation.md) [project_secrets_provider_access](project_secrets_provider_access.md) [role_mapping_rule_project](role_mapping_rule_project.md) [shared_credentials](shared_credentials.md) [shared_workflow](shared_workflow.md) [variables](variables.md) [workflow_review_request](workflow_review_request.md) | | |
|
||||
| name | varchar(255) | | false | | | |
|
||||
| type | varchar(36) | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
|
|
@ -57,6 +57,7 @@ erDiagram
|
|||
"shared_credentials" |o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"shared_workflow" |o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"variables" }o--o| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"project" {
|
||||
datetime_3_ createdAt
|
||||
|
|
@ -107,6 +108,7 @@ erDiagram
|
|||
}
|
||||
"agents" {
|
||||
varchar_36_ activeVersionId FK
|
||||
boolean availableInMCP
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
TEXT integrations
|
||||
|
|
@ -188,6 +190,20 @@ erDiagram
|
|||
TEXT type
|
||||
TEXT value
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ erDiagram
|
|||
varchar_16_ resolverId FK
|
||||
varchar_32_ type
|
||||
datetime_3_ updatedAt
|
||||
VARCHAR_16_ usageScope
|
||||
}
|
||||
"project" {
|
||||
datetime_3_ createdAt
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ CREATE TABLE "user" ("id" varchar PRIMARY KEY, "email" varchar(255), "firstName"
|
|||
| disabled | boolean | FALSE | false | | | |
|
||||
| email | varchar(255) | | true | | | |
|
||||
| firstName | varchar(32) | | true | | | |
|
||||
| id | varchar | | true | [agent_history](agent_history.md) [auth_identity](auth_identity.md) [chat_hub_agents](chat_hub_agents.md) [chat_hub_sessions](chat_hub_sessions.md) [chat_hub_tools](chat_hub_tools.md) [dynamic_credential_user_entry](dynamic_credential_user_entry.md) [evaluation_collection](evaluation_collection.md) [instance_ai_mcp_registry_connections](instance_ai_mcp_registry_connections.md) [instance_ai_pending_confirmations](instance_ai_pending_confirmations.md) [instance_ai_thread_grants](instance_ai_thread_grants.md) [oauth_access_tokens](oauth_access_tokens.md) [oauth_authorization_codes](oauth_authorization_codes.md) [oauth_refresh_tokens](oauth_refresh_tokens.md) [oauth_user_consents](oauth_user_consents.md) [project](project.md) [project_relation](project_relation.md) [user_api_keys](user_api_keys.md) [user_favorites](user_favorites.md) [workflow_builder_session](workflow_builder_session.md) [workflow_publish_history](workflow_publish_history.md) | | |
|
||||
| id | varchar | | true | [agent_eval_dataset](agent_eval_dataset.md) [agent_eval_rating](agent_eval_rating.md) [agent_eval_run](agent_eval_run.md) [agent_history](agent_history.md) [auth_identity](auth_identity.md) [chat_hub_agents](chat_hub_agents.md) [chat_hub_sessions](chat_hub_sessions.md) [chat_hub_tools](chat_hub_tools.md) [dynamic_credential_user_entry](dynamic_credential_user_entry.md) [evaluation_collection](evaluation_collection.md) [instance_ai_mcp_registry_connections](instance_ai_mcp_registry_connections.md) [instance_ai_pending_confirmations](instance_ai_pending_confirmations.md) [instance_ai_thread_grants](instance_ai_thread_grants.md) [oauth_access_tokens](oauth_access_tokens.md) [oauth_authorization_codes](oauth_authorization_codes.md) [oauth_refresh_tokens](oauth_refresh_tokens.md) [oauth_user_consents](oauth_user_consents.md) [project](project.md) [project_relation](project_relation.md) [user_api_keys](user_api_keys.md) [user_favorites](user_favorites.md) [workflow_builder_session](workflow_builder_session.md) [workflow_publish_history](workflow_publish_history.md) [workflow_review_request](workflow_review_request.md) [workflow_review_request_authors](workflow_review_request_authors.md) [workflow_review_request_reviewers](workflow_review_request_reviewers.md) | | |
|
||||
| lastActiveAt | date | | true | | | |
|
||||
| lastName | varchar(32) | | true | | | |
|
||||
| mfaEnabled | boolean | FALSE | false | | | |
|
||||
|
|
@ -53,6 +53,9 @@ CREATE TABLE "user" ("id" varchar PRIMARY KEY, "email" varchar(255), "firstName"
|
|||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"agent_eval_dataset" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_rating" }o--o| "user" : "FOREIGN KEY (ratedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_eval_run" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"agent_history" }o--o| "user" : "FOREIGN KEY (publishedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"auth_identity" }o--o| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE NO ACTION MATCH NONE"
|
||||
"chat_hub_agents" }o--|| "user" : "FOREIGN KEY (ownerId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
|
@ -73,6 +76,11 @@ erDiagram
|
|||
"user_favorites" }o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_builder_session" }o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_publish_history" }o--o| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (closedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (updatedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request_authors" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_reviewers" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"user" }o--|| "role" : "FOREIGN KEY (roleSlug) REFERENCES role (slug) ON UPDATE NO ACTION ON DELETE NO ACTION MATCH NONE"
|
||||
|
||||
"user" {
|
||||
|
|
@ -92,6 +100,44 @@ erDiagram
|
|||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_dataset" {
|
||||
varchar_36_ agentId FK
|
||||
TEXT columnMapping
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
TEXT datasetRef
|
||||
varchar_32_ datasetSource
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_128_ name
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_eval_rating" {
|
||||
TEXT comment
|
||||
TEXT correction
|
||||
datetime_3_ createdAt
|
||||
varchar_36_ id PK
|
||||
varchar ratedById FK
|
||||
varchar_36_ resultId FK
|
||||
datetime_3_ updatedAt
|
||||
varchar_8_ vote
|
||||
}
|
||||
"agent_eval_run" {
|
||||
varchar_36_ agentVersionId
|
||||
boolean cancelRequested
|
||||
datetime_3_ completedAt
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_36_ datasetId FK
|
||||
varchar_255_ errorCode
|
||||
TEXT errorDetails
|
||||
varchar_36_ id PK
|
||||
TEXT metrics
|
||||
datetime_3_ runAt
|
||||
varchar_255_ runningInstanceId
|
||||
varchar status
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"agent_history" {
|
||||
varchar_36_ agentId FK
|
||||
varchar_255_ author
|
||||
|
|
@ -290,6 +336,28 @@ erDiagram
|
|||
varchar_36_ versionId FK
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
"workflow_review_request_authors" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"workflow_review_request_reviewers" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"role" {
|
||||
datetime_3_ createdAt
|
||||
TEXT description
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ CREATE TABLE "workflow_entity" ("id" varchar(36) PRIMARY KEY NOT NULL, "name" va
|
|||
| connections | TEXT | | true | | | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| description | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [ai_builder_temporary_workflow](ai_builder_temporary_workflow.md) [chat_hub_messages](chat_hub_messages.md) [chat_hub_sessions](chat_hub_sessions.md) [evaluation_collection](evaluation_collection.md) [evaluation_config](evaluation_config.md) [execution_entity](execution_entity.md) [insights_metadata](insights_metadata.md) [processed_data](processed_data.md) [shared_workflow](shared_workflow.md) [test_run](test_run.md) [workflow_builder_session](workflow_builder_session.md) [workflow_dependency](workflow_dependency.md) [workflow_history](workflow_history.md) [workflow_publication_trigger_status](workflow_publication_trigger_status.md) [workflow_publish_history](workflow_publish_history.md) [workflow_published_version](workflow_published_version.md) [workflows_tags](workflows_tags.md) | | |
|
||||
| id | varchar(36) | | false | [ai_builder_temporary_workflow](ai_builder_temporary_workflow.md) [chat_hub_messages](chat_hub_messages.md) [chat_hub_sessions](chat_hub_sessions.md) [evaluation_collection](evaluation_collection.md) [evaluation_config](evaluation_config.md) [execution_entity](execution_entity.md) [insights_metadata](insights_metadata.md) [processed_data](processed_data.md) [shared_workflow](shared_workflow.md) [test_run](test_run.md) [workflow_builder_session](workflow_builder_session.md) [workflow_dependency](workflow_dependency.md) [workflow_history](workflow_history.md) [workflow_publication_trigger_status](workflow_publication_trigger_status.md) [workflow_publish_history](workflow_publish_history.md) [workflow_published_version](workflow_published_version.md) [workflow_review_request_workflow](workflow_review_request_workflow.md) [workflows_tags](workflows_tags.md) | | |
|
||||
| isArchived | boolean | FALSE | false | | | |
|
||||
| meta | TEXT | | true | | | |
|
||||
| name | varchar(128) | | false | | | |
|
||||
|
|
@ -82,6 +82,7 @@ erDiagram
|
|||
"workflow_publish_history" }o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_published_version" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
"workflow_published_version" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflows_tags" |o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_entity" }o--o| "folder" : "FOREIGN KEY (parentFolderId) REFERENCES folder (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
|
|
@ -291,6 +292,12 @@ erDiagram
|
|||
datetime_3_ updatedAt
|
||||
varchar_36_ workflowId PK
|
||||
}
|
||||
"workflow_review_request_workflow" {
|
||||
varchar_36_ id PK
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"workflows_tags" {
|
||||
INTEGER tagId PK
|
||||
varchar_36_ workflowId PK
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ CREATE TABLE "workflow_history" ("versionId" varchar(36) PRIMARY KEY NOT NULL, "
|
|||
| nodeGroups | TEXT | '[]' | false | | | |
|
||||
| nodes | TEXT | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| versionId | varchar(36) | | false | [workflow_entity](workflow_entity.md) [workflow_publication_trigger_status](workflow_publication_trigger_status.md) [workflow_publish_history](workflow_publish_history.md) [workflow_published_version](workflow_published_version.md) | | |
|
||||
| versionId | varchar(36) | | false | [workflow_entity](workflow_entity.md) [workflow_publication_trigger_status](workflow_publication_trigger_status.md) [workflow_publish_history](workflow_publish_history.md) [workflow_published_version](workflow_published_version.md) [workflow_review_request_workflow](workflow_review_request_workflow.md) | | |
|
||||
| workflowId | varchar(36) | | false | | [workflow_entity](workflow_entity.md) | |
|
||||
|
||||
## Constraints
|
||||
|
|
@ -53,6 +53,7 @@ erDiagram
|
|||
"workflow_publish_history" }o--o| "workflow_history" : "FOREIGN KEY (versionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_published_version" }o--|| "workflow_history" : "FOREIGN KEY (publishedVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE RESTRICT MATCH NONE"
|
||||
"workflow_published_version" }o--|| "workflow_history" : "FOREIGN KEY (publishedVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--o| "workflow_history" : "FOREIGN KEY (workflowVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_history" }o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"workflow_history" {
|
||||
|
|
@ -114,6 +115,12 @@ erDiagram
|
|||
datetime_3_ updatedAt
|
||||
varchar_36_ workflowId PK
|
||||
}
|
||||
"workflow_review_request_workflow" {
|
||||
varchar_36_ id PK
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
124
docs/generated/sqlite-schema/workflow_review_request.md
Normal file
124
docs/generated/sqlite-schema/workflow_review_request.md
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# workflow_review_request
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "workflow_review_request" ("id" varchar(36) PRIMARY KEY NOT NULL, "projectId" varchar(36) NOT NULL, "state" varchar(16) NOT NULL DEFAULT ('open'), "decision" varchar(50) NOT NULL DEFAULT ('pending'), "title" varchar(255) NOT NULL, "description" text, "createdById" varchar, "updatedById" varchar, "closedById" varchar, "approvedAt" datetime(3), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_workflow_review_request_state" CHECK ("state" IN ('open', 'closed')), CONSTRAINT "CHK_workflow_review_request_decision" CHECK ("decision" IN ('pending', 'changes_requested', 'approved')), CONSTRAINT "FK_c218d1df94adc3b169dee3cc06c" FOREIGN KEY ("projectId") REFERENCES "project" ("id") ON DELETE CASCADE, CONSTRAINT "FK_21d5f5a831d2e38960030bb4f60" FOREIGN KEY ("createdById") REFERENCES "user" ("id") ON DELETE SET NULL, CONSTRAINT "FK_2817c3a0245197b498818c447cb" FOREIGN KEY ("updatedById") REFERENCES "user" ("id") ON DELETE SET NULL, CONSTRAINT "FK_d53ef208e6055f328dd7b897e51" FOREIGN KEY ("closedById") REFERENCES "user" ("id") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| approvedAt | datetime(3) | | true | | | |
|
||||
| closedById | varchar | | true | | [user](user.md) | |
|
||||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| createdById | varchar | | true | | [user](user.md) | |
|
||||
| decision | varchar(50) | 'pending' | false | | | |
|
||||
| description | TEXT | | true | | | |
|
||||
| id | varchar(36) | | false | [workflow_review_request_authors](workflow_review_request_authors.md) [workflow_review_request_reviewers](workflow_review_request_reviewers.md) [workflow_review_request_workflow](workflow_review_request_workflow.md) | | |
|
||||
| projectId | varchar(36) | | false | | [project](project.md) | |
|
||||
| state | varchar(16) | 'open' | false | | | |
|
||||
| title | varchar(255) | | false | | | |
|
||||
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
||||
| updatedById | varchar | | true | | [user](user.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - | CHECK | CHECK ("state" IN ('open', 'closed')) |
|
||||
| - | CHECK | CHECK ("decision" IN ('pending', 'changes_requested', 'approved')) |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (closedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (updatedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 2) | FOREIGN KEY | FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 3) | FOREIGN KEY | FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_workflow_review_request_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_project_state | CREATE INDEX "IDX_workflow_review_request_project_state"<br /> ON "workflow_review_request"("projectId", "state") |
|
||||
| sqlite_autoindex_workflow_review_request_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (closedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (createdById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
"workflow_review_request_authors" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_reviewers" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request" }o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request" }o--o| "user" : "FOREIGN KEY (updatedById) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"workflow_review_request_authors" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"workflow_review_request_reviewers" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"workflow_review_request_workflow" {
|
||||
varchar_36_ id PK
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"project" {
|
||||
datetime_3_ createdAt
|
||||
varchar creatorId FK
|
||||
TEXT customTelemetryTags
|
||||
varchar_512_ description
|
||||
TEXT icon
|
||||
varchar_36_ id PK
|
||||
varchar_255_ name
|
||||
varchar_36_ type
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
# workflow_review_request_authors
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "workflow_review_request_authors" ("workflowReviewRequestId" varchar(36) NOT NULL, "userId" varchar NOT NULL, CONSTRAINT "FK_c255ae5087010c1ab73ac8684af" FOREIGN KEY ("workflowReviewRequestId") REFERENCES "workflow_review_request" ("id") ON DELETE CASCADE, CONSTRAINT "FK_a9c79ab0c352aa0496c39ea56a4" FOREIGN KEY ("userId") REFERENCES "user" ("id") ON DELETE CASCADE, PRIMARY KEY ("workflowReviewRequestId", "userId"))
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| userId | varchar | | false | | [user](user.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [workflow_review_request](workflow_review_request.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| sqlite_autoindex_workflow_review_request_authors_1 | PRIMARY KEY | PRIMARY KEY (workflowReviewRequestId, userId) |
|
||||
| userId | PRIMARY KEY | PRIMARY KEY (userId) |
|
||||
| workflowReviewRequestId | PRIMARY KEY | PRIMARY KEY (workflowReviewRequestId) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| sqlite_autoindex_workflow_review_request_authors_1 | PRIMARY KEY (workflowReviewRequestId, userId) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"workflow_review_request_authors" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_authors" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"workflow_review_request_authors" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
# workflow_review_request_reviewers
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "workflow_review_request_reviewers" ("workflowReviewRequestId" varchar(36) NOT NULL, "userId" varchar NOT NULL, CONSTRAINT "FK_ba29e1cc5cdba43ce7b810b3ddd" FOREIGN KEY ("workflowReviewRequestId") REFERENCES "workflow_review_request" ("id") ON DELETE CASCADE, CONSTRAINT "FK_81d0a2584aa4e8e5e0d6aa68f32" FOREIGN KEY ("userId") REFERENCES "user" ("id") ON DELETE CASCADE, PRIMARY KEY ("workflowReviewRequestId", "userId"))
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| userId | varchar | | false | | [user](user.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [workflow_review_request](workflow_review_request.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| sqlite_autoindex_workflow_review_request_reviewers_1 | PRIMARY KEY | PRIMARY KEY (workflowReviewRequestId, userId) |
|
||||
| userId | PRIMARY KEY | PRIMARY KEY (userId) |
|
||||
| workflowReviewRequestId | PRIMARY KEY | PRIMARY KEY (workflowReviewRequestId) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_reviewers_user | CREATE INDEX "IDX_workflow_review_request_reviewers_user"<br /> ON "workflow_review_request_reviewers"("userId", "workflowReviewRequestId") |
|
||||
| sqlite_autoindex_workflow_review_request_reviewers_1 | PRIMARY KEY (workflowReviewRequestId, userId) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"workflow_review_request_reviewers" |o--|| "user" : "FOREIGN KEY (userId) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_reviewers" |o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
|
||||
"workflow_review_request_reviewers" {
|
||||
varchar userId PK
|
||||
varchar_36_ workflowReviewRequestId PK
|
||||
}
|
||||
"user" {
|
||||
datetime_3_ createdAt
|
||||
boolean disabled
|
||||
varchar_255_ email
|
||||
varchar_32_ firstName
|
||||
varchar id PK
|
||||
date lastActiveAt
|
||||
varchar_32_ lastName
|
||||
boolean mfaEnabled
|
||||
TEXT mfaRecoveryCodes
|
||||
TEXT mfaSecret
|
||||
varchar password
|
||||
TEXT personalizationAnswers
|
||||
varchar_128_ roleSlug FK
|
||||
TEXT settings
|
||||
datetime_3_ updatedAt
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
109
docs/generated/sqlite-schema/workflow_review_request_workflow.md
Normal file
109
docs/generated/sqlite-schema/workflow_review_request_workflow.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
# workflow_review_request_workflow
|
||||
|
||||
## Description
|
||||
|
||||
<details>
|
||||
<summary><strong>Table Definition</strong></summary>
|
||||
|
||||
```sql
|
||||
CREATE TABLE "workflow_review_request_workflow" ("id" varchar(36) PRIMARY KEY NOT NULL, "workflowReviewRequestId" varchar(36) NOT NULL, "workflowId" varchar(36) NOT NULL, "workflowVersionId" varchar(36), CONSTRAINT "FK_e44b652e6dc99ef1364a2d85504" FOREIGN KEY ("workflowReviewRequestId") REFERENCES "workflow_review_request" ("id") ON DELETE CASCADE, CONSTRAINT "FK_619f5b0544bcec60c3387e82f2f" FOREIGN KEY ("workflowId") REFERENCES "workflow_entity" ("id") ON DELETE CASCADE, CONSTRAINT "FK_0f6f0f2c6d46b806fee02962ac2" FOREIGN KEY ("workflowVersionId") REFERENCES "workflow_history" ("versionId") ON DELETE SET NULL)
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Columns
|
||||
|
||||
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
||||
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
||||
| id | varchar(36) | | false | | | |
|
||||
| workflowId | varchar(36) | | false | | [workflow_entity](workflow_entity.md) | |
|
||||
| workflowReviewRequestId | varchar(36) | | false | | [workflow_review_request](workflow_review_request.md) | |
|
||||
| workflowVersionId | varchar(36) | | true | | [workflow_history](workflow_history.md) | |
|
||||
|
||||
## Constraints
|
||||
|
||||
| Name | Type | Definition |
|
||||
| ---- | ---- | ---------- |
|
||||
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (workflowVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
||||
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| - (Foreign key ID: 2) | FOREIGN KEY | FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
||||
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
| sqlite_autoindex_workflow_review_request_workflow_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
||||
|
||||
## Indexes
|
||||
|
||||
| Name | Definition |
|
||||
| ---- | ---------- |
|
||||
| IDX_workflow_review_request_workflow_workflow_request | CREATE INDEX "IDX_workflow_review_request_workflow_workflow_request"<br /> ON "workflow_review_request_workflow"("workflowId", "workflowReviewRequestId") |
|
||||
| UQ_workflow_review_request_workflow_request_workflow | CREATE UNIQUE INDEX "UQ_workflow_review_request_workflow_request_workflow"<br /> ON "workflow_review_request_workflow"("workflowReviewRequestId", "workflowId") |
|
||||
| sqlite_autoindex_workflow_review_request_workflow_1 | PRIMARY KEY (id) |
|
||||
|
||||
## Relations
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
"workflow_review_request_workflow" }o--|| "workflow_entity" : "FOREIGN KEY (workflowId) REFERENCES workflow_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--|| "workflow_review_request" : "FOREIGN KEY (workflowReviewRequestId) REFERENCES workflow_review_request (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
||||
"workflow_review_request_workflow" }o--o| "workflow_history" : "FOREIGN KEY (workflowVersionId) REFERENCES workflow_history (versionId) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
|
||||
|
||||
"workflow_review_request_workflow" {
|
||||
varchar_36_ id PK
|
||||
varchar_36_ workflowId FK
|
||||
varchar_36_ workflowReviewRequestId FK
|
||||
varchar_36_ workflowVersionId FK
|
||||
}
|
||||
"workflow_entity" {
|
||||
boolean active
|
||||
varchar_36_ activeVersionId FK
|
||||
TEXT connections
|
||||
datetime_3_ createdAt
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
boolean isArchived
|
||||
TEXT meta
|
||||
varchar_128_ name
|
||||
TEXT nodeGroups
|
||||
TEXT nodes
|
||||
varchar_36_ parentFolderId FK
|
||||
TEXT pinData
|
||||
TEXT settings
|
||||
varchar sourceWorkflowId
|
||||
TEXT staticData
|
||||
INTEGER triggerCount
|
||||
datetime_3_ updatedAt
|
||||
INTEGER versionCounter
|
||||
varchar_36_ versionId
|
||||
}
|
||||
"workflow_review_request" {
|
||||
datetime_3_ approvedAt
|
||||
varchar closedById FK
|
||||
datetime_3_ createdAt
|
||||
varchar createdById FK
|
||||
varchar_50_ decision
|
||||
TEXT description
|
||||
varchar_36_ id PK
|
||||
varchar_36_ projectId FK
|
||||
varchar_16_ state
|
||||
varchar_255_ title
|
||||
datetime_3_ updatedAt
|
||||
varchar updatedById FK
|
||||
}
|
||||
"workflow_history" {
|
||||
varchar_255_ authors
|
||||
boolean autosaved
|
||||
TEXT connections
|
||||
datetime_3_ createdAt
|
||||
TEXT description
|
||||
varchar_128_ name
|
||||
TEXT nodeGroups
|
||||
TEXT nodes
|
||||
datetime_3_ updatedAt
|
||||
varchar_36_ versionId PK
|
||||
varchar_36_ workflowId FK
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
||||
|
|
@ -32,6 +32,12 @@ pre-commit:
|
|||
skip:
|
||||
- merge
|
||||
- rebase
|
||||
workspace_private_deps_check:
|
||||
glob: '**/package.json'
|
||||
run: node scripts/check-workspace-private-deps.mjs
|
||||
skip:
|
||||
- merge
|
||||
- rebase
|
||||
zod_peer_deps_check:
|
||||
glob: 'packages/{@n8n/api-types,workflow,core,@n8n/agents}/package.json'
|
||||
run: node scripts/check-zod-peer-deps.mjs
|
||||
|
|
|
|||
24
package.json
24
package.json
|
|
@ -21,11 +21,11 @@
|
|||
"build:docker:clean": "TURBO_FORCE=true node scripts/build-n8n.mjs && DOCKER_BUILD_NO_CACHE=true DOCKER_BUILD_BASE_IMAGE=true node scripts/dockerize-n8n.mjs",
|
||||
"build:docker:test": "node scripts/build-n8n.mjs && node scripts/dockerize-n8n.mjs && turbo run test:container:standard --filter=n8n-playwright",
|
||||
"typecheck": "turbo typecheck",
|
||||
"dev": "turbo run dev --parallel --env-mode=loose --filter=!@n8n/design-system --filter=!@n8n/chat --filter=!@n8n/task-runner",
|
||||
"dev:be": "turbo run dev --parallel --env-mode=loose --filter=!@n8n/design-system --filter=!@n8n/chat --filter=!@n8n/task-runner --filter=!n8n-editor-ui",
|
||||
"dev:ai": "turbo run dev --parallel --env-mode=loose --filter=@n8n/n8n-nodes-langchain --filter=n8n --filter=n8n-core",
|
||||
"dev": "turbo run dev --concurrency=150 --env-mode=loose --filter=!@n8n/design-system --filter=!@n8n/chat --filter=!@n8n/task-runner",
|
||||
"dev:be": "turbo run dev --concurrency=150 --env-mode=loose --filter=!@n8n/design-system --filter=!@n8n/chat --filter=!@n8n/task-runner --filter=!n8n-editor-ui",
|
||||
"dev:ai": "turbo run dev --concurrency=150 --env-mode=loose --filter=@n8n/n8n-nodes-langchain --filter=n8n --filter=n8n-core",
|
||||
"dev:fe": "run-p start \"dev:fe:editor --filter=@n8n/design-system\"",
|
||||
"dev:fe:editor": "turbo run dev --parallel --env-mode=loose --filter=n8n-editor-ui",
|
||||
"dev:fe:editor": "turbo run dev --concurrency=150 --env-mode=loose --filter=n8n-editor-ui",
|
||||
"dev:e2e": "pnpm --filter=n8n-playwright dev --ui",
|
||||
"dev-metrics:opt-in": "node scripts/dev-metrics/setup.mjs --enable",
|
||||
"dev-metrics:status": "node scripts/dev-metrics/setup.mjs --status",
|
||||
|
|
@ -42,13 +42,14 @@
|
|||
"lint:styles:fix": "turbo run lint:styles:fix",
|
||||
"lint:affected": "turbo run lint --affected",
|
||||
"lint:fix": "turbo run lint:fix",
|
||||
"lint:ci": "turbo run lint lint:styles && pnpm boundaries:check",
|
||||
"lint:ci": "turbo run lint lint:styles && pnpm boundaries:check && pnpm check:workspace-private-deps",
|
||||
"boundaries": "turbo boundaries",
|
||||
"boundaries:check": "node scripts/check-boundaries.mjs",
|
||||
"boundaries:baseline": "node scripts/check-boundaries.mjs --write",
|
||||
"sync:skill-links": "node scripts/sync-agent-skill-links.mjs",
|
||||
"check:skill-links": "node scripts/sync-agent-skill-links.mjs --check",
|
||||
"check:zod-peer-deps": "node scripts/check-zod-peer-deps.mjs",
|
||||
"check:workspace-private-deps": "node scripts/check-workspace-private-deps.mjs",
|
||||
"optimize-svg": "find ./packages -name '*.svg' ! -name 'pipedrive.svg' -print0 | xargs -0 -P16 -L20 npx svgo",
|
||||
"setup-backend-module": "node scripts/ensure-zx.mjs && zx scripts/backend-module/setup.mjs",
|
||||
"start": "node scripts/os-normalize.mjs --dir packages/cli/bin n8n",
|
||||
|
|
@ -141,8 +142,8 @@
|
|||
"nodemailer": "8.0.10",
|
||||
"validator": "13.15.26",
|
||||
"zod": "3.25.67",
|
||||
"js-yaml": "4.2.0",
|
||||
"body-parser": "2.2.1",
|
||||
"js-yaml": "4.3.0",
|
||||
"body-parser": "2.3.0",
|
||||
"glob@10": "10.5.0",
|
||||
"glob@7": "7.2.3",
|
||||
"jws@3": "3.2.2",
|
||||
|
|
@ -171,7 +172,7 @@
|
|||
"picomatch@2": "2.3.2",
|
||||
"picomatch@4": "4.0.4",
|
||||
"avsc": "5.7.9",
|
||||
"brace-expansion@<=2.1.0": "2.1.0",
|
||||
"brace-expansion@<2.1.2": "2.1.2",
|
||||
"@xmldom/xmldom": "0.8.13",
|
||||
"yaml@<=2.8.3": "2.8.3",
|
||||
"axios": "catalog:",
|
||||
|
|
@ -181,7 +182,9 @@
|
|||
"uuid@<=13.0.1": "13.0.1",
|
||||
"fast-uri": "3.1.3",
|
||||
"cjs-module-lexer@<2.2.0": "2.2.0",
|
||||
"protobufjs": "7.6.3",
|
||||
"protobufjs": "7.6.5",
|
||||
"shell-quote": "1.9.0",
|
||||
"adm-zip": "0.6.0",
|
||||
"ip-address@10": "10.1.1",
|
||||
"brace-expansion@5": "5.0.7",
|
||||
"@tootallnate/once@2": "2.0.1",
|
||||
|
|
@ -218,7 +221,8 @@
|
|||
"@lezer/highlight": "patches/@lezer__highlight.patch",
|
||||
"v-code-diff": "patches/v-code-diff.patch",
|
||||
"vuedraggable@4.1.0": "patches/vuedraggable@4.1.0.patch",
|
||||
"assert@2.1.0": "patches/assert@2.1.0.patch"
|
||||
"assert@2.1.0": "patches/assert@2.1.0.patch",
|
||||
"lodash@4.18.1": "patches/lodash@4.18.1.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -153,6 +153,8 @@
|
|||
"devDependencies": {
|
||||
"@n8n/typescript-config": "workspace:*",
|
||||
"@n8n/vitest-config": "workspace:*",
|
||||
"@opentelemetry/api": "^1.9.0",
|
||||
"@opentelemetry/context-async-hooks": "^2.7.1",
|
||||
"@pinecone-database/pinecone": "catalog:",
|
||||
"@qdrant/js-client-rest": "catalog:",
|
||||
"@supabase/supabase-js": "catalog:",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -168,7 +171,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -186,7 +190,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -200,7 +205,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -169,7 +172,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -187,7 +191,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -201,7 +206,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -169,7 +172,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -187,7 +191,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -201,7 +206,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -275,7 +281,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -293,7 +300,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -307,7 +315,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -408,7 +417,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -426,7 +436,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -440,7 +451,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -70,7 +71,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -84,7 +86,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -201,7 +204,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -219,7 +223,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -233,7 +238,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
@ -174,7 +177,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -192,7 +196,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -206,7 +211,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["message"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_add",
|
||||
|
|
@ -54,7 +55,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["a", "b"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
},
|
||||
{
|
||||
"name": "tools_image",
|
||||
|
|
@ -68,7 +70,8 @@
|
|||
}
|
||||
},
|
||||
"required": ["caption"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
],
|
||||
"tool_choice": {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user