@praxisui/crud 8.0.0-beta.9 → 8.0.0-beta.90
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
|
@@ -240,7 +240,7 @@ sequenceDiagram
|
|
|
240
240
|
### Pontos-Chave do Runtime
|
|
241
241
|
|
|
242
242
|
1. **`crudContext` precisa ser estavel**: o componente nao usa getter dinamico no template; ele memoiza o contexto quando o metadata muda.
|
|
243
|
-
2. **`PraxisCrudComponent` pode completar a UX da tabela**: ele injeta automaticamente toolbar add e row actions quando o metadata declara acoes e o host nao configurou a tabela explicitamente.
|
|
243
|
+
2. **`PraxisCrudComponent` pode completar a UX da tabela**: ele injeta automaticamente toolbar add e row actions quando o metadata declara acoes e o host nao configurou a tabela explicitamente. Row actions geradas pelo CRUD limitam duas acoes primarias inline por padrao e mantem descobertas/contextuais no menu overflow para preservar densidade corporativa.
|
|
244
244
|
3. **A validacao estrutural do metadata e estrita, mas aceita bindings diferidos**: `route` e `formId` podem ser completados por overrides persistidos imediatamente antes da abertura.
|
|
245
245
|
4. **O `CrudLauncherService` e a fonte de verdade para `openMode`**: ele mescla overrides persistidos, defaults do metadata e GlobalConfig antes de decidir `route`, `modal` ou `drawer`.
|
|
246
246
|
5. **Modal e drawer nao sao equivalentes internamente**: o ramo modal usa `DynamicFormDialogHostComponent`; o ramo drawer depende do adapter provido pelo host.
|
|
@@ -353,6 +353,39 @@ Direcao de plataforma:
|
|
|
353
353
|
- a semantica canonica continua cobrindo metadata, tabela interna, formulario, actions, open modes e persistencia/reabertura
|
|
354
354
|
- hosts consumidores devem permanecer como demonstradores do contrato, nao como donos de um editor paralelo
|
|
355
355
|
|
|
356
|
+
## Agentic Authoring Contract
|
|
357
|
+
|
|
358
|
+
`PRAXIS_CRUD_AUTHORING_MANIFEST` is the executable AI authoring contract for `@praxisui/crud`.
|
|
359
|
+
|
|
360
|
+
The manifest owns CRUD orchestration only:
|
|
361
|
+
|
|
362
|
+
- `resource.path`, `resourceKey`, `idField`, endpoint key and query context binding
|
|
363
|
+
- list surface orchestration and stable `crudContext`
|
|
364
|
+
- create/edit/view action open mode, route, form binding, params, `initialValue` and back policy
|
|
365
|
+
- delete enablement, confirmation, canonical submit contract and capability policy
|
|
366
|
+
- dialog/drawer/route defaults consumed by `CrudLauncherService`
|
|
367
|
+
- permissions derived from resource capabilities
|
|
368
|
+
|
|
369
|
+
The manifest does not own child component semantics:
|
|
370
|
+
|
|
371
|
+
- `TableConfig` edits must delegate to `praxis-table`
|
|
372
|
+
- `FormConfig` and `FieldMetadata` edits must delegate to `praxis-dynamic-form` or `praxis-metadata-editor`
|
|
373
|
+
- dialog shell changes outside CRUD defaults must delegate to `praxis-dialog` or `praxis-settings-panel`
|
|
374
|
+
|
|
375
|
+
Governed operation families:
|
|
376
|
+
|
|
377
|
+
- `resource.bind`
|
|
378
|
+
- `list.surface.configure`
|
|
379
|
+
- `surface.create.configure`
|
|
380
|
+
- `surface.edit.configure`
|
|
381
|
+
- `surface.view.configure`
|
|
382
|
+
- `delete.enabled.set`
|
|
383
|
+
- `dialog.size.set`
|
|
384
|
+
- `permissions.set`
|
|
385
|
+
- `form.childOperation.delegate`
|
|
386
|
+
|
|
387
|
+
Stable identities are resource path/key, `crudId`, action id and child operation id. Array indexes are not canonical identities. Destructive delete behavior requires explicit confirmation and backend capability support.
|
|
388
|
+
|
|
356
389
|
To build the library, run:
|
|
357
390
|
|
|
358
391
|
```bash
|