@praxisui/settings-panel 8.0.0-beta.8 → 8.0.0-beta.81

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
@@ -155,6 +155,7 @@ Regra de integracao:
155
155
  - `config.persistSizeKey?: string`
156
156
  - `config.minWidth?: string`
157
157
  - `config.maxWidth?: string`
158
+ - `config.diagnostics?: SettingsPanelDiagnosticsConfig`
158
159
  - `config.content: { component: Type<any>; inputs?: Record<string, any> }`
159
160
 
160
161
  ### Ref
@@ -196,6 +197,48 @@ Opcionais:
196
197
  - `customActions$?`
197
198
  - `hideDefaultButtons$?`
198
199
 
200
+ ## Agentic Authoring Contract
201
+
202
+ `praxis-settings-panel` publica um manifesto executavel em `PRAXIS_SETTINGS_PANEL_AUTHORING_MANIFEST`.
203
+
204
+ Esse contrato governa somente o shell autoral:
205
+
206
+ - identidade e titulo do painel
207
+ - modo de abertura e substituicao mediada por `onBeforeClose`
208
+ - largura, resize e persistencia de tamanho
209
+ - comportamento de `Apply`
210
+ - comportamento de `Save`
211
+ - comportamento de `Reset`
212
+ - envelope do editor hospedado
213
+ - diagnosticos baseados em `dirty`, `valid` e `busy`
214
+
215
+ O manifesto nao define semantica de `FormConfig`, `TableConfig`, `ListConfig` ou qualquer outro documento de consumidor. Quando a intencao do usuario alterar a configuracao interna de um editor hospedado, a operacao deve ser delegada para o manifesto do componente dono daquele documento.
216
+
217
+ Regras do contrato:
218
+
219
+ - `Apply` emite `applied$` com `getSettingsValue()` e nao fecha o painel.
220
+ - `Save` usa `onSave()` quando existir, usa `getSettingsValue()` como fallback, emite `saved$` e fecha com motivo `save`.
221
+ - `Reset` e destrutivo, exige confirmacao, chama `reset()` quando existir e emite `reset$`.
222
+ - `Apply` e `Save` continuam bloqueados por `dirty=false`, `valid=false` ou `busy=true`.
223
+ - O editor hospedado deve implementar `SettingsValueProvider` quando o fluxo for autoral.
224
+ - Inputs persistidos do editor devem permanecer serializaveis.
225
+ - `diagnostics` controla somente a visibilidade dos diagnosticos do shell (`statusMessage`, motivo de desabilitacao, busy e estado invalido); ele nao altera as regras de bloqueio de `Apply`/`Save`.
226
+
227
+ ### Diagnostics
228
+
229
+ `SettingsPanelConfig.diagnostics` e opcional e preserva o comportamento historico quando omitido:
230
+
231
+ ```ts
232
+ {
233
+ showStatusMessage?: boolean;
234
+ showDisabledReason?: boolean;
235
+ showBusyState?: boolean;
236
+ exposeValidationState?: boolean;
237
+ }
238
+ ```
239
+
240
+ Use essa configuracao para ajustar a superficie visual do shell autoral. O estado canonico continua vindo de `SettingsValueProvider.isDirty$`, `isValid$` e `isBusy$`.
241
+
199
242
  ### `onBeforeClose`
200
243
 
201
244
  `onBeforeClose` pertence ao contrato canonico de authoring. Ele pode: