@praxisui/table 8.0.0-beta.102 → 8.0.0-beta.103

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.
@@ -39948,7 +39948,7 @@ class PraxisTable {
39948
39948
  if (this.aiAdapter || this.aiAdapterLoadStarted)
39949
39949
  return;
39950
39950
  this.aiAdapterLoadStarted = true;
39951
- import('./praxisui-table-table-ai.adapter-D1VAQO63.mjs')
39951
+ import('./praxisui-table-table-ai.adapter-Mv-J6ECy.mjs')
39952
39952
  .then(({ TableAiAdapter }) => {
39953
39953
  this.aiAdapter = new TableAiAdapter(this);
39954
39954
  this.initializeAiAssistantController();
@@ -40678,7 +40678,7 @@ class PraxisTable {
40678
40678
  initializeAiAssistantController() {
40679
40679
  if (!this.aiAdapter || this.aiAssistantController)
40680
40680
  return;
40681
- import('./praxisui-table-table-agentic-authoring-turn-flow-CC5bOKf5.mjs')
40681
+ import('./praxisui-table-table-agentic-authoring-turn-flow-DL9l0XF7.mjs')
40682
40682
  .then(({ TableAgenticAuthoringTurnFlow }) => {
40683
40683
  if (this.aiAssistantController || !this.aiAdapter)
40684
40684
  return;
@@ -2479,6 +2479,10 @@ class TableAgenticAuthoringTurnFlow {
2479
2479
  response = this.normalizeNumericBandConditionalStylePlan(response, request);
2480
2480
  response = this.normalizeCompoundColumnPresentationPlan(response, request);
2481
2481
  response = this.normalizeComputedColumnAuxiliaryMaterializations(response);
2482
+ const selectedRecordReadonlyPresentationBoundary = this.selectedRecordReadonlyPresentationBoundaryResponse(response, request);
2483
+ if (selectedRecordReadonlyPresentationBoundary) {
2484
+ return selectedRecordReadonlyPresentationBoundary;
2485
+ }
2482
2486
  const visualPresentationChoice = this.visualPresentationChoiceClarificationBoundary(response, request);
2483
2487
  if (visualPresentationChoice) {
2484
2488
  return visualPresentationChoice;
@@ -7097,6 +7101,30 @@ class TableAgenticAuthoringTurnFlow {
7097
7101
  ],
7098
7102
  };
7099
7103
  }
7104
+ selectedRecordReadonlyPresentationBoundaryResponse(response, request) {
7105
+ if (!this.selectedRecordReadOnlyAnalysisRequested(request))
7106
+ return null;
7107
+ if (response.patch)
7108
+ return null;
7109
+ const contextHints = this.contextHintsFor(request);
7110
+ if (!this.selectedRecordSampleRows(contextHints).length)
7111
+ return null;
7112
+ const hasPresentationOptions = (response.optionPayloads ?? [])
7113
+ .some((payload) => this.isVisualPresentationClarificationPayload(payload)
7114
+ || this.isGovernedCategoricalSemanticsChoicePayload(payload));
7115
+ if (!hasPresentationOptions && !this.responseHasGovernedCategoricalSemanticsChoice(response))
7116
+ return null;
7117
+ return {
7118
+ type: 'info',
7119
+ sessionId: response.sessionId ?? request?.sessionId,
7120
+ message: this.selectedRecordsAnalyticalSummary(contextHints),
7121
+ warnings: [
7122
+ ...(response.warnings ?? []),
7123
+ 'selected-record-readonly-analysis-presentation-misroute-collapsed',
7124
+ 'A plataforma respondeu a analise read-only usando selectedRecordsContext.sampleRows porque a resposta semantica retornou opcoes de apresentacao visual para uma pergunta consultiva.',
7125
+ ],
7126
+ };
7127
+ }
7100
7128
  responseAsksForSelectedRecordAnalysisDimension(response) {
7101
7129
  const text = [
7102
7130
  response.message,
@@ -7214,8 +7242,6 @@ class TableAgenticAuthoringTurnFlow {
7214
7242
  const normalizedPrompt = this.normalizeLabel(request?.prompt ?? '');
7215
7243
  if (!normalizedPrompt)
7216
7244
  return false;
7217
- if (!this.selectedRecordPromptTargetsSelectedSet(normalizedPrompt))
7218
- return false;
7219
7245
  if (this.promptRequestsVisualOrStructuralEdit(normalizedPrompt)
7220
7246
  || this.promptRequestsExportOperation(normalizedPrompt)) {
7221
7247
  return this.promptExplicitlyForbidsTableMutation(normalizedPrompt);
@@ -7223,7 +7249,7 @@ class TableAgenticAuthoringTurnFlow {
7223
7249
  if (this.promptRequestsSelectedRecordDerivedOperation(normalizedPrompt))
7224
7250
  return false;
7225
7251
  return this.promptExplicitlyForbidsTableMutation(normalizedPrompt)
7226
- || this.selectedRecordPromptLooksConsultative(normalizedPrompt);
7252
+ || this.selectedRecordPromptTargetsSelectedSet(normalizedPrompt);
7227
7253
  }
7228
7254
  selectedRecordPromptTargetsSelectedSet(normalizedPrompt) {
7229
7255
  if (!normalizedPrompt)
@@ -7364,6 +7390,30 @@ class TableAgenticAuthoringTurnFlow {
7364
7390
  // This ranks explicit selected-record operation wording after selectedRecordsContext is already available.
7365
7391
  // The primary intent still comes from the semantic turn/contract; these phrases only prevent a read-only
7366
7392
  // safety boundary from cancelling an operation the user explicitly asked to materialize.
7393
+ if (this.selectedRecordPromptLooksConsultative(normalizedPrompt)) {
7394
+ const explicitOperationSignals = [
7395
+ 'filtrar',
7396
+ 'filtra',
7397
+ 'filtro',
7398
+ 'filtre',
7399
+ 'buscar registros',
7400
+ 'procurar registros',
7401
+ 'acha quem',
7402
+ 'achar quem',
7403
+ 'outros registros',
7404
+ 'quero outros',
7405
+ 'quero os mesmo',
7406
+ 'quero os mesmos',
7407
+ 'quero ver gente',
7408
+ 'pega a turma',
7409
+ 'pegar a turma',
7410
+ ].map((signal) => this.normalizeLabel(signal));
7411
+ const explicitlyRequestsOperation = explicitOperationSignals.some((signal) => signal.includes(' ')
7412
+ ? this.normalizedTextContainsExactPhrase(normalizedPrompt, signal)
7413
+ : this.normalizedTextHasStandaloneToken(normalizedPrompt, signal));
7414
+ if (!explicitlyRequestsOperation)
7415
+ return false;
7416
+ }
7367
7417
  return [
7368
7418
  'filtrar',
7369
7419
  'filtra',
@@ -1,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, sanitizePraxisAssistantText, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { PRAXIS_GLOBAL_ACTION_CATALOG, deepMerge } from '@praxisui/core';
4
- import { G as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, W as coerceTableComponentEditPlans, Y as compileTableComponentEditPlans, I as TASK_PRESETS, a1 as getTableComponentEditPlanCapabilities, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-DDUl1Vav.mjs';
4
+ import { G as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, W as coerceTableComponentEditPlans, Y as compileTableComponentEditPlans, I as TASK_PRESETS, a1 as getTableComponentEditPlanCapabilities, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-CIG9G2ku.mjs';
5
5
 
6
6
  const TABLE_COMPONENT_CONTEXT_PACK = {
7
7
  version: 'v1',
@@ -1 +1 @@
1
- export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, n as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, o as PraxisFilter, p as PraxisFilterWidgetConfigEditor, q as PraxisTable, r as PraxisTableConfigEditor, s as PraxisTableInlineAuthoringEditorComponent, t as PraxisTableToolbar, u as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, v as TABLE_COMPONENT_AI_CAPABILITIES, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_KIND, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, I as TASK_PRESETS, K as TableDefaultsProvider, L as TableRulesEditorComponent, O as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, Q as VisualFormulaBuilderComponent, R as buildTableApplyPlan, U as coerceTableComponentEditPlan, W as coerceTableComponentEditPlans, X as compileTableComponentEditPlan, Y as compileTableComponentEditPlans, Z as createTableAuthoringDocument, _ as getActionId, $ as getEnum, a0 as getTableCapabilities, a1 as getTableComponentEditPlanCapabilities, a2 as isTableRendererSupportedByRichContentP0, a3 as mapTableRendererToRichContentP0, a4 as normalizeTableAuthoringDocument, a5 as parseLegacyOrTableDocument, a6 as providePraxisFilterMetadata, a7 as providePraxisTableMetadata, a8 as providePraxisTableToolbarAppearance, a9 as serializeTableAuthoringDocument, aa as toCanonicalTableConfig, ab as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-DDUl1Vav.mjs';
1
+ export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, n as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, o as PraxisFilter, p as PraxisFilterWidgetConfigEditor, q as PraxisTable, r as PraxisTableConfigEditor, s as PraxisTableInlineAuthoringEditorComponent, t as PraxisTableToolbar, u as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, v as TABLE_COMPONENT_AI_CAPABILITIES, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_KIND, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, I as TASK_PRESETS, K as TableDefaultsProvider, L as TableRulesEditorComponent, O as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, Q as VisualFormulaBuilderComponent, R as buildTableApplyPlan, U as coerceTableComponentEditPlan, W as coerceTableComponentEditPlans, X as compileTableComponentEditPlan, Y as compileTableComponentEditPlans, Z as createTableAuthoringDocument, _ as getActionId, $ as getEnum, a0 as getTableCapabilities, a1 as getTableComponentEditPlanCapabilities, a2 as isTableRendererSupportedByRichContentP0, a3 as mapTableRendererToRichContentP0, a4 as normalizeTableAuthoringDocument, a5 as parseLegacyOrTableDocument, a6 as providePraxisFilterMetadata, a7 as providePraxisTableMetadata, a8 as providePraxisTableToolbarAppearance, a9 as serializeTableAuthoringDocument, aa as toCanonicalTableConfig, ab as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-CIG9G2ku.mjs';
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.102",
3
+ "version": "8.0.0-beta.103",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
- "@praxisui/ai": "^8.0.0-beta.102",
9
- "@praxisui/core": "^8.0.0-beta.102",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.102",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.102",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.102",
13
- "@praxisui/rich-content": "^8.0.0-beta.102",
14
- "@praxisui/settings-panel": "^8.0.0-beta.102",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.102",
8
+ "@praxisui/ai": "^8.0.0-beta.103",
9
+ "@praxisui/core": "^8.0.0-beta.103",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.103",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.103",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.103",
13
+ "@praxisui/rich-content": "^8.0.0-beta.103",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.103",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.103",
16
16
  "@angular/cdk": "^21.0.0",
17
17
  "@angular/forms": "^21.0.0",
18
18
  "@angular/material": "^21.0.0",
19
19
  "@angular/router": "^21.0.0",
20
- "@praxisui/dialog": "^8.0.0-beta.102",
20
+ "@praxisui/dialog": "^8.0.0-beta.103",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {