@praxisui/table 8.0.0-beta.35 → 8.0.0-beta.37

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.
@@ -39405,7 +39405,7 @@ class PraxisTable {
39405
39405
  if (this.aiAdapter || this.aiAdapterLoadStarted)
39406
39406
  return;
39407
39407
  this.aiAdapterLoadStarted = true;
39408
- import('./praxisui-table-table-ai.adapter-Whr5L9XO.mjs')
39408
+ import('./praxisui-table-table-ai.adapter-C9990_QA.mjs')
39409
39409
  .then(({ TableAiAdapter }) => {
39410
39410
  this.aiAdapter = new TableAiAdapter(this);
39411
39411
  this.initializeAiAssistantController();
@@ -39555,7 +39555,7 @@ class PraxisTable {
39555
39555
  initializeAiAssistantController() {
39556
39556
  if (!this.aiAdapter || this.aiAssistantController)
39557
39557
  return;
39558
- import('./praxisui-table-table-agentic-authoring-turn-flow-PxHFt4yB.mjs')
39558
+ import('./praxisui-table-table-agentic-authoring-turn-flow-C1M85Vv8.mjs')
39559
39559
  .then(({ TableAgenticAuthoringTurnFlow }) => {
39560
39560
  if (this.aiAssistantController || !this.aiAdapter)
39561
39561
  return;
@@ -50,9 +50,9 @@ class TableAgenticAuthoringTurnFlow {
50
50
  const localResponse = this.selectedRecordMissingSelectionAnswer(request, contextHints)
51
51
  ?? this.selectedRecordFieldQuestionAnswer(request, contextHints)
52
52
  ?? this.selectedRecordMultiFieldQuestionAnswer(request, contextHints)
53
+ ?? this.completeSelectedRecordFilterApplyRequest(request, contextHints)
53
54
  ?? this.selectedRecordCommonQuestionAnswer(request, contextHints)
54
55
  ?? this.completeSelectedRecordFilterClarification(request, contextHints)
55
- ?? this.completeSelectedRecordFilterApplyRequest(request, contextHints)
56
56
  ?? this.selectedRecordMultipleFilterFieldClarification(request, contextHints)
57
57
  ?? this.selectedRecordSimilarityClarification(request, contextHints);
58
58
  const messages = this.withCapabilitySystemMessages(this.toChatMessages(request.messages, prompt), contextHints);
@@ -744,9 +744,12 @@ class TableAgenticAuthoringTurnFlow {
744
744
  if (this.selectedRecordsCountForTurn > 0)
745
745
  return null;
746
746
  const normalizedPrompt = this.normalizeLabel(request.prompt ?? '');
747
- const hasSelectedRecordsContext = this.hasSelectedRecordsContext(contextHints);
748
747
  if (!this.selectedRecordReferentialRecordsPrompt(normalizedPrompt)
749
- && !(hasSelectedRecordsContext && this.selectedRecordExplicitSelectionPrompt(normalizedPrompt))) {
748
+ && !this.selectedRecordExplicitSelectionPrompt(normalizedPrompt)) {
749
+ return null;
750
+ }
751
+ if (!this.selectedRecordsContextExplicitlyEmpty(contextHints)
752
+ && !this.selectedRecordMissingSelectionQuestionRequested(normalizedPrompt)) {
750
753
  return null;
751
754
  }
752
755
  return {
@@ -780,11 +783,27 @@ class TableAgenticAuthoringTurnFlow {
780
783
  'selecionadas',
781
784
  ].some((token) => this.normalizedTextContainsApproxPhrase(normalizedPrompt, token));
782
785
  }
783
- hasSelectedRecordsContext(contextHints) {
786
+ selectedRecordMissingSelectionQuestionRequested(normalizedPrompt) {
787
+ return this.selectedRecordInformationalQuestionRequested(normalizedPrompt)
788
+ && this.selectedRecordPromptGroundsKnownFilterField(normalizedPrompt);
789
+ }
790
+ selectedRecordPromptGroundsKnownFilterField(normalizedPrompt) {
791
+ if (!normalizedPrompt)
792
+ return false;
793
+ return this.filterFieldCatalogEntries.some((entry) => [
794
+ entry.name,
795
+ entry.label,
796
+ ...entry.aliases,
797
+ ...entry.relatedColumnLabels,
798
+ ...entry.relatedColumnFields,
799
+ ].some((candidate) => this.promptContainsAnyVariant(normalizedPrompt, candidate)));
800
+ }
801
+ selectedRecordsContextExplicitlyEmpty(contextHints) {
784
802
  const authoringContract = this.toRecord(contextHints?.['authoringContract']);
785
803
  const consultativeContext = this.toRecord(authoringContract?.['consultativeContext']);
786
- return !!(this.toRecord(consultativeContext?.['selectedRecordsContext'])
787
- ?? this.toRecord(contextHints?.['selectedRecordsContext']));
804
+ const selectedRecordsContext = this.toRecord(consultativeContext?.['selectedRecordsContext'])
805
+ ?? this.toRecord(contextHints?.['selectedRecordsContext']);
806
+ return !!selectedRecordsContext && this.extractSelectedRecordsCount(contextHints) <= 0;
788
807
  }
789
808
  singleTopSelectedRecordQuestionField(candidates) {
790
809
  if (!candidates.length)
@@ -975,7 +994,17 @@ class TableAgenticAuthoringTurnFlow {
975
994
  return ['comum', 'igual', 'padrao', 'mesma', 'mesmo'].some((token) => (this.normalizedTextContainsApproxToken(normalizedPrompt, token)));
976
995
  }
977
996
  selectedRecordCommonQuestionAlsoRequestsFilter(normalizedPrompt) {
978
- return ['filtro', 'filtrar', 'filtre', 'filtra', 'aplique', 'aplicar', 'buscar', 'busque', 'procure', 'exportar', 'pega', 'pegue', 'acha', 'ache', 'encontra', 'encontre'].some((token) => (this.normalizedTextContainsApproxToken(normalizedPrompt, token)));
997
+ if (this.selectedRecordOperationalAudienceRequested(normalizedPrompt))
998
+ return true;
999
+ return ['filtro', 'filtrar', 'filtre', 'filtra', 'aplique', 'aplicar', 'buscar', 'busque', 'procure', 'exportar', 'mostra', 'mostre', 'traz', 'traga', 'trazer', 'outro', 'outros', 'pega', 'pegue', 'acha', 'ache', 'encontra', 'encontre'].some((token) => (this.normalizedTextContainsApproxToken(normalizedPrompt, token)));
1000
+ }
1001
+ selectedRecordOperationalAudienceRequested(normalizedPrompt) {
1002
+ if (!normalizedPrompt)
1003
+ return false;
1004
+ // Post-grounding bridge only: this distinguishes "show people/records like these"
1005
+ // from an informational field question. Canonical filterCandidates still decide
1006
+ // which field can be materialized.
1007
+ return /(^|\s)(gente|pessoas|pessoal)\s+com\s+(os\s+|as\s+)?(mesmos|mesmas|mesmo|mesma)\b/u.test(normalizedPrompt);
979
1008
  }
980
1009
  selectedRecordRequestedCommonField(normalizedPrompt, row) {
981
1010
  const candidates = Object.keys(row)
@@ -1241,6 +1270,9 @@ class TableAgenticAuthoringTurnFlow {
1241
1270
  'mostrar',
1242
1271
  'mostre',
1243
1272
  'mostra',
1273
+ 'trazer',
1274
+ 'traga',
1275
+ 'traz',
1244
1276
  'pegar',
1245
1277
  'pegue',
1246
1278
  'pega',
@@ -1254,7 +1286,10 @@ class TableAgenticAuthoringTurnFlow {
1254
1286
  'parecidos',
1255
1287
  'semelhante',
1256
1288
  'semelhantes',
1289
+ 'outro',
1290
+ 'outros',
1257
1291
  ].some((token) => this.normalizedTextContainsApproxToken(normalized, token))
1292
+ || this.selectedRecordOperationalAudienceRequested(normalized)
1258
1293
  || this.selectedRecordPrepositionalFilterRequested(normalized)
1259
1294
  || this.selectedRecordProximityFilterRequested(normalized);
1260
1295
  }
@@ -1,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { deepMerge } from '@praxisui/core';
4
- import { z as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, R as coerceTableComponentEditPlans, W as compileTableComponentEditPlans, G as TASK_PRESETS, $ as getTableComponentEditPlanCapabilities, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-CBKUT72z.mjs';
4
+ import { z as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, R as coerceTableComponentEditPlans, W as compileTableComponentEditPlans, G as TASK_PRESETS, $ as getTableComponentEditPlanCapabilities, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-DwRKqWNs.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 PraxisFilter, n as PraxisFilterWidgetConfigEditor, o as PraxisTable, p as PraxisTableConfigEditor, q as PraxisTableInlineAuthoringEditorComponent, r as PraxisTableToolbar, s as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, t as TABLE_COMPONENT_AI_CAPABILITIES, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, y as TABLE_COMPONENT_EDIT_PLAN_KIND, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, G as TASK_PRESETS, H as TableDefaultsProvider, I as TableRulesEditorComponent, K as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, L as VisualFormulaBuilderComponent, O as buildTableApplyPlan, Q as coerceTableComponentEditPlan, R as coerceTableComponentEditPlans, U as compileTableComponentEditPlan, W as compileTableComponentEditPlans, X as createTableAuthoringDocument, Y as getActionId, Z as getEnum, _ as getTableCapabilities, $ as getTableComponentEditPlanCapabilities, a0 as isTableRendererSupportedByRichContentP0, a1 as mapTableRendererToRichContentP0, a2 as normalizeTableAuthoringDocument, a3 as parseLegacyOrTableDocument, a4 as providePraxisFilterMetadata, a5 as providePraxisTableMetadata, a6 as serializeTableAuthoringDocument, a7 as toCanonicalTableConfig, a8 as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-CBKUT72z.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 PraxisFilter, n as PraxisFilterWidgetConfigEditor, o as PraxisTable, p as PraxisTableConfigEditor, q as PraxisTableInlineAuthoringEditorComponent, r as PraxisTableToolbar, s as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, t as TABLE_COMPONENT_AI_CAPABILITIES, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, y as TABLE_COMPONENT_EDIT_PLAN_KIND, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, G as TASK_PRESETS, H as TableDefaultsProvider, I as TableRulesEditorComponent, K as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, L as VisualFormulaBuilderComponent, O as buildTableApplyPlan, Q as coerceTableComponentEditPlan, R as coerceTableComponentEditPlans, U as compileTableComponentEditPlan, W as compileTableComponentEditPlans, X as createTableAuthoringDocument, Y as getActionId, Z as getEnum, _ as getTableCapabilities, $ as getTableComponentEditPlanCapabilities, a0 as isTableRendererSupportedByRichContentP0, a1 as mapTableRendererToRichContentP0, a2 as normalizeTableAuthoringDocument, a3 as parseLegacyOrTableDocument, a4 as providePraxisFilterMetadata, a5 as providePraxisTableMetadata, a6 as serializeTableAuthoringDocument, a7 as toCanonicalTableConfig, a8 as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-DwRKqWNs.mjs';
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.35",
3
+ "version": "8.0.0-beta.37",
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.35",
9
- "@praxisui/core": "^8.0.0-beta.35",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.35",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.35",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.35",
13
- "@praxisui/rich-content": "^8.0.0-beta.35",
14
- "@praxisui/settings-panel": "^8.0.0-beta.35",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.35",
8
+ "@praxisui/ai": "^8.0.0-beta.37",
9
+ "@praxisui/core": "^8.0.0-beta.37",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.37",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.37",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.37",
13
+ "@praxisui/rich-content": "^8.0.0-beta.37",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.37",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.37",
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.35",
20
+ "@praxisui/dialog": "^8.0.0-beta.37",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {