@praxisui/dynamic-form 8.0.0-beta.26 → 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 +6 -0
- package/fesm2022/{praxisui-dynamic-form-dynamic-form-agentic-authoring-turn-flow-DuH1ad7h.mjs → praxisui-dynamic-form-dynamic-form-agentic-authoring-turn-flow-DOn1s9oR.mjs} +2 -22
- package/fesm2022/praxisui-dynamic-form.mjs +272 -15
- package/index.d.ts +24 -2
- package/package.json +8 -8
- package/src/lib/praxis-dynamic-form.json-api.md +3 -0
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
|
-
|
|
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.';
|