@praxisui/table 8.0.0-beta.45 → 8.0.0-beta.47

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.
@@ -39407,7 +39407,7 @@ class PraxisTable {
39407
39407
  if (this.aiAdapter || this.aiAdapterLoadStarted)
39408
39408
  return;
39409
39409
  this.aiAdapterLoadStarted = true;
39410
- import('./praxisui-table-table-ai.adapter-Ju23kygf.mjs')
39410
+ import('./praxisui-table-table-ai.adapter-QOhPm6MY.mjs')
39411
39411
  .then(({ TableAiAdapter }) => {
39412
39412
  this.aiAdapter = new TableAiAdapter(this);
39413
39413
  this.initializeAiAssistantController();
@@ -39557,7 +39557,7 @@ class PraxisTable {
39557
39557
  initializeAiAssistantController() {
39558
39558
  if (!this.aiAdapter || this.aiAssistantController)
39559
39559
  return;
39560
- import('./praxisui-table-table-agentic-authoring-turn-flow-l-pLyTnb.mjs')
39560
+ import('./praxisui-table-table-agentic-authoring-turn-flow-kyE6Xtli.mjs')
39561
39561
  .then(({ TableAgenticAuthoringTurnFlow }) => {
39562
39562
  if (this.aiAssistantController || !this.aiAdapter)
39563
39563
  return;
@@ -13,6 +13,7 @@ class TableAgenticAuthoringTurnFlow {
13
13
  streamTerminalWatchdogMs = 75_000;
14
14
  streamTerminalReconnectLimit = 2;
15
15
  selectedRecordStreamTerminalWatchdogMs = 45_000;
16
+ selectedRecordSurfaceStreamTerminalWatchdogMs = 18_000;
16
17
  constructor(adapter, aiApi) {
17
18
  this.adapter = adapter;
18
19
  this.aiApi = aiApi;
@@ -47,16 +48,7 @@ class TableAgenticAuthoringTurnFlow {
47
48
  this.selectedRecordFieldsForTurn = this.extractSelectedRecordFields(contextHints);
48
49
  this.selectedRecordsCountForTurn = this.extractSelectedRecordsCount(contextHints);
49
50
  this.filterExpressionSupportedForTurn = this.resolveFilterExpressionSupported(contextHints);
50
- const localResponse = this.selectedRecordMissingSelectionAnswer(request, contextHints)
51
- ?? this.selectedRecordExportOnlyRequest(request, contextHints)
52
- ?? this.selectedRecordSingleCandidateQuestionAnswer(request, contextHints)
53
- ?? this.selectedRecordFieldQuestionAnswer(request, contextHints)
54
- ?? this.selectedRecordMultiFieldQuestionAnswer(request, contextHints)
55
- ?? this.completeSelectedRecordFilterApplyRequest(request, contextHints)
56
- ?? this.selectedRecordCommonQuestionAnswer(request, contextHints)
57
- ?? this.completeSelectedRecordFilterClarification(request, contextHints)
58
- ?? this.selectedRecordMultipleFilterFieldClarification(request, contextHints)
59
- ?? this.selectedRecordSimilarityClarification(request, contextHints);
51
+ const localResponse = this.selectedRecordLocalResponse(request, contextHints);
60
52
  const messages = this.withCapabilitySystemMessages(this.toChatMessages(request.messages, prompt), contextHints);
61
53
  return {
62
54
  contextHints,
@@ -203,7 +195,6 @@ class TableAgenticAuthoringTurnFlow {
203
195
  if (event?.eventId) {
204
196
  lastEventId = event.eventId;
205
197
  }
206
- armTerminalWatchdog();
207
198
  const terminal = this.toTerminalStreamResult(event, request, currentState);
208
199
  if (terminal) {
209
200
  subscriber.next(terminal);
@@ -212,6 +203,9 @@ class TableAgenticAuthoringTurnFlow {
212
203
  closeConnection();
213
204
  return;
214
205
  }
206
+ if (event.type !== 'heartbeat') {
207
+ armTerminalWatchdog();
208
+ }
215
209
  const progress = this.buildStreamProgressMessage(event.type, this.toRecord(event.payload) ?? {}, prompt, componentId);
216
210
  emitProgress(progress);
217
211
  },
@@ -262,14 +256,16 @@ class TableAgenticAuthoringTurnFlow {
262
256
  });
263
257
  }
264
258
  streamTerminalWatchdogDelay(contextHints) {
259
+ if (this.shouldUseSelectedRecordSurfaceSnapshotFallback(contextHints)) {
260
+ return Math.min(this.streamTerminalWatchdogMs, this.selectedRecordSurfaceStreamTerminalWatchdogMs);
261
+ }
265
262
  if (this.shouldUseSelectedRecordSnapshotFallback(contextHints)) {
266
263
  return Math.min(this.streamTerminalWatchdogMs, this.selectedRecordStreamTerminalWatchdogMs);
267
264
  }
268
265
  return this.streamTerminalWatchdogMs;
269
266
  }
270
267
  streamTerminalReconnectLimitFor(contextHints) {
271
- if (this.shouldUseSelectedRecordSurfaceSnapshotFallback(contextHints)
272
- && this.selectedRecordFilterCandidates(contextHints).length === 0) {
268
+ if (this.shouldUseSelectedRecordSurfaceSnapshotFallback(contextHints)) {
273
269
  return 0;
274
270
  }
275
271
  return this.streamTerminalReconnectLimit;
@@ -568,6 +564,26 @@ class TableAgenticAuthoringTurnFlow {
568
564
  isTurnInProgressResponse(response) {
569
565
  return this.normalizeLabel(response.code ?? '') === 'turn in progress';
570
566
  }
567
+ selectedRecordLocalResponse(request, contextHints) {
568
+ if (this.authoringContractHasResponseModes(contextHints)) {
569
+ return this.completeSelectedRecordFilterClarification(request, contextHints);
570
+ }
571
+ return this.selectedRecordMissingSelectionAnswer(request, contextHints)
572
+ ?? this.selectedRecordExportOnlyRequest(request, contextHints)
573
+ ?? this.selectedRecordSingleCandidateQuestionAnswer(request, contextHints)
574
+ ?? this.selectedRecordFieldQuestionAnswer(request, contextHints)
575
+ ?? this.selectedRecordMultiFieldQuestionAnswer(request, contextHints)
576
+ ?? this.completeSelectedRecordFilterApplyRequest(request, contextHints)
577
+ ?? this.selectedRecordCommonQuestionAnswer(request, contextHints)
578
+ ?? this.completeSelectedRecordFilterClarification(request, contextHints)
579
+ ?? this.selectedRecordMultipleFilterFieldClarification(request, contextHints)
580
+ ?? this.selectedRecordSimilarityClarification(request, contextHints);
581
+ }
582
+ authoringContractHasResponseModes(contextHints) {
583
+ const authoringContract = this.toRecord(contextHints?.['authoringContract']);
584
+ return Array.isArray(authoringContract?.['responseModes'])
585
+ && authoringContract['responseModes'].length > 0;
586
+ }
571
587
  compileAdapterResponse(response, request) {
572
588
  if (response.type === 'clarification' || response.type === 'info' || response.type === 'error') {
573
589
  return response;
@@ -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-Cln_diGk.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-ViEs38cE.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-Cln_diGk.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-ViEs38cE.mjs';
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.45",
3
+ "version": "8.0.0-beta.47",
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.45",
9
- "@praxisui/core": "^8.0.0-beta.45",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.45",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.45",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.45",
13
- "@praxisui/rich-content": "^8.0.0-beta.45",
14
- "@praxisui/settings-panel": "^8.0.0-beta.45",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.45",
8
+ "@praxisui/ai": "^8.0.0-beta.47",
9
+ "@praxisui/core": "^8.0.0-beta.47",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.47",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.47",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.47",
13
+ "@praxisui/rich-content": "^8.0.0-beta.47",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.47",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.47",
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.45",
20
+ "@praxisui/dialog": "^8.0.0-beta.47",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {