
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@praxisui/editorial-forms
Advanced tools
Editorial form runtime for Praxis UI: journeys, presets, semantic blocks, and specialist hosting for editorial experiences.
Lib dedicada ao runtime de formularios editoriais da plataforma.
docs/architecture.mddocs/continuation-plan.mddocs/editorial-authoring-plan.mddocs/event-registration-promotion-plan.mddocs/employee-onboarding-promotion-plan.mddocs/privacy-consent-promotion-plan.mddocs/recovery-playbook.mddocs/dynamic-form-hygiene-plan.mdEsta lib existe para tratar formularios editoriais como dominio proprio:
Ela nao deve usar FormConfig como modelo principal de authoring.
Permitido:
@praxisui/editorial-forms -> @praxisui/core@praxisui/editorial-forms -> @praxisui/dynamic-form apenas em adaptador/provider opcionalProibido:
@praxisui/core -> @praxisui/editorial-forms@praxisui/dynamic-formdataCollectionO runtime central nao embute PraxisDynamicForm.
Para blocos dataCollection, a lib agora expoe:
EditorialDataBlockAdapterEDITORIAL_DATA_BLOCK_ADAPTERprovideEditorialDataBlockAdapter(...)EditorialDataBlockAdapterRegistryformBlockId e delega para o adaptador registradoPara consolidacao do motor editorial, a lib agora expoe tambem:
EditorialRuntimeInputEditorialRuntimeHostConfigEditorialRuntimeSnapshotEditorialResolvedJourneyEditorialResolvedStepEditorialResolvedBlockEditorialRuntimeDiagnosticEditorialRuntimeOperationalEventresolveEditorialRuntimeSnapshot(...)Nesta fase, o themePreset entra no snapshot como preset efetivo de shell/metadados.
Ele ainda nao e tratado como origem de bloco nem materializa blocos por si so.
O snapshot resolvido agora tambem formaliza:
primarySource e trailappend, insertBefore, insertAfter, replace, remove)dataCollection antes da engine concreta via dataCollectionStateO runtime atual distingue:
E aplica bloqueio coerente de avanço/navegacao lateral relevante quando existe erro estrutural bloqueador.
A politica de fallback operacional agora e derivada por helper central e reutilizavel:
normalwarningdegradedblockedPara hosts corporativos, EditorialFormRuntimeComponent e o outlet de dataCollection expõem operationalEvent com eventos leves de observabilidade, incluindo:
dataCollection resolvido, ausente ou invalidoInputs estaveis do EditorialFormRuntimeComponent:
solutioninstanceruntimeContexthostConfigOutputs estaveis:
snapshotChangefallbackChangeoperationalEventPolitica de consumo para hosts de produto:
snapshotChange e o sinal estavel para leitura de estado resolvido, auditoria e derivacao de UX de produtofallbackChange e o sinal estavel para status operacional exposto ao usuario (normal, warning, degraded, blocked)operationalEvent e telemetria tecnica leve para logs, monitoracao, debugging e runbooks do hostoperationalEvent na superficie principal da paginaPolitica de fallback para hosts de produto:
normal: UX nominal; sem contingencia adicionalwarning: UX nominal com monitoramento; nao bloquear progressaodegraded: UX com contingencia parcial; manter o fluxo quando possivel e encaminhar observabilidade internablocked: UX indisponivel ou bloqueada; impedir progressao e acionar canal de suporte/rollback do hosthostConfig hoje controla:
emitOperationalEventsforwardAdapterOperationalEventsoperationalEvent segue envelope estavel com:
eventTypetimestampseverityjourneyId/stepId/blockId quando aplicavelpayload tipado por tipo de eventoQuando o host quiser reutilizar @praxisui/dynamic-form, o caminho e registrar o provider opcional:
import { provideEditorialDynamicFormAdapter } from '@praxisui/editorial-forms';
import { PraxisDynamicForm } from '@praxisui/dynamic-form';
providers: [
provideEditorialDynamicFormAdapter({ component: PraxisDynamicForm }),
];
Decisao de superficie publica desta fase:
createEditorialDynamicFormAdapter(...)provideEditorialDynamicFormAdapter(...)@praxisui/editorial-formsSem esse provider, blocos dataCollection degradam para fallback acessivel e informativo no runtime editorial.
Mesmo sem provider, o snapshot ja deixa claro:
formBlockIdformConfigRefrequiresAdapter, missingConfig, invalid)Politica deterministica atual de resolucao de config para dataCollection:
block.formConfiginstance.overrides.runtimeFormConfigsinstance.compatibilityFormConfigsRegras complementares:
formConfigRef e formBlockId apontarem para candidatos diferentes, a primeira correspondencia valida na ordem acima continua sendo aplicadadata-collection-config-ambiguousresolvedFormConfigSource e resolvedFormConfigLookupKey continuam sendo a referencia auditavel para o hostA lib possui specs automatizados para o resolvedor, para o componente de runtime e para os hosts controlados.
Comando oficial da suite da lib:
node ./node_modules/@angular/cli/bin/ng.js test praxis-editorial-forms --watch=false --progress=false --browsers=ChromiumHeadlessNoSandboxValidacao minima de retomada:
npm run build:praxis-corenpm run build:praxis-editorial-formsnpm run typecheckCriterio completo desta fase:
ChromiumHeadlessNoSandboxNo workspace atual, a fase de runtime/integrations controladas foi fechada tambem com E2E reais de host:
/form-config-editor:
22 passed/lab/editorial-runtime/experiments/editorial-runtime/privacy-consent/experiments/editorial-runtime/event-registration/experiments/editorial-runtime/employee-onboarding8 passedCobertura complementar de pagina no host Angular:
privacy-consent-editorial-runtime.page.spec.ts
solutionId, jornada privacy-consent-journey, labels de step e consent-formdata-collection-adapter-missingdata-collection-adapter-resolvedevent-registration-editorial-runtime.page.spec.ts
solutionId, jornada event-registration-journey, labels de step e registration-formdata-collection-adapter-missingdata-collection-adapter-resolvedemployee-onboarding-editorial-runtime.page.spec.ts
solutionId, jornada employee-onboarding-journey e os dois blocos dataCollectionidentity-form e operations-form como blocos resolvidos no snapshotdata-collection-adapter-missingdata-collection-adapter-resolvedPara validar o motor sem depender do app principal, a lib agora possui:
src/lib/testing/editorial-runtime.fixtures.tssrc/lib/testing/editorial-runtime-technical-harness.component.tsEsse harness existe para specs e verificacao tecnica da lib:
dataCollectionOrdem correta de build para retomadas e validacao local:
npm run build:praxis-corenpm run build:praxis-editorial-formsnpm run typecheckAgora existe uma rota tecnica isolada no app do workspace para validar consumo real do host:
/lab/editorial-runtimeEssa rota:
Ela exercita:
dataCollection sem adapterdataCollection com adapter opcional registradoE expõe de forma tecnica:
snapshotChangefallbackChangeoperationalEventPara validar localmente a integracao:
npm run build:praxis-corenpm run build:praxis-editorial-formsnpm run typechecknpm run build -- --configuration developmentAgora existe tambem uma rota experimental isolada para o primeiro caso editorial real no novo runtime:
/experiments/editorial-runtime/privacy-consentprivacy-consent foi escolhido primeiro porque:
dataCollection com menor variabilidade de jornadaFormConfig no centro do motorEssa rota deixa explicito:
/legacy/privacy-consent-template/experiments/editorial-runtime/privacy-consentgetEditorialSolutionById('privacy-consent')runtimeContext, hostConfig, snapshotChange, fallbackChange e operationalEventdataCollection pode ser ligado ou desligado localmente para validar o comportamento real do hostEssa pagina:
/lab/editorial-runtimePrimeira superficie tecnica da fase de authoring:
/lab/editorial-authoringAgora existe tambem uma terceira rota experimental isolada para o fluxo mais complexo entre os casos canônicos atuais:
/experiments/editorial-runtime/employee-onboardingemployee-onboarding foi escolhido como terceiro passo porque:
dataCollection (identity-form e operations-form)/demo/employee-onboarding-templateEssa rota deixa explicito:
/demo/employee-onboarding-template/experiments/editorial-runtime/employee-onboardinggetEditorialSolutionById('employee-onboarding')runtimeContext, hostConfig, snapshotChange, fallbackChange e operationalEventruntimeFormConfigs locais a partir do template legado apenas para alimentar identity-form e operations-formdataCollection pode ser ligado ou desligado localmente para validar o comportamento real do hostA fase de runtime/integrations controladas fica considerada concluida neste estado porque agora existe:
/lab/editorial-runtime/experiments/editorial-runtime/privacy-consent/experiments/editorial-runtime/event-registration/experiments/editorial-runtime/employee-onboardingdataCollectionEsta conclusao de fase nao significa rollout de produto.
O que continua fora de escopo nesta etapa:
O proximo salto arquitetural passa a ser:
No estado atual, os tres fluxos integrados permanecem experimentais.
Promocao para migracao oficial exige, no minimo:
snapshotChange, fallbackChange e operationalEvent observaveis em host realdataCollection validado sem adaptador e com adaptadorFormConfigLeitura operacional atual:
privacy-consent: primeiro candidato a promocaoevent-registration: segundo candidatoemployee-onboarding: caso de robustez antes de rolloutPrimeiro host de promocao controlada ja criado:
/privacy-consent/controlled/editorial-runtime/privacy-consentEsse host:
/legacy/privacy-consent-templateEssa pagina:
/lab/editorial-runtimeAgora existe tambem uma segunda rota experimental isolada para ampliar a validacao em um fluxo com mais narrativa e mais blocos semanticos:
/experiments/editorial-runtime/event-registrationevent-registration foi escolhido como segundo passo porque:
dataCollection, reduzindo risco em relacao a employee-onboardinghero, contextSummary, legalNotice, reviewSummary e footerLinks/demo/event-registration-templateEssa rota deixa explicito:
/demo/event-registration-template/experiments/editorial-runtime/event-registrationgetEditorialSolutionById('event-registration')runtimeContext, hostConfig, snapshotChange, fallbackChange e operationalEventdataCollection pode ser ligado ou desligado localmente para validar o comportamento real do hostEssa pagina:
/lab/editorial-runtimeFAQs
Editorial form runtime for Praxis UI: journeys, presets, semantic blocks, and specialist hosting for editorial experiences.
We found that @praxisui/editorial-forms demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.