@enfyra/mcp-server 0.3.8 → 0.3.10

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.
@@ -3,7 +3,7 @@ const SECURE_EXPLICIT_PATTERN = new RegExp(`(?:#secure\\.|@REPOS\\.secure\\.|\\$
3
3
  const TRUSTED_EXPLICIT_PATTERN = new RegExp(`(?:#(?!secure\\.)|@REPOS\\.(?!main\\b|secure\\b)|\\$ctx\\.\\$repos\\.(?!main\\b|secure\\b))(${IDENTIFIER})\\s*\\.`, 'g');
4
4
  const MAIN_REPOSITORY_PATTERN = /(?:@REPOS|\$ctx\.\$repos)\.main\s*\./u;
5
5
  const RAW_BODY_PATTERN = /\bdata\s*:\s*@BODY\b|\.\.\.\s*@BODY\b/u;
6
- const MUTATION_PATTERN = /\.(?:create|createMany|update|updateMany|delete|deleteMany)\s*\(/u;
6
+ const MUTATION_PATTERN = /\.(?:create|createMany|update|updateLocked|updateMany|delete|deleteMany)\s*\(/u;
7
7
  const DIRECT_REPOSITORY_DATA_RETURN_PATTERN = /\breturn\s+[^;\n]*(?:\.data\b|\.data\?\.\[|\.data\s*\[)/u;
8
8
  function maskNonExecutable(sourceCode) {
9
9
  const output = sourceCode.split('');
@@ -208,6 +208,7 @@ export function reviewDynamicEndpointContract(input) {
208
208
  const trustedTables = unique(matches(TRUSTED_EXPLICIT_PATTERN, executableSource));
209
209
  const usesRawBody = RAW_BODY_PATTERN.test(executableSource);
210
210
  const usesMutation = MUTATION_PATTERN.test(executableSource);
211
+ const usesLockedRead = /\.findLocked\s*\(/u.test(executableSource);
211
212
  const returnsRepositoryDataDirectly = DIRECT_REPOSITORY_DATA_RETURN_PATTERN.test(executableSource);
212
213
  const errors = [];
213
214
  const warnings = [];
@@ -240,6 +241,7 @@ export function reviewDynamicEndpointContract(input) {
240
241
  const hasNonUpdatableDomainFields = Object.values(metadata).some((summary) => (summary.nonUpdatableFields.some((field) => !['id', '_id', 'createdAt', 'updatedAt'].includes(field))));
241
242
  const verification = [
242
243
  'Smoke-test the saved route through test_rest_endpoint.',
244
+ ...(usesLockedRead ? ['Verify findLocked on the deployed PostgreSQL/MySQL runtime and keep dependent reads/writes inside the same explicit outer transaction; lock-only reads are not mutations and do not order post-commit publication.'] : []),
243
245
  ...(usesMutation ? ['Test an invalid business payload because custom handlers do not inherit canonical body validation.'] : []),
244
246
  ...(trustedTables.length > 0 ? ['Verify the response contains only explicitly shaped public fields.'] : []),
245
247
  ...(usesMutation && hasNonUpdatableDomainFields ? ['Re-inspect live metadata after E2E setup. Do not change isUpdatable merely to seed fixtures or let this custom action write a server-owned field.'] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-endpoint-contract.js","sourceRoot":"","sources":["../../src/lib/dynamic-endpoint-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-endpoint-contract.js","sourceRoot":"","sources":["../../src/lib/dynamic-endpoint-contract.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,22 @@
1
- export declare function buildDynamicRepositoryUsage(input: {
2
- access: 'secure_main' | 'secure_explicit' | 'trusted_explicit';
3
- operation: 'list' | 'find_one' | 'create' | 'create_many' | 'update' | 'update_many' | 'delete' | 'delete_many';
4
- tableName?: string;
5
- fields?: string[];
6
- idField?: string;
7
- idSource?: 'params' | 'body';
8
- }): {
9
- access: "secure_main" | "secure_explicit" | "trusted_explicit";
10
- operation: "delete" | "create" | "update" | "list" | "find_one" | "create_many" | "update_many" | "delete_many";
11
- tableName: string;
12
- repository: string;
13
- fieldPermissionsEnforced: boolean;
14
- securityBoundary: string;
15
- typeOrmPartialBody: boolean;
1
+ import type { DynamicRepositoryUsageInput, DynamicRepositoryRuntimeRequirements } from '../types/dynamic-repository-builder.types.js';
2
+ export declare function buildDynamicRepositoryUsage(input: DynamicRepositoryUsageInput): {
16
3
  adaptationRecipes: {
17
4
  serverOwnedField: string;
18
5
  scopedMutation: string;
19
6
  nonUpdatableServerAction: string;
20
7
  customValidation: string;
8
+ lockedUpdate: string;
9
+ lockedRead: string;
21
10
  };
22
11
  code: string;
23
12
  next: string;
13
+ runtimeRequirements?: DynamicRepositoryRuntimeRequirements;
14
+ access: "secure_main" | "secure_explicit" | "trusted_explicit";
15
+ operation: "delete" | "create" | "update" | "list" | "find_one" | "find_locked" | "create_many" | "update_locked" | "update_many" | "delete_many";
16
+ tableName: string;
17
+ repository: string;
18
+ fieldPermissionsEnforced: boolean;
19
+ securityBoundary: string;
20
+ typeOrmPartialBody: boolean;
24
21
  };
25
22
  export declare function registerDynamicRepositoryBuilder(server: any): void;
@@ -40,6 +40,7 @@ export function buildDynamicRepositoryUsage(input) {
40
40
  const idField = requireIdentifier(input.idField || 'id', 'idField');
41
41
  const idExpression = input.idSource === 'body' ? '@BODY.id' : '@PARAMS.id';
42
42
  let code;
43
+ let runtimeRequirements;
43
44
  if (input.operation === 'list') {
44
45
  const fieldNormalization = input.access === 'trusted_explicit'
45
46
  ? ''
@@ -78,6 +79,24 @@ return result`;
78
79
  const record = result.data?.[0] ?? null
79
80
  if (!record) @THROW404("Record not found")
80
81
  return record`;
82
+ }
83
+ else if (input.operation === 'find_locked') {
84
+ if (idField !== 'id')
85
+ throw new Error('find_locked requires a PostgreSQL/MySQL primary-key id. MongoDB lock-only reads are unsupported.');
86
+ runtimeRequirements = {
87
+ databases: ['postgres', 'mysql'],
88
+ requiresOuterTransaction: true,
89
+ verification: 'Verify findLocked through a non-saving test on the deployed Server/Kernel before using this generated source. Keep dependent repository work inside the same outer transaction callback.',
90
+ };
91
+ code = `return await @TRANSACTION.run(async () => {
92
+ const result = await ${repository}.findLocked({
93
+ id: ${idExpression},
94
+ fields: ${fields}
95
+ })
96
+ const record = result.data?.[0] ?? null
97
+ if (!record) @THROW404("Record not found")
98
+ return record
99
+ })`;
81
100
  }
82
101
  else if (input.operation === 'create') {
83
102
  code = `const result = await ${repository}.create({
@@ -108,6 +127,22 @@ return { data: result.data, count: result.count }`;
108
127
 
109
128
  const record = result.data?.[0] ?? null
110
129
  return record`;
130
+ }
131
+ else if (input.operation === 'update_locked') {
132
+ const counterField = requireIdentifier(input.counterField, 'counterField');
133
+ code = `const amount = Number(@BODY.amount)
134
+ if (!Number.isFinite(amount) || amount <= 0) @THROW400("amount must be positive")
135
+
136
+ const result = await ${repository}.updateLocked({
137
+ id: ${idExpression},
138
+ fields: ${fields},
139
+ data: (current) => {
140
+ if (current.${counterField} < amount) @THROW400("Insufficient ${counterField}")
141
+ return { ${counterField}: current.${counterField} - amount }
142
+ }
143
+ })
144
+
145
+ return result.data?.[0] ?? null`;
111
146
  }
112
147
  else if (input.operation === 'update_many') {
113
148
  code = `const ids = @BODY.ids
@@ -129,12 +164,15 @@ if (!Array.isArray(ids) || ids.length === 0) @THROW400("ids must be a non-empty
129
164
  const result = await ${repository}.deleteMany({ ids })
130
165
  return { ok: true, count: result.count }`;
131
166
  }
132
- else {
167
+ else if (input.operation === 'delete') {
133
168
  code = `await ${repository}.delete({ id: ${idExpression} })
134
169
  return { ok: true, id: ${idExpression} }`;
135
170
  }
171
+ else {
172
+ throw new Error('Unsupported repository operation');
173
+ }
136
174
  const fieldPermissionsEnforced = input.access !== 'trusted_explicit';
137
- const typeOrmPartialBody = input.operation === 'create' || input.operation === 'create_many' || input.operation === 'update' || input.operation === 'update_many';
175
+ const typeOrmPartialBody = input.operation === 'create' || input.operation === 'create_many' || input.operation === 'update' || input.operation === 'update_locked' || input.operation === 'update_many';
138
176
  return {
139
177
  access: input.access,
140
178
  operation: input.operation,
@@ -145,11 +183,14 @@ return { ok: true, id: ${idExpression} }`;
145
183
  ? 'Field permissions are enforced by the selected secure repository. Owner, tenant, membership, and route authorization remain separate checks.'
146
184
  : 'This trusted repository bypasses field permissions. Use it only for intentional internal work, request exact fields, enforce authorization explicitly, and never return raw trusted rows.',
147
185
  typeOrmPartialBody,
186
+ ...(runtimeRequirements ? { runtimeRequirements } : {}),
148
187
  adaptationRecipes: {
149
188
  serverOwnedField: 'When the live metadata identifies a server-owned field, adapt the mutation to data: { ...@BODY, <server_owned_field>: @USER.id } so caller input cannot override it.',
150
189
  scopedMutation: 'For endpoint-specific owner/tenant policy, load the target with both id and the owner/tenant filter before update/delete, then perform the repository mutation.',
151
190
  nonUpdatableServerAction: 'Do not change canonical metadata isUpdatable merely so a custom action can write a server-owned field. Prove row scope with a secure lookup, then use a trusted explicit repository for an exact server-controlled write with no raw @BODY and return a shaped response.',
152
191
  customValidation: 'Custom handlers do not inherit canonical column-rule/Zod body middleware. Validate extra business semantics in the handler when required.',
192
+ lockedUpdate: 'updateLocked({ id, fields?, data: current => patch }) takes one object with the same keys as update. data is a callback returning the partial record; fields selects the response. PostgreSQL/MySQL lock the root row; Mongo requires native transactions and may rerun the data callback on conflict. Only plain generic tables are supported. Keep callbacks free of external side effects and repository calls. Set literals and computed values together in the returned patch. Existing outer transactions own commit and Mongo retry. Secure callbacks only receive readable fields. Owner/tenant checks that depend on current state belong inside the data callback.',
193
+ lockedRead: 'findLocked({ id, fields?, deep? }) requires an explicit outer @TRANSACTION.run on PostgreSQL/MySQL. It performs an authorized read with no write or mutation event, retaining the root row lock until outer commit/rollback. Put owner/tenant checks and all dependent repository reads/writes inside that outer callback. A persisted identity can coordinate bootstrap before a balance exists. Related rows, absent rows and post-commit cache/socket publication are separate boundaries; every competing writer must participate. Do not acquire locks by dummy updates. MongoDB/SQLite lock-only reads are unsupported. Verify deployed runtime support before use.',
153
194
  },
154
195
  code,
155
196
  next: 'Adapt only live field, filter, owner/tenant, and domain error details; keep the repository access class, await, result.data shape, and bounded query contract.',
@@ -157,11 +198,12 @@ return { ok: true, id: ${idExpression} }`;
157
198
  }
158
199
  export function registerDynamicRepositoryBuilder(server) {
159
200
  server.tool('build_dynamic_repository_usage', [
160
- 'Generate validated Enfyra dynamic repository code for list, find-one, single or batch create/update/delete.',
201
+ 'Generate validated Enfyra dynamic repository code for list, find-one, findLocked inside an outer transaction, single or batch create/update/delete, and protected updateLocked.',
161
202
  'Use secure_main for a canonical route main table, secure_explicit for user-facing explicit-table access, and trusted_explicit only for intentional internal field-permission bypass.',
162
203
  ].join(' '), {
163
204
  access: z.enum(['secure_main', 'secure_explicit', 'trusted_explicit']).describe('Repository security class. Prefer secure_main or secure_explicit for user-facing code.'),
164
- operation: z.enum(['list', 'find_one', 'create', 'create_many', 'update', 'update_many', 'delete', 'delete_many']).describe('Repository operation. Batch payloads use records, ids plus data, or ids.'),
205
+ operation: z.enum(['list', 'find_one', 'find_locked', 'create', 'create_many', 'update', 'update_locked', 'update_many', 'delete', 'delete_many']).describe('Repository operation. find_locked requires deployed PostgreSQL/MySQL support and generates an outer transaction. update_locked generates a guarded decrement callback and requires counterField.'),
206
+ counterField: z.string().optional().describe('Exact readable/updatable numeric field from live metadata; required for update_locked.'),
165
207
  tableName: z.string().optional().describe('Required for explicit access. Omit for secure_main when the route main table is already known.'),
166
208
  fields: z.array(z.string()).optional().describe('Exact metadata-backed fields to select or return. Defaults to id.'),
167
209
  idField: z.string().optional().default('id').describe('Primary key field used by find_one. Defaults to id; use _id for Mongo metadata when applicable.'),
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-repository-builder.js","sourceRoot":"","sources":["../../src/lib/dynamic-repository-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-repository-builder.js","sourceRoot":"","sources":["../../src/lib/dynamic-repository-builder.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,10 @@ export declare function buildDynamicScriptContextTypeContract(): {
78
78
  declaration: string;
79
79
  guarantee: string;
80
80
  access: string;
81
+ availability: {
82
+ findLocked: string;
83
+ };
84
+ lockedReadGuarantee: string;
81
85
  };
82
86
  services: {
83
87
  '@HELPERS': string[];
@@ -95,10 +95,15 @@ export function buildDynamicScriptContextTypeContract() {
95
95
  'type CollectionResult<T = RuntimeRecord> = { data: T[]; meta?: { totalCount?: number; filterCount?: number; [key: string]: unknown }; count?: number; [key: string]: unknown }',
96
96
  'type RepositoryFindOptions = { filter?: Filter; fields?: string | string[]; limit?: number; sort?: string; meta?: string | string[]; deep?: Record<string, RuntimeRecord> }',
97
97
  'type AggregateOptions = { filter?: Filter; dimensions?: Array<{ field: string; bucket?: "hour" | "day" | "week" | "month" | "year"; timezone?: string }>; measures: Record<string, Record<string, string>>; sort?: Array<{ field: string; direction: "asc" | "desc" }>; page?: number; limit?: number }',
98
- 'interface DynamicRepository { find(options?: RepositoryFindOptions): Promise<CollectionResult>; aggregate(options: AggregateOptions): Promise<CollectionResult>; exists(filter?: Filter): Promise<boolean>; create(options: { data: RuntimeRecord; fields?: string | string[] }): Promise<CollectionResult>; createMany(options: { data: RuntimeRecord[]; fields?: string | string[] }): Promise<CollectionResult & { count: number }>; update(options: { id: Id; data: RuntimeRecord; fields?: string | string[] }): Promise<CollectionResult>; updateMany(options: { ids: Id[]; data: RuntimeRecord; fields?: string | string[] }): Promise<CollectionResult & { count: number }>; delete(options: { id: Id }): Promise<{ message: string; statusCode: 200 }>; deleteMany(options: { ids: Id[] }): Promise<{ message: string; statusCode: 200; count: number }> }',
98
+ 'type UpdatePayload = { data: RuntimeRecord; fields?: string | string[] }',
99
+ 'type LockedUpdateOptions = Omit<UpdatePayload, "data"> & { id: Id; data: (current: RuntimeRecord) => RuntimeRecord | Promise<RuntimeRecord> }',
100
+ 'type LockedReadOptions = { id: Id; fields?: string | string[]; deep?: Record<string, RuntimeRecord> }',
101
+ 'interface DynamicRepository { find(options?: RepositoryFindOptions): Promise<CollectionResult>; findLocked(options: LockedReadOptions): Promise<CollectionResult>; aggregate(options: AggregateOptions): Promise<CollectionResult>; exists(filter?: Filter): Promise<boolean>; create(options: { data: RuntimeRecord; fields?: string | string[] }): Promise<CollectionResult>; createMany(options: { data: RuntimeRecord[]; fields?: string | string[] }): Promise<CollectionResult & { count: number }>; update(options: UpdatePayload & { id: Id }): Promise<CollectionResult>; updateLocked(options: LockedUpdateOptions): Promise<CollectionResult>; updateMany(options: { ids: Id[]; data: RuntimeRecord; fields?: string | string[] }): Promise<CollectionResult & { count: number }>; delete(options: { id: Id }): Promise<{ message: string; statusCode: 200 }>; deleteMany(options: { ids: Id[] }): Promise<{ message: string; statusCode: 200; count: number }> }',
99
102
  ].join('\n'),
100
- guarantee: 'find/create/update and createMany/updateMany return collection-shaped results with data arrays. createMany/updateMany/deleteMany return count. Batch methods are only supported for plain generic tables: they reject metadata/schema routes and tables with custom normalization or lifecycle hooks. updateMany applies one data object to every id and rejects relation payloads. Never guard result.data with Array.isArray. Use result.data[0] after a proven match, or result.data?.[0] ?? null when zero rows is valid.',
103
+ guarantee: 'find/create/update/updateLocked and createMany/updateMany return collection-shaped results with data arrays. updateLocked({ id, fields?, data: current => patch }) keeps the same option keys as update, with data accepting a callback in one protected unit of work: PostgreSQL/MySQL lock the root row; Mongo requires native transactions and can rerun the callback on conflict. Mongo standalone is unsupported. Use it only for plain generic tables and keep callbacks limited to computation and patch return, without external side effects or repository calls. Top-level fields selects the response only. Secure callbacks receive readable fields. An outer transaction owns commit and Mongo retry. createMany/updateMany/deleteMany return count. Batch methods reject metadata/schema routes and custom-lifecycle tables; updateMany rejects relations. Never guard result.data with Array.isArray. Use result.data[0] after a proven match, or result.data?.[0] ?? null when zero rows is valid.',
101
104
  access: '@REPOS.main is the secure current-route repository. @REPOS.secure.<table> and #secure.<table> are secure explicit repositories. @REPOS.<table> and #<table> are trusted explicit repositories.',
105
+ availability: { findLocked: 'Requires deployed Server/Kernel support for native locked reads. Verify with a non-saving target test before authoring live consumers; a local source contract does not prove the deployed method exists.' },
106
+ lockedReadGuarantee: 'findLocked requires an explicit outer transaction on PostgreSQL/MySQL and follows normal read authorization. Its locking read observes current root state even after an earlier MySQL repeatable-read snapshot. It performs no write and emits no mutation event, retaining the root row lock until outer commit/rollback. MongoDB and SQLite lock-only reads are rejected. Missing roots fail; absent rows, related targets and external publication need separate protection. Keep dependent repository operations inside the outer callback and verify deployed support before use.',
102
107
  },
103
108
  services: {
104
109
  '@HELPERS': [
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-script-context-contract.js","sourceRoot":"","sources":["../../src/lib/dynamic-script-context-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-script-context-contract.js","sourceRoot":"","sources":["../../src/lib/dynamic-script-context-contract.ts"],"names":[],"mappings":"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"}
@@ -335,6 +335,8 @@ const DYNAMIC_CODE_SECTIONS = [
335
335
  'Call build_dynamic_repository_usage for list, find-one, create/createMany, update/updateMany, or delete/deleteMany code instead of composing secure/trusted repository syntax and result shapes from memory. Batch methods use one generic-table lifecycle/reload/event boundary: createMany takes data rows, updateMany takes ids plus one shared data object, and deleteMany takes ids. They reject schema/custom-lifecycle tables; updateMany also rejects relation payloads.',
336
336
  'An enfyra_oauth_config sourceCode script runs once per successful provider callback inside the server-owned database transaction after the user and OAuth account are resolved and before session creation. @USER is the persisted resolved user. @DATA.oauth.event is user_created or login; @DATA.oauth.profile contains providerUserId, email, emailVerified, name, givenName, familyName, username, avatarUrl, profileUrl, and locale; provider-specific extras are in claims, while accessToken and token metadata are ephemeral. Perform repository mutations and do not return a value. Failure rolls back the OAuth database unit of work and returns no Enfyra tokens. An unlinked provider identity with the same email as an existing user returns a conflict and is never auto-linked.',
337
337
  'Repository reads use filter, not where.',
338
+ 'Use updateLocked({ id, fields?, data: current => patch }) for read-modify-write on plain generic tables. It keeps update option keys: data accepts a callback returning the partial record, fields controls the response. PostgreSQL/MySQL use locking root reads, including after an earlier MySQL snapshot read, and retain the row lock until outer commit/rollback. Mongo requires native transactions and may rerun the callback after conflict; standalone is unsupported. Enforce conditions on current state inside the pure callback; keep repository orchestration in the outer transaction and external effects after commit. A surrounding transaction owns commit and Mongo retry. Generate a guarded decrement with build_dynamic_repository_usage operation=update_locked and an exact metadata-backed counterField.',
339
+ 'Use findLocked({ id, fields?, deep? }) inside an explicit @TRANSACTION.run to acquire an early PostgreSQL/MySQL row lock without writing, changing timestamps or emitting mutation events. Read authorization still applies. Keep owner/tenant checks and dependent repository work inside the same outer callback; the lock lasts until outer commit/rollback. A persisted identity can protect missing-balance bootstrap when every writer locks that identity. It does not lock absent rows or relation targets and does not order post-commit cache/socket effects. MongoDB/SQLite lock-only reads are rejected. Generate this boundary with build_dynamic_repository_usage operation=find_locked. Verify deployed Server/Kernel support through a non-saving test before use; never substitute dummy updates for a lock-only API.',
338
340
  'For dynamic file upload progress, clients send x-enfyra-upload-id on authenticated multipart requests and listen for $system:upload:progress; @STORAGE.$upload and blob-replacing @STORAGE.$update do not accept onProgress.',
339
341
  'Inside user-facing dynamic scripts, prefer #secure.table_name.find with limit:1 and explicit fields for one-record lookups. If a primary-key id filter fails in a runtime, fetch a small bounded candidate set by a unique business field or use the canonical route/main-table context; do not keep retrying repository id filter shapes.',
340
342
  'Relation filters use relation propertyName values, not physical FK-shaped names. Use { incident: { id: { _eq: id } } }, not { incidentId: { _eq: id } }.',
@@ -1 +1 @@
1
- {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,+EAA+E,CAAC;AACpH,MAAM,CAAC,MAAM,8BAA8B,GAAG,6FAA6F,CAAC;AAC5I,MAAM,CAAC,MAAM,2BAA2B,GAAG,qDAAqD,CAAC;AAEjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC;AAI9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEvD,SAAS,iBAAiB,CAAC,GAAY;IACrC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,mBAAmB,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC;aACpE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAyB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAgB,MAAM;IACjE,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,cAAc,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7F,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAC9D,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,gCAAgC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iJAAiJ,CAAC,CAAC;AAC3L,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+JAA+J,CAAC,CAAC;AACzM,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oJAAoJ,CAAC,CAAC;AAC9L,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAG;IACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,oBAAoB,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,0KAA0K,CAAC,CAAC;IAC9L,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAG;IAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,8BAA8B,CAAC,EAAE,CAAC;QACzH,MAAM,IAAI,KAAK,CAAC,wLAAwL,CAAC,CAAC;IAC5M,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,SAAS,EAAE,GAAG;IAC5D,IAAI,SAAS;QAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAG;IAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,2BAA2B,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,wLAAwL,CAAC,CAAC;IAC5M,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAS,EAAE,GAAG;IAC1D,IAAI,SAAS;QAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAGjG,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAK,gBAAsC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAmB,CAAC;IACpF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,2UAA2U;YAC3U,yPAAyP;YACzP,qPAAqP;YACrP,8TAA8T;YAC9T,4RAA4R;YAC5R,6PAA6P;SAC9P;KACF;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,mEAAmE;YACnE,uJAAuJ;YACvJ,mJAAmJ;SACpJ;KACF;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,8GAA8G;YAC9G,0IAA0I;YAC1I,mPAAmP;YACnP,mLAAmL;YACnL,sNAAsN;YACtN,kEAAkE;YAClE,6OAA6O;SAC9O;KACF;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,wMAAwM;YACxM,+FAA+F;YAC/F,yNAAyN;YACzN,mEAAmE;YACnE,wIAAwI;YACxI,0EAA0E;YAC1E,wFAAwF;YACxF,wFAAwF;YACxF,oHAAoH;YACpH,sFAAsF;YACtF,+HAA+H;YAC/H,4LAA4L;YAC5L,+NAA+N;YAC/N,qJAAqJ;YACrJ,oJAAoJ;SACrJ;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,8KAA8K;YAC9K,gFAAgF;YAChF,4NAA4N;YAC5N,wMAAwM;YACxM,uRAAuR;YACvR,qHAAqH;YACrH,+FAA+F;SAChG;KACF;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE;YACL,wLAAwL;YACxL,iLAAiL;YACjL,yRAAyR;YACzR,oLAAoL;YACpL,0LAA0L;YAC1L,oJAAoJ;SACrJ;KACF;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,sUAAsU;YACtU,uWAAuW;YACvW,kTAAkT;YAClT,6ZAA6Z;YAC7Z,wNAAwN;YACxN,mUAAmU;YACnU,qUAAqU;YACrU,2RAA2R;YAC3R,+UAA+U;YAC/U,4VAA4V;YAC5V,iwBAAiwB;YACjwB,8YAA8Y;SAC/Y;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,+MAA+M;YAC/M,oLAAoL;YACpL,2RAA2R;YAC3R,+RAA+R;YAC/R,gWAAgW;YAChW,yOAAyO;YACzO,uPAAuP;YACvP,+QAA+Q;YAC/Q,kSAAkS;YAClS,kbAAkb;SACnb;KACF;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE;YACL,mYAAmY;YACnY,+MAA+M;YAC/M,+IAA+I;YAC/I,iJAAiJ;YACjJ,wIAAwI;YACxI,uNAAuN;YACvN,waAAwa;YACxa,sQAAsQ;YACtQ,mLAAmL;YACnL,gPAAgP;YAChP,ySAAyS;YACzS,2VAA2V;SAC5V;KACF;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE;YACL,2OAA2O;YAC3O,gIAAgI;YAChI,2SAA2S;YAC3S,2bAA2b;YAC3b,+KAA+K;YAC/K,8LAA8L;YAC9L,uLAAuL;YACvL,uNAAuN;YACvN,6TAA6T;YAC7T,qPAAqP;YACrP,uVAAuV;YACvV,kUAAkU;YAClU,+OAA+O;YAC/O,yLAAyL;YACzL,6OAA6O;YAC7O,yZAAyZ;YACzZ,gVAAgV;YAChV,+KAA+K;YAC/K,2MAA2M;YAC3M,wQAAwQ;YACxQ,ogBAAogB;YACpgB,kIAAkI;YAClI,4NAA4N;YAC5N,0JAA0J;YAC1J,qIAAqI;YACrI,sHAAsH;YACtH,kLAAkL;YAClL,uHAAuH;YACvH,4JAA4J;YAC5J,glBAAglB;YAChlB,iTAAiT;YACjT,yQAAyQ;YACzQ,oIAAoI;SACrI;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE;YACL,6IAA6I;YAC7I,0KAA0K;YAC1K,gUAAgU;YAChU,6KAA6K;SAC9K;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE;YACL,wGAAwG;YACxG,wGAAwG;YACxG,2DAA2D;YAC3D,0JAA0J;SAC3J;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,uIAAuI;YACvI,6UAA6U;YAC7U,+fAA+f;YAC/f,0SAA0S;YAC1S,uNAAuN;YACvN,4QAA4Q;YAC5Q,yJAAyJ;YACzJ,6JAA6J;YAC7J,mLAAmL;YACnL,gRAAgR;YAChR,wHAAwH;YACxH,oHAAoH;SACrH;KACF;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,kHAAkH;YAClH,wJAAwJ;YACxJ,gIAAgI;YAChI,qJAAqJ;YACrJ,uGAAuG;SACxG;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,oFAAoF;YACpF,2HAA2H;YAC3H,yPAAyP;YACzP,sJAAsJ;YACtJ,+QAA+Q;YAC/Q,uVAAuV;YACvV,gQAAgQ;YAChQ,uMAAuM;YACvM,8PAA8P;SAC/P;KACF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE;YACL,mPAAmP;YACnP,mYAAmY;YACnY,gWAAgW;YAChW,+WAA+W;YAC/W,wSAAwS;YACxS,+TAA+T;YAC/T,sQAAsQ;SACvQ;KACF;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE;YACL,wbAAwb;YACxb,qVAAqV;YACrV,mZAAmZ;YACnZ,oSAAoS;YACpS,sUAAsU;YACtU,yYAAyY;YACzY,6PAA6P;YAC7P,wNAAwN;YACxN,iPAAiP;YACjP,yPAAyP;YACzP,qRAAqR;SACtR;KACF;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE;YACL,6FAA6F;YAC7F,6FAA6F;YAC7F,qKAAqK;YACrK,mQAAmQ;SACpQ;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,6DAA6D;YAC7D,4kBAA4kB;YAC5kB,iTAAiT;YACjT,sVAAsV;YACtV,kdAAkd;YACld,owBAAowB;YACpwB,yCAAyC;YACzC,8NAA8N;YAC9N,4UAA4U;YAC5U,0JAA0J;YAC1J,mPAAmP;YACnP,4WAA4W;YAC5W,6WAA6W;YAC7W,qbAAqb;YACrb,uZAAuZ;YACvZ,oXAAoX;YACpX,wXAAwX;YACxX,yiBAAyiB;YACziB,8QAA8Q;YAC9Q,iNAAiN;YACjN,4MAA4M;YAC5M,uSAAuS;YACvS,iUAAiU;YACjU,4KAA4K;YAC5K,qJAAqJ;YACrJ,wNAAwN;YACxN,8GAA8G;YAC9G,0GAA0G;YAC1G,mMAAmM;YACnM,2GAA2G;YAC3G,uOAAuO;YACvO,sdAAsd;YACtd,gKAAgK;YAChK,2IAA2I;YAC3I,wRAAwR;YACxR,+PAA+P;YAC/P,kTAAkT;YAClT,sLAAsL;YACtL,skBAAskB;YACtkB,4LAA4L;SAC7L;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,6RAA6R;YAC7R,sRAAsR;YACtR,kOAAkO;YAClO,uOAAuO;YACvO,mSAAmS;YACnS,oMAAoM;YACpM,8LAA8L;SAC/L;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,qGAAqG;YACrG,kIAAkI;YAClI,gGAAgG;YAChG,mIAAmI;SACpI;KACF;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,yHAAyH;YACzH,sQAAsQ;YACtQ,6RAA6R;YAC7R,iQAAiQ;YACjQ,4pBAA4pB;YAC5pB,kJAAkJ;YAClJ,oLAAoL;YACpL,wQAAwQ;YACxQ,4UAA4U;YAC5U,wHAAwH;SACzH;KACF;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,4RAA4R;YAC5R,qKAAqK;YACrK,qMAAqM;YACrM,+PAA+P;YAC/P,2PAA2P;YAC3P,uLAAuL;YACvL,yKAAyK;YACzK,sQAAsQ;YACtQ,2OAA2O;SAC5O;KACF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE;YACL,qGAAqG;YACrG,0GAA0G;YAC1G,kNAAkN;YAClN,qFAAqF;YACrF,mcAAmc;YACnc,6NAA6N;YAC7N,+QAA+Q;YAC/Q,gRAAgR;YAChR,4WAA4W;YAC5W,qpBAAqpB;YACrpB,wnDAAwnD;YACxnD,yaAAya;YACza,0kBAA0kB;YAC1kB,umBAAumB;YACvmB,sbAAsb;YACtb,2VAA2V;YAC3V,yLAAyL;YACzL,sNAAsN;YACtN,8PAA8P;YAC9P,kPAAkP;YAClP,kkBAAkkB;YAClkB,kLAAkL;YAClL,6bAA6b;YAC7b,sNAAsN;YACtN,yOAAyO;YACzO,sGAAsG;SACvG;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,yNAAyN;YACzN,kJAAkJ;YAClJ,sHAAsH;YACtH,2JAA2J;YAC3J,sUAAsU;SACvU;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAmC;IACtD,IAAI,EAAE,yJAAyJ;IAC/J,MAAM,EAAE,yHAAyH;IACjI,cAAc,EAAE,mKAAmK;IACnL,SAAS,EAAE,4GAA4G;IACvH,IAAI,EAAE,gFAAgF;CACvF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,QAAgB,MAAM;IAClE,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,cAAc,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC;IAChH,MAAM,iBAAiB,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,WAAW,CAAC;IAEpF,MAAM,OAAO,GAAQ;QACnB,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC;QACvC,eAAe,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChI,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnH,IAAI,EAAE,sPAAsP;QAC5P,iBAAiB,EAAE,oBAAoB;QACvC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS;QAC9E,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS;QAC5E,KAAK,EAAE;YACL,+HAA+H;SAChI;QACD,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC9D,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QACrE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,4IAA4I,CAAC,CAAC;IACnK,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,mJAAmJ,CAAC,CAAC;IAC1K,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,+EAA+E,CAAC;AACpH,MAAM,CAAC,MAAM,8BAA8B,GAAG,6FAA6F,CAAC;AAC5I,MAAM,CAAC,MAAM,2BAA2B,GAAG,qDAAqD,CAAC;AAEjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC;AAI9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEvD,SAAS,iBAAiB,CAAC,GAAY;IACrC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,mBAAmB,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC;aACpE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAyB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAgB,MAAM;IACjE,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,cAAc,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7F,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAC9D,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,gCAAgC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iJAAiJ,CAAC,CAAC;AAC3L,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+JAA+J,CAAC,CAAC;AACzM,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oJAAoJ,CAAC,CAAC;AAC9L,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAG;IACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,oBAAoB,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,0KAA0K,CAAC,CAAC;IAC9L,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAG;IAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,8BAA8B,CAAC,EAAE,CAAC;QACzH,MAAM,IAAI,KAAK,CAAC,wLAAwL,CAAC,CAAC;IAC5M,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,SAAS,EAAE,GAAG;IAC5D,IAAI,SAAS;QAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAG;IAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,2BAA2B,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,wLAAwL,CAAC,CAAC;IAC5M,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAS,EAAE,GAAG;IAC1D,IAAI,SAAS;QAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAGjG,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAK,gBAAsC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAmB,CAAC;IACpF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,2UAA2U;YAC3U,yPAAyP;YACzP,qPAAqP;YACrP,8TAA8T;YAC9T,4RAA4R;YAC5R,6PAA6P;SAC9P;KACF;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,mEAAmE;YACnE,uJAAuJ;YACvJ,mJAAmJ;SACpJ;KACF;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,8GAA8G;YAC9G,0IAA0I;YAC1I,mPAAmP;YACnP,mLAAmL;YACnL,sNAAsN;YACtN,kEAAkE;YAClE,6OAA6O;SAC9O;KACF;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,wMAAwM;YACxM,+FAA+F;YAC/F,yNAAyN;YACzN,mEAAmE;YACnE,wIAAwI;YACxI,0EAA0E;YAC1E,wFAAwF;YACxF,wFAAwF;YACxF,oHAAoH;YACpH,sFAAsF;YACtF,+HAA+H;YAC/H,4LAA4L;YAC5L,+NAA+N;YAC/N,qJAAqJ;YACrJ,oJAAoJ;SACrJ;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,8KAA8K;YAC9K,gFAAgF;YAChF,4NAA4N;YAC5N,wMAAwM;YACxM,uRAAuR;YACvR,qHAAqH;YACrH,+FAA+F;SAChG;KACF;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE;YACL,wLAAwL;YACxL,iLAAiL;YACjL,yRAAyR;YACzR,oLAAoL;YACpL,0LAA0L;YAC1L,oJAAoJ;SACrJ;KACF;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,sUAAsU;YACtU,uWAAuW;YACvW,kTAAkT;YAClT,6ZAA6Z;YAC7Z,wNAAwN;YACxN,mUAAmU;YACnU,qUAAqU;YACrU,2RAA2R;YAC3R,+UAA+U;YAC/U,4VAA4V;YAC5V,iwBAAiwB;YACjwB,8YAA8Y;SAC/Y;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,+MAA+M;YAC/M,oLAAoL;YACpL,2RAA2R;YAC3R,+RAA+R;YAC/R,gWAAgW;YAChW,yOAAyO;YACzO,uPAAuP;YACvP,+QAA+Q;YAC/Q,kSAAkS;YAClS,kbAAkb;SACnb;KACF;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE;YACL,mYAAmY;YACnY,+MAA+M;YAC/M,+IAA+I;YAC/I,iJAAiJ;YACjJ,wIAAwI;YACxI,uNAAuN;YACvN,waAAwa;YACxa,sQAAsQ;YACtQ,mLAAmL;YACnL,gPAAgP;YAChP,ySAAyS;YACzS,2VAA2V;SAC5V;KACF;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE;YACL,2OAA2O;YAC3O,gIAAgI;YAChI,2SAA2S;YAC3S,2bAA2b;YAC3b,+KAA+K;YAC/K,8LAA8L;YAC9L,uLAAuL;YACvL,uNAAuN;YACvN,6TAA6T;YAC7T,qPAAqP;YACrP,uVAAuV;YACvV,kUAAkU;YAClU,+OAA+O;YAC/O,yLAAyL;YACzL,6OAA6O;YAC7O,yZAAyZ;YACzZ,gVAAgV;YAChV,+KAA+K;YAC/K,2MAA2M;YAC3M,wQAAwQ;YACxQ,ogBAAogB;YACpgB,kIAAkI;YAClI,4NAA4N;YAC5N,0JAA0J;YAC1J,qIAAqI;YACrI,sHAAsH;YACtH,kLAAkL;YAClL,uHAAuH;YACvH,4JAA4J;YAC5J,glBAAglB;YAChlB,iTAAiT;YACjT,yQAAyQ;YACzQ,oIAAoI;SACrI;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE;YACL,6IAA6I;YAC7I,0KAA0K;YAC1K,gUAAgU;YAChU,6KAA6K;SAC9K;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE;YACL,wGAAwG;YACxG,wGAAwG;YACxG,2DAA2D;YAC3D,0JAA0J;SAC3J;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,uIAAuI;YACvI,6UAA6U;YAC7U,+fAA+f;YAC/f,0SAA0S;YAC1S,uNAAuN;YACvN,4QAA4Q;YAC5Q,yJAAyJ;YACzJ,6JAA6J;YAC7J,mLAAmL;YACnL,gRAAgR;YAChR,wHAAwH;YACxH,oHAAoH;SACrH;KACF;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,kHAAkH;YAClH,wJAAwJ;YACxJ,gIAAgI;YAChI,qJAAqJ;YACrJ,uGAAuG;SACxG;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,oFAAoF;YACpF,2HAA2H;YAC3H,yPAAyP;YACzP,sJAAsJ;YACtJ,+QAA+Q;YAC/Q,uVAAuV;YACvV,gQAAgQ;YAChQ,uMAAuM;YACvM,8PAA8P;SAC/P;KACF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE;YACL,mPAAmP;YACnP,mYAAmY;YACnY,gWAAgW;YAChW,+WAA+W;YAC/W,wSAAwS;YACxS,+TAA+T;YAC/T,sQAAsQ;SACvQ;KACF;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE;YACL,wbAAwb;YACxb,qVAAqV;YACrV,mZAAmZ;YACnZ,oSAAoS;YACpS,sUAAsU;YACtU,yYAAyY;YACzY,6PAA6P;YAC7P,wNAAwN;YACxN,iPAAiP;YACjP,yPAAyP;YACzP,qRAAqR;SACtR;KACF;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE;YACL,6FAA6F;YAC7F,6FAA6F;YAC7F,qKAAqK;YACrK,mQAAmQ;SACpQ;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,6DAA6D;YAC7D,4kBAA4kB;YAC5kB,iTAAiT;YACjT,sVAAsV;YACtV,kdAAkd;YACld,owBAAowB;YACpwB,yCAAyC;YACzC,qyBAAqyB;YACryB,wyBAAwyB;YACxyB,8NAA8N;YAC9N,4UAA4U;YAC5U,0JAA0J;YAC1J,mPAAmP;YACnP,4WAA4W;YAC5W,6WAA6W;YAC7W,qbAAqb;YACrb,uZAAuZ;YACvZ,oXAAoX;YACpX,wXAAwX;YACxX,yiBAAyiB;YACziB,8QAA8Q;YAC9Q,iNAAiN;YACjN,4MAA4M;YAC5M,uSAAuS;YACvS,iUAAiU;YACjU,4KAA4K;YAC5K,qJAAqJ;YACrJ,wNAAwN;YACxN,8GAA8G;YAC9G,0GAA0G;YAC1G,mMAAmM;YACnM,2GAA2G;YAC3G,uOAAuO;YACvO,sdAAsd;YACtd,gKAAgK;YAChK,2IAA2I;YAC3I,wRAAwR;YACxR,+PAA+P;YAC/P,kTAAkT;YAClT,sLAAsL;YACtL,skBAAskB;YACtkB,4LAA4L;SAC7L;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE;YACL,6RAA6R;YAC7R,sRAAsR;YACtR,kOAAkO;YAClO,uOAAuO;YACvO,mSAAmS;YACnS,oMAAoM;YACpM,8LAA8L;SAC/L;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE;YACL,qGAAqG;YACrG,kIAAkI;YAClI,gGAAgG;YAChG,mIAAmI;SACpI;KACF;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE;YACL,yHAAyH;YACzH,sQAAsQ;YACtQ,6RAA6R;YAC7R,iQAAiQ;YACjQ,4pBAA4pB;YAC5pB,kJAAkJ;YAClJ,oLAAoL;YACpL,wQAAwQ;YACxQ,4UAA4U;YAC5U,wHAAwH;SACzH;KACF;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE;YACL,4RAA4R;YAC5R,qKAAqK;YACrK,qMAAqM;YACrM,+PAA+P;YAC/P,2PAA2P;YAC3P,uLAAuL;YACvL,yKAAyK;YACzK,sQAAsQ;YACtQ,2OAA2O;SAC5O;KACF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE;YACL,qGAAqG;YACrG,0GAA0G;YAC1G,kNAAkN;YAClN,qFAAqF;YACrF,mcAAmc;YACnc,6NAA6N;YAC7N,+QAA+Q;YAC/Q,gRAAgR;YAChR,4WAA4W;YAC5W,qpBAAqpB;YACrpB,wnDAAwnD;YACxnD,yaAAya;YACza,0kBAA0kB;YAC1kB,umBAAumB;YACvmB,sbAAsb;YACtb,2VAA2V;YAC3V,yLAAyL;YACzL,sNAAsN;YACtN,8PAA8P;YAC9P,kPAAkP;YAClP,kkBAAkkB;YAClkB,kLAAkL;YAClL,6bAA6b;YAC7b,sNAAsN;YACtN,yOAAyO;YACzO,sGAAsG;SACvG;KACF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE;YACL,yNAAyN;YACzN,kJAAkJ;YAClJ,sHAAsH;YACtH,2JAA2J;YAC3J,sUAAsU;SACvU;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAmC;IACtD,IAAI,EAAE,yJAAyJ;IAC/J,MAAM,EAAE,yHAAyH;IACjI,cAAc,EAAE,mKAAmK;IACnL,SAAS,EAAE,4GAA4G;IACvH,IAAI,EAAE,gFAAgF;CACvF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,QAAgB,MAAM;IAClE,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,cAAc,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC;IAChH,MAAM,iBAAiB,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,WAAW,CAAC;IAEpF,MAAM,OAAO,GAAQ;QACnB,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC;QACvC,eAAe,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChI,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnH,IAAI,EAAE,sPAAsP;QAC5P,iBAAiB,EAAE,oBAAoB;QACvC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS;QAC9E,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS;QAC5E,KAAK,EAAE;YACL,+HAA+H;SAChI;QACD,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC9D,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QACrE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,4IAA4I,CAAC,CAAC;IACnK,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,mJAAmJ,CAAC,CAAC;IAC1K,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,33 @@
1
+ export type IdLike = string | number | boolean | null | undefined;
2
+ export type RefRecord = {
3
+ id?: IdLike;
4
+ _id?: IdLike;
5
+ name?: unknown;
6
+ email?: unknown;
7
+ path?: unknown;
8
+ [key: string]: unknown;
9
+ };
10
+ export type MethodIdNameMap = Record<string, string>;
11
+ export type RouteRecord = RefRecord & {
12
+ availableMethods?: unknown[];
13
+ publicMethods?: unknown[];
14
+ skipRoleGuardMethods?: unknown[];
15
+ methodConfigs?: RefRecord[];
16
+ isEnabled?: unknown;
17
+ };
18
+ export type RoutePermissionRecord = RefRecord & {
19
+ isEnabled?: unknown;
20
+ description?: unknown;
21
+ route?: unknown;
22
+ role?: RefRecord | IdLike;
23
+ allowedUsers?: unknown[];
24
+ methods?: unknown[];
25
+ routeMethodConfigs?: RefRecord[];
26
+ };
27
+ export type RouteAccessExpected = {
28
+ methods?: unknown[];
29
+ roleId?: IdLike;
30
+ roleName?: string;
31
+ roleRequired?: boolean;
32
+ allowedUserIds?: unknown[];
33
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=route-permission.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-permission.types.js","sourceRoot":"","sources":["../../../src/lib/types/route-permission.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export interface DynamicRepositoryUsageInput {
2
+ access: 'secure_main' | 'secure_explicit' | 'trusted_explicit';
3
+ operation: 'list' | 'find_one' | 'find_locked' | 'create' | 'create_many' | 'update' | 'update_locked' | 'update_many' | 'delete' | 'delete_many';
4
+ tableName?: string;
5
+ fields?: string[];
6
+ idField?: string;
7
+ idSource?: 'params' | 'body';
8
+ counterField?: string;
9
+ }
10
+ export interface DynamicRepositoryRuntimeRequirements {
11
+ databases: Array<'postgres' | 'mysql'>;
12
+ requiresOuterTransaction: true;
13
+ verification: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dynamic-repository-builder.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-repository-builder.types.js","sourceRoot":"","sources":["../../src/types/dynamic-repository-builder.types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enfyra/mcp-server",
3
- "version": "0.3.8",
3
+ "version": "0.3.10",
4
4
  "description": "MCP server for Enfyra - manage Enfyra instances from MCP-compatible coding tools",
5
5
  "type": "module",
6
6
  "packageManager": "yarn@4.17.0",