@weave-kit/engine 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +16 -11
  2. package/dist/adapters/openapi/document.d.ts +44 -0
  3. package/dist/adapters/openapi/document.d.ts.map +1 -0
  4. package/dist/adapters/openapi/document.js +303 -0
  5. package/dist/adapters/openapi/document.js.map +1 -0
  6. package/dist/adapters/openapi/index.d.ts +7 -0
  7. package/dist/adapters/openapi/index.d.ts.map +1 -0
  8. package/dist/adapters/openapi/index.js +4 -0
  9. package/dist/adapters/openapi/index.js.map +1 -0
  10. package/dist/adapters/openapi/schema.d.ts +22 -0
  11. package/dist/adapters/openapi/schema.d.ts.map +1 -0
  12. package/dist/adapters/openapi/schema.js +144 -0
  13. package/dist/adapters/openapi/schema.js.map +1 -0
  14. package/dist/adapters/openapi/types.d.ts +94 -0
  15. package/dist/adapters/openapi/types.d.ts.map +1 -0
  16. package/dist/adapters/openapi/types.js +41 -0
  17. package/dist/adapters/openapi/types.js.map +1 -0
  18. package/dist/cli/commands/openapi.d.ts +9 -0
  19. package/dist/cli/commands/openapi.d.ts.map +1 -0
  20. package/dist/cli/commands/openapi.js +43 -0
  21. package/dist/cli/commands/openapi.js.map +1 -0
  22. package/dist/cli/index.js +10 -0
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/types/commands.d.ts +10 -0
  25. package/dist/cli/types/commands.d.ts.map +1 -1
  26. package/dist/cli/types/index.d.ts +1 -1
  27. package/dist/cli/types/index.d.ts.map +1 -1
  28. package/dist/cli/types/values.d.ts +1 -0
  29. package/dist/cli/types/values.d.ts.map +1 -1
  30. package/dist/cli/types/values.js +1 -0
  31. package/dist/cli/types/values.js.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/package.json +5 -2
package/README.md CHANGED
@@ -1,13 +1,12 @@
1
- # @weave-kit/engine
2
-
3
- > Let AI agents operate your data — safely.
1
+ <h1 align="center">Let AI agents operate your data — safely</h1>
4
2
 
5
3
  Define your data model once in `schema.json`, and WeaveKit compiles it into PostgreSQL tables, a
6
4
  REST API with row- and field-level RBAC, an immutable audit log, and an MCP tool surface that AI
7
5
  agents call with typed tools — never raw SQL. Self-hosted: your data stays in your database.
8
6
 
9
7
  ```
10
- objects/leads/schema.json → PostgreSQL tables + indexes + RLS
8
+ objects/leads/schema.json → Git commit (source of truth)
9
+ PostgreSQL tables + indexes + RLS
11
10
  REST API (CRUD + RBAC)
12
11
  MCP tools (per-identity surface + guardrails)
13
12
  Immutable audit log
@@ -19,6 +18,8 @@ objects/leads/schema.json → PostgreSQL tables + indexes + RLS
19
18
  - **Safe by construction** — every agent action is authorized by row- and field-level RBAC and
20
19
  native PostgreSQL RLS, and recorded in an immutable audit log. Guardrails (and optional
21
20
  approvals) sit in front.
21
+ - **Your model is a Git repository** — schema, hooks and policies are files you review, diff and
22
+ revert; the engine commits every change for you, and PostgreSQL is a derived cache.
22
23
  - **One agent, many users** — each MCP call carries the acting user's identity (on-behalf-of), and
23
24
  the engine compiles a per-identity tool surface: a salesperson's agent sees only their own leads,
24
25
  a finance agent cannot read sales notes. Prompt injection cannot bypass RBAC/RLS.
@@ -41,8 +42,11 @@ write.
41
42
 
42
43
  ## Features
43
44
 
44
- - **Schema as the source of truth** `objects/<name>/schema.json`, versioned in Git; state-diff
45
- migrations to PostgreSQL.
45
+ - **Git-versioned metadata** schema, hooks and policies are plain files in your repository; every
46
+ change is a scoped, atomic Git commit, so review, history and rollback come for free. PostgreSQL
47
+ stays a derived cache.
48
+ - **Schema as the source of truth** — `objects/<name>/schema.json` drives the tables, REST API and MCP
49
+ surface; state-diff migrations to PostgreSQL.
46
50
  - **Governed REST API** — object CRUD with row-level (`all`/`own`/`team`) and field-level RBAC and a
47
51
  uniform error contract.
48
52
  - **MCP tool surface** — a streamable HTTP endpoint at `/mcp` with a per-identity tool surface and
@@ -88,6 +92,7 @@ weave mcp:config # ready-to-paste config for Claude Code / Cursor / VS
88
92
  Full documentation: **[docs.weavekit.io/engine](https://docs.weavekit.io/engine)**
89
93
 
90
94
  - [Getting started](https://docs.weavekit.io/engine/guides/getting-started) — scaffold, migrate, run, consume
95
+ - [Git-versioned metadata](https://docs.weavekit.io/engine/guides/git-versioned-metadata) — your data model as reviewable Git commits
91
96
  - [Schema guide](https://docs.weavekit.io/engine/guides/schema) · [RBAC](https://docs.weavekit.io/engine/guides/rbac) · [Formulas](https://docs.weavekit.io/engine/guides/formulas) · [Audit](https://docs.weavekit.io/engine/guides/audit)
92
97
  - [CLI reference](https://docs.weavekit.io/engine/guides/cli) · [MCP](https://docs.weavekit.io/engine/guides/mcp) · [Script hooks](https://docs.weavekit.io/engine/guides/script-hooks)
93
98
  - [Custom tools & guardrails](https://docs.weavekit.io/engine/guides/custom-tools-and-guardrails) · [Quotas](https://docs.weavekit.io/engine/guides/quotas) · [Inbound events](https://docs.weavekit.io/engine/guides/ingress)
@@ -122,19 +127,19 @@ await engine.app.listen({ port: 3000 });
122
127
 
123
128
  | Command | Description |
124
129
  | --- | --- |
125
- | `weave introspect` | Reverse-model an existing Postgres DB into `objects/*/schema.json` |
126
- | `weave schema:map [object] [--drift]` | Report the schema field ↔ PostgreSQL column mapping |
127
130
  | `weave migrate [--dry-run]` | State-diff migration + metadata cache + auto-commit |
128
131
  | `weave dev [--port]` | Run with hot reload |
129
132
  | `weave build` | Bundle the server entry (esbuild) |
130
133
  | `weave test` | Proxy the project test suite |
131
134
  | `weave types [--outdir]` | Compile `schema.json` into object-level TS types |
135
+ | `weave introspect` | Reverse-model an existing Postgres DB into `objects/*/schema.json` |
136
+ | `weave schema:map [object] [--drift]` | Report the schema field ↔ PostgreSQL column mapping |
137
+ | `weave schema:upgrade [--dry-run]` | Upgrade `objects/*/schema.json` to the current format version |
138
+ | `weave openapi [--out] [--generic] [--server]` | Emit an OpenAPI 3.1 document for the REST API |
139
+ | `weave mcp:config [--host]` | Print MCP client config for this project's `/mcp` endpoint |
132
140
  | `weave object:create <name>` | Scaffold `objects/<name>/schema.json` + `server.js` hooks |
133
141
  | `weave field:add <object>` | Add a validated field to a schema |
134
142
  | `weave module:add` / `module:remove <name>` | Enable/disable an optional subsystem (audit/script) |
135
- | `weave mcp:config [--host]` | Print MCP client config for this project's `/mcp` endpoint |
136
- | `weave pages:migrate` | Migrate legacy flat custom pages to directories |
137
- | `weave connect` | Reverse-tunnel a local engine to a remote endpoint |
138
143
 
139
144
  ## Object-level types
140
145
 
@@ -0,0 +1,44 @@
1
+ import { type BuildOpenApiInput, type OpenApiCapabilities, type OpenApiDocument } from './types.js';
2
+ /**
3
+ * Structural view of the config used to derive which route groups exist. Kept
4
+ * loose so this module does not depend on the engine runtime assembly.
5
+ */
6
+ export interface OpenApiConfigLike {
7
+ schemaDir?: string;
8
+ adapters?: {
9
+ rest?: {
10
+ enabled?: boolean;
11
+ prefix?: string;
12
+ };
13
+ events?: {
14
+ enabled?: boolean;
15
+ prefix?: string;
16
+ };
17
+ mcp?: {
18
+ enabled?: boolean;
19
+ endpoint?: string;
20
+ };
21
+ };
22
+ subsystems?: {
23
+ audit?: {
24
+ enabled?: boolean;
25
+ };
26
+ };
27
+ tools?: {
28
+ toolsDir?: string;
29
+ guardrails?: {
30
+ policies?: unknown;
31
+ };
32
+ };
33
+ proxy?: {
34
+ resolver?: unknown;
35
+ };
36
+ ingress?: {
37
+ prefix?: string;
38
+ };
39
+ }
40
+ /** derive the capability snapshot the generator documents from. */
41
+ export declare function capabilitiesFromConfig(config: OpenApiConfigLike): OpenApiCapabilities;
42
+ /** assemble the OpenAPI 3.1 document. */
43
+ export declare function buildOpenApiDocument(input: BuildOpenApiInput): OpenApiDocument;
44
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/adapters/openapi/document.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,GAAG,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/C,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACnE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAerF;AAyOD,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,CAiF9E"}
@@ -0,0 +1,303 @@
1
+ import { version } from '../../version.js';
2
+ import { SCRIPT_SOURCE_KINDS } from '../../core/index.js';
3
+ import { OPENAPI_TAGS, OPENAPI_TAG_DESCRIPTIONS, } from './types.js';
4
+ import { objectSchemas } from './schema.js';
5
+ /** derive the capability snapshot the generator documents from. */
6
+ export function capabilitiesFromConfig(config) {
7
+ const restPrefix = config.adapters?.rest?.prefix ?? '/api';
8
+ const eventsEnabled = config.adapters?.events?.enabled !== false;
9
+ const mcpEnabled = config.adapters?.mcp?.enabled !== false;
10
+ return {
11
+ prefix: restPrefix,
12
+ events: eventsEnabled ? { prefix: config.adapters?.events?.prefix ?? '/api' } : undefined,
13
+ ingress: config.ingress === undefined ? undefined : { prefix: config.ingress.prefix ?? '/api' },
14
+ audit: config.subsystems?.audit?.enabled === true,
15
+ approvals: config.tools?.toolsDir !== undefined,
16
+ proxy: config.proxy?.resolver !== undefined,
17
+ guardrails: typeof config.tools?.guardrails?.policies === 'string',
18
+ projectDir: config.schemaDir !== undefined,
19
+ mcp: mcpEnabled ? { endpoint: config.adapters?.mcp?.endpoint ?? '/mcp' } : undefined,
20
+ };
21
+ }
22
+ const ERROR_REF = { $ref: '#/components/responses/Error' };
23
+ const RECORD_REF = { $ref: '#/components/schemas/ObjectRecord' };
24
+ const LIST_REF = { $ref: '#/components/schemas/ListResult' };
25
+ const IDLIST_REF = { $ref: '#/components/schemas/IdList' };
26
+ const GENERIC_OBJECT = { type: 'object', additionalProperties: true };
27
+ function json(schema) {
28
+ return { content: { 'application/json': { schema } } };
29
+ }
30
+ function ok(description, schema) {
31
+ return schema === undefined ? { description } : { description, ...json(schema) };
32
+ }
33
+ function errors(...statuses) {
34
+ const out = { default: ERROR_REF };
35
+ for (const status of statuses)
36
+ out[status] = ERROR_REF;
37
+ return out;
38
+ }
39
+ const P = {
40
+ name: { name: 'name', in: 'path', required: true, schema: { type: 'string' }, description: 'Object name from `objects/<name>/schema.json`.' },
41
+ id: { name: 'id', in: 'path', required: true, schema: { type: 'string' }, description: 'Record primary key.' },
42
+ limit: { name: 'limit', in: 'query', schema: { type: 'integer', minimum: 1 }, description: 'Page size.' },
43
+ offset: { name: 'offset', in: 'query', schema: { type: 'integer', minimum: 0 }, description: 'Rows to skip.' },
44
+ filter: { name: 'filter', in: 'query', schema: { type: 'string' }, description: 'URL-encoded JSON object of field filters.', example: '{"status":"open"}' },
45
+ sort: { name: 'sort', in: 'query', schema: { type: 'string' }, description: 'Comma-separated `field:direction` pairs.', example: 'created_at:desc' },
46
+ fields: { name: 'fields', in: 'query', schema: { type: 'string' }, description: 'Comma-separated field projection.', example: 'id,title' },
47
+ objectQuery: { name: 'object', in: 'query', schema: { type: 'string' }, description: 'Return one object descriptor instead of all.' },
48
+ kind: { name: 'kind', in: 'path', required: true, schema: { type: 'string', enum: [SCRIPT_SOURCE_KINDS.SERVER] }, description: 'Script kind.' },
49
+ approvalKey: { name: 'key', in: 'path', required: true, schema: { type: 'string' }, description: 'Deterministic approval key.' },
50
+ policyName: { name: 'name', in: 'path', required: true, schema: { type: 'string' } },
51
+ source: { name: 'source', in: 'path', required: true, schema: { type: 'string' }, description: 'Provider/source identifier.' },
52
+ instance: { name: 'instance', in: 'path', required: true, schema: { type: 'string' }, description: 'Proxy instance mount path.' },
53
+ proxyPath: { name: 'path', in: 'path', required: true, schema: { type: 'string' }, description: 'Forwarded path on the upstream.' },
54
+ status: { name: 'status', in: 'query', schema: { type: 'string' } },
55
+ action: { name: 'action', in: 'query', schema: { type: 'string' } },
56
+ actorKey: { name: 'actorKey', in: 'query', schema: { type: 'string' } },
57
+ from: { name: 'from', in: 'query', schema: { type: 'string', format: 'date-time' } },
58
+ to: { name: 'to', in: 'query', schema: { type: 'string', format: 'date-time' } },
59
+ };
60
+ const routes = [];
61
+ function route(method, path, operation, enabled) {
62
+ routes.push({ method, path, operation, enabled });
63
+ }
64
+ function op(tag, operationId, summary, extra) {
65
+ return { tags: [tag], operationId, summary, ...extra };
66
+ }
67
+ // ---- Objects (always) ----
68
+ route('get', (c) => `${c.prefix}/objects/{name}`, op(OPENAPI_TAGS.OBJECTS, 'listRecords', 'List records', {
69
+ description: 'Returns one page of records. Row scope (`all`/`own`/`team`), field exclusions and sensitive-field masking follow the identity\'s RBAC.',
70
+ parameters: [P.name, P.filter, P.sort, P.fields, P.limit, P.offset],
71
+ responses: { 200: ok('A page of records.', LIST_REF), ...errors() },
72
+ }));
73
+ route('post', (c) => `${c.prefix}/objects/{name}`, op(OPENAPI_TAGS.OBJECTS, 'createRecord', 'Create a record', {
74
+ description: 'Validates the body against the schema, runs RBAC and script hooks, and audits the write.',
75
+ parameters: [P.name],
76
+ requestBody: { required: true, ...json(GENERIC_OBJECT) },
77
+ responses: { 201: ok('Record created.', RECORD_REF), ...errors('400', '403', '409') },
78
+ }));
79
+ route('patch', (c) => `${c.prefix}/objects/{name}`, op(OPENAPI_TAGS.OBJECTS, 'updateManyRecords', 'Update many records', {
80
+ description: 'Applies the same changes to every id in one all-or-nothing transaction.',
81
+ parameters: [P.name],
82
+ requestBody: { required: true, ...json({ type: 'object', required: ['ids', 'changes'], properties: { ids: { type: 'array', items: { type: 'string' } }, changes: GENERIC_OBJECT } }) },
83
+ responses: { 200: ok('Ids updated.', IDLIST_REF), ...errors('400', '403', '404') },
84
+ }));
85
+ route('delete', (c) => `${c.prefix}/objects/{name}`, op(OPENAPI_TAGS.OBJECTS, 'deleteManyRecords', 'Delete many records', {
86
+ description: 'Deletes every id in one all-or-nothing transaction, subject to RBAC row scope.',
87
+ parameters: [P.name],
88
+ requestBody: { required: true, ...json({ type: 'object', required: ['ids'], properties: { ids: { type: 'array', items: { type: 'string' } } } }) },
89
+ responses: { 200: ok('Ids deleted.', IDLIST_REF), ...errors('400', '403', '404') },
90
+ }));
91
+ route('get', (c) => `${c.prefix}/objects/{name}/{id}`, op(OPENAPI_TAGS.OBJECTS, 'getRecord', 'Get one record', {
92
+ description: 'A row outside the identity\'s row scope is reported as `404 data.recordNotFound` — it does not leak existence.',
93
+ parameters: [P.name, P.id],
94
+ responses: { 200: ok('The record.', RECORD_REF), ...errors('403', '404') },
95
+ }));
96
+ route('patch', (c) => `${c.prefix}/objects/{name}/{id}`, op(OPENAPI_TAGS.OBJECTS, 'updateRecord', 'Update one record', {
97
+ description: "Only fields the identity's `update` whitelist allows. Returns the updated record (with `warnings` when an after-hook warns).",
98
+ parameters: [P.name, P.id],
99
+ requestBody: { required: true, ...json(GENERIC_OBJECT) },
100
+ responses: { 200: ok('The updated record.', RECORD_REF), ...errors('400', '403', '404') },
101
+ }));
102
+ route('delete', (c) => `${c.prefix}/objects/{name}/{id}`, op(OPENAPI_TAGS.OBJECTS, 'deleteRecord', 'Delete one record', {
103
+ description: 'Deletes the record and returns `204` with no body.',
104
+ parameters: [P.name, P.id],
105
+ responses: { 204: { description: 'Deleted.' }, ...errors('403', '404') },
106
+ }));
107
+ // ---- Schema source (projectDir) ----
108
+ route('get', (c) => `${c.prefix}/objects/{name}/schema`, op(OPENAPI_TAGS.SCHEMA, 'getSchemaSource', 'Read the schema source (admin)', {
109
+ parameters: [P.name],
110
+ responses: { 200: ok('Raw schema source.', { type: 'object', properties: { source: { type: 'string' }, version: { type: 'string' } } }), ...errors('403', '404') },
111
+ }), (c) => c.projectDir);
112
+ route('put', (c) => `${c.prefix}/objects/{name}/schema`, op(OPENAPI_TAGS.SCHEMA, 'putSchemaSource', 'Replace the schema source (admin)', {
113
+ description: 'Validates and atomically writes `schema.json`, then commits it.',
114
+ parameters: [P.name],
115
+ requestBody: { required: true, ...json({ type: 'object', required: ['source'], properties: { source: { type: 'string' }, expectVersion: { type: 'string' }, force: { type: 'boolean' } } }) },
116
+ responses: { 200: ok('Written.', { type: 'object', properties: { ok: { type: 'boolean' }, committed: { type: 'boolean' }, version: { type: 'string' } } }), ...errors('400', '403', '404', '409') },
117
+ }), (c) => c.projectDir);
118
+ // ---- Scripts (projectDir) ----
119
+ route('get', (c) => `${c.prefix}/objects/{name}/scripts/{kind}`, op(OPENAPI_TAGS.SCRIPTS, 'getScriptSource', 'Read a script source', {
120
+ description: '`server` requires a role listed in `adapters.rest.adminRoles`.',
121
+ parameters: [P.name, P.kind],
122
+ responses: { 200: ok('Script source.', { type: 'object', properties: { source: { type: 'string' }, version: { type: 'string' } } }), ...errors('400', '403', '404') },
123
+ }), (c) => c.projectDir);
124
+ route('put', (c) => `${c.prefix}/objects/{name}/scripts/{kind}`, op(OPENAPI_TAGS.SCRIPTS, 'putScriptSource', 'Write a script source (admin)', {
125
+ description: 'Parses the JavaScript without executing it, writes the file and commits it.',
126
+ parameters: [P.name, P.kind],
127
+ requestBody: { required: true, ...json({ type: 'object', required: ['source'], properties: { source: { type: 'string' }, expectVersion: { type: 'string' } } }) },
128
+ responses: { 200: ok('Written.', { type: 'object', properties: { ok: { type: 'boolean' }, committed: { type: 'boolean' }, version: { type: 'string' } } }), ...errors('400', '403', '404', '409') },
129
+ }), (c) => c.projectDir);
130
+ // ---- Metadata / permissions / identities ----
131
+ route('get', (c) => `${c.prefix}/metadata`, op(OPENAPI_TAGS.METADATA, 'getMetadata', 'Object descriptors for API clients', {
132
+ description: 'Without `object`, returns `{ objects: [...] }` for every readable object; pass `object=<name>` for one. Responses carry an `ETag`.',
133
+ parameters: [P.objectQuery],
134
+ responses: { 200: ok('Descriptor(s).', GENERIC_OBJECT), 304: { description: 'Not modified.' }, ...errors('403', '404') },
135
+ }));
136
+ route('get', (c) => `${c.prefix}/permissions`, op(OPENAPI_TAGS.PERMISSIONS, 'getPermissions', "Effective permissions for the identity", {
137
+ responses: { 200: ok('Resolved permissions.', { type: 'object', properties: { objects: { type: 'array', items: GENERIC_OBJECT } } }), ...errors() },
138
+ }));
139
+ route('get', (c) => `${c.prefix}/identities`, op(OPENAPI_TAGS.IDENTITIES, 'getIdentities', 'On-behalf-of identity directory (admin)', {
140
+ description: 'Returns the static `mcp.identities` directory; a function resolver has no introspectable entries (`[]`).',
141
+ responses: { 200: ok('Identity directory.', { type: 'object', properties: { identities: { type: 'array', items: GENERIC_OBJECT } } }), ...errors('403') },
142
+ }));
143
+ // ---- Audit (audit subsystem) ----
144
+ route('get', (c) => `${c.prefix}/audit`, op(OPENAPI_TAGS.AUDIT, 'queryAudit', 'Query the audit trail', {
145
+ description: 'A regular identity only sees its own events; roles in `adminRoles` may query any actor or the whole trail.',
146
+ parameters: [P.actorKey, P.action, P.objectQuery, P.from, P.to, P.limit, P.offset],
147
+ responses: { 200: ok('A page of audit events.', LIST_REF), ...errors('403') },
148
+ }), (c) => c.audit);
149
+ // ---- Approvals (tool executor) ----
150
+ route('get', (c) => `${c.prefix}/approvals`, op(OPENAPI_TAGS.APPROVALS, 'listApprovals', 'List pending approvals (admin)', {
151
+ description: 'Paged approval queue; gated to `adminRoles` because the queue carries request arguments.',
152
+ parameters: [P.status, P.action, P.actorKey, P.from, P.to, P.limit, P.offset],
153
+ responses: { 200: ok('A page of approvals.', LIST_REF), ...errors('403') },
154
+ }), (c) => c.approvals);
155
+ route('post', (c) => `${c.prefix}/approvals/{key}/approve`, op(OPENAPI_TAGS.APPROVALS, 'approveApproval', 'Approve a pending call (admin)', {
156
+ parameters: [P.approvalKey],
157
+ responses: { 200: ok('Resolved.', { type: 'object', properties: { approvalKey: { type: 'string' }, status: { type: 'string' }, approver: { type: 'string' } } }), ...errors('403', '404') },
158
+ }), (c) => c.approvals);
159
+ route('post', (c) => `${c.prefix}/approvals/{key}/reject`, op(OPENAPI_TAGS.APPROVALS, 'rejectApproval', 'Reject a pending call (admin)', {
160
+ parameters: [P.approvalKey],
161
+ responses: { 200: ok('Resolved.', { type: 'object', properties: { approvalKey: { type: 'string' }, status: { type: 'string' }, approver: { type: 'string' } } }), ...errors('403', '404') },
162
+ }), (c) => c.approvals);
163
+ // ---- Guardrails (policies dir) ----
164
+ route('get', (c) => `${c.prefix}/guardrails/policies`, op(OPENAPI_TAGS.GUARDRAILS, 'listGuardrailPolicies', 'List guardrail policy files (admin)', {
165
+ responses: { 200: ok('Policy files.', { type: 'object', properties: { policies: { type: 'array', items: GENERIC_OBJECT } } }), ...errors('403') },
166
+ }), (c) => c.guardrails);
167
+ route('get', (c) => `${c.prefix}/guardrails/policies/{name}`, op(OPENAPI_TAGS.GUARDRAILS, 'getGuardrailPolicy', 'Read a guardrail policy (admin)', {
168
+ parameters: [P.policyName],
169
+ responses: { 200: ok('Policy source.', { type: 'object', properties: { source: { type: 'string' }, version: { type: 'string' } } }), ...errors('403', '404') },
170
+ }), (c) => c.guardrails);
171
+ route('put', (c) => `${c.prefix}/guardrails/policies/{name}`, op(OPENAPI_TAGS.GUARDRAILS, 'putGuardrailPolicy', 'Write a guardrail policy (admin)', {
172
+ parameters: [P.policyName],
173
+ requestBody: { required: true, ...json({ type: 'object', required: ['source'], properties: { source: { type: 'string' }, expectVersion: { type: 'string' } } }) },
174
+ responses: { 200: ok('Written.', { type: 'object', properties: { ok: { type: 'boolean' }, committed: { type: 'boolean' }, version: { type: 'string' } } }), ...errors('400', '403', '404', '409') },
175
+ }), (c) => c.guardrails);
176
+ route('get', (c) => `${c.prefix}/guardrails/policies/{name}/history`, op(OPENAPI_TAGS.GUARDRAILS, 'getGuardrailPolicyHistory', 'Guardrail policy history (admin)', {
177
+ parameters: [P.policyName],
178
+ responses: { 200: ok('Revisions.', { type: 'array', items: GENERIC_OBJECT }), ...errors('403', '404') },
179
+ }), (c) => c.guardrails);
180
+ // ---- Proxy (resolver configured) ----
181
+ route('get', (c) => `${c.prefix}/proxy`, op(OPENAPI_TAGS.PROXY, 'listProxyInstances', 'List proxy instances', {
182
+ responses: { 200: ok('Instances.', GENERIC_OBJECT), ...errors('403') },
183
+ }), (c) => c.proxy);
184
+ for (const method of ['get', 'post', 'patch', 'put', 'delete']) {
185
+ route(method, (c) => `${c.prefix}/proxy/{instance}/{path}`, op(OPENAPI_TAGS.PROXY, `proxy${method.charAt(0).toUpperCase()}${method.slice(1)}`, `Proxy a ${method.toUpperCase()} to an upstream`, {
186
+ description: 'The `proxy.resolver` decides the upstream URL and access rules; the engine forwards the request and returns the response.',
187
+ parameters: [P.instance, P.proxyPath],
188
+ responses: { 200: ok('Upstream response.', GENERIC_OBJECT), ...errors('400', '403', '404', '502', '504') },
189
+ }), (c) => c.proxy);
190
+ }
191
+ // ---- Events SSE (events adapter) ----
192
+ route('get', (c) => `${c.events.prefix}/events`, op(OPENAPI_TAGS.EVENTS, 'subscribeEvents', 'Live event stream (SSE)', {
193
+ description: 'A `text/event-stream` of schema/data change events, with replay.',
194
+ responses: { 200: { description: 'Event stream.', content: { 'text/event-stream': { schema: { type: 'string' } } } }, ...errors() },
195
+ }), (c) => c.events !== undefined);
196
+ // ---- Ingress (config.ingress) ----
197
+ route('post', (c) => `${c.ingress.prefix}/ingress/{source}`, op(OPENAPI_TAGS.INGRESS, 'ingestEvent', 'Receive an inbound webhook', {
198
+ description: "Calls the project's `ingress.verifier` with the raw body and headers; a `null` result is `401`. On success the handler runs and the receipt is audited.",
199
+ parameters: [P.source],
200
+ requestBody: { required: true, ...json(GENERIC_OBJECT) },
201
+ responses: { 202: ok('Accepted and handled.', { type: 'object', properties: { accepted: { type: 'boolean' } } }), ...errors('401', '429') },
202
+ security: [],
203
+ }), (c) => c.ingress !== undefined);
204
+ // ---- Ops (always) ----
205
+ route('get', () => '/health', op(OPENAPI_TAGS.OPS, 'health', 'Liveness probe', {
206
+ description: 'Returns `ok` when the process is up. Never touches the database.',
207
+ responses: { 200: ok('Process is up.', { type: 'object', properties: { status: { type: 'string' } } }) },
208
+ security: [],
209
+ }));
210
+ route('get', () => '/ready', op(OPENAPI_TAGS.OPS, 'ready', 'Readiness probe', {
211
+ description: 'Runs `SELECT 1` against PostgreSQL: `200` when reachable, `503` when not.',
212
+ responses: { 200: ok('Database reachable.', { type: 'object', properties: { status: { type: 'string' }, db: { type: 'string' } } }), 503: { description: 'Database unreachable.' } },
213
+ security: [],
214
+ }));
215
+ route('get', () => '/version', op(OPENAPI_TAGS.OPS, 'version', 'Engine name and version', {
216
+ responses: { 200: ok('Build identity.', { type: 'object', properties: { name: { type: 'string' }, version: { type: 'string' } } }) },
217
+ security: [],
218
+ }));
219
+ // ---- MCP (opaque JSON-RPC) ----
220
+ route('post', (c) => c.mcp.endpoint, op(OPENAPI_TAGS.OPS, 'mcp', 'MCP (JSON-RPC over streamable HTTP)', {
221
+ description: 'The Model Context Protocol endpoint (JSON-RPC 2.0). See the MCP guide for the transport and headers.',
222
+ responses: { 200: { description: 'JSON-RPC response.' }, ...errors() },
223
+ }), (c) => c.mcp !== undefined);
224
+ /** assemble the OpenAPI 3.1 document. */
225
+ export function buildOpenApiDocument(input) {
226
+ const cap = input.capabilities;
227
+ const objects = new Map(input.objects.map((o) => [o.name, o]));
228
+ const schemas = {
229
+ ObjectRecord: { type: 'object', additionalProperties: true, description: "A record shaped by the object's `schema.json`." },
230
+ ListResult: {
231
+ type: 'object',
232
+ required: ['rows', 'total', 'limit', 'offset'],
233
+ properties: {
234
+ rows: { type: 'array', items: RECORD_REF },
235
+ total: { type: 'integer' },
236
+ limit: { type: 'integer' },
237
+ offset: { type: 'integer' },
238
+ },
239
+ },
240
+ IdList: {
241
+ type: 'object',
242
+ properties: {
243
+ updated: { type: 'array', items: { type: 'string' } },
244
+ deleted: { type: 'array', items: { type: 'string' } },
245
+ },
246
+ },
247
+ Error: {
248
+ type: 'object',
249
+ required: ['error'],
250
+ properties: {
251
+ error: {
252
+ type: 'object',
253
+ required: ['code', 'message'],
254
+ properties: {
255
+ code: { type: 'string', description: 'Stable error code, e.g. `rbac.denied.read`.' },
256
+ message: { type: 'string' },
257
+ params: { type: 'object', additionalProperties: true },
258
+ },
259
+ },
260
+ },
261
+ },
262
+ };
263
+ if (input.generic !== true) {
264
+ for (const obj of input.objects) {
265
+ const { record, create, update } = objectSchemas(obj, objects);
266
+ schemas[obj.name] = record;
267
+ schemas[`${obj.name}Create`] = create;
268
+ schemas[`${obj.name}Update`] = update;
269
+ }
270
+ }
271
+ const paths = {};
272
+ for (const r of routes) {
273
+ if (r.enabled !== undefined && !r.enabled(cap))
274
+ continue;
275
+ const path = r.path(cap);
276
+ const item = paths[path] ?? (paths[path] = {});
277
+ item[r.method] = r.operation;
278
+ }
279
+ return {
280
+ openapi: '3.1.0',
281
+ info: {
282
+ title: input.info?.title ?? 'WeaveKit Engine REST API',
283
+ version: input.info?.version ?? version,
284
+ description: input.info?.description ??
285
+ 'The HTTP API exposed by `@weave-kit/engine`. Object routes are generic — `{name}` is an object from your `schema.json`. Every error response uses the same body: `{ "error": { "code", "message", "params?" } }`. Authentication is a bearer API key from `auth.source`, and RBAC is enforced in the data-access layer.',
286
+ },
287
+ servers: [{ url: input.server ?? 'http://localhost:3000', description: 'Local development' }],
288
+ tags: Object.entries(OPENAPI_TAG_DESCRIPTIONS).map(([name, description]) => ({ name, description })),
289
+ security: [{ bearerAuth: [] }],
290
+ components: {
291
+ securitySchemes: {
292
+ bearerAuth: { type: 'http', scheme: 'bearer', description: 'API key present in `auth.source` (or resolved by an `AuthResolver`).' },
293
+ },
294
+ schemas,
295
+ parameters: P,
296
+ responses: {
297
+ Error: { description: 'Uniform error body.', ...json({ $ref: '#/components/schemas/Error' }) },
298
+ },
299
+ },
300
+ paths,
301
+ };
302
+ }
303
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/adapters/openapi/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,wBAAwB,GAIzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqB5C,mEAAmE;AACnE,MAAM,UAAU,sBAAsB,CAAC,MAAyB;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC;IAC3D,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;QACzF,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE;QAC/F,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI;QACjD,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS;QAC/C,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS;QAC3C,UAAU,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,KAAK,QAAQ;QAClE,UAAU,EAAE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC1C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;AAC3D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;AACjE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;AAC7D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;AAC3D,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAEtE,SAAS,IAAI,CAAC,MAAe;IAC3B,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,EAAE,CAAC,WAAmB,EAAE,MAAgB;IAC/C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,MAAM,CAAC,GAAG,QAAkB;IACnC,MAAM,GAAG,GAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE;IAC7I,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAC9G,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;IACzG,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;IAC9G,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAC3J,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,OAAO,EAAE,iBAAiB,EAAE;IACpJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,OAAO,EAAE,UAAU,EAAE;IAC1I,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE;IACrI,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/I,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAChI,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAC9H,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;IACjI,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACnI,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACnE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACnE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACvE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IACpF,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;CACxE,CAAC;AAWX,MAAM,MAAM,GAAY,EAAE,CAAC;AAE3B,SAAS,KAAK,CAAC,MAAc,EAAE,IAAmB,EAAE,SAAe,EAAE,OAA0B;IAC7F,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,EAAE,CAAC,GAAW,EAAE,WAAmB,EAAE,OAAe,EAAE,KAAW;IACxE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,6BAA6B;AAC7B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE;IACxG,WAAW,EACT,wIAAwI;IAC1I,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE;CACpE,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE;IAC7G,WAAW,EAAE,0FAA0F;IACvG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE;IACxD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACtF,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE;IACvH,WAAW,EAAE,yEAAyE;IACtF,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE;IACtL,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACnF,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE;IACxH,WAAW,EAAE,gFAAgF;IAC7F,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;IAClJ,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACnF,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,sBAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC7G,WAAW,EAAE,gHAAgH;IAC7H,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC1B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CAC3E,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,sBAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE;IACrH,WAAW,EAAE,8HAA8H;IAC3I,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC1B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE;IACxD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CAC1F,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,sBAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE;IACtH,WAAW,EAAE,oDAAoD;IACjE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC1B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CACzE,CAAC,CAAC,CAAC;AAEJ,uCAAuC;AACvC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,wBAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,gCAAgC,EAAE;IACpI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CACnK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,wBAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,mCAAmC,EAAE;IACvI,WAAW,EAAE,iEAAiE;IAC9E,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7L,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACpM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzB,iCAAiC;AACjC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,gCAAgC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;IACnI,WAAW,EAAE,gEAAgE;IAC7E,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACtK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,gCAAgC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE;IAC5I,WAAW,EAAE,6EAA6E;IAC1F,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;IACjK,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACpM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzB,gDAAgD;AAChD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,oCAAoC,EAAE;IACzH,WAAW,EAAE,oIAAoI;IACjJ,UAAU,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CACzH,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,cAAc,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,EAAE,wCAAwC,EAAE;IACtI,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE;CACpJ,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,yCAAyC,EAAE;IACpI,WAAW,EAAE,0GAA0G;IACvH,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;CAC1J,CAAC,CAAC,CAAC;AAEJ,oCAAoC;AACpC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE;IACrG,WAAW,EAAE,4GAA4G;IACzH,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;IAClF,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;CAC9E,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEpB,sCAAsC;AACtC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,gCAAgC,EAAE;IACzH,WAAW,EAAE,0FAA0F;IACvG,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;IAC7E,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;CAC3E,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACxB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,0BAA0B,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,EAAE,gCAAgC,EAAE;IAC1I,UAAU,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CAC5L,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACxB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,yBAAyB,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,+BAA+B,EAAE;IACvI,UAAU,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CAC5L,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAExB,sCAAsC;AACtC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,sBAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,uBAAuB,EAAE,qCAAqC,EAAE;IACjJ,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;CAClJ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,6BAA6B,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,iCAAiC,EAAE;IACjJ,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CAC/J,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,6BAA6B,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,kCAAkC,EAAE;IAClJ,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;IACjK,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;CACpM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,qCAAqC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,2BAA2B,EAAE,kCAAkC,EAAE;IACjK,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;CACxG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzB,wCAAwC;AACxC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;IAC5G,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;CACvE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAU,EAAE,CAAC;IACxE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,0BAA0B,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE;QAC/L,WAAW,EAAE,2HAA2H;QACxI,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;QACrC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;KAC3G,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,wCAAwC;AACxC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAO,CAAC,MAAM,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;IACtH,WAAW,EAAE,kEAAkE;IAC/E,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;CACpI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAEnC,qCAAqC;AACrC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAQ,CAAC,MAAM,mBAAmB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE;IAClI,WAAW,EAAE,yJAAyJ;IACtK,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACtB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE;IACxD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;IAC3I,QAAQ,EAAE,EAAE;CACb,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;AAEpC,yBAAyB;AACzB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC7E,WAAW,EAAE,kEAAkE;IAC/E,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;IACxG,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAC5E,WAAW,EAAE,2EAA2E;IACxF,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE;IACpL,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC,CAAC;AACJ,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,yBAAyB,EAAE;IACxF,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;IACpI,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC,CAAC;AAEJ,kCAAkC;AAClC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,qCAAqC,EAAE;IACvG,WAAW,EAAE,sGAAsG;IACnH,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;CACvE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAEhC,yCAAyC;AACzC,MAAM,UAAU,oBAAoB,CAAC,KAAwB;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,OAAO,GAA4B;QACvC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,gDAAgD,EAAE;QAC3H,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC9C,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC5B;SACF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACtD;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;oBAC7B,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;wBACpF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;qBACvD;iBACF;aACF;SACF;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAC3B,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;YACtC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAA4C,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,0BAA0B;YACtD,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO;YACvC,WAAW,EACT,KAAK,CAAC,IAAI,EAAE,WAAW;gBACvB,yTAAyT;SAC5T;QACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAC7F,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9B,UAAU,EAAE;YACV,eAAe,EAAE;gBACf,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;aACpI;YACD,OAAO;YACP,UAAU,EAAE,CAAuC;YACnD,SAAS,EAAE;gBACT,KAAK,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,EAAE;aAC/F;SACF;QACD,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { buildOpenApiDocument, capabilitiesFromConfig } from './document.js';
2
+ export type { OpenApiConfigLike } from './document.js';
3
+ export { fieldSchema, objectSchemas, isReadonlyField } from './schema.js';
4
+ export type { ObjectSchemas } from './schema.js';
5
+ export { OPENAPI_TAGS, OPENAPI_TAG_DESCRIPTIONS } from './types.js';
6
+ export type { BuildOpenApiInput, OpenApiCapabilities, OpenApiDocument, OpenApiTag, } from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { buildOpenApiDocument, capabilitiesFromConfig } from './document.js';
2
+ export { fieldSchema, objectSchemas, isReadonlyField } from './schema.js';
3
+ export { OPENAPI_TAGS, OPENAPI_TAG_DESCRIPTIONS } from './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type FieldDefinition, type ObjectDefinition } from '../../core/index.js';
2
+ type Json = Record<string, unknown>;
3
+ /** engine-managed (read-only) fields: system, computed, and sequence numbers. */
4
+ export declare function isReadonlyField(field: FieldDefinition): boolean;
5
+ /**
6
+ * JSON Schema for one field (OpenAPI 3.1). Carries type + format + validation
7
+ * attributes, `readOnly` for engine-managed fields, and relation targets as
8
+ * primary-key references.
9
+ */
10
+ export declare function fieldSchema(field: FieldDefinition, objects: Map<string, ObjectDefinition>): Json;
11
+ export interface ObjectSchemas {
12
+ /** response record (sensitive fields omitted). */
13
+ record: Json;
14
+ /** create request body (writable fields; `required` preserved). */
15
+ create: Json;
16
+ /** update request body (writable, non-primary fields; all optional). */
17
+ update: Json;
18
+ }
19
+ /** build the three reusable schemas for one object. */
20
+ export declare function objectSchemas(obj: ObjectDefinition, objects: Map<string, ObjectDefinition>): ObjectSchemas;
21
+ export {};
22
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/openapi/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAM/D;AA4BD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAuDhG;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,MAAM,EAAE,IAAI,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,IAAI,CAAC;IACb,wEAAwE;IACxE,MAAM,EAAE,IAAI,CAAC;CACd;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,aAAa,CA2B1G"}
@@ -0,0 +1,144 @@
1
+ import { FIELD_TYPES, fieldBase, } from '../../core/index.js';
2
+ /** engine-managed (read-only) fields: system, computed, and sequence numbers. */
3
+ export function isReadonlyField(field) {
4
+ return (field.system === true ||
5
+ field.formula !== undefined ||
6
+ field.type === FIELD_TYPES.SEQ_NO);
7
+ }
8
+ function asRecord(field) {
9
+ return field;
10
+ }
11
+ /** `required` is not present on every member of the field union. */
12
+ function fieldRequired(field) {
13
+ return asRecord(field).required === true;
14
+ }
15
+ /** JSON Schema primitive for a relation target's primary key. */
16
+ function pkType(target, objects) {
17
+ const pk = target === undefined ? undefined : objects.get(target)?.fields.find((f) => f.primary === true);
18
+ if (pk === undefined)
19
+ return 'string';
20
+ switch (fieldBase(pk.type)) {
21
+ case FIELD_TYPES.INTEGER:
22
+ return 'integer';
23
+ case FIELD_TYPES.NUMBER:
24
+ case FIELD_TYPES.CURRENCY:
25
+ return 'number';
26
+ case FIELD_TYPES.BOOLEAN:
27
+ return 'boolean';
28
+ default:
29
+ return 'string';
30
+ }
31
+ }
32
+ /**
33
+ * JSON Schema for one field (OpenAPI 3.1). Carries type + format + validation
34
+ * attributes, `readOnly` for engine-managed fields, and relation targets as
35
+ * primary-key references.
36
+ */
37
+ export function fieldSchema(field, objects) {
38
+ const f = asRecord(field);
39
+ const base = fieldBase(field.type);
40
+ const out = {};
41
+ const multipleImage = field.type === FIELD_TYPES.IMAGE && f.multiple === true;
42
+ if (multipleImage) {
43
+ out.type = 'array';
44
+ out.items = { type: 'string', format: 'uri' };
45
+ }
46
+ else if (base === FIELD_TYPES.INTEGER) {
47
+ out.type = 'integer';
48
+ }
49
+ else if (base === FIELD_TYPES.NUMBER || base === FIELD_TYPES.CURRENCY) {
50
+ out.type = 'number';
51
+ }
52
+ else if (base === FIELD_TYPES.BOOLEAN) {
53
+ out.type = 'boolean';
54
+ }
55
+ else if (base === FIELD_TYPES.DATETIME) {
56
+ out.type = 'string';
57
+ out.format = 'date-time';
58
+ }
59
+ else if (base === FIELD_TYPES.DATE) {
60
+ out.type = 'string';
61
+ out.format = 'date';
62
+ }
63
+ else if (base === FIELD_TYPES.JSON) {
64
+ // free-form: leave unconstrained
65
+ }
66
+ else if (base === FIELD_TYPES.ENUM) {
67
+ const options = f.options ?? [];
68
+ if (f.multiple === true) {
69
+ out.type = 'array';
70
+ out.items = { type: 'string', enum: options };
71
+ }
72
+ else {
73
+ out.type = 'string';
74
+ out.enum = options;
75
+ }
76
+ }
77
+ else if (base === FIELD_TYPES.MULTI_RELATION) {
78
+ out.type = 'array';
79
+ out.items = { type: pkType(f.target, objects) };
80
+ }
81
+ else if (base === FIELD_TYPES.DETAILS) {
82
+ out.type = 'array';
83
+ out.items = { $ref: `#/components/schemas/${String(f.target)}` };
84
+ }
85
+ else if (base === FIELD_TYPES.RELATION) {
86
+ out.type = pkType(f.target, objects);
87
+ }
88
+ else {
89
+ out.type = 'string';
90
+ if (field.type === FIELD_TYPES.EMAIL)
91
+ out.format = 'email';
92
+ else if (field.type === FIELD_TYPES.IMAGE)
93
+ out.format = 'uri';
94
+ }
95
+ if (typeof f.minLength === 'number')
96
+ out.minLength = f.minLength;
97
+ if (typeof f.maxLength === 'number')
98
+ out.maxLength = f.maxLength;
99
+ if (typeof f.regex === 'string')
100
+ out.pattern = f.regex;
101
+ if (typeof f.min === 'number')
102
+ out.minimum = f.min;
103
+ if (typeof f.max === 'number')
104
+ out.maximum = f.max;
105
+ if (f.default !== undefined)
106
+ out.default = f.default;
107
+ if (field.description !== undefined)
108
+ out.description = field.description;
109
+ if (isReadonlyField(field))
110
+ out.readOnly = true;
111
+ return out;
112
+ }
113
+ /** build the three reusable schemas for one object. */
114
+ export function objectSchemas(obj, objects) {
115
+ const record = { type: 'object', properties: {} };
116
+ const create = { type: 'object', properties: {}, additionalProperties: false };
117
+ const update = { type: 'object', properties: {}, additionalProperties: false };
118
+ const recordProps = record.properties;
119
+ const createProps = create.properties;
120
+ const updateProps = update.properties;
121
+ const recordRequired = [];
122
+ const createRequired = [];
123
+ for (const field of obj.fields) {
124
+ const readonly = isReadonlyField(field);
125
+ if (field.sensitive !== true)
126
+ recordProps[field.name] = fieldSchema(field, objects);
127
+ if (field.primary === true || fieldRequired(field))
128
+ recordRequired.push(field.name);
129
+ if (!readonly && field.type !== FIELD_TYPES.DETAILS) {
130
+ createProps[field.name] = fieldSchema(field, objects);
131
+ if (fieldRequired(field))
132
+ createRequired.push(field.name);
133
+ }
134
+ if (!readonly && field.primary !== true && field.type !== FIELD_TYPES.DETAILS) {
135
+ updateProps[field.name] = fieldSchema(field, objects);
136
+ }
137
+ }
138
+ if (recordRequired.length > 0)
139
+ record.required = recordRequired;
140
+ if (createRequired.length > 0)
141
+ create.required = createRequired;
142
+ return { record, create, update };
143
+ }
144
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/openapi/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import type { ObjectDefinition } from '../../core/index.js';
2
+ /**
3
+ * OpenAPI 3.1 document generator for the engine's REST surface.
4
+ *
5
+ * The generator is a pure transformation of the loaded object definitions plus a
6
+ * capability snapshot derived from `weavekit.config.ts` — no database, no server.
7
+ * It is identity-agnostic: the document describes the API shape once; per-identity
8
+ * permissions are available at runtime from `GET {prefix}/metadata` and
9
+ * `GET {prefix}/permissions`.
10
+ */
11
+ /** OpenAPI tags (grouping), single source of truth. */
12
+ export declare const OPENAPI_TAGS: {
13
+ readonly OBJECTS: "Objects";
14
+ readonly SCHEMA: "Schema";
15
+ readonly SCRIPTS: "Scripts";
16
+ readonly METADATA: "Metadata";
17
+ readonly PERMISSIONS: "Permissions";
18
+ readonly IDENTITIES: "Identities";
19
+ readonly AUDIT: "Audit";
20
+ readonly APPROVALS: "Approvals";
21
+ readonly GUARDRAILS: "Guardrails";
22
+ readonly PROXY: "Proxy";
23
+ readonly EVENTS: "Events";
24
+ readonly INGRESS: "Ingress";
25
+ readonly OPS: "Ops";
26
+ };
27
+ export type OpenApiTag = typeof OPENAPI_TAGS[keyof typeof OPENAPI_TAGS];
28
+ export declare const OPENAPI_TAG_DESCRIPTIONS: Record<OpenApiTag, string>;
29
+ /** which optional route groups are present, derived from the project config. */
30
+ export interface OpenApiCapabilities {
31
+ /** REST prefix (default `/api`). */
32
+ prefix: string;
33
+ /** events SSE group (present when the events adapter is enabled). */
34
+ events?: {
35
+ prefix: string;
36
+ };
37
+ /** ingress group (present when `config.ingress` is set). */
38
+ ingress?: {
39
+ prefix: string;
40
+ };
41
+ /** audit subsystem enabled → `GET {prefix}/audit`. */
42
+ audit: boolean;
43
+ /** tool executor present → approvals routes. */
44
+ approvals: boolean;
45
+ /** `config.proxy.resolver` set → proxy routes. */
46
+ proxy: boolean;
47
+ /** `tools.guardrails.policies` is a directory → policy file routes. */
48
+ guardrails: boolean;
49
+ /** a project dir is available → schema/scripts/pages source routes. */
50
+ projectDir: boolean;
51
+ /** MCP adapter (documented as an opaque JSON-RPC endpoint). */
52
+ mcp?: {
53
+ endpoint: string;
54
+ };
55
+ }
56
+ export interface BuildOpenApiInput {
57
+ /** loaded object definitions (may be empty for the generic reference). */
58
+ objects: readonly ObjectDefinition[];
59
+ capabilities: OpenApiCapabilities;
60
+ /** default server URL. */
61
+ server?: string;
62
+ /** omit per-object component schemas (used for the generic docs reference). */
63
+ generic?: boolean;
64
+ info?: {
65
+ title?: string;
66
+ description?: string;
67
+ version?: string;
68
+ };
69
+ }
70
+ export interface OpenApiDocument {
71
+ openapi: string;
72
+ info: {
73
+ title: string;
74
+ version: string;
75
+ description?: string;
76
+ };
77
+ servers: {
78
+ url: string;
79
+ description?: string;
80
+ }[];
81
+ tags: {
82
+ name: string;
83
+ description?: string;
84
+ }[];
85
+ security: Record<string, string[]>[];
86
+ components: {
87
+ securitySchemes: Record<string, unknown>;
88
+ schemas: Record<string, unknown>;
89
+ parameters: Record<string, unknown>;
90
+ responses: Record<string, unknown>;
91
+ };
92
+ paths: Record<string, Record<string, unknown>>;
93
+ }
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/openapi/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;;;;GAQG;AAEH,uDAAuD;AACvD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAc/D,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,4DAA4D;IAC5D,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,YAAY,EAAE,mBAAmB,CAAC;IAClC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * OpenAPI 3.1 document generator for the engine's REST surface.
3
+ *
4
+ * The generator is a pure transformation of the loaded object definitions plus a
5
+ * capability snapshot derived from `weavekit.config.ts` — no database, no server.
6
+ * It is identity-agnostic: the document describes the API shape once; per-identity
7
+ * permissions are available at runtime from `GET {prefix}/metadata` and
8
+ * `GET {prefix}/permissions`.
9
+ */
10
+ /** OpenAPI tags (grouping), single source of truth. */
11
+ export const OPENAPI_TAGS = {
12
+ OBJECTS: 'Objects',
13
+ SCHEMA: 'Schema',
14
+ SCRIPTS: 'Scripts',
15
+ METADATA: 'Metadata',
16
+ PERMISSIONS: 'Permissions',
17
+ IDENTITIES: 'Identities',
18
+ AUDIT: 'Audit',
19
+ APPROVALS: 'Approvals',
20
+ GUARDRAILS: 'Guardrails',
21
+ PROXY: 'Proxy',
22
+ EVENTS: 'Events',
23
+ INGRESS: 'Ingress',
24
+ OPS: 'Ops',
25
+ };
26
+ export const OPENAPI_TAG_DESCRIPTIONS = {
27
+ Objects: 'Generic CRUD over the objects in your schema.',
28
+ Schema: "Read or replace an object's `schema.json` (admin).",
29
+ Scripts: 'Sandboxed `server.js` hook sources.',
30
+ Metadata: 'Object descriptors for API clients.',
31
+ Permissions: "The identity's effective permissions per object.",
32
+ Identities: 'The static on-behalf-of identity directory (admin).',
33
+ Audit: 'The immutable event log (requires the audit subsystem).',
34
+ Approvals: 'The human approval queue (requires the tool executor).',
35
+ Guardrails: 'Guardrail policy sources and history (admin).',
36
+ Proxy: 'The generic proxy to external instances.',
37
+ Events: 'The outbound live-event stream (SSE).',
38
+ Ingress: 'Inbound webhooks from external providers.',
39
+ Ops: 'Liveness, readiness and version — always registered.',
40
+ };
41
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/openapi/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,wBAAwB,GAA+B;IAClE,OAAO,EAAE,+CAA+C;IACxD,MAAM,EAAE,oDAAoD;IAC5D,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,qCAAqC;IAC/C,WAAW,EAAE,kDAAkD;IAC/D,UAAU,EAAE,qDAAqD;IACjE,KAAK,EAAE,yDAAyD;IAChE,SAAS,EAAE,wDAAwD;IACnE,UAAU,EAAE,+CAA+C;IAC3D,KAAK,EAAE,0CAA0C;IACjD,MAAM,EAAE,uCAAuC;IAC/C,OAAO,EAAE,2CAA2C;IACpD,GAAG,EAAE,sDAAsD;CAC5D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { OpenApiOptions } from '../types/index.js';
2
+ /**
3
+ * `weave openapi` — emit an OpenAPI 3.1 document for this project's REST API.
4
+ * Pure file work (no database): load `schema.json` + config, build the document,
5
+ * write it. `--generic` omits per-object component schemas (used for the docs
6
+ * reference); `--out -` prints to stdout.
7
+ */
8
+ export declare function openapi(cwd: string, options: OpenApiOptions): Promise<void>;
9
+ //# sourceMappingURL=openapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/openapi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCjF"}
@@ -0,0 +1,43 @@
1
+ import { mkdir, writeFile } from 'node:fs/promises';
2
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
3
+ import { buildOpenApiDocument, capabilitiesFromConfig } from '../../adapters/openapi/index.js';
4
+ import { loadSchemaDir } from '../../runtime/git/index.js';
5
+ import { loadConfig } from '../load-config.js';
6
+ /**
7
+ * `weave openapi` — emit an OpenAPI 3.1 document for this project's REST API.
8
+ * Pure file work (no database): load `schema.json` + config, build the document,
9
+ * write it. `--generic` omits per-object component schemas (used for the docs
10
+ * reference); `--out -` prints to stdout.
11
+ */
12
+ export async function openapi(cwd, options) {
13
+ const p = options.printer;
14
+ const config = await loadConfig(cwd);
15
+ const schemaDir = config.schemaDir ?? cwd;
16
+ const objects = [];
17
+ if (options.generic !== true) {
18
+ const { files } = await loadSchemaDir(schemaDir, {
19
+ locale: config.locale,
20
+ allowedFieldTypes: config.features?.fieldTypes,
21
+ });
22
+ objects.push(...files.map((f) => f.object));
23
+ }
24
+ const document = buildOpenApiDocument({
25
+ objects,
26
+ capabilities: capabilitiesFromConfig(config),
27
+ generic: options.generic,
28
+ server: options.server,
29
+ });
30
+ const json = `${JSON.stringify(document, null, 2)}\n`;
31
+ if (options.out === '-') {
32
+ process.stdout.write(json);
33
+ return;
34
+ }
35
+ const outfile = options.out === undefined ? join(cwd, 'openapi.json') : isAbsolute(options.out) ? options.out : resolve(cwd, options.out);
36
+ await mkdir(dirname(outfile), { recursive: true });
37
+ await writeFile(outfile, json);
38
+ const paths = Object.keys(document.paths).length;
39
+ const schemas = Object.keys(document.components.schemas).length;
40
+ p.log(`wrote ${outfile} (${paths} path(s), ${schemas} schema(s))`);
41
+ p.data({ outfile, paths, schemas });
42
+ }
43
+ //# sourceMappingURL=openapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/cli/commands/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,OAAuB;IAChE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAE1C,MAAM,OAAO,GAAqD,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU;SAC/C,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,OAAO;QACP,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACtD,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5H,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC,CAAC,GAAG,CAAC,SAAS,OAAO,KAAK,KAAK,aAAa,OAAO,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC"}
package/dist/cli/index.js CHANGED
@@ -12,6 +12,7 @@ import { mcpConfig } from './commands/mcp-config.js';
12
12
  import { migrate } from './commands/migrate.js';
13
13
  import { moduleToggle } from './commands/module.js';
14
14
  import { objectCreate } from './commands/object-create.js';
15
+ import { openapi } from './commands/openapi.js';
15
16
  import { migratePages } from './commands/pages-migrate.js';
16
17
  import { schemaMap } from './commands/schema-map.js';
17
18
  import { schemaUpgrade } from './commands/schema-upgrade.js';
@@ -129,6 +130,15 @@ program
129
130
  .action(async (opts) => {
130
131
  await runAction(() => schemaUpgrade(process.cwd(), { dryRun: opts.dryRun, printer: printer() }));
131
132
  });
133
+ program
134
+ .command(WEAVE_COMMANDS.OPENAPI)
135
+ .description("emit an OpenAPI 3.1 document for this project's REST API (no database needed)")
136
+ .option('--out <file>', 'output file; "-" prints to stdout', 'openapi.json')
137
+ .option('--generic', 'omit per-object component schemas (generic reference)')
138
+ .option('--server <url>', 'server URL written into the document')
139
+ .action(async (opts) => {
140
+ await runAction(() => openapi(process.cwd(), { out: opts.out, generic: opts.generic, server: opts.server, printer: printer() }));
141
+ });
132
142
  program
133
143
  .command(`${WEAVE_COMMANDS.OBJECT_CREATE} <name>`)
134
144
  .description('scaffold an object: objects/<name>/schema.json + server.js sandbox hooks (+ client.js UI template for business projects)')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -99,4 +99,14 @@ export interface SchemaUpgradeOptions {
99
99
  dryRun?: boolean;
100
100
  printer: CliPrinter;
101
101
  }
102
+ /** `weave openapi` options */
103
+ export interface OpenApiOptions {
104
+ /** output file; `-` prints to stdout (default: `openapi.json` in the project root) */
105
+ out?: string;
106
+ /** omit per-object component schemas (generic reference) */
107
+ generic?: boolean;
108
+ /** server URL written into the document (default: http://localhost:3000) */
109
+ server?: string;
110
+ printer: CliPrinter;
111
+ }
102
112
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/types/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,0BAA0B;AAC1B,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,4BAA4B;AAC5B,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,2BAA2B;AAC3B,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;CACrB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/types/commands.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { WEAVE_COMMANDS, PROJECT_TYPES } from './values.js';
2
2
  export type { WeaveCommand, ProjectType } from './values.js';
3
- export type { MigrateOptions, DevOptions, BuildOptions, TestOptions, TypeOptions, ObjectCreateOptions, FieldAddOptions, ModuleOptions, IntrospectOptions, McpConfigOptions, SchemaMapOptions, SchemaUpgradeOptions } from './commands.js';
3
+ export type { MigrateOptions, DevOptions, BuildOptions, TestOptions, TypeOptions, ObjectCreateOptions, FieldAddOptions, ModuleOptions, IntrospectOptions, McpConfigOptions, SchemaMapOptions, SchemaUpgradeOptions, OpenApiOptions } from './commands.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -20,6 +20,7 @@ export declare const WEAVE_COMMANDS: {
20
20
  readonly MCP_CONFIG: "mcp:config";
21
21
  readonly SCHEMA_MAP: "schema:map";
22
22
  readonly SCHEMA_UPGRADE: "schema:upgrade";
23
+ readonly OPENAPI: "openapi";
23
24
  };
24
25
  export type WeaveCommand = typeof WEAVE_COMMANDS[keyof typeof WEAVE_COMMANDS];
25
26
  /** `weave init --type` project-starting presets (core is never trimmed) */
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/cli/types/values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;CAgBjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/cli/types/values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CAiBjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
@@ -20,6 +20,7 @@ export const WEAVE_COMMANDS = {
20
20
  MCP_CONFIG: 'mcp:config',
21
21
  SCHEMA_MAP: 'schema:map',
22
22
  SCHEMA_UPGRADE: 'schema:upgrade',
23
+ OPENAPI: 'openapi',
23
24
  };
24
25
  /** `weave init --type` project-starting presets (core is never trimmed) */
25
26
  export const PROJECT_TYPES = {
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/cli/types/values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAGX,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/cli/types/values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;CACV,CAAC;AAGX,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export * from './adapters/auth/index.js';
10
10
  export * from './adapters/rest/index.js';
11
11
  export * from './adapters/mcp/index.js';
12
12
  export * from './adapters/events/index.js';
13
+ export { buildOpenApiDocument, capabilitiesFromConfig } from './adapters/openapi/index.js';
14
+ export type { BuildOpenApiInput, OpenApiCapabilities, OpenApiDocument, } from './adapters/openapi/index.js';
13
15
  export type { AuditEngine, AuditFilter, AuditQuery, AuditQueryResult } from './subsystems/audit/index.js';
14
16
  export type { LoadedScript, ResolvedScriptConfig, RpcExecutor, RpcRequest, SandboxBackend, SandboxCallResult, SandboxEntry, SandboxInstance, ScriptBridgeOptions, ScriptDispatcherOptions, } from './subsystems/script/index.js';
15
17
  export { scaffoldProject } from './cli/scaffold.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA0ChF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA0ChF"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export * from './adapters/auth/index.js';
14
14
  export * from './adapters/rest/index.js';
15
15
  export * from './adapters/mcp/index.js';
16
16
  export * from './adapters/events/index.js';
17
+ export { buildOpenApiDocument, capabilitiesFromConfig } from './adapters/openapi/index.js';
17
18
  export { scaffoldProject } from './cli/scaffold.js';
18
19
  export { PROJECT_TYPES } from './cli/types/values.js';
19
20
  export { version } from './version.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** engine version — single source of truth for CLI, ops routes and MCP metadata */
2
- export declare const version = "0.1.4";
2
+ export declare const version = "0.1.6";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** engine version — single source of truth for CLI, ops routes and MCP metadata */
2
- export const version = '0.1.4';
2
+ export const version = '0.1.6';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@weave-kit/engine",
3
- "version": "0.1.4",
4
- "description": "WeaveKit engine — metadata-driven headless backend runtime",
3
+ "version": "0.1.6",
4
+ "description": "WeaveKit engine — a metadata-driven headless backend runtime with Git-versioned metadata",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -40,6 +40,8 @@
40
40
  "weavekit",
41
41
  "headless",
42
42
  "metadata",
43
+ "git",
44
+ "versioning",
43
45
  "schema",
44
46
  "postgres",
45
47
  "rest",
@@ -63,6 +65,7 @@
63
65
  "typecheck": "tsc --noEmit",
64
66
  "prelint": "node scripts/check-memory-sizes.mjs",
65
67
  "lint": "eslint .",
68
+ "openapi:docs": "node --import tsx scripts/generate-openapi.mjs",
66
69
  "test": "tsc -p tsconfig.build.json && node --env-file-if-exists=.env --import tsx --test \"tests/unit/**/*.test.ts\" && node --env-file-if-exists=.env --import tsx --test --test-concurrency=1 \"tests/e2e/*.test.ts\""
67
70
  },
68
71
  "bin": {