@enfyra/mcp-server 0.3.10 → 0.3.12

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 (63) hide show
  1. package/dist/lib/discovery-tools.js +9 -2
  2. package/dist/lib/discovery-tools.js.map +1 -1
  3. package/dist/lib/dynamic-script-context-contract.d.ts +22 -0
  4. package/dist/lib/dynamic-script-context-contract.js +31 -8
  5. package/dist/lib/dynamic-script-context-contract.js.map +1 -1
  6. package/dist/lib/extension-component-builders.js +13 -11
  7. package/dist/lib/extension-component-builders.js.map +1 -1
  8. package/dist/lib/extension-contract-review.js +1 -1
  9. package/dist/lib/extension-contract-review.js.map +1 -1
  10. package/dist/lib/extension-theme-contract.js +5 -5
  11. package/dist/lib/extension-theme-contract.js.map +1 -1
  12. package/dist/lib/mutation-guards.js +2 -7
  13. package/dist/lib/mutation-guards.js.map +1 -1
  14. package/dist/lib/platform-endpoint-workflow.js +18 -23
  15. package/dist/lib/platform-endpoint-workflow.js.map +1 -1
  16. package/dist/lib/platform-extension-tools.js +4 -1
  17. package/dist/lib/platform-extension-tools.js.map +1 -1
  18. package/dist/lib/platform-route-operations.js +1 -1
  19. package/dist/lib/platform-route-operations.js.map +1 -1
  20. package/dist/lib/required-knowledge.js +15 -12
  21. package/dist/lib/required-knowledge.js.map +1 -1
  22. package/dist/lib/route-access-operations.d.ts +22 -0
  23. package/dist/lib/route-access-operations.js +55 -0
  24. package/dist/lib/route-access-operations.js.map +1 -0
  25. package/dist/lib/route-access-tools.js +25 -40
  26. package/dist/lib/route-access-tools.js.map +1 -1
  27. package/dist/lib/route-permission-tools.d.ts +1 -32
  28. package/dist/lib/route-permission-tools.js +8 -10
  29. package/dist/lib/route-permission-tools.js.map +1 -1
  30. package/dist/lib/runtime-cache.d.ts +2 -2
  31. package/dist/lib/runtime-cache.js +4 -4
  32. package/dist/lib/runtime-cache.js.map +1 -1
  33. package/dist/lib/runtime-zone-registry.js +1 -0
  34. package/dist/lib/runtime-zone-registry.js.map +1 -1
  35. package/dist/lib/schema-mutation-coordinator.d.ts +1 -1
  36. package/dist/lib/schema-mutation-coordinator.js +3 -2
  37. package/dist/lib/schema-mutation-coordinator.js.map +1 -1
  38. package/dist/lib/schema-relation-contracts.d.ts +1 -1
  39. package/dist/lib/schema-relation-contracts.js +19 -9
  40. package/dist/lib/schema-relation-contracts.js.map +1 -1
  41. package/dist/lib/schema-table-tools.js +9 -9
  42. package/dist/lib/schema-table-tools.js.map +1 -1
  43. package/dist/lib/schema-tool-operations.js +6 -2
  44. package/dist/lib/schema-tool-operations.js.map +1 -1
  45. package/dist/lib/script-tools.js +2 -11
  46. package/dist/lib/script-tools.js.map +1 -1
  47. package/dist/lib/tool-runtime-config.d.ts +2 -2
  48. package/dist/lib/tool-runtime-config.js +5 -5
  49. package/dist/lib/tool-runtime-config.js.map +1 -1
  50. package/dist/lib/tool-script-operations.js +1 -1
  51. package/dist/lib/tool-script-operations.js.map +1 -1
  52. package/dist/lib/workflow-definitions.js +5 -4
  53. package/dist/lib/workflow-definitions.js.map +1 -1
  54. package/dist/lib/workspace-state.d.ts +4 -4
  55. package/dist/lib/workspace-state.js +1 -1
  56. package/dist/lib/workspace-state.js.map +1 -1
  57. package/dist/types/route-permission.types.d.ts +41 -0
  58. package/dist/types/route-permission.types.js +2 -0
  59. package/dist/types/route-permission.types.js.map +1 -0
  60. package/dist/types/runtime-cache.types.d.ts +1 -0
  61. package/dist/types/runtime-cache.types.js +2 -0
  62. package/dist/types/runtime-cache.types.js.map +1 -0
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"platform-route-operations.js","sourceRoot":"","sources":["../../src/lib/platform-route-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-route-operations.js","sourceRoot":"","sources":["../../src/lib/platform-route-operations.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,7 @@ const GLOBAL_RULES_SECTIONS = [
138
138
  'Visible UI with an expected backend 403 is a low-risk UX/API boundary and may remain intentional; it must be reported as visible_server_denied, not treated as a permission grant.',
139
139
  'Anonymous server authority over sensitive or secret data is critical even when the UI is visible. Use assess_permission_exposure and require explicit review for high/critical findings.',
140
140
  'For every permission workflow, record the assessed severity and verification evidence in the final result. Never report a UI-only hide as secured.',
141
+ 'Authenticated REST access is owned by available enfyra_route_method_config records and their routePermissions. Use ensure_route_access or api_endpoint_workflow to bind permission.routeMethodConfigs and verify both saved scope/state and inverse method attachment; legacy permission.route plus methods is not runtime authority. Root-admin smoke bypasses RBAC and cannot verify ordinary Member access.',
141
142
  ],
142
143
  },
143
144
  {
@@ -202,7 +203,7 @@ const GLOBAL_RULES_SECTIONS = [
202
203
  'updatedAt is assigned at insert and refreshed by Enfyra on every persisted record update; use it for generic last-mutation or changed-since logic instead of creating lastUpdated/lastModified with the same meaning.',
203
204
  'Create a separate domain timestamp only when its event differs from a record write, such as lastProcessedAt, lastSyncedAt, lastSuccessfulRunAt, publishedAt, or completedAt. For a flow that runs every few minutes, configure a schedule trigger with config.cron; do not add a timestamp column to represent the cadence.',
204
205
  'For one-pass relation-based unique/index constraints, declare the owning relations in the same create_tables item as the constraints. If relations already exist or will be created separately, add those constraints afterward with update_tables.',
205
- 'Use live Enfyra column types, not SQL dialect names. Common safe choices: varchar for short text, text/richtext for long prose, float for price/amount/rating/decimal-like values, int/bigint for counts, boolean, date/datetime/timestamp, enum, simple-json for structured objects/arrays when listed by live metadata, and code for source fields.',
206
+ 'Use live Enfyra column types, not SQL dialect names. Choose from get_schema_design_context for the confirmed database: SQL uses varchar/text, boolean, bigint, float and simple-json; MongoDB uses string, bool, long, double, json/object/array and objectId for _id. MySQL additionally supports longtext; PostgreSQL does not. Semantic enum/code/array-select/richtext remain. Do not send SQL type labels unchanged to MongoDB or infer number/jsonb support.',
206
207
  'For a richtext column, store the eApp editor configuration under column.metadata.richText. The JSON-safe contract includes toolbar, customButtons, and formats with static CSS/classes/attributes; function callbacks and function-valued theme resolvers belong in the eApp source config and cannot be serialized through MCP.',
207
208
  'MCP schema mutations preserve column metadata on create_tables, create_columns, and update_columns. After changing metadata.richText, inspect the exact table metadata to verify the saved editor configuration before claiming it is active.',
208
209
  'Do not use json/jsonb/longtext/decimal unless the live enfyra_column.type enum lists them. The MCP schema tools normalize common aliases where possible and return schemaNormalization.',
@@ -296,8 +297,9 @@ const DYNAMIC_CODE_SECTIONS = [
296
297
  'Keep one responsibility per hook. When a pre-hook or post-hook grows across unrelated concerns, create separate named hooks with explicit method scopes and priorities, then test their order, pre-hook short-circuit behavior, and post-hook error behavior independently. Do not move handler-owned business logic into hooks solely to shorten the handler.',
297
298
  'For flows, prefer multiple named flow steps with one business operation per step. Use fixed query/create/update/delete/http/sleep/trigger/log steps when their static contract is sufficient, and keep each script or condition step focused on the dynamic behavior that fixed steps cannot express. Preserve one transaction boundary when operations truly must be atomic.',
298
299
  'For websocket code, keep the gateway source focused on connection lifecycle, authentication, and room/setup concerns. Put each event contract in its own websocket event record, and move durable, retryable, or scheduled side effects into a flow instead of growing the connection or event script.',
299
- 'Keep OAuth lifecycle and bootstrap scripts focused on their own lifecycle contract. Use local helper functions for cohesive transformations, and split independent work into supported records or flows only when runtime ordering and atomicity remain explicit; do not invent static imports or unsupported shared modules.',
300
- 'After decomposition, inspect and verify every saved handler, hook, flow step, websocket record, OAuth source, or bootstrap source at its own runtime boundary. A passing test for one unit does not prove the ordering or failure behavior of the composed workflow.',
300
+ 'Keep OAuth lifecycle scripts focused on their own lifecycle contract. Use local helper functions for cohesive transformations, and split independent work into supported records or flows only when runtime ordering and atomicity remain explicit; do not invent static imports or unsupported shared modules.',
301
+ 'For shared explicit operations, use named shared helpers without replaying routes; preserve caller authority and atomicity. Verify deployed support and helper-specific data context before extraction.',
302
+ 'After decomposition, inspect and verify every saved handler, hook, flow step, websocket record, or OAuth source at its own runtime boundary. A passing test for one unit does not prove the ordering or failure behavior of the composed workflow.',
301
303
  ],
302
304
  },
303
305
  {
@@ -334,6 +336,7 @@ const DYNAMIC_CODE_SECTIONS = [
334
336
  'Call discover_script_contexts and treat its runtimeTypes section as the authoritative script-visible ESV contract. Do not add typeof, Array.isArray, existence, or callable guards around documented containers, services, methods, or repository result envelopes; validate user-controlled business fields and documented nullable values instead.',
335
337
  '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
338
  '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.',
339
+ 'Shared reusable operations use enfyra_helper and await @HELPERS.run(name, params). Verify deployed metadata/support first. Helpers receive explicit @PARAMS (not implicit input), fresh empty body/query/share/env and null user, retaining caller host-owned repository authority, active transaction, task deadline and shared JavaScript realm. They are not hostile-code sandboxes and do not replay routes/guards/hooks. Author trusted sourceCode/scriptLanguage through generic record CRUD and inspected hash-guarded source tools; compiledCode is server-owned. Unique lowercase names are at most 128 letters/digits/underscores, digit-first allowed; __proto__, prototype, constructor, run, then, catch and finally are reserved. Enabled source must execute; missing/disabled calls fail. Bounds: 1024 definitions/calls per task, depth 32, 4 MiB composed executable. Draft tests have real side effects; nested calls use saved activated definitions. Initialized deployments need newer-release Server bootstrap, never initialization reset.',
337
340
  'Repository reads use filter, not where.',
338
341
  '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
342
  '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.',
@@ -349,13 +352,13 @@ const DYNAMIC_CODE_SECTIONS = [
349
352
  'HTTP streaming response contract: @RES.stream(readable, options?) is the commit boundary for a custom HTTP handler. Direct @RES.stream(upstream.body, ...) starts the public response before the package body is consumed; preflight first when a no-byte upstream must remain retryable. The handler must await @RES.stream(...) and must not return a second JSON payload afterward.',
350
353
  'Streaming options may carry statusCode, mimetype, filename, safe response headers, an optional observer(chunkText, kind), and transform(chunkText, kind). transform receives arbitrary decoded chunk/end fragments before relay: return a string to replace output, null to suppress it, or undefined to preserve it; a transform error fails the stream. Use transform for protocol/body adaptation and observer only for best-effort inspection such as usage collection. Buffer SSE/JSON framing across callbacks and never expose secrets in logs or response data.',
351
354
  'observer and transform run only after @RES.stream starts response relay. They are not preflight/readiness primitives. Set the method timeout high enough for the complete upstream call and stream; any shorter preflight/read timeout is capped by that enclosing deadline.',
352
- 'If the client stops listening, the stream request ends and no second response is sent. Put required audit or billing work in a durable flow instead of relying on code that runs after a disconnected response.',
355
+ 'If the client stops listening, no second response is sent. Attached post-hooks beginning with the literal enfyra:client-disconnect-audit directive may run in a fresh five-second best-effort audit task, never replaying inference/ordinary hooks. @ERROR.origin/statusCode/code is the host-owned first cause (499 client_closed_request, 502 response_stream_error, 504 response_stream_timeout/execution_timeout); stale flags cannot override it. Coordinate audits and successful persistence using Server @API.request.executionId, not caller IDs, under the application transaction/lock, and avoid duplicate failure rows after settlement. Retain authenticated fallback for sparse snapshots. Required durable delivery still needs an outbox/flow; verify deployed support.',
353
356
  'Do not use native fetch, Readable, or AbortController in a dynamic script. For streaming, use an installed Server package and run a successful non-saving end-to-end test before saving the proxy handler.',
354
357
  'Package installation alone is not enough to promise streaming. Verify package request -> preflight first raw chunk -> replay stream -> @RES.stream -> client response for streaming clients, and package request -> bounded readText/readBytes -> validate -> buffered response for buffered clients.',
355
358
  'For streaming proxy handlers, validate method/path/body and allowlist the upstream base URL before making the request; keep API keys server-side, avoid logging raw headers/body, handle upstream and client-disconnect errors, and write usage only from bounded upstream metadata after the response lifecycle is understood.',
356
359
  'When using repository find({ deep }) in handlers/hooks/flows, include each deep relation name in top-level fields, then choose nested fields under deep.<relation>.fields.',
357
360
  'Repository calls are async. Always await secure and trusted repository find/create/update/delete/exists calls; reads return { data: [...], meta? }.',
358
- 'Every @HELPERS method call crosses the async executor bridge and must be awaited before property access, string interpolation, concatenation, or persistence. Example: const id = await @HELPERS.$crypto.randomUUID().',
361
+ 'Built-in @HELPERS methods cross the async executor bridge; named run(name, params) is task-local and async. All must be awaited before property access, string interpolation, concatenation, or persistence. Example: const id = await @HELPERS.$crypto.randomUUID().',
359
362
  'Create/update repository calls return collection-shaped data arrays; read result.data?.[0] for a single row.',
360
363
  '@LOGS is a callable function: use @LOGS(message, details?). It has no .info/.warn/.error/.debug methods.',
361
364
  '@SOCKET has no generic emit() method. Bound websocket scripts use reply, emitToCurrentRoom, or broadcastToRoom; global HTTP/flow scripts use emitToGateway, emitToRoom, emitToUser, or broadcast.',
@@ -399,7 +402,7 @@ const EXTENSION_SECTIONS = [
399
402
  id: 'extension-shell-boundary',
400
403
  rules: [
401
404
  'Extension roots render inside the Enfyra admin app shell. Do not add root-level page padding such as p-4 sm:p-6 xl:p-8.',
402
- 'Every page inherits the native shell centered UContainer capped at 80rem. Use eapp-page-constrained (1000px) or eapp-page-constrained-wide (1200px) for a narrower centered body; do not add custom inset, sticky headers, body scrolling or duplicate root padding.',
405
+ 'Every page inherits the native shell centered UContainer capped at 75rem (1200px). Both eapp-page-constrained and eapp-page-constrained-wide share that cap. The page heading scrolls with the body, without a separate frame; do not add custom inset, sticky headers, body scrolling or duplicate root padding.',
403
406
  'Standalone forms and meaningful data regions use one neutral border with the app radius and the default content background against a quiet neutral workspace in both themes. DataTable and Panel own their frame; keep nested forms/content flat without another decorative card or shadow.',
404
407
  'Use eapp-bordered-region plus caller-owned padding for framed filters, metrics and standalone forms. eapp-surface-card is flattened by shell CSS, including border, background and horizontal padding; adding border/radius classes does not restore its frame.',
405
408
  'Top-level sections use the injected Panel: pass sections, render each section in its named slot, and use #value-header only for that section. The topmost tab strip or header uses the muted surface and divider. Secondary tabs in the content body use native pill UTabs with a rounded neutral tray, solid primary active surface and on-primary text/icons; build_extension_ui kind=tabs input.placement=secondary generates their slot contract. Hidden sections stay mounted by default; the caller owns URL query state. Pill chrome is eApp-owned: never add extension ui/color/radius/indicator overrides, carry header underline styles into pills or nest another framed panel.',
@@ -436,12 +439,12 @@ const EXTENSION_SECTIONS = [
436
439
  'For an ordinary destructive action, call build_extension_ui kind=confirm. It generates useConfirm() -> accepted mutation -> refresh; do not use window.confirm, window.alert, alert, or prompt. Use CommonModal directly only for richer confirmation content or form fields.',
437
440
  'CommonResourceListFrame is supported in extension runtime and renders its default slot when loading is false and hasItems is true. Do not remove it to speculate about swallowed slots; inspect the source artifact, hasItems/items expressions, and API response shape first.',
438
441
  'Lists of records with information fields must use DataTable, including management lists, search results, logs, and record inventories in pages, widgets, drawers, or modals. Do not substitute raw UTable/HTML tables, repeated cards, or CommonResourceListItem rows. Generate with build_extension_ui kind=resource_list and review/save with uiPattern="resource_list".',
439
- 'DataTable is the injected Enfyra wrapper around Nuxt UI UTable. Bind :data, :columns, and :loading for every request; define columns with accessorKey/id and header, use named cell slots such as #status-cell and #actions-cell with row.original, and handle @row-click as the original record. It owns native UTable loading through header progress, without default row skeletons or empty copy while pending. Retain existing rows during same-dataset refreshes and hide stale rows when switching datasets. It also owns empty state, native horizontal scrolling, sorting, selection and column visibility; do not wrap it in CommonResourceListFrame or a duplicate card.',
440
- 'Fetch one bounded server page with explicit display fields and ID; wire page and pageSize to the query and reset page to 1 when filters or pageSize change. Use meta.filterCount for filtered totals and meta.totalCount for unfiltered totals. Do not add client-side pagination to server-paged data. Use DataTable paginationConfig with total/itemsPerPage/showPageSize/loading, v-model:page and @page-size-change for its shared footer. For cursor mode set mode="cursor" and hasNextPage, bind :page and handle @update:page. Select the saved cursor for that page, fetch one extra row to determine Next availability, replace displayed rows and commit the page only after a successful response. Save cursor boundaries for Previous; reset them on filters, page-size or dataset changes. Cursor Previous/Next occupies the same position as numbered controls: centered on mobile and right-aligned on desktop. The built-in DataTable footer owns its mobile-only separator and control styling; raw UPagination outside DataTable keeps Nuxt UI defaults. The main footer stays in-flow; offset mode retains its mini pager by default, and cursor mode retains Previous/Next mini controls on mobile when the main footer is off screen and its table is visible. The mini keeps controls left and range right on one line, with a horizontally scrollable control strip when needed. Set paginationConfig.floating=false to disable it. DataTable remains a horizontally scrollable table on every device, never cards. Do not assemble pagination in #footer, add per-extension pagination CSS, or hide controls on mobile. Persist bounded 10/20/50/100 page sizes using one stable semantic key.',
441
- 'DataTable showColumnVisibility defaults to true for extensions and /data; only built-in Settings tables explicitly opt out with :show-column-visibility="false". Bound ID, status, count/date, and action column widths; numeric IDs use 88px and long string IDs use 224px with ellipsis, while descriptive columns use remaining width. Show status as a badge and put Enable/Disable and destructive actions in a row ellipsis menu.',
442
+ 'DataTable is the injected Enfyra wrapper around Nuxt UI UTable. Bind :data, :columns, and :loading for every request; define columns with accessorKey/id and header, use named cell slots such as #status-cell and #actions-cell with row.original, and handle @row-click as the original record. It owns native UTable loading through header progress, with initial skeletons when pending without rows (page size or 10, custom #loading overrides them), and no empty copy while pending. Retain existing rows during same-dataset refreshes and hide stale rows when switching datasets. It also owns empty state, native horizontal scrolling, sorting, selection and column visibility; do not wrap it in CommonResourceListFrame or a duplicate card.',
443
+ 'Fetch one bounded server page with explicit display fields and ID; wire page and pageSize to the query and reset page to 1 when filters or pageSize change. Use meta.filterCount for filtered totals and meta.totalCount for unfiltered totals. Do not add client-side pagination to server-paged data. Use DataTable paginationConfig with total/itemsPerPage/showPageSize/loading, v-model:page and @page-size-change for its shared footer. For cursor mode set mode="cursor" and hasNextPage, bind :page and handle @update:page. Select the saved cursor for that page, fetch one extra row to determine Next availability, replace displayed rows and commit the page only after a successful response. Save cursor boundaries for Previous; reset them on filters, page-size or dataset changes. Cursor Previous/Next occupies the same position as numbered controls: centered on mobile and right-aligned on desktop. The built-in DataTable footer owns its mobile-only separator and control styling; raw UPagination outside DataTable keeps Nuxt UI defaults. The main footer stays in-flow; offset mode retains its mini pager by default, and cursor mode retains Previous/Next mini controls at all widths when the main footer is off screen and its table is visible. The mini keeps controls left and range right on one line, with a horizontally scrollable control strip when needed. Set paginationConfig.floating=false to disable it. DataTable remains a horizontally scrollable table on every device, never cards. Do not assemble pagination in #footer, add per-extension pagination CSS, or hide controls on mobile. Persist bounded 10/20/50/100 page sizes using one stable semantic key.',
444
+ 'DataTable, DataTableLazy and SettingsTable showColumnVisibility defaults to true; disable only when the workflow intentionally requires it. Bound ID, status, count/date, and action column widths; numeric IDs use 88px and long string IDs use 224px with ellipsis, while descriptive columns use remaining width. Show status as a badge and put Enable/Disable and destructive actions in a row ellipsis menu.',
442
445
  'Cursor DataTable requests are page transitions: :page is the last successful page, and @update:page receives the requested target. Resolve that target in saved cursor history; changing only a numeric page ref while reusing the first-page query is invalid. Fetch itemsPerPage + 1 rows, display only itemsPerPage, derive hasNextPage from the extra row and save the last displayed row as the next boundary. Never append pages or use the lookahead row as the cursor. Commit rows, page and cursor history only after success; preserve the current page on failure and ignore stale responses.',
443
- 'Reset cursor history after a filter, page-size or dataset change. Clear incompatible rows when switching datasets. Previous is disabled on page one, Next when hasNextPage is false, and both while loading. Previous remains available on a final page. Cursor buttons match the 32px page-size select. Below 768px, the scoped fixed mini pager shares those controls and state while the main footer is off screen; floating=false disables it. Existing cursor extensions must migrate their source to hasNextPage and update:page after upgrading; load-more, hasMore and loadedCount are not supported by the current contract.',
444
- 'Build single-dataset table headers with bounded search on the left and native Columns on the right; do not repeat the shell title and description beside search. Use a responsive UFieldGroup with size="sm" input/button and Enter submission. resource_list accepts searchExpression/searchSubmitExpression/searchPlaceholder/searchLabel. Distinct titles remain useful for multiple datasets; put complex filters in one compact neutral region.',
446
+ 'Reset cursor history after a filter, page-size or dataset change. Clear incompatible rows when switching datasets. Previous is disabled on page one, Next when hasNextPage is false, and both while loading. Previous remains available on a final page. Cursor buttons match the 32px page-size select. At all widths, the scoped fixed mini pager shares those controls and state while the main footer is off screen; floating=false disables it. Existing cursor extensions must migrate their source to hasNextPage and update:page after upgrading; load-more, hasMore and loadedCount are not supported by the current contract.',
447
+ 'Build single-dataset table headers with bounded search on the left and native Columns on the right; do not repeat the shell title and description beside search. Use a responsive 32px joined UFieldGroup with size="sm" input/button, a form marked eapp-search-field and Enter submission. Search is full width first below md, pushing other controls below. Optional headerName/showRecordCount/recordCount own dataset title/count; toolbar-actions precedes Columns on the right. Record count falls back from recordCount to paginationConfig.total to current rows; never invent a cursor total. resource_list accepts searchExpression/searchSubmitExpression/searchPlaceholder/searchLabel. Distinct titles remain useful for multiple datasets; put complex filters in one compact neutral region.',
445
448
  'Use build_extension_ui kind=resource_grid only for genuine visual workboards, catalogs, dashboards, or card collections, not as an alternative to an information list. It owns eapp-page-constrained-wide, CommonResourceListFrame variant="plain", one/two/three-column responsive breakpoints, semantic card surfaces, and grid loading/empty behavior.',
446
449
  'Use disabled buttons for temporarily unavailable actions, not completed terminal states. Render completed/granted/handled state as a badge or metadata and omit the unavailable action.',
447
450
  'Dynamic extension templates expose the app empty-state component as <EmptyState>, not <CommonEmptyState>. Prefer the empty_state, resource_list, or resource_grid builder instead of writing either tag from memory.',
@@ -469,7 +472,7 @@ const EXTENSION_SECTIONS = [
469
472
  const SCOPED_PURPOSES = {
470
473
  full: 'Read this before mutating Enfyra metadata, schema, routes, permissions, menus, packages, cache state, dynamic server code, or extension UI through MCP.',
471
474
  schema: 'Read this before mutating Enfyra metadata, schema, table data, routes, permissions, guards, or cache state through MCP.',
472
- 'dynamic-code': 'Read this before writing or mutating dynamic server code (handlers, hooks, flow steps, websocket events, OAuth lifecycle scripts, bootstrap scripts) through MCP.',
475
+ 'dynamic-code': 'Read this before writing or mutating dynamic server code (handlers, hooks, flow steps, websocket events, OAuth lifecycle scripts) through MCP.',
473
476
  extension: 'Read this before writing or mutating Enfyra admin extension UI, menus, or shell registrations through MCP.',
474
477
  flow: 'Read this before creating or mutating Enfyra flows and flow steps through MCP.',
475
478
  };
@@ -1 +1 @@
1
- {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"required-knowledge.js","sourceRoot":"","sources":["../../src/lib/required-knowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { IdLike, MethodIdNameMap, RouteAccessExpected, RouteMethodConfigRecord } from '../types/route-permission.types.js';
2
+ export declare const routePermissionFields = "id,_id,isEnabled,route.id,role.id,role.name,allowedUsers.id,methods.id,methods.name,routeMethodConfigs.id,routeMethodConfigs.route.id,routeMethodConfigs.method.id,routeMethodConfigs.method.name,routeMethodConfigs.available";
3
+ export declare function resolveRoutePermissionBindings(apiUrl: string, routeId: IdLike, methods: string[], methodIdNameMap: MethodIdNameMap): Promise<RouteMethodConfigRecord[]>;
4
+ export declare function saveRoutePermission(apiUrl: string, { routeId, permissionId, methods, methodRefs, methodIdNameMap, scope, isEnabled, description, }: {
5
+ routeId: IdLike;
6
+ permissionId?: IdLike;
7
+ methods: string[];
8
+ methodRefs: Array<{
9
+ id: string | number;
10
+ }>;
11
+ methodIdNameMap: MethodIdNameMap;
12
+ scope: RouteAccessExpected;
13
+ isEnabled: boolean;
14
+ description?: string;
15
+ }): Promise<{
16
+ result: any;
17
+ saved: any;
18
+ routeMethodConfigs: {
19
+ id: any;
20
+ }[];
21
+ verified: boolean;
22
+ }>;
@@ -0,0 +1,55 @@
1
+ import { fetchAPI } from './fetch.js';
2
+ import { fetchRecords } from './platform-data-operations.js';
3
+ import { firstDataRecord, getId, refId, sameId } from './platform-route-operations.js';
4
+ import { methodNamesFromRecords, normalizeMethodNames, routePermissionMatchesScope, sameIdSet } from './route-permission-tools.js';
5
+ export const routePermissionFields = 'id,_id,isEnabled,route.id,role.id,role.name,allowedUsers.id,methods.id,methods.name,routeMethodConfigs.id,routeMethodConfigs.route.id,routeMethodConfigs.method.id,routeMethodConfigs.method.name,routeMethodConfigs.available';
6
+ export async function resolveRoutePermissionBindings(apiUrl, routeId, methods, methodIdNameMap) {
7
+ const configs = await fetchRecords(apiUrl, 'enfyra_route_method_config', {
8
+ route: { id: { _eq: routeId } },
9
+ }, 'id,_id,route.id,method.id,method.name,available,isPublic,skipRoleGuard,routePermissions.id', 1001);
10
+ if (configs.length > 1000)
11
+ throw new Error('Route method configuration limit exceeded.');
12
+ return normalizeMethodNames(methods).map((method) => {
13
+ const matches = configs.filter((config) => sameId(refId(config.route), routeId)
14
+ && config.available === true
15
+ && methodNamesFromRecords([config.method], methodIdNameMap).includes(method));
16
+ if (matches.length !== 1 || getId(matches[0]) == null) {
17
+ throw new Error(`Expected one available route method configuration for ${method}; found ${matches.length}.`);
18
+ }
19
+ return matches[0];
20
+ });
21
+ }
22
+ export async function saveRoutePermission(apiUrl, { routeId, permissionId, methods, methodRefs, methodIdNameMap, scope, isEnabled, description, }) {
23
+ const configs = await resolveRoutePermissionBindings(apiUrl, routeId, methods, methodIdNameMap);
24
+ const body = {
25
+ isEnabled,
26
+ methods: methodRefs,
27
+ routeMethodConfigs: configs.map((config) => ({ id: getId(config) })),
28
+ ...(description !== undefined ? { description } : {}),
29
+ ...(permissionId == null ? {
30
+ route: { id: routeId },
31
+ ...(scope.roleId ? { role: { id: scope.roleId } } : {}),
32
+ ...(scope.allowedUserIds?.length ? { allowedUsers: scope.allowedUserIds.map((id) => ({ id })) } : {}),
33
+ } : {}),
34
+ };
35
+ const result = await fetchAPI(apiUrl, permissionId == null ? '/enfyra_route_permission' : `/enfyra_route_permission/${encodeURIComponent(String(permissionId))}`, {
36
+ method: permissionId == null ? 'POST' : 'PATCH',
37
+ body: JSON.stringify(body),
38
+ });
39
+ const savedId = permissionId ?? getId(firstDataRecord(result));
40
+ if (savedId == null)
41
+ throw new Error('Route permission binding verification failed: saved id is missing.');
42
+ const records = await fetchRecords(apiUrl, 'enfyra_route_permission', { id: { _eq: savedId } }, routePermissionFields, 2);
43
+ const saved = records.find((record) => sameId(getId(record), savedId));
44
+ if (!saved || saved.isEnabled !== isEnabled || !sameId(refId(saved.route), routeId)
45
+ || !routePermissionMatchesScope(saved, scope)
46
+ || !sameIdSet(saved.routeMethodConfigs, configs)) {
47
+ throw new Error('Route permission binding verification failed: saved scope, state or method bindings differ. Inspect the permission before retrying.');
48
+ }
49
+ const verifiedConfigs = await resolveRoutePermissionBindings(apiUrl, routeId, methods, methodIdNameMap);
50
+ if (isEnabled && verifiedConfigs.some((config) => !(config.routePermissions || []).some((permission) => sameId(refId(permission), savedId)))) {
51
+ throw new Error('Route permission binding verification failed: method configuration does not expose the saved permission. Inspect the permission before retrying.');
52
+ }
53
+ return { result, saved, routeMethodConfigs: configs.map((config) => ({ id: getId(config) })), verified: true };
54
+ }
55
+ //# sourceMappingURL=route-access-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-access-operations.js","sourceRoot":"","sources":["../../src/lib/route-access-operations.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  // Import modules
6
- import { fetchAll, firstDataRecord, getId, getMethodIdNameMap, getMethodMap, normalizeRestPath, reloadRoutesResult, resolveMethodIds, sameId } from './enfyra-tool-logic.js';
7
- import { fetchAPI } from './fetch.js';
6
+ import { fetchAll, getId, getMethodIdNameMap, getMethodMap, normalizeRestPath, reloadRoutesResult, resolveMethodIds, sameId } from './enfyra-tool-logic.js';
7
+ import { routePermissionFields, saveRoutePermission } from './route-access-operations.js';
8
8
  import { assertGlobalRulesAck, globalRulesAckParam } from './required-knowledge.js';
9
- import { findRoutePermission, mergeMethodNames, normalizeMethodNames, resolveRoleByNameOrId, routeAvailableMethodNames, routePublicMethodNames, summarizeRouteAccess, summarizeRoutePermission, validateMethodsForRoute, } from './route-permission-tools.js';
9
+ import { findRoutePermission, mergeMethodNames, methodNamesFromRecords, permissionMethodNames, normalizeMethodNames, resolveRoleByNameOrId, routeAvailableMethodNames, routePublicMethodNames, summarizeRouteAccess, validateMethodsForRoute, } from './route-permission-tools.js';
10
10
  export function registerRouteAccessTools(server, ENFYRA_API_URL) {
11
11
  server.tool('audit_route_access', [
12
12
  'Audit route access for one or more routes.',
@@ -27,8 +27,8 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
27
27
  if (roleId && roleName)
28
28
  throw new Error('Provide roleId or roleName, not both.');
29
29
  const [routes, routePermissions, roles, methodIdNameMap] = await Promise.all([
30
- fetchAll('/enfyra_route?limit=1000'),
31
- fetchAll('/enfyra_route_permission?limit=1000'),
30
+ fetchAll('/enfyra_route?limit=1000&fields=id,path,isEnabled,methodConfigs.id,methodConfigs.method.id,methodConfigs.method.name,methodConfigs.available,methodConfigs.isPublic,methodConfigs.skipRoleGuard'),
31
+ fetchAll(`/enfyra_route_permission?limit=1000&fields=${routePermissionFields}`),
32
32
  fetchAll('/enfyra_role?limit=1000'),
33
33
  getMethodIdNameMap(),
34
34
  ]);
@@ -48,7 +48,7 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
48
48
  const payload = {
49
49
  guidance: {
50
50
  publicAccess: 'publicMethods bypass RoleGuard and do not require enfyra_route_permission.',
51
- authenticatedAccess: 'For non-public methods, Enfyra admin UI PermissionGate and backend RoleGuard both expect enabled enfyra_route_permission rows with matching route + HTTP method.',
51
+ authenticatedAccess: 'For non-public methods, Enfyra admin UI PermissionGate and backend RoleGuard both require enabled permissions bound to the exact available routeMethodConfigs; legacy route + methods alone do not grant backend access.',
52
52
  directUserAccess: 'allowedRoutePermissions on /me represent direct user-scoped route permissions; role.routePermissions represent role-scoped permissions.',
53
53
  },
54
54
  expectedScope: {
@@ -68,7 +68,7 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
68
68
  });
69
69
  server.tool('ensure_route_access', [
70
70
  'Create or update authenticated route access for one role/user scope.',
71
- 'Use this instead of raw enfyra_route_permission CRUD when fixing 403s. It resolves roleName/route/method ids, validates route.availableMethods, merges existing permission methods by default, and reloads routes.',
71
+ 'Use this instead of raw enfyra_route_permission CRUD when fixing 403s. It resolves roleName/route/method ids, validates available method configurations, merges existing permission bindings by default, and verifies saved routeMethodConfigs plus inverse method permissions before reloading routes.',
72
72
  ].join(' '), {
73
73
  path: z.string().optional().describe('Route path, e.g. /orders'),
74
74
  routeId: z.union([z.string(), z.number()]).optional().describe('Route id. Use either path or routeId.'),
@@ -88,12 +88,14 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
88
88
  throw new Error('Provide path or routeId, not both.');
89
89
  if (roleId && roleName)
90
90
  throw new Error('Provide roleId or roleName, not both.');
91
+ if (!methods.length)
92
+ throw new Error('Provide at least one HTTP method.');
91
93
  if (!roleId && !roleName && (!allowedUserIds || allowedUserIds.length === 0)) {
92
94
  throw new Error('Provide roleId, roleName, or allowedUserIds.');
93
95
  }
94
96
  const [routes, routePermissions, roles, methodMap, methodIdNameMap] = await Promise.all([
95
- fetchAll('/enfyra_route?limit=1000'),
96
- fetchAll('/enfyra_route_permission?limit=1000'),
97
+ fetchAll('/enfyra_route?limit=1000&fields=id,path,isEnabled,methodConfigs.id,methodConfigs.method.id,methodConfigs.method.name,methodConfigs.available,methodConfigs.isPublic,methodConfigs.skipRoleGuard'),
98
+ fetchAll(`/enfyra_route_permission?limit=1000&fields=${routePermissionFields}`),
97
99
  fetchAll('/enfyra_role?limit=1000'),
98
100
  getMethodMap(),
99
101
  getMethodIdNameMap(),
@@ -108,42 +110,23 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
108
110
  };
109
111
  const requestedMethods = validateMethodsForRoute(route, methods, methodMap, methodIdNameMap);
110
112
  const existing = findRoutePermission(routePermissions, getId(route), scope);
111
- const existingMethods = existing ? summarizeRoutePermission(existing, methodIdNameMap).methods : [];
113
+ const existingMethods = existing ? mergeMethodNames(permissionMethodNames(existing, methodIdNameMap), methodNamesFromRecords(existing.methods || [], methodIdNameMap)) : [];
112
114
  const finalMethods = mergeMethodNames(existingMethods, requestedMethods, mode);
113
115
  const methodRefs = resolveMethodIds(methodMap, finalMethods);
114
116
  const publicMethods = routePublicMethodNames(route, methodIdNameMap);
115
117
  const alreadyPublic = requestedMethods.filter((method) => publicMethods.includes(method));
116
- let result;
117
- let action;
118
- if (existing) {
119
- action = 'updated';
120
- const patchBody = {
121
- isEnabled,
122
- methods: methodRefs,
123
- ...(description !== undefined ? { description } : {}),
124
- };
125
- result = await fetchAPI(ENFYRA_API_URL, `/enfyra_route_permission/${encodeURIComponent(String(getId(existing)))}`, {
126
- method: 'PATCH',
127
- body: JSON.stringify(patchBody),
128
- });
129
- }
130
- else {
131
- action = 'created';
132
- const createBody = {
133
- isEnabled,
134
- description,
135
- route: { id: getId(route) },
136
- methods: methodRefs,
137
- ...(scope.roleId ? { role: { id: scope.roleId } } : {}),
138
- ...(scope.allowedUserIds.length ? { allowedUsers: scope.allowedUserIds.map((id) => ({ id })) } : {}),
139
- };
140
- result = await fetchAPI(ENFYRA_API_URL, '/enfyra_route_permission', {
141
- method: 'POST',
142
- body: JSON.stringify(createBody),
143
- });
144
- }
118
+ const { result, saved, routeMethodConfigs, verified } = await saveRoutePermission(ENFYRA_API_URL, {
119
+ routeId: getId(route),
120
+ permissionId: getId(existing),
121
+ methods: finalMethods,
122
+ methodRefs,
123
+ methodIdNameMap,
124
+ scope,
125
+ isEnabled,
126
+ description,
127
+ });
128
+ const action = existing ? 'updated' : 'created';
145
129
  const routeReload = await reloadRoutesResult();
146
- const saved = firstDataRecord(result);
147
130
  const payload = {
148
131
  action,
149
132
  kind: 'route_access',
@@ -160,6 +143,8 @@ export function registerRouteAccessTools(server, ENFYRA_API_URL) {
160
143
  permission: {
161
144
  id: getId(saved) || getId(existing),
162
145
  methods: finalMethods,
146
+ routeMethodConfigs,
147
+ verified,
163
148
  alreadyPublic,
164
149
  isEnabled,
165
150
  },
@@ -1 +1 @@
1
- {"version":3,"file":"route-access-tools.js","sourceRoot":"","sources":["../../src/lib/route-access-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-access-tools.js","sourceRoot":"","sources":["../../src/lib/route-access-tools.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,4 @@
1
- type IdLike = string | number | boolean | null | undefined;
2
- type RefRecord = {
3
- id?: IdLike;
4
- _id?: IdLike;
5
- name?: unknown;
6
- email?: unknown;
7
- path?: unknown;
8
- [key: string]: unknown;
9
- };
10
- type MethodIdNameMap = Record<string, string>;
11
- type RouteRecord = RefRecord & {
12
- availableMethods?: unknown[];
13
- publicMethods?: unknown[];
14
- skipRoleGuardMethods?: unknown[];
15
- isEnabled?: unknown;
16
- };
17
- type RoutePermissionRecord = RefRecord & {
18
- isEnabled?: unknown;
19
- description?: unknown;
20
- route?: unknown;
21
- role?: RefRecord | IdLike;
22
- allowedUsers?: unknown[];
23
- methods?: unknown[];
24
- };
25
- type RouteAccessExpected = {
26
- methods?: unknown[];
27
- roleId?: IdLike;
28
- roleName?: string;
29
- roleRequired?: boolean;
30
- allowedUserIds?: unknown[];
31
- };
1
+ import type { IdLike, RefRecord, MethodIdNameMap, RouteRecord, RoutePermissionRecord, RouteAccessExpected } from '../types/route-permission.types.js';
32
2
  export declare function normalizeMethodName(method: unknown): string;
33
3
  export declare function normalizeMethodNames(methods?: unknown[]): string[];
34
4
  export declare function getRecordId(record: unknown): IdLike;
@@ -88,4 +58,3 @@ export declare function summarizeRouteAccess(route: RouteRecord, routePermission
88
58
  missingMethods: string[];
89
59
  };
90
60
  };
91
- export {};