chore: release packages#2415
Closed
github-actions[bot] wants to merge 1 commit into
Closed
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
bc70e95 to
82357ef
Compare
82357ef to
92ec6dc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@object-ui/app-shell@13.3.0
Minor Changes
7b4fc36: feat(console-ai): ask→build handoff carries conversation context (ADR-0057 P4 / cloud#817)
The P4 "Open in Builder →" handoff previously carried only the build prompt + an
optional package, so the Builder started cold and the user re-explained
themselves. It now also carries the source
askconversation as context —ADR-0057 P4 / cloud#817 — so the build agent's first turn starts with the thread
the user already had.
@object-ui/app-shell: both handoff sites (the full-pageAiChatPageand theconsole FAB) now append
?parentConversationId=<ask thread id>to the/ai/buildURL. The build surface reads it and forwards it touseObjectChat;the existing URL-mirror drops it once the build conversation id is minted, so a
reload never re-carries it.
@object-ui/plugin-chatbot:useObjectChatacceptsparentConversationIdandsends it as
context.parentConversationIdon the first turn only (held in aref, consumed once) — the backend redeems it into the turn's context and the
client owns history from there. New pure helper
withHandoffContext(unittested) does the non-mutating
contextmerge.Requires the cloud handoff-context contract (service-ai, cloud#817): the build
agent redeems
context.parentConversationIdinto a single system block on itsfirst turn — ownership-checked, and carrying only the user/assistant text the
user already saw (ADR-0063 governance boundary). Without it the console degrades
cleanly: the id is sent but ignored, and the handoff is a (working) cold start.
7dea792: feat(console-ai): explicit "Open in Builder →" ask→build handoff (ADR-0057 P4)
When the
askagent declines an app-authoring request it now calls the cloudsuggest_buildertool (structured decline). The console renders that as anexplicit "Open in Builder →" action that opens the full-page build surface
seeded with the handoff prompt — ADR-0063 decline-and-redirect: an explicit,
user-initiated switch, never a silent re-route into authoring.
@object-ui/plugin-chatbot:detectBuilderHandofflifts the{ status:'build_handoff', prompt, packageId? }result onto the toolinvocation;
ChatbotEnhancedrenders the "Open in Builder →" card and calls anew
onOpenBuilderprop (disabled when no host wires it).@object-ui/app-shell: the full-pageAiChatPage(ask) and the console FABwire
onOpenBuilderto navigate to/ai/build?package=…&handoffPrompt=…; thebuild surface seeds that prompt as its first message (auto-sent once the
conversation is minted), and the URL-mirror strips
?handoffPromptso a reloadnever re-sends it. Full ask-conversation context transfer is a later upgrade
(cloud#817); v1 carries the build prompt + optional package.
Requires the cloud
suggest_buildersignal (service-ai-studio) to light up; theconsole degrades cleanly (no card) without it.
Patch Changes
443360a: Action params support a
visibleCEL predicate — the param dialog omits a paramwhen it evaluates false, against the same scope as action
visible(features /user / app / data). Fixes the create-user form offering a Phone Number field
the default backend rejects ("Phone numbers require the phoneNumber auth plugin"):
paired with the framework gating that param on
features.phoneNumber, the formnow follows the plugin — no phone field unless the opt-in phoneNumber auth plugin
is loaded.
filterVisibleParamsis exported + unit-tested (feature-off hides,feature-on shows, malformed predicate fails open).
9442310: feat(console-ai): key AI chat conversations on
(user, app, product), not on surface (ADR-0057 P1)The console rendered AI chat through parallel shells that forked the
conversation: the Studio design copilot scoped its thread as
studio:${packageId}:${agent}while the full-page/ai/buildfocus view scopedon the agent alone — so opening the same app in both showed an empty "Build
with AI" copilot beside an active full-page build thread (indistinguishable from
data loss).
Per ADR-0057 (surface = view · conversation = model · product = binding
axis), conversations are now keyed on
(user, app, product):chatConversationScope({ appId, product })+chatProductOfAgent(name)helper (hooks/chatScope.ts) is the single placethe scope key is formed.
productis the ADR-0063 axis (ask|build),derived from the resolved agent — never a per-surface choice.
StudioAiCopilotand the full-pageAiChatPageboth resolveapp:${packageId}:${product}for a package-scoped surface (the Studio copilotediting package X and the
/ai/build?package=X"Edit with AI" focus view nowresume ONE shared thread). The legacy
studio:surface prefix is dropped./ai/:agentvisit with no?package=degrades to the product alone(
build/ask) — unchanged behaviour for that surface.Enablement stays on the single access-filtered agent-catalog gate
(
useAiSurfaceEnabled, ADR-0068) — a seat-less user's empty catalog hides thewhole AI surface. No layout change.
9442310: feat(console-ai): one declarative surface→agent resolver (ADR-0057 P2)
The console re-implemented the ADR-0063 surface→agent chain in ~5 places, each
spelled slightly differently — and
ConsoleLayoutcarried an AI-Studio-offdowngrade special case that existed nowhere else. This collapses them into one
pure, unit-tested resolver so ADR-0063 (exactly two products
ask/build,bound by surface — no roster, no per-turn classifier) becomes a structural
guarantee.
hooks/surfaceAgent.ts:resolveSurfaceAgent(surface, { agents, appDefaultAgent, aiStudioEnabled })+SURFACE_DEFAULT.app.defaultAgentisbounded to ask/build (alias-aware) — a withdrawn tenant custom agent is
rejected, not passed through, so no roster is representable (ADR-0057 open
question Add default props to all components to prevent collapse in designer #4). The AI-Studio-off
build → askdowngrade is folded in ONCE.StudioAiCopilot(studio-build → build) and the console FAB (default→ ask)resolve through it. The FAB keeps chore(deps): bump lucide-react from 0.574.0 to 0.575.0 #771's "prefer build when the catalog unlocks
it and nothing pinned a product" by passing that as its default PRODUCT input —
so the resolver still owns bounding + the downgrade, which now also applies to
the chore(deps): bump lucide-react from 0.574.0 to 0.575.0 #771 preference (closing the leak where an authoring-disabled deployment
could still open build).
ConsoleLayout's bespoke!aiStudioEnabled && isBuildAgent(...)downgrade isdeleted; it passes the raw
app.defaultAgentand the resolver downgrades.Ships a unit table proving the ADR-0063 rows: Studio→build, other→ask,
AI-Studio-off downgrade,
app.defaultAgentbounded (valid override wins, rosterrejected), alias-aware catalog resolution, empty catalog → inert (ADR-0025).
9138e68: fix(metadata-admin): authenticate console MetadataClient requests (Bearer token)
Studio / metadata-admin surfaces issued
/api/v1/meta/*requests (list types,?package=…reads,_drafts, the/metaroot) that came back401 unauthenticatedin the token-based console, while the runtime data adapter'sreads (
/meta/object|view|app) succeeded — so the same page showed somemetadata requests failing and others working.
Root cause:
useMetadataClientandMetadataProvider's draft-preview clientconstructed
MetadataClientwithout afetch, so it fell back to the bareglobalThis.fetchand sent noAuthorizationheader. The consoleauthenticates by a Bearer token in localStorage (
auth-session-token) — thereis no session cookie — so those requests were unauthenticated. A same-origin
cookie deployment masks the bug, which is why it went unnoticed and regressed
twice.
Both sites (and every future console surface) now construct through a single
createConsoleMetadataClientfactory that bakes increateAuthenticatedFetch(Bearer token +
X-Tenant-ID+Accept-Language), matching the runtime dataadapter. This is additive for cookie deployments —
credentialsis untouched,so a same-origin session cookie still flows. A
metadata-client-auth.ratchet.test.tsguard forbids a barenew MetadataClient(elsewhere in app-shell so authentication can't silentlyregress again.
2fb38ed: fix(app-shell): propagate action-param
visiblepredicate through resolveActionParamsThe create-user phone fix (feat(core,app-shell): action params honor a 'visible' predicate; hide create-user phone when plugin off #2406) gated the
phoneNumberparam withvisible: 'features.phoneNumber == true', butresolveActionParamdroppedvisiblewhen flattening raw spec params intoActionParamDef— soActionParamDialog'sfilterVisibleParamsnever saw the predicate and thephone field kept rendering even with the phoneNumber auth plugin off.
Propagate
visiblein all three resolve branches (inline / field-backed /missing-field), unwrapping the spec's
{ dialect, source }ExpressionInputenvelope to a plain CEL string. Completes the create-user phone fix end to end.
Updated dependencies [443360a]
Updated dependencies [94d00d4]
Updated dependencies [6a74160]
@object-ui/auth@13.3.0
Minor Changes
94d00d4: feat(auth): phone number + password sign-in on the login page
The login page's password mode now accepts an email OR a phone number as the
identifier and routes by shape — email →
/sign-in/email, phone →/sign-in/phone-number(better-auth phoneNumber plugin, framework#2780). Itcoexists with the existing phone-OTP mode.
features.phoneNumber(phoneNumber plugin enabled). Unlike phone-OTPit needs no SMS service, so it uses that coarser capability flag, not
features.phoneNumberOtp. When the flag is off the field stays email-only.AuthClient.signInWithPhonePassword(phoneNumber, password)wired throughAuthContext/AuthProvider/useAuth.normalizePhoneIdentifier/looksLikePhoneIdentifierhelpers that mirrorthe backend's
normalizePhoneNumberexactly (strip[\s\-().], validate^\+?[0-9]{6,15}$, no forced E.164 / country code — the backend stores thelight-stripped form, so anything heavier would break the lookup).
routing).
Only works for accounts that have both a phone number and a password set;
phone-only accounts set a password on first OTP sign-in.
Patch Changes
@object-ui/components@13.3.0
Minor Changes
6a74160: Sharing-rule form: pick, don't type. Three new widget-hint field components make
the generic object form render pickers where an admin previously had to type
machine data (driven by the framework
widgethints onsys_sharing_rule;generalizes the
capability-multiselectpattern). All degrade to the underlyingtyperenderer when a widget is unregistered.object-ref— choose a registered object by name (searchableCombobox),backed by the new
DataSource.getObjects()(ObjectStackAdapterlists code-and DB-defined objects via
/api/v1/meta/object), falling back to asys_metadataquery. Stores the object'sname.filter-condition— a visual criteria builder (FilterBuilder) scoped tothe fields of the object chosen in a sibling field (via
getObjectSchema),round-tripping the stored MongoDB-style FilterCondition JSON. Criteria the
builder can't represent (or invalid JSON) fall back to a raw-JSON editor, with
an always-available "Edit as JSON" toggle — nothing is hidden or lost.
recipient-picker— a record picker whose target object follows a siblingrecipient_type(user→sys_user,team→sys_team,business_unit/unit_and_subordinates→sys_business_unit,position→sys_position), storing thevalue the evaluator matches on (a record id, or the position name). Resets
the stored id when the type changes.
Wiring: the three keys join
DATA_SOURCE_FIELD_TYPES(form.tsx) so the formthreads
dataSource+dependentValuesto them, andINLINE_EXCLUDED_FIELD_TYPES(they're authored in the record form, not a grid cell).
DataSource.getObjects()is optional on the interface; the ObjectStack adapter implements it.
Patch Changes
@object-ui/data-objectstack@13.3.0
Minor Changes
6a74160: Sharing-rule form: pick, don't type. Three new widget-hint field components make
the generic object form render pickers where an admin previously had to type
machine data (driven by the framework
widgethints onsys_sharing_rule;generalizes the
capability-multiselectpattern). All degrade to the underlyingtyperenderer when a widget is unregistered.object-ref— choose a registered object by name (searchableCombobox),backed by the new
DataSource.getObjects()(ObjectStackAdapterlists code-and DB-defined objects via
/api/v1/meta/object), falling back to asys_metadataquery. Stores the object'sname.filter-condition— a visual criteria builder (FilterBuilder) scoped tothe fields of the object chosen in a sibling field (via
getObjectSchema),round-tripping the stored MongoDB-style FilterCondition JSON. Criteria the
builder can't represent (or invalid JSON) fall back to a raw-JSON editor, with
an always-available "Edit as JSON" toggle — nothing is hidden or lost.
recipient-picker— a record picker whose target object follows a siblingrecipient_type(user→sys_user,team→sys_team,business_unit/unit_and_subordinates→sys_business_unit,position→sys_position), storing thevalue the evaluator matches on (a record id, or the position name). Resets
the stored id when the type changes.
Wiring: the three keys join
DATA_SOURCE_FIELD_TYPES(form.tsx) so the formthreads
dataSource+dependentValuesto them, andINLINE_EXCLUDED_FIELD_TYPES(they're authored in the record form, not a grid cell).
DataSource.getObjects()is optional on the interface; the ObjectStack adapter implements it.
Patch Changes
@object-ui/fields@13.3.0
Minor Changes
6a74160: Sharing-rule form: pick, don't type. Three new widget-hint field components make
the generic object form render pickers where an admin previously had to type
machine data (driven by the framework
widgethints onsys_sharing_rule;generalizes the
capability-multiselectpattern). All degrade to the underlyingtyperenderer when a widget is unregistered.object-ref— choose a registered object by name (searchableCombobox),backed by the new
DataSource.getObjects()(ObjectStackAdapterlists code-and DB-defined objects via
/api/v1/meta/object), falling back to asys_metadataquery. Stores the object'sname.filter-condition— a visual criteria builder (FilterBuilder) scoped tothe fields of the object chosen in a sibling field (via
getObjectSchema),round-tripping the stored MongoDB-style FilterCondition JSON. Criteria the
builder can't represent (or invalid JSON) fall back to a raw-JSON editor, with
an always-available "Edit as JSON" toggle — nothing is hidden or lost.
recipient-picker— a record picker whose target object follows a siblingrecipient_type(user→sys_user,team→sys_team,business_unit/unit_and_subordinates→sys_business_unit,position→sys_position), storing thevalue the evaluator matches on (a record id, or the position name). Resets
the stored id when the type changes.
Wiring: the three keys join
DATA_SOURCE_FIELD_TYPES(form.tsx) so the formthreads
dataSource+dependentValuesto them, andINLINE_EXCLUDED_FIELD_TYPES(they're authored in the record form, not a grid cell).
DataSource.getObjects()is optional on the interface; the ObjectStack adapter implements it.
Patch Changes
@object-ui/plugin-chatbot@13.3.0
Minor Changes
7b4fc36: feat(console-ai): ask→build handoff carries conversation context (ADR-0057 P4 / cloud#817)
The P4 "Open in Builder →" handoff previously carried only the build prompt + an
optional package, so the Builder started cold and the user re-explained
themselves. It now also carries the source
askconversation as context —ADR-0057 P4 / cloud#817 — so the build agent's first turn starts with the thread
the user already had.
@object-ui/app-shell: both handoff sites (the full-pageAiChatPageand theconsole FAB) now append
?parentConversationId=<ask thread id>to the/ai/buildURL. The build surface reads it and forwards it touseObjectChat;the existing URL-mirror drops it once the build conversation id is minted, so a
reload never re-carries it.
@object-ui/plugin-chatbot:useObjectChatacceptsparentConversationIdandsends it as
context.parentConversationIdon the first turn only (held in aref, consumed once) — the backend redeems it into the turn's context and the
client owns history from there. New pure helper
withHandoffContext(unittested) does the non-mutating
contextmerge.Requires the cloud handoff-context contract (service-ai, cloud#817): the build
agent redeems
context.parentConversationIdinto a single system block on itsfirst turn — ownership-checked, and carrying only the user/assistant text the
user already saw (ADR-0063 governance boundary). Without it the console degrades
cleanly: the id is sent but ignored, and the handoff is a (working) cold start.
7dea792: feat(console-ai): explicit "Open in Builder →" ask→build handoff (ADR-0057 P4)
When the
askagent declines an app-authoring request it now calls the cloudsuggest_buildertool (structured decline). The console renders that as anexplicit "Open in Builder →" action that opens the full-page build surface
seeded with the handoff prompt — ADR-0063 decline-and-redirect: an explicit,
user-initiated switch, never a silent re-route into authoring.
@object-ui/plugin-chatbot:detectBuilderHandofflifts the{ status:'build_handoff', prompt, packageId? }result onto the toolinvocation;
ChatbotEnhancedrenders the "Open in Builder →" card and calls anew
onOpenBuilderprop (disabled when no host wires it).@object-ui/app-shell: the full-pageAiChatPage(ask) and the console FABwire
onOpenBuilderto navigate to/ai/build?package=…&handoffPrompt=…; thebuild surface seeds that prompt as its first message (auto-sent once the
conversation is minted), and the URL-mirror strips
?handoffPromptso a reloadnever re-sends it. Full ask-conversation context transfer is a later upgrade
(cloud#817); v1 carries the build prompt + optional package.
Requires the cloud
suggest_buildersignal (service-ai-studio) to light up; theconsole degrades cleanly (no card) without it.
Patch Changes
@object-ui/types@13.3.0
Minor Changes
6a74160: Sharing-rule form: pick, don't type. Three new widget-hint field components make
the generic object form render pickers where an admin previously had to type
machine data (driven by the framework
widgethints onsys_sharing_rule;generalizes the
capability-multiselectpattern). All degrade to the underlyingtyperenderer when a widget is unregistered.object-ref— choose a registered object by name (searchableCombobox),backed by the new
DataSource.getObjects()(ObjectStackAdapterlists code-and DB-defined objects via
/api/v1/meta/object), falling back to asys_metadataquery. Stores the object'sname.filter-condition— a visual criteria builder (FilterBuilder) scoped tothe fields of the object chosen in a sibling field (via
getObjectSchema),round-tripping the stored MongoDB-style FilterCondition JSON. Criteria the
builder can't represent (or invalid JSON) fall back to a raw-JSON editor, with
an always-available "Edit as JSON" toggle — nothing is hidden or lost.
recipient-picker— a record picker whose target object follows a siblingrecipient_type(user→sys_user,team→sys_team,business_unit/unit_and_subordinates→sys_business_unit,position→sys_position), storing thevalue the evaluator matches on (a record id, or the position name). Resets
the stored id when the type changes.
Wiring: the three keys join
DATA_SOURCE_FIELD_TYPES(form.tsx) so the formthreads
dataSource+dependentValuesto them, andINLINE_EXCLUDED_FIELD_TYPES(they're authored in the record form, not a grid cell).
DataSource.getObjects()is optional on the interface; the ObjectStack adapter implements it.
@object-ui/console@13.3.0
Patch Changes
94d00d4: feat(auth): phone number + password sign-in on the login page
The login page's password mode now accepts an email OR a phone number as the
identifier and routes by shape — email →
/sign-in/email, phone →/sign-in/phone-number(better-auth phoneNumber plugin, framework#2780). Itcoexists with the existing phone-OTP mode.
features.phoneNumber(phoneNumber plugin enabled). Unlike phone-OTPit needs no SMS service, so it uses that coarser capability flag, not
features.phoneNumberOtp. When the flag is off the field stays email-only.AuthClient.signInWithPhonePassword(phoneNumber, password)wired throughAuthContext/AuthProvider/useAuth.normalizePhoneIdentifier/looksLikePhoneIdentifierhelpers that mirrorthe backend's
normalizePhoneNumberexactly (strip[\s\-().], validate^\+?[0-9]{6,15}$, no forced E.164 / country code — the backend stores thelight-stripped form, so anything heavier would break the lookup).
routing).
Only works for accounts that have both a phone number and a password set;
phone-only accounts set a password on first OTP sign-in.
@object-ui/cli@13.3.0
Patch Changes
@object-ui/collaboration@13.3.0
Patch Changes
@object-ui/core@13.3.0
Patch Changes
visibleCEL predicate — the param dialog omits a paramwhen it evaluates false, against the same scope as action
visible(features /user / app / data). Fixes the create-user form offering a Phone Number field
the default backend rejects ("Phone numbers require the phoneNumber auth plugin"):
paired with the framework gating that param on
features.phoneNumber, the formnow follows the plugin — no phone field unless the opt-in phoneNumber auth plugin
is loaded.
filterVisibleParamsis exported + unit-tested (feature-off hides,feature-on shows, malformed predicate fails open).
@object-ui/layout@13.3.0
Patch Changes
@object-ui/mobile@13.3.0
Patch Changes
@object-ui/permissions@13.3.0
Patch Changes
@object-ui/plugin-ai@13.3.0
Patch Changes
@object-ui/plugin-calendar@13.3.0
Patch Changes
@object-ui/plugin-charts@13.3.0
Patch Changes
@object-ui/plugin-dashboard@13.3.0
Patch Changes
@object-ui/plugin-designer@13.3.0
Patch Changes
@object-ui/plugin-detail@13.3.0
Patch Changes
@object-ui/plugin-editor@13.3.0
Patch Changes
@object-ui/plugin-form@13.3.0
Patch Changes
@object-ui/plugin-gantt@13.3.0
Patch Changes
a506e6d: ObjectGantt now supports the
apidata source for both read and write-back.Previously
provider: 'api'logged "API provider not yet implemented" and renderednothing, and every write-back (reschedule, dependency edit, delete, drawer
inline-edit) was hard-wired to the context ObjectQL
dataSource+objectName,so the api provider's
writeconfig was never used.All reads and writes now flow through a single adapter resolved by
resolveDataSource(schema.data, dataSource):object→ context DataSource(unchanged),
api→ApiDataSource(executes theread/writeHttpRequestconfig),
value→ in-memoryValueDataSource. A pure-api view needs noobjectNameand no contextdataSourceprop. Object-backed views are behavior-preserving. Lookup/master_detail quick-filter option domains still resolve from
the context object backend (they degrade to distinct in-row values when absent).
42b36c4: 新增逐任务预警描边(甘特图产品化补齐:依赖校验、行级只读完整性、预警描边、树筛选、写后回读、刷新按钮(7 项) #2436 第 3 项):视图配置
borderColorField指向记录上的预警颜色字段(常为服务端计算的超期/临期字段),该行条形在保留
原有填充色的同时,以该颜色描边并加 2px 光晕——任务条、里程碑菱形、
汇总条均生效。语义色名(red/orange/…)映射为调色板 hex,其余 CSS 颜色
原样透传;空值不描边。开启关键路径高亮时,关键路径样式在其标记行上优先。
8a7d5af: 拖拽连线增加内建校验与宿主否决钩子(甘特图产品化补齐:依赖校验、行级只读完整性、预警描边、树筛选、写后回读、刷新按钮(7 项) #2436 第 1、2 项)。落点为锁定行
(
locked)或分组行(type: 'group')时,悬停不再高亮、松手不再创建;成环依赖(直接回边、跨层级传递回边)基于全量任务集检测并拒绝——不受
折叠子树导致可见连线缺边的影响。新增
onBeforeDependencyCreate(source, target, type)钩子,在内建校验通过后调用,返回false可否决本次连线(即 DHTMLX
onBeforeLinkAdd/ SyncfusionactionBegin惯例)。wouldCreateDependencyCycle从scheduling导出并单测覆盖。0b03b34: 快速筛选改为树感知(甘特图产品化补齐:依赖校验、行级只读完整性、预警描边、树筛选、写后回读、刷新按钮(7 项) #2436 第 4 项):命中任务的全部祖先链一并保留。
此前
displayTasks是平铺过滤,项目/产品等分组行本身没有可筛字段值,一筛就被丢掉,命中的子任务成孤儿、树结构被打散。现在祖先随命中下级
自动保留、无命中下级时照常剔除,多分支命中共享祖先不重复。
Updated dependencies [443360a]
Updated dependencies [6a74160]
@object-ui/plugin-grid@13.3.0
Patch Changes
@object-ui/plugin-kanban@13.3.0
Patch Changes
@object-ui/plugin-map@13.3.0
Patch Changes
@object-ui/plugin-markdown@13.3.0
Patch Changes
@object-ui/plugin-report@13.3.0
Patch Changes
@object-ui/plugin-timeline@13.3.0
Patch Changes
@object-ui/plugin-tree@13.3.0
Patch Changes
@object-ui/plugin-view@13.3.0
Patch Changes
@object-ui/providers@13.3.0
Patch Changes
@object-ui/react@13.3.0
Patch Changes
@object-ui/runner@13.3.0
Patch Changes
@object-ui/tenant@13.3.0
Patch Changes
@object-ui/create-plugin@13.3.0
@object-ui/i18n@13.3.0
@object-ui/plugin-list@13.3.0
@object-ui/react-runtime@13.3.0
@object-ui/sdui-parser@13.3.0
object-ui@13.3.0
Patch Changes