From 4a2ac09c3bec2e62f97724d617577a29bfdcf27f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 23 May 2026 05:32:17 +0000 Subject: [PATCH] chore: version packages --- .changeset/approval-execution-pinning.md | 33 ---- .changeset/studio-airtable-object-page.md | 34 ---- .changeset/studio-cross-page-polish.md | 56 ------- .changeset/studio-detail-pages-polish.md | 34 ---- .changeset/studio-history-timeline.md | 13 -- .changeset/studio-list-polish.md | 11 -- .changeset/sys-notification-actions.md | 20 --- .changeset/sys-user-org-visibility.md | 31 ---- apps/account/CHANGELOG.md | 11 ++ apps/account/package.json | 2 +- apps/console/CHANGELOG.md | 2 + apps/console/package.json | 2 +- apps/studio/CHANGELOG.md | 156 ++++++++++++++++++ apps/studio/package.json | 2 +- examples/app-crm/CHANGELOG.md | 13 ++ examples/app-crm/package.json | 2 +- examples/app-todo/CHANGELOG.md | 13 ++ examples/app-todo/package.json | 2 +- packages/adapters/express/CHANGELOG.md | 2 + packages/adapters/express/package.json | 2 +- packages/adapters/fastify/CHANGELOG.md | 2 + packages/adapters/fastify/package.json | 2 +- packages/adapters/hono/CHANGELOG.md | 7 + packages/adapters/hono/package.json | 2 +- packages/adapters/nestjs/CHANGELOG.md | 2 + packages/adapters/nestjs/package.json | 2 +- packages/adapters/nextjs/CHANGELOG.md | 2 + packages/adapters/nextjs/package.json | 2 +- packages/adapters/nuxt/CHANGELOG.md | 2 + packages/adapters/nuxt/package.json | 2 +- packages/adapters/sveltekit/CHANGELOG.md | 2 + packages/adapters/sveltekit/package.json | 2 +- packages/cli/CHANGELOG.md | 38 +++++ packages/cli/package.json | 2 +- packages/client-react/CHANGELOG.md | 11 ++ packages/client-react/package.json | 2 +- packages/client/CHANGELOG.md | 10 ++ packages/client/package.json | 2 +- packages/core/CHANGELOG.md | 9 + packages/core/package.json | 2 +- packages/create-objectstack/CHANGELOG.md | 2 + packages/create-objectstack/package.json | 2 +- packages/formula/CHANGELOG.md | 9 + packages/formula/package.json | 2 +- packages/metadata-core/CHANGELOG.md | 31 ++++ packages/metadata-core/package.json | 2 +- packages/metadata-fs/CHANGELOG.md | 7 + packages/metadata-fs/package.json | 2 +- packages/metadata/CHANGELOG.md | 15 ++ packages/metadata/package.json | 2 +- packages/objectql/CHANGELOG.md | 13 ++ packages/objectql/package.json | 2 +- packages/observability/CHANGELOG.md | 9 + packages/observability/package.json | 2 +- packages/platform-objects/CHANGELOG.md | 78 +++++++++ packages/platform-objects/package.json | 2 +- packages/plugins/driver-memory/CHANGELOG.md | 10 ++ packages/plugins/driver-memory/package.json | 2 +- packages/plugins/driver-mongodb/CHANGELOG.md | 10 ++ packages/plugins/driver-mongodb/package.json | 2 +- packages/plugins/driver-sql/CHANGELOG.md | 10 ++ packages/plugins/driver-sql/package.json | 2 +- packages/plugins/driver-turso/CHANGELOG.md | 11 ++ packages/plugins/driver-turso/package.json | 2 +- .../plugins/plugin-approvals/CHANGELOG.md | 43 +++++ .../plugins/plugin-approvals/package.json | 2 +- packages/plugins/plugin-audit/CHANGELOG.md | 12 ++ packages/plugins/plugin-audit/package.json | 2 +- packages/plugins/plugin-auth/CHANGELOG.md | 12 ++ packages/plugins/plugin-auth/package.json | 2 +- packages/plugins/plugin-dev/CHANGELOG.md | 10 ++ packages/plugins/plugin-dev/package.json | 2 +- packages/plugins/plugin-email/CHANGELOG.md | 12 ++ packages/plugins/plugin-email/package.json | 2 +- .../plugins/plugin-hono-server/CHANGELOG.md | 33 ++++ .../plugins/plugin-hono-server/package.json | 2 +- .../plugins/plugin-mcp-server/CHANGELOG.md | 10 ++ .../plugins/plugin-mcp-server/package.json | 2 +- packages/plugins/plugin-msw/CHANGELOG.md | 12 ++ packages/plugins/plugin-msw/package.json | 2 +- packages/plugins/plugin-reports/CHANGELOG.md | 12 ++ packages/plugins/plugin-reports/package.json | 2 +- packages/plugins/plugin-security/CHANGELOG.md | 35 ++++ packages/plugins/plugin-security/package.json | 2 +- packages/plugins/plugin-sharing/CHANGELOG.md | 13 ++ packages/plugins/plugin-sharing/package.json | 2 +- packages/plugins/plugin-webhooks/CHANGELOG.md | 10 ++ packages/plugins/plugin-webhooks/package.json | 2 +- packages/rest/CHANGELOG.md | 34 ++++ packages/rest/package.json | 2 +- packages/runtime/CHANGELOG.md | 40 +++++ packages/runtime/package.json | 2 +- packages/services/service-ai/CHANGELOG.md | 10 ++ packages/services/service-ai/package.json | 2 +- .../services/service-analytics/CHANGELOG.md | 10 ++ .../services/service-analytics/package.json | 2 +- .../services/service-automation/CHANGELOG.md | 11 ++ .../services/service-automation/package.json | 2 +- packages/services/service-cache/CHANGELOG.md | 11 ++ packages/services/service-cache/package.json | 2 +- packages/services/service-feed/CHANGELOG.md | 10 ++ packages/services/service-feed/package.json | 2 +- packages/services/service-i18n/CHANGELOG.md | 10 ++ packages/services/service-i18n/package.json | 2 +- packages/services/service-job/CHANGELOG.md | 12 ++ packages/services/service-job/package.json | 2 +- .../services/service-package/CHANGELOG.md | 10 ++ .../services/service-package/package.json | 2 +- packages/services/service-queue/CHANGELOG.md | 12 ++ packages/services/service-queue/package.json | 2 +- .../services/service-realtime/CHANGELOG.md | 12 ++ .../services/service-realtime/package.json | 2 +- .../services/service-settings/CHANGELOG.md | 12 ++ .../services/service-settings/package.json | 2 +- .../services/service-storage/CHANGELOG.md | 11 ++ .../services/service-storage/package.json | 2 +- packages/spec/CHANGELOG.md | 65 ++++++++ packages/spec/package.json | 2 +- packages/types/CHANGELOG.md | 9 + packages/types/package.json | 2 +- packages/vscode-objectstack/CHANGELOG.md | 2 + packages/vscode-objectstack/package.json | 2 +- 122 files changed, 1039 insertions(+), 289 deletions(-) delete mode 100644 .changeset/approval-execution-pinning.md delete mode 100644 .changeset/studio-airtable-object-page.md delete mode 100644 .changeset/studio-cross-page-polish.md delete mode 100644 .changeset/studio-detail-pages-polish.md delete mode 100644 .changeset/studio-history-timeline.md delete mode 100644 .changeset/studio-list-polish.md delete mode 100644 .changeset/sys-notification-actions.md delete mode 100644 .changeset/sys-user-org-visibility.md diff --git a/.changeset/approval-execution-pinning.md b/.changeset/approval-execution-pinning.md deleted file mode 100644 index 3da81aff9..000000000 --- a/.changeset/approval-execution-pinning.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -'@objectstack/plugin-approvals': minor -'@objectstack/platform-objects': minor -'@objectstack/spec': patch -'@objectstack/metadata-core': patch ---- - -feat(approvals): execution-pinned approval processes (ADR-0009) - -When an approval request is submitted, the engine now records a `process_hash` -on `sys_approval_request` — the sha256 of the approval process body resolved -through `MetadataRepository`. While the request is in flight, `approve` / -`reject` / `recall` resolve the pinned process body via -`MetadataRepository.getByHash`. Upgrading the approval process definition -mid-flight therefore no longer affects requests that already started against -the previous version. - -Behavior: - -- `sys_approval_request` gains a `process_hash` column (text, nullable, - read-only). Existing rows keep working — the engine falls back to the - current `sys_approval_process` projection when the column is empty. -- `ApprovalServiceOptions` accepts an optional `metadataRepo`. When omitted - (e.g. defining processes purely through the runtime API or in unit tests), - pinning is silently disabled and the service behaves as before. -- `ApprovalsServicePlugin` looks up the metadata service from the kernel - and wires its repository automatically. -- The metadata-core local `MetadataTypeSchema` enum was realigned with the - canonical `@objectstack/spec/kernel` enum (drift fix: `approval`, `field`, - `function`, `service`, …). - -This is the first user-visible consumer of the `executionPinned` capability -introduced in ADR-0009. diff --git a/.changeset/studio-airtable-object-page.md b/.changeset/studio-airtable-object-page.md deleted file mode 100644 index 1785dba55..000000000 --- a/.changeset/studio-airtable-object-page.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -"@objectstack/studio": patch ---- - -Studio: redesign the object page Airtable-style. - -The object detail page (`/objects/:name`) previously stacked four -overlapping navigation strips on top of each other: sidebar, outer -route tabs (Designer/Views/Forms/...), the PluginHost mode strip -(Preview/Code/Data/History), and ObjectExplorer's own internal -tabs (Schema/Data/API) — plus a duplicated object header card. - -This change collapses the redundancy: - -- `ObjectExplorer` becomes a controlled component driven by the - `mode` prop from PluginHost. Its internal tab strip is removed - so the page only ever shows a single row of mode buttons. -- The duplicate "object meta" card inside `ObjectSchemaInspector` - is removed; the route-level header is now the single source of - identity (label + machine name + description). -- The route header itself is slimmed: the "Object" eyebrow and - the redundant stat-badge row (fields / views / forms / hooks) - are gone since the related-metadata tabs already convey the - same counts. -- `object-plugin` declares modes as `['data', 'design', 'code']` - and `PluginHost` lands on `data` by default for objects so the - records grid is the first thing the user sees — matching - Airtable's "data first" philosophy. -- Mode buttons get per-type labels via `MODE_LABEL_OVERRIDES`: - for `object`, `data` reads "Records", `design` reads "Fields", - `code` reads "API". -- A per-type `MODE_ALLOWLIST_BY_TYPE` filters out the generic - `preview` fallback for objects so the strip is the curated - `Records / Fields / API / History` and nothing more. diff --git a/.changeset/studio-cross-page-polish.md b/.changeset/studio-cross-page-polish.md deleted file mode 100644 index 09d597e57..000000000 --- a/.changeset/studio-cross-page-polish.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -"@objectstack/studio": patch ---- - -Studio: cross-page polish — calmer cards, plain-English copy, deduped registry. - -Following the Airtable-style object-page redesign, this pass cleans -up the rest of the surface so every page reads the same way. - -**List cards** (`MetadataListPage`): - -- Suppress the per-card type badge on single-type pages (Objects, - Forms). The page title already conveys the type; the badge was - noise. Multi-type pages (Views & Apps, Automations, AI, Security) - keep the badge for disambiguation. -- Show the metadata's own `description` when present, instead of - the now-redundant snake_case `name` (which was a duplicate of the - `` element below). The machine name still appears as a - subtle code line. -- Switch the "Preview" verbose button to an icon-only ghost button - that reveals on hover, freeing the row for the actual label. -- Add `title` attributes everywhere so truncated labels (e.g. - "Campaign Me…") are readable on hover. - -**Home / `DeveloperOverview`**: - -- Replace the "Developer Console" terminal-icon header with the - package name and a one-line summary — feels like a product home, - not a dev tool. -- Dedupe the Metadata Registry list: the backend currently exposes - both `sharingRule` and `sharing_rule` (and `ragPipeline` / - `rag_pipeline`, `analyticsCube` / `analytics_cube`) as separate - entries even though they map to the same type. A new - `dedupeRegistryEntries` collapses each alias pair, sums the - counts, and keeps the canonical camelCase name for display. -- Drop the "+ N empty types" footnote — pure dev jargon. -- Replace the opaque `/api/v1 REST · data · meta · packages` - stat card with a clearer "REST API — Live" card that links to - the APIs page. - -**Forms**: - -- Rewrite the page description from a wall of - `FormView` / `sharing.allowAnonymous` / `GET /api/v1/forms/:slug` - jargon to plain English: "Forms anyone can fill out — no login - required. Publish a form to get a shareable link; submissions - land directly in the bound object." -- Empty state now points users at the visible action button - instead of telling them to "Declare a FormView with - `sharing.allowAnonymous: true`". - -**Logs**: - -- Empty states no longer leak the internal endpoint paths - (`Awaiting /api/v1/_debug/requests.`) — they just say - "Coming soon. Requests will stream here in real time." diff --git a/.changeset/studio-detail-pages-polish.md b/.changeset/studio-detail-pages-polish.md deleted file mode 100644 index bacc16ebe..000000000 --- a/.changeset/studio-detail-pages-polish.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -"@objectstack/studio": patch ---- - -Studio: redesign generic metadata-detail pages. - -Every detail page routed through `/$package/metadata/$type/$name` -(views, dashboards, apps, flows, agents, permissions, …) used to -have **no visible page header** — only a breadcrumb — plus a -wasted top band hosting a floating 3-dot menu, a dev-jargon -`objectstack.view-preview` plugin-id badge, and an unnecessary -viewer-picker dropdown. Errors were rendered as red prose leaking -the raw `[ObjectStack] Metadata item X not found` backend string. - -This pass aligns generic detail pages with the Object-page pattern: - -- The route now loads the item, renders a real header card - (icon · label · machine name · type chip · description), and - parks the `ResourceActionsMenu` on the right of the header - instead of in its own floating top bar. -- `PluginHost` drops the always-visible plugin-id badge from the - toolbar (`objectstack.view-preview` etc. — pure dev jargon) - and the same id badge from inside the viewer-picker dropdown - items. -- `MetadataInspector` (the default JSON-tree Preview viewer) no - longer renders its own "Header card" — that's the route's job - now, so users don't see "Sales Representative" twice on the - Permission page. -- Friendly "not found" empty states replace the red error prose - in `view-preview-plugin`, `FlowViewer`, and `MetadataInspector`. - Internal error strings like - `[ObjectStack] Metadata item flow/X not found` no longer leak - to the UI; users see "Flow not found · We couldn't load X. It - may have been deleted or moved to another package." diff --git a/.changeset/studio-history-timeline.md b/.changeset/studio-history-timeline.md deleted file mode 100644 index eb3833195..000000000 --- a/.changeset/studio-history-timeline.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'@objectstack/spec': minor -'@objectstack/studio': minor ---- - -feat(studio): metadata history timeline viewer - -Adds a new `history` view mode that surfaces the audit timeline produced by `sys_metadata_history` (ADR-0008 §5) inside Studio. Available for every metadata type as a wildcard built-in plugin. - -- `@objectstack/spec`: extend `ViewModeSchema` with `'history'`. -- `@objectstack/studio`: new `historyViewerPlugin` rendering an event timeline (create/update/delete/rename) with op icons, short hash, actor, source, expandable detail panel. ADR-0009 `executionPinned` types (`flow`, `workflow`, `approval`) show a "Pinned" badge explaining that historical versions are retained for in-flight executions. - -Reads from the existing `GET /meta/:type/:name/history` REST endpoint via `client.meta.getHistory()`; no new server surface. diff --git a/.changeset/studio-list-polish.md b/.changeset/studio-list-polish.md deleted file mode 100644 index 736aee808..000000000 --- a/.changeset/studio-list-polish.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@objectstack/studio': patch ---- - -fix(studio): clearer metadata list filter chips, empty states & no-flash theme boot - -Surveyed Studio's core pages via the browser and shipped three targeted polish fixes: - -- **Filter chips on multi-type list pages** (Views & Apps, Automations, …) were displaying the nav-category label for every chip — e.g. _"Views & Apps 1"_ / _"Views & Apps 2"_ instead of _"App 1"_ / _"Dashboard 2"_. Added a singular `METADATA_TYPE_LABELS` registry and a `typeLabel()` helper in `studio-nav.ts`, and switched the chip + search placeholder + empty-state copy to per-type labels. -- **Empty-state grammar**: _"No ai in this package yet."_ now reads _"Nothing in AI for this package yet."_ — works for any title casing (AI, Views & Apps, …) without lowercasing. -- **First-paint theme flash**: stored theme was only applied in a `useEffect`, causing a brief white flash before React mounted (especially noticeable on slow loads). Added an inline `