Skip to content

chore(deps): bump @objectstack/spec from 14.3.0 to 14.6.0 - #2432

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/npm_and_yarn/objectstack/spec-14.6.0
Jul 13, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
dependabot/npm_and_yarn/objectstack/spec-14.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

Bumps @objectstack/spec from 14.3.0 to 14.6.0.

Release notes

Sourced from @​objectstack/spec's releases.

@​objectstack/spec@​14.6.0

Patch Changes

  • 609cb13: Action params gain a visible predicate; the create-user phoneNumber param is gated on features.phoneNumber.

    ActionParamSchema gains an optional visible (CEL, ExpressionInputSchema) evaluated against the same scope as action visible (current_user/app/data/features); a UI that honors it omits the param when it's false. The sys_user create_user action's phoneNumber param now carries visible: 'features.phoneNumber == true', so the form no longer offers a Phone Number field when the opt-in phoneNumber auth plugin is off — otherwise the endpoint rejects it with "Phone numbers require the phoneNumber auth plugin". Pairs with the objectui ActionParamDialog change that evaluates param.visible.

  • ce6d151: fix(driver-sql): fail-loud on unknown filter operators; real IS NULL / IS NOT NULL; $not support (#2704)

    The SQL driver used to forward any filter operator it didn't recognise straight to Knex. On a null comparand that silently compiled to a whole-table match, so a permission/assignment-scoped list view could leak every row (e.g. an is_null / is_empty operator from the client). It also had no real null-check: field = null never renders IS NULL in SQL.

    This change makes the driver:

    • Render null predicates as real SQL — is_null / isnull / is_empty (and the not-null variants) → IS NULL / IS NOT NULL, unified with equals + null; != null → IS NOT NULL.
    • Support the full spec operator set plus client alias spellings across both filter shapes (array [field, op, value] and object {field: {$op: value}}): $between, $startsWith, $endsWith, $notContains, $null, $exists, and the logical $not (a negated sub-condition, matching driver-mongodb / driver-memory — CEL !expr permission scopes compile to it).
    • LIKE-escape contains / startsWith / endsWith values with an explicit ESCAPE '\' so % / _ in user input can't widen the match.
    • Throw on a genuinely unknown operator in both paths instead of silently passing it through — no more silent whole-table results.

    @objectstack/spec recognises the client alias operator spellings (isnull / is_empty / …) in VALID_AST_OPERATORS and maps them to $null so the array-AST → object-filter conversion is consistent with the driver.

@​objectstack/spec@​14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (#2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.
  • d79ca07: ADR-0090 D10 — activate the agent principal (OAuth → principalKind:'agent' + scope-derived ceiling). This wires the producer side of the D10 intersection that shipped in #2838, so it stops being dormant: an MCP request authenticated with an OAuth access token is now resolved as an AI agent acting on behalf of the human sub, and its effective permission is the intersection of a scope-derived capability ceiling AND the user's own grants.

    • resolve-execution-context (producer): when a verified MCP OAuth token names an authorized client (azp), the request resolves to principalKind:'agent' with onBehalfOf:{ userId } (the human), and the agent's OWN grants are replaced by the scope-derived ceiling — data:read → read-only, data:write → full CRUD, neither → no data access. userId stays the human so owner-stamping and current_user.* RLS resolve to them; the user-derived systemPermissions are cleared so a cap-gated action can't ride the user's capabilities. A token without a client stays a human principal.
    • plugin-security: three built-in ceiling sets (mcp_agent_data_read / mcp_agent_data_write / mcp_agent_restricted) — pure CRUD bits, no row-level security (all row/owner/tenant narrowing comes from the delegating user on the other side of the intersection). An agent principal skips the additive human baseline (member_default) — its grants are exactly its ceiling — and its fallback is the restricted (no-object-access) set, so a mis-resolved agent fails CLOSED, never open.
    • spec: MCP_AGENT_PERMISSION_SET_* names + scopesToAgentPermissionSets(), single-sourced next to the OAuth scope constants.

... (truncated)

Changelog

Sourced from @​objectstack/spec's changelog.

14.6.0

Patch Changes

  • 609cb13: Action params gain a visible predicate; the create-user phoneNumber param is gated on features.phoneNumber.

    ActionParamSchema gains an optional visible (CEL, ExpressionInputSchema) evaluated against the same scope as action visible (current_user/app/data/features); a UI that honors it omits the param when it's false. The sys_user create_user action's phoneNumber param now carries visible: 'features.phoneNumber == true', so the form no longer offers a Phone Number field when the opt-in phoneNumber auth plugin is off — otherwise the endpoint rejects it with "Phone numbers require the phoneNumber auth plugin". Pairs with the objectui ActionParamDialog change that evaluates param.visible.

  • ce6d151: fix(driver-sql): fail-loud on unknown filter operators; real IS NULL / IS NOT NULL; $not support (#2704)

    The SQL driver used to forward any filter operator it didn't recognise straight to Knex. On a null comparand that silently compiled to a whole-table match, so a permission/assignment-scoped list view could leak every row (e.g. an is_null / is_empty operator from the client). It also had no real null-check: field = null never renders IS NULL in SQL.

    This change makes the driver:

    • Render null predicates as real SQL — is_null / isnull / is_empty (and the not-null variants) → IS NULL / IS NOT NULL, unified with equals + null; != null → IS NOT NULL.
    • Support the full spec operator set plus client alias spellings across both filter shapes (array [field, op, value] and object {field: {$op: value}}): $between, $startsWith, $endsWith, $notContains, $null, $exists, and the logical $not (a negated sub-condition, matching driver-mongodb / driver-memory — CEL !expr permission scopes compile to it).
    • LIKE-escape contains / startsWith / endsWith values with an explicit ESCAPE '\' so % / _ in user input can't widen the match.
    • Throw on a genuinely unknown operator in both paths instead of silently passing it through — no more silent whole-table results.

    @objectstack/spec recognises the client alias operator spellings (isnull / is_empty / …) in VALID_AST_OPERATORS and maps them to $null so the array-AST → object-filter conversion is consistent with the driver.

14.5.0

Minor Changes

  • 526805e: ADR-0057 data-lifecycle follow-ups (#2834): the per-plugin retention sweepers are retired, telemetry separation goes live in dev, and the lifecycle contract reaches the Studio.

    • BREAKING (ships as minor per the launch-window convention): JobRunRetention / NotificationRetention and the retentionDays / retentionSweepMs options on JobServicePlugin / MessagingServicePlugin are removed. The platform LifecycleService enforces the same windows from the lifecycle declarations (sys_job_run 30d, notification pipeline 90d); tune them at runtime via the lifecycle settings namespace (retention_overrides, tenant-scoped).
    • Fix: sys_automation_run no longer declares a blanket 30d lifecycle retention — that table interleaves live SUSPENDED runs (an approval may stay paused for months) with terminal history, and a blanket age reap could strand in-flight approvals. Bounding stays with the automation store's terminal-only sweep.
    • CLI: objectstack dev now provisions a dedicated telemetry datasource (<primary>.telemetry.db) for file-backed SQLite primaries, so lifecycle-classed system data stops sharing the business dev DB (OS_TELEMETRY_DB=0 opts out; OS_TELEMETRY_DB=<path> opts in anywhere). New os db clean runs the one-time VACUUM that lets legacy files adopt auto_vacuum=INCREMENTAL and reports reclaimed bytes.
    • Studio: the object metadata form exposes the lifecycle block (class + retention/TTL/rotation/archive/reclaim); metadata-forms i18n bundles regenerated with curated zh-CN translations.
  • d79ca07: ADR-0090 D10 — activate the agent principal (OAuth → principalKind:'agent' + scope-derived ceiling). This wires the producer side of the D10 intersection that shipped in #2838, so it stops being dormant: an MCP request authenticated with an OAuth access token is now resolved as an AI agent acting on behalf of the human sub, and its effective permission is the intersection of a scope-derived capability ceiling AND the user's own grants.

    • resolve-execution-context (producer): when a verified MCP OAuth token names an authorized client (azp), the request resolves to principalKind:'agent' with onBehalfOf:{ userId } (the human), and the agent's OWN grants are replaced by the scope-derived ceiling — data:read → read-only, data:write → full CRUD, neither → no data access. userId stays the human so owner-stamping and current_user.* RLS resolve to them; the user-derived systemPermissions are cleared so a cap-gated action can't ride the user's capabilities. A token without a client stays a human principal.
    • plugin-security: three built-in ceiling sets (mcp_agent_data_read / mcp_agent_data_write / mcp_agent_restricted) — pure CRUD bits, no row-level security (all row/owner/tenant narrowing comes from the delegating user on the other side of the intersection). An agent principal skips the additive human baseline (member_default) — its grants are exactly its ceiling — and its fallback is the restricted (no-object-access) set, so a mis-resolved agent fails CLOSED, never open.

... (truncated)

Commits
  • c7cb85b chore: version packages (#2877)
  • ce6d151 fix(driver-sql): fail-loud on unknown filter operators; real IS NULL / IS NOT...
  • 9efaaf7 Merge branch 'main' of https://github.com/objectstack-ai/framework
  • 4ab16f8 pnpm upgrade
  • 609cb13 feat(spec,platform-objects): action param 'visible' predicate; gate create-us...
  • 703099a chore: version packages
  • 01274eb fix(sharing): verified authz on share-link routes (#2851) (#2853)
  • c044f08 fix(settings): verified authz on settings routes — close unauthenticated writ...
  • e723ac5 test(spec): field-level contract lock for explain / access-matrix schemas (#2...
  • d79ca07 feat(security): ADR-0090 D10 — activate agent principal (OAuth → scope ceilin...
  • Additional commits viewable in compare view

@dependabot @github

dependabot Bot commented on behalf of github Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: automated. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@vercel

vercel Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectui Ignored Ignored Jul 13, 2026 8:24am

Request Review

Bumps [@objectstack/spec](https://github.com/objectstack-ai/framework/tree/HEAD/packages/spec) from 14.3.0 to 14.6.0.
- [Release notes](https://github.com/objectstack-ai/framework/releases)
- [Changelog](https://github.com/objectstack-ai/framework/blob/main/packages/spec/CHANGELOG.md)
- [Commits](https://github.com/objectstack-ai/framework/commits/@objectstack/spec@14.6.0/packages/spec)

---
updated-dependencies:
- dependency-name: "@objectstack/spec"
  dependency-version: 14.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/objectstack/spec-14.6.0 branch from ff26551 to c7acce2 Compare July 13, 2026 08:24
@github-actions

Copy link
Copy Markdown
Contributor

❌ Console Performance Budget

Metric Value Budget
Main entry (gzip) ** KB** KB
Entry file `` —
Status FAIL —

📦 Bundle Size Report

Package Size Gzipped
app-shell (index.js) 7.84KB 2.85KB
app-shell (runtime-config.js) 7.42KB 2.32KB
app-shell (types.js) 0.01KB 0.04KB
app-shell (urlParams.js) 7.57KB 2.97KB
auth (AuthContext.js) 0.31KB 0.24KB
auth (AuthGuard.js) 1.17KB 0.53KB
auth (AuthProvider.js) 21.70KB 4.21KB
auth (AuthShell.js) 3.49KB 1.40KB
auth (ForgotPasswordForm.js) 12.12KB 3.41KB
auth (LoginForm.js) 16.53KB 4.84KB
auth (PreviewBanner.js) 0.90KB 0.50KB
auth (RegisterForm.js) 6.63KB 2.15KB
auth (SocialSignInButtons.js) 8.89KB 3.61KB
auth (UserMenu.js) 3.40KB 1.22KB
auth (auth-gate-events.js) 1.29KB 0.66KB
auth (authStyles.js) 5.04KB 1.72KB
auth (createAuthClient.js) 29.64KB 7.14KB
auth (createAuthenticatedFetch.js) 3.93KB 1.55KB
auth (index.js) 1.83KB 0.79KB
auth (phone-identifier.js) 1.11KB 0.66KB
auth (types.js) 0.59KB 0.35KB
auth (useAuth.js) 4.86KB 0.85KB
auth (useIsWorkspaceAdmin.js) 1.61KB 0.85KB
collaboration (CommentThread.js) 18.38KB 4.49KB
collaboration (LiveCursors.js) 3.17KB 1.27KB
collaboration (PresenceAvatars.js) 3.65KB 1.42KB
collaboration (PresenceProvider.js) 2.42KB 0.96KB
collaboration (index.js) 1.25KB 0.53KB
collaboration (useCommentSearch.js) 1.98KB 0.88KB
collaboration (useConflictResolution.js) 7.75KB 1.86KB
collaboration (useMentionNotifications.js) 1.81KB 0.68KB
collaboration (usePresence.js) 6.33KB 1.84KB
collaboration (useRealtimeSubscription.js) 7.91KB 2.01KB
components (index.js) 441.56KB 95.29KB
core (index.js) 1.65KB 0.59KB
create-plugin (index.js) 9.28KB 2.98KB
data-objectstack (index.js) 113.70KB 28.15KB
fields (index.js) 202.54KB 49.50KB
i18n (LocalizationContext.js) 1.76KB 0.96KB
i18n (currency.js) 1.22KB 0.64KB
i18n (i18n.js) 4.32KB 1.77KB
i18n (index.js) 2.46KB 0.96KB
i18n (pickLocalized.js) 1.31KB 0.67KB
i18n (provider.js) 5.37KB 1.72KB
i18n (useObjectLabel.js) 21.15KB 4.68KB
i18n (useSafeTranslation.js) 2.68KB 0.98KB
layout (index.js) 38.41KB 10.65KB
mobile (MobileProvider.js) 0.92KB 0.49KB
mobile (ResponsiveContainer.js) 0.94KB 0.38KB
mobile (breakpoints.js) 1.51KB 0.70KB
mobile (createOfflineDataSource.js) 5.61KB 1.74KB
mobile (index.js) 1.50KB 0.62KB
mobile (offlineQueue.js) 3.91KB 1.35KB
mobile (pwa.js) 0.97KB 0.49KB
mobile (serviceWorker.js) 1.48KB 0.62KB
mobile (serviceWorkerSource.js) 3.41KB 1.48KB
mobile (useBreakpoint.js) 1.54KB 0.65KB
mobile (useGesture.js) 4.42KB 1.27KB
mobile (useOfflineSync.js) 1.99KB 0.72KB
mobile (usePullToRefresh.js) 2.53KB 0.85KB
mobile (useResponsive.js) 0.71KB 0.42KB
mobile (useResponsiveConfig.js) 1.36KB 0.63KB
mobile (useSpecGesture.js) 1.77KB 0.77KB
mobile (useTouchTarget.js) 1.01KB 0.54KB
permissions (MePermissionsProvider.js) 5.09KB 1.84KB
permissions (PermissionContext.js) 0.31KB 0.25KB
permissions (PermissionGuard.js) 0.89KB 0.45KB
permissions (PermissionProvider.js) 3.46KB 1.03KB
permissions (evaluator.js) 4.00KB 1.23KB
permissions (index.js) 0.91KB 0.41KB
permissions (store.js) 0.91KB 0.42KB
permissions (useFieldPermissions.js) 1.28KB 0.52KB
permissions (usePermissions.js) 1.50KB 0.70KB
plugin-ai (index.js) 15.71KB 3.79KB
plugin-calendar (index.js) 45.12KB 12.34KB
plugin-charts (index.js) 46.31KB 13.06KB
plugin-chatbot (index.js) 173.87KB 41.48KB
plugin-dashboard (index.js) 108.35KB 26.87KB
plugin-designer (index.js) 213.94KB 43.03KB
plugin-detail (index.js) 210.08KB 50.68KB
plugin-editor (index.js) 2.46KB 1.10KB
plugin-form (index.js) 104.26KB 25.24KB
plugin-gantt (index.js) 137.26KB 34.03KB
plugin-grid (index.js) 171.84KB 45.38KB
plugin-kanban (index.js) 48.16KB 12.94KB
plugin-list (index.js) 98.18KB 23.16KB
plugin-map (index.js) 16.80KB 5.24KB
plugin-markdown (index.js) 13.65KB 4.67KB
plugin-report (index.js) 37.82KB 9.96KB
plugin-timeline (index.js) 25.37KB 7.20KB
plugin-tree (index.js) 8.21KB 2.76KB
plugin-view (index.js) 85.47KB 20.80KB
providers (DataSourceProvider.js) 0.75KB 0.39KB
providers (MetadataProvider.js) 1.37KB 0.59KB
providers (ThemeProvider.js) 1.55KB 0.67KB
providers (UploadProvider.js) 11.71KB 3.53KB
providers (index.js) 0.44KB 0.22KB
providers (types.js) 0.01KB 0.04KB
react-runtime (index.js) 3.19KB 1.38KB
react (LazyPluginLoader.js) 3.77KB 1.33KB
react (SchemaRenderer.js) 18.23KB 5.97KB
react (data-invalidation.js) 5.05KB 2.08KB
react (index.js) 0.79KB 0.43KB
sdui-parser (codegen.js) 4.09KB 1.74KB
sdui-parser (index.js) 2.16KB 0.94KB
sdui-parser (parse.js) 10.04KB 2.82KB
sdui-parser (types.js) 0.29KB 0.24KB
sdui-parser (validate.js) 4.69KB 1.48KB
tenant (TenantContext.js) 0.31KB 0.25KB
tenant (TenantGuard.js) 1.04KB 0.43KB
tenant (TenantProvider.js) 2.76KB 0.98KB
tenant (TenantScopedQuery.js) 0.77KB 0.44KB
tenant (index.js) 0.75KB 0.38KB
tenant (resolver.js) 2.64KB 0.76KB
tenant (useTenant.js) 0.50KB 0.32KB
tenant (useTenantBranding.js) 0.62KB 0.39KB
types (ai.js) 0.20KB 0.17KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 2.87KB 0.99KB
types (base.js) 0.20KB 0.18KB
types (blocks.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data-protocol.js) 0.20KB 0.19KB
types (data.js) 0.20KB 0.18KB
types (designer.js) 0.77KB 0.41KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (field-types.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 1.54KB 0.68KB
types (layout.js) 0.20KB 0.18KB
types (mobile.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (permissions.js) 0.20KB 0.18KB
types (plugin-scope.js) 0.20KB 0.18KB
types (record-components.js) 0.20KB 0.19KB
types (registry.js) 0.20KB 0.18KB
types (reports.js) 0.20KB 0.18KB
types (spec-report.js) 5.26KB 1.96KB
types (tenant.js) 0.20KB 0.18KB
types (theme.js) 0.20KB 0.18KB
types (ui-action.js) 0.75KB 0.46KB
types (views.js) 0.20KB 0.18KB
types (widget.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@github-actions
github-actions Bot merged commit 3502092 into main Jul 13, 2026
5 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/objectstack/spec-14.6.0 branch July 13, 2026 08:25
@github-actions

Copy link
Copy Markdown
Contributor

✅ Console Performance Budget

Metric Value Budget
Main entry (gzip) 26.5 KB 350 KB
Entry file index-CRjmevfq.js —
Status PASS —

📦 Bundle Size Report

Package Size Gzipped
app-shell (index.js) 7.84KB 2.85KB
app-shell (runtime-config.js) 7.42KB 2.32KB
app-shell (types.js) 0.01KB 0.04KB
app-shell (urlParams.js) 7.57KB 2.97KB
auth (AuthContext.js) 0.31KB 0.24KB
auth (AuthGuard.js) 1.17KB 0.53KB
auth (AuthProvider.js) 21.70KB 4.21KB
auth (AuthShell.js) 3.49KB 1.40KB
auth (ForgotPasswordForm.js) 12.12KB 3.41KB
auth (LoginForm.js) 16.53KB 4.84KB
auth (PreviewBanner.js) 0.90KB 0.50KB
auth (RegisterForm.js) 6.63KB 2.15KB
auth (SocialSignInButtons.js) 8.89KB 3.61KB
auth (UserMenu.js) 3.40KB 1.22KB
auth (auth-gate-events.js) 1.29KB 0.66KB
auth (authStyles.js) 5.04KB 1.72KB
auth (createAuthClient.js) 29.64KB 7.14KB
auth (createAuthenticatedFetch.js) 3.93KB 1.55KB
auth (index.js) 1.83KB 0.79KB
auth (phone-identifier.js) 1.11KB 0.66KB
auth (types.js) 0.59KB 0.35KB
auth (useAuth.js) 4.86KB 0.85KB
auth (useIsWorkspaceAdmin.js) 1.61KB 0.85KB
collaboration (CommentThread.js) 18.38KB 4.49KB
collaboration (LiveCursors.js) 3.17KB 1.27KB
collaboration (PresenceAvatars.js) 3.65KB 1.42KB
collaboration (PresenceProvider.js) 2.42KB 0.96KB
collaboration (index.js) 1.25KB 0.53KB
collaboration (useCommentSearch.js) 1.98KB 0.88KB
collaboration (useConflictResolution.js) 7.75KB 1.86KB
collaboration (useMentionNotifications.js) 1.81KB 0.68KB
collaboration (usePresence.js) 6.33KB 1.84KB
collaboration (useRealtimeSubscription.js) 7.91KB 2.01KB
components (index.js) 441.56KB 95.29KB
core (index.js) 1.65KB 0.59KB
create-plugin (index.js) 9.28KB 2.98KB
data-objectstack (index.js) 113.70KB 28.15KB
fields (index.js) 202.54KB 49.50KB
i18n (LocalizationContext.js) 1.76KB 0.96KB
i18n (currency.js) 1.22KB 0.64KB
i18n (i18n.js) 4.32KB 1.77KB
i18n (index.js) 2.46KB 0.96KB
i18n (pickLocalized.js) 1.31KB 0.67KB
i18n (provider.js) 5.37KB 1.72KB
i18n (useObjectLabel.js) 21.15KB 4.68KB
i18n (useSafeTranslation.js) 2.68KB 0.98KB
layout (index.js) 38.41KB 10.65KB
mobile (MobileProvider.js) 0.92KB 0.49KB
mobile (ResponsiveContainer.js) 0.94KB 0.38KB
mobile (breakpoints.js) 1.51KB 0.70KB
mobile (createOfflineDataSource.js) 5.61KB 1.74KB
mobile (index.js) 1.50KB 0.62KB
mobile (offlineQueue.js) 3.91KB 1.35KB
mobile (pwa.js) 0.97KB 0.49KB
mobile (serviceWorker.js) 1.48KB 0.62KB
mobile (serviceWorkerSource.js) 3.41KB 1.48KB
mobile (useBreakpoint.js) 1.54KB 0.65KB
mobile (useGesture.js) 4.42KB 1.27KB
mobile (useOfflineSync.js) 1.99KB 0.72KB
mobile (usePullToRefresh.js) 2.53KB 0.85KB
mobile (useResponsive.js) 0.71KB 0.42KB
mobile (useResponsiveConfig.js) 1.36KB 0.63KB
mobile (useSpecGesture.js) 1.77KB 0.77KB
mobile (useTouchTarget.js) 1.01KB 0.54KB
permissions (MePermissionsProvider.js) 5.09KB 1.84KB
permissions (PermissionContext.js) 0.31KB 0.25KB
permissions (PermissionGuard.js) 0.89KB 0.45KB
permissions (PermissionProvider.js) 3.46KB 1.03KB
permissions (evaluator.js) 4.00KB 1.23KB
permissions (index.js) 0.91KB 0.41KB
permissions (store.js) 0.91KB 0.42KB
permissions (useFieldPermissions.js) 1.28KB 0.52KB
permissions (usePermissions.js) 1.50KB 0.70KB
plugin-ai (index.js) 15.71KB 3.79KB
plugin-calendar (index.js) 45.12KB 12.34KB
plugin-charts (index.js) 46.31KB 13.06KB
plugin-chatbot (index.js) 173.87KB 41.48KB
plugin-dashboard (index.js) 108.35KB 26.87KB
plugin-designer (index.js) 213.94KB 43.03KB
plugin-detail (index.js) 210.08KB 50.68KB
plugin-editor (index.js) 2.46KB 1.10KB
plugin-form (index.js) 104.26KB 25.24KB
plugin-gantt (index.js) 137.26KB 34.03KB
plugin-grid (index.js) 171.84KB 45.38KB
plugin-kanban (index.js) 48.16KB 12.94KB
plugin-list (index.js) 98.18KB 23.16KB
plugin-map (index.js) 16.80KB 5.24KB
plugin-markdown (index.js) 13.65KB 4.67KB
plugin-report (index.js) 37.82KB 9.96KB
plugin-timeline (index.js) 25.37KB 7.20KB
plugin-tree (index.js) 8.21KB 2.76KB
plugin-view (index.js) 85.47KB 20.80KB
providers (DataSourceProvider.js) 0.75KB 0.39KB
providers (MetadataProvider.js) 1.37KB 0.59KB
providers (ThemeProvider.js) 1.55KB 0.67KB
providers (UploadProvider.js) 11.71KB 3.53KB
providers (index.js) 0.44KB 0.22KB
providers (types.js) 0.01KB 0.04KB
react-runtime (index.js) 3.19KB 1.38KB
react (LazyPluginLoader.js) 3.77KB 1.33KB
react (SchemaRenderer.js) 18.23KB 5.97KB
react (data-invalidation.js) 5.05KB 2.08KB
react (index.js) 0.79KB 0.43KB
sdui-parser (codegen.js) 4.09KB 1.74KB
sdui-parser (index.js) 2.16KB 0.94KB
sdui-parser (parse.js) 10.04KB 2.82KB
sdui-parser (types.js) 0.29KB 0.24KB
sdui-parser (validate.js) 4.69KB 1.48KB
tenant (TenantContext.js) 0.31KB 0.25KB
tenant (TenantGuard.js) 1.04KB 0.43KB
tenant (TenantProvider.js) 2.76KB 0.98KB
tenant (TenantScopedQuery.js) 0.77KB 0.44KB
tenant (index.js) 0.75KB 0.38KB
tenant (resolver.js) 2.64KB 0.76KB
tenant (useTenant.js) 0.50KB 0.32KB
tenant (useTenantBranding.js) 0.62KB 0.39KB
types (ai.js) 0.20KB 0.17KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 2.87KB 0.99KB
types (base.js) 0.20KB 0.18KB
types (blocks.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data-protocol.js) 0.20KB 0.19KB
types (data.js) 0.20KB 0.18KB
types (designer.js) 0.77KB 0.41KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (field-types.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 1.54KB 0.68KB
types (layout.js) 0.20KB 0.18KB
types (mobile.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (permissions.js) 0.20KB 0.18KB
types (plugin-scope.js) 0.20KB 0.18KB
types (record-components.js) 0.20KB 0.19KB
types (registry.js) 0.20KB 0.18KB
types (reports.js) 0.20KB 0.18KB
types (spec-report.js) 5.26KB 1.96KB
types (tenant.js) 0.20KB 0.18KB
types (theme.js) 0.20KB 0.18KB
types (ui-action.js) 0.75KB 0.46KB
types (views.js) 0.20KB 0.18KB
types (widget.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants