@praxisui/dynamic-form 8.0.0-beta.25 → 8.0.0-beta.27

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.
package/README.md CHANGED
@@ -542,6 +542,12 @@ Exemplo mínimo de uma coluna com campo, bloco visual e projeção `fields[]`:
542
542
 
543
543
  Guia completo: `projects/praxis-dynamic-form/docs/layout-items-visual-blocks.md`.
544
544
 
545
+ ## Authoring e Persistência em Hosts
546
+
547
+ - `configChange` preserva o contrato legado e continua emitindo `FormConfig` para consumidores diretos.
548
+ - `configPatchChange` é o output recomendado para hosts genéricos, como Page Builder e páginas dinâmicas, persistirem autoria assistida: o payload segue `{ inputPatch: { config: FormConfig } }`.
549
+ - Fluxos de IA e editores devem materializar alterações no `FormConfig` canônico do componente; o host decide onde gravar `inputs.config`.
550
+
545
551
  ## Documentacao Tecnica da Lib
546
552
 
547
553
  - `projects/praxis-dynamic-form/src/lib/praxis-dynamic-form.json-api.md`
@@ -1,4 +1,5 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
+ import { shouldRoutePromptToGovernedDecision } from '@praxisui/ai';
2
3
 
3
4
  class DynamicFormAgenticAuthoringTurnFlow {
4
5
  adapter;
@@ -310,28 +311,7 @@ class DynamicFormAgenticAuthoringTurnFlow {
310
311
  };
311
312
  }
312
313
  shouldRouteToGovernedDecision(prompt, contextHints) {
313
- const normalized = prompt.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLowerCase();
314
- const recommendedFlow = this.toRecord(contextHints?.['domainCatalog'])?.['recommendedAuthoringFlow'];
315
- if (recommendedFlow === 'shared_rule_authoring')
316
- return true;
317
- return [
318
- 'regra',
319
- 'politica',
320
- 'policy',
321
- 'compliance',
322
- 'lgpd',
323
- 'privacidade',
324
- 'aprovacao',
325
- 'aprovar',
326
- 'publicar',
327
- 'materializar',
328
- 'enforcement',
329
- 'validacao de negocio',
330
- 'validar negocio',
331
- 'elegibilidade',
332
- 'permissao',
333
- 'acesso',
334
- ].some((term) => normalized.includes(term));
314
+ return shouldRoutePromptToGovernedDecision(prompt, contextHints);
335
315
  }
336
316
  toGovernedDecisionHandoff(prompt, request) {
337
317
  const message = 'Esse pedido parece alterar uma decisao de negocio compartilhada. O formulario pode contextualizar campo/secao, mas a regra deve seguir pelo fluxo governado de domain-rules antes de qualquer materializacao runtime.';