@kronor/dtv 3.3.0 → 3.5.0

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.
Files changed (41) hide show
  1. package/dist/assets/index-BbqiKmIG.js +2209 -0
  2. package/dist/assets/index-DeczuQ8N.css +1 -0
  3. package/dist/index.es.js +11078 -10776
  4. package/dist/index.html +2 -2
  5. package/dist/types/src/App.d.ts +10 -3
  6. package/dist/types/src/App.d.ts.map +1 -1
  7. package/dist/types/src/components/AIAssistantForm.d.ts +4 -1
  8. package/dist/types/src/components/AIAssistantForm.d.ts.map +1 -1
  9. package/dist/types/src/components/SavedFilterList.d.ts.map +1 -1
  10. package/dist/types/src/components/UserPreferencesPanel.d.ts +9 -0
  11. package/dist/types/src/components/UserPreferencesPanel.d.ts.map +1 -0
  12. package/dist/types/src/components/aiAssistant.d.ts +10 -2
  13. package/dist/types/src/components/aiAssistant.d.ts.map +1 -1
  14. package/dist/types/src/components/userPreferences.d.ts +16 -0
  15. package/dist/types/src/components/userPreferences.d.ts.map +1 -0
  16. package/dist/types/src/framework/result.d.ts +36 -0
  17. package/dist/types/src/framework/result.d.ts.map +1 -0
  18. package/dist/types/src/framework/saved-filters.d.ts +0 -18
  19. package/dist/types/src/framework/saved-filters.d.ts.map +1 -1
  20. package/dist/types/src/framework/useUserDataManager.d.ts +7 -7
  21. package/dist/types/src/framework/useUserDataManager.d.ts.map +1 -1
  22. package/dist/types/src/framework/user-data-errors.d.ts +14 -0
  23. package/dist/types/src/framework/user-data-errors.d.ts.map +1 -0
  24. package/dist/types/src/framework/user-data-manager.d.ts +14 -9
  25. package/dist/types/src/framework/user-data-manager.d.ts.map +1 -1
  26. package/dist/types/src/framework/user-data.d.ts +11 -1
  27. package/dist/types/src/framework/user-data.d.ts.map +1 -1
  28. package/dist/types/src/framework/user-data.migrations.d.ts +21 -1
  29. package/dist/types/src/framework/user-data.migrations.d.ts.map +1 -1
  30. package/dist/types/src/framework/view-parser.d.ts +2 -0
  31. package/dist/types/src/framework/view-parser.d.ts.map +1 -1
  32. package/dist/types/src/framework/view.d.ts +2 -0
  33. package/dist/types/src/framework/view.d.ts.map +1 -1
  34. package/dist/types/src/lib/index.d.ts +2 -0
  35. package/dist/types/src/lib/index.d.ts.map +1 -1
  36. package/dist/types/src/lib/renderTableView.d.ts +5 -2
  37. package/dist/types/src/lib/renderTableView.d.ts.map +1 -1
  38. package/docs/api/README.md +12 -2
  39. package/package.json +1 -1
  40. package/dist/assets/index-3dEsNMmz.css +0 -1
  41. package/dist/assets/index-CS-ojbEv.js +0 -2209
package/dist/index.html CHANGED
@@ -6,8 +6,8 @@
6
6
  <link rel="icon" type="image/svg+xml" href="/portal/static/assets/table-views/vite.svg" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
8
  <title>Filters Demo</title>
9
- <script type="module" crossorigin src="/portal/static/assets/table-views/assets/index-CS-ojbEv.js"></script>
10
- <link rel="stylesheet" crossorigin href="/portal/static/assets/table-views/assets/index-3dEsNMmz.css">
9
+ <script type="module" crossorigin src="/portal/static/assets/table-views/assets/index-BbqiKmIG.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/portal/static/assets/table-views/assets/index-DeczuQ8N.css">
11
11
  </head>
12
12
 
13
13
  <body>
@@ -1,8 +1,10 @@
1
1
  import { RowSelectionAPI } from './components/Table';
2
+ import type { ModifyAiFilterPromptFn } from './components/aiAssistant';
2
3
  import type { UserDataJson } from './framework/user-data';
3
4
  import { Runtime } from './framework/runtime';
4
5
  import { ActionDefinition } from './framework/actions';
5
6
  import type { UserDataLoadAPI, UserDataSaveAPI } from './framework/user-data-manager';
7
+ import type { Result } from './framework/result';
6
8
  export interface AppProps {
7
9
  graphqlHost: string;
8
10
  graphqlToken: string;
@@ -28,14 +30,19 @@ export interface AppProps {
28
30
  actions?: ActionDefinition[];
29
31
  rowClassFunction?: (row: Record<string, any>) => Record<string, boolean>;
30
32
  rowsPerPageOptions?: number[];
33
+ /**
34
+ * Optional hook to modify the AI prompt template (built from schema + user prompt)
35
+ * before it is sent to the AI provider.
36
+ */
37
+ modifyAiFilterPrompt?: ModifyAiFilterPromptFn;
31
38
  /** Optional user data integration hooks. */
32
39
  userData?: {
33
40
  /** Optional async loader invoked when the user-data manager is created. */
34
- onLoad?: (api: UserDataLoadAPI) => Promise<UserDataJson | null>;
41
+ onLoad?: (api: UserDataLoadAPI) => Promise<Result<string, UserDataJson | null>>;
35
42
  /** Optional async saver invoked whenever user data is saved (non-localStorage-only saves). */
36
- onSave?: (api: UserDataSaveAPI) => Promise<void>;
43
+ onSave?: (api: UserDataSaveAPI) => Promise<Result<string, void>>;
37
44
  };
38
45
  }
39
- declare function App({ graphqlHost, graphqlToken, geminiApiKey, showViewsMenu, showViewTitle, showCsvExportButton, showPopoutButton, viewsJson, externalRuntime, isOverlay, onCloseOverlay, syncFilterStateToUrl, rowSelection, actions, rowClassFunction, rowsPerPageOptions, userData }: AppProps): import("react/jsx-runtime").JSX.Element;
46
+ declare function App({ graphqlHost, graphqlToken, geminiApiKey, showViewsMenu, showViewTitle, showCsvExportButton, showPopoutButton, viewsJson, externalRuntime, isOverlay, onCloseOverlay, syncFilterStateToUrl, rowSelection, actions, rowClassFunction, rowsPerPageOptions, userData, modifyAiFilterPrompt }: AppProps): import("react/jsx-runtime").JSX.Element;
40
47
  export default App;
41
48
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAsB5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAErF,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE;QACX,qGAAqG;QACrG,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC;QACtC,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACrD,qFAAqF;QACrF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;KACpD,CAAC;IACF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE;QACP,2EAA2E;QAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAEhE,8FAA8F;QAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACpD,CAAC;CACL;AAID,iBAAS,GAAG,CAAC,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAA2B,EAC3B,gBAAuB,EACvB,SAAS,EACT,eAAe,EACf,SAAiB,EACjB,cAAc,EACd,oBAA4B,EAC5B,YAAY,EACZ,OAAY,EACZ,gBAAgB,EAChB,kBAAuC,EACvC,QAAQ,EACX,EAAE,QAAQ,2CA8hBV;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAa5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAWvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE;QACX,qGAAqG;QACrG,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC;QACtC,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACrD,qFAAqF;QACrF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;KACpD,CAAC;IACF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IAE9C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE;QACP,2EAA2E;QAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;QAEhF,8FAA8F;QAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KACpE,CAAC;CACL;AAID,iBAAS,GAAG,CAAC,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAA2B,EAC3B,gBAAuB,EACvB,SAAS,EACT,eAAe,EACf,SAAiB,EACjB,cAAc,EACd,oBAA4B,EAC5B,YAAY,EACZ,OAAY,EACZ,gBAAgB,EAChB,kBAAuC,EACvC,QAAQ,EACR,oBAAoB,EACvB,EAAE,QAAQ,2CAqiBV;AAED,eAAe,GAAG,CAAC"}
@@ -2,6 +2,7 @@ import { Toast } from 'primereact/toast';
2
2
  import { RefObject } from 'react';
3
3
  import { FilterSchemasAndGroups } from '../framework/filters';
4
4
  import { View } from '../framework/view';
5
+ import { type ModifyAiFilterPromptFn } from './aiAssistant';
5
6
  import { FilterState } from '../framework/state';
6
7
  interface AIAssistantFormProps {
7
8
  filterSchema: FilterSchemasAndGroups;
@@ -12,7 +13,9 @@ interface AIAssistantFormProps {
12
13
  geminiApiKey: string;
13
14
  toast: RefObject<Toast | null>;
14
15
  setShowFilterForm: (value: boolean | ((prev: boolean) => boolean)) => void;
16
+ /** Optional hook to modify the AI prompt template before it is sent to the AI provider. */
17
+ modifyAiFilterPrompt?: ModifyAiFilterPromptFn;
15
18
  }
16
- export default function AIAssistantForm({ setFilterState, selectedView, geminiApiKey, toast, setShowFilterForm }: AIAssistantFormProps): import("react/jsx-runtime").JSX.Element;
19
+ export default function AIAssistantForm({ setFilterState, selectedView, geminiApiKey, toast, setShowFilterForm, modifyAiFilterPrompt }: AIAssistantFormProps): import("react/jsx-runtime").JSX.Element;
17
20
  export {};
18
21
  //# sourceMappingURL=AIAssistantForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIAssistantForm.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAssistantForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,oBAAoB;IAC1B,YAAY,EAAE,sBAAsB,CAAC;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAE/B,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,iBAAiB,EACpB,EAAE,oBAAoB,2CAqNtB"}
1
+ {"version":3,"file":"AIAssistantForm.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAssistantForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAuB,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAmC,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,oBAAoB;IAC1B,YAAY,EAAE,sBAAsB,CAAC;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAE/B,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC;IAE3E,2FAA2F;IAC3F,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,iBAAiB,EACjB,oBAAoB,EACvB,EAAE,oBAAoB,2CAkOtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SavedFilterList.d.ts","sourceRoot":"","sources":["../../../../src/components/SavedFilterList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,UAAU,oBAAoB;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,sBAAsB,CAAC;CACxC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,oBAAoB,kDAmKhK"}
1
+ {"version":3,"file":"SavedFilterList.d.ts","sourceRoot":"","sources":["../../../../src/components/SavedFilterList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,UAAU,oBAAoB;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,sBAAsB,CAAC;CACxC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,oBAAoB,kDAiLhK"}
@@ -0,0 +1,9 @@
1
+ import type { UserPreferences } from '../framework/user-data';
2
+ interface UserPreferencesPanelProps {
3
+ visible: boolean;
4
+ preferences: UserPreferences;
5
+ onChangePreferences: (update: (prev: UserPreferences) => UserPreferences) => Promise<UserPreferences>;
6
+ }
7
+ export default function UserPreferencesPanel({ visible, preferences, onChangePreferences }: UserPreferencesPanelProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
9
+ //# sourceMappingURL=UserPreferencesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserPreferencesPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/UserPreferencesPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,UAAU,yBAAyB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,eAAe,CAAC;IAC7B,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACzG;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,yBAAyB,kDAuCpH"}
@@ -4,9 +4,17 @@ import { RefObject } from 'react';
4
4
  import { Toast } from 'primereact/toast';
5
5
  import { FilterState } from '../framework/state';
6
6
  export interface AIApi {
7
- sendPrompt(filterSchema: FilterSchemasAndGroups, userPrompt: string, setFormState: (state: FilterState) => void, apiKey: string, toast?: RefObject<Toast | null>): Promise<void>;
7
+ sendPrompt(filterSchema: FilterSchemasAndGroups, userPrompt: string, setFormState: (state: FilterState) => void, apiKey: string, toast?: RefObject<Toast | null>, options?: {
8
+ modifyAiFilterPrompt?: ModifyAiFilterPromptFn;
9
+ }): Promise<void>;
8
10
  }
11
+ export type ModifyAiFilterPromptFn = (promptTemplate: string, args: {
12
+ filterSchema: FilterSchemasAndGroups;
13
+ userPrompt: string;
14
+ }) => string;
9
15
  export declare function mergeFilterFormState(schema: FilterExpr, currentState: FilterFormState, aiState: any): FilterFormState;
10
16
  export declare const GeminiApi: AIApi;
11
- export declare function generateFilterWithAI(filterSchema: FilterSchemasAndGroups, userPrompt: string, setFormState: (state: FilterState) => void, apiImpl: AIApi, geminiApiKey: string, toast?: RefObject<Toast | null>): Promise<void>;
17
+ export declare function generateFilterWithAI(filterSchema: FilterSchemasAndGroups, userPrompt: string, setFormState: (state: FilterState) => void, apiImpl: AIApi, geminiApiKey: string, toast?: RefObject<Toast | null>, options?: {
18
+ modifyAiFilterPrompt?: ModifyAiFilterPromptFn;
19
+ }): Promise<void>;
12
20
  //# sourceMappingURL=aiAssistant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aiAssistant.d.ts","sourceRoot":"","sources":["../../../../src/components/aiAssistant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,WAAW,KAAK;IAClB,UAAU,CACN,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAC1C,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAiFD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,GAAG,eAAe,CA0HrH;AAGD,eAAO,MAAM,SAAS,EAAE,KAwDvB,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAC1C,OAAO,EAAE,KAAK,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"aiAssistant.d.ts","sourceRoot":"","sources":["../../../../src/components/aiAssistant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,WAAW,KAAK;IAClB,UAAU,CACN,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAC1C,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,EAC/B,OAAO,CAAC,EAAE;QACN,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;KAChD,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,GAAG,CACjC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE;IAAE,YAAY,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KACjE,MAAM,CAAC;AAyFZ,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,GAAG,eAAe,CA+HrH;AAGD,eAAO,MAAM,SAAS,EAAE,KAwDvB,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAC1C,OAAO,EAAE,KAAK,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,EAC/B,OAAO,CAAC,EAAE;IACN,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;CAChD,GACF,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -0,0 +1,16 @@
1
+ import type { UserPreferences } from '../framework/user-data';
2
+ export type PreferenceOption<V> = {
3
+ label: string;
4
+ value: V;
5
+ };
6
+ export type DropdownPreferenceDefinition<V> = {
7
+ id: string;
8
+ kind: 'dropdown';
9
+ label: string;
10
+ options: Array<PreferenceOption<V>>;
11
+ getValue: (preferences: UserPreferences) => V;
12
+ setValue: (prev: UserPreferences, value: V) => UserPreferences;
13
+ };
14
+ export type PreferenceDefinition = DropdownPreferenceDefinition<boolean | null>;
15
+ export declare const PREFERENCE_DEFINITIONS: PreferenceDefinition[];
16
+ //# sourceMappingURL=userPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userPreferences.d.ts","sourceRoot":"","sources":["../../../../src/components/userPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,CAAC,CAAC;IAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAEhF,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,EAgBxD,CAAC"}
@@ -0,0 +1,36 @@
1
+ export type Failure<E> = {
2
+ tag: 'failure';
3
+ error: E;
4
+ };
5
+ export type Success<T> = {
6
+ tag: 'success';
7
+ value: T;
8
+ };
9
+ export type Result<E, T> = Failure<E> | Success<T>;
10
+ export declare function failure<E, T = never>(error: E): Result<E, T>;
11
+ export declare function success<T, E = never>(value: T): Result<E, T>;
12
+ export declare function isFailure<E, T>(value: Result<E, T>): value is Failure<E>;
13
+ export declare function isSuccess<E, T>(value: Result<E, T>): value is Success<T>;
14
+ export declare function mapResult<E, A, B>(mapSuccess: (v: A) => B, value: Result<E, A>): Result<E, B>;
15
+ export declare function mapFailure<E, T, E2>(value: Result<E, T>, mapFailure: (v: E) => E2): Result<E2, T>;
16
+ export declare function bimap<E, T, E2, T2>({ mapFailure, mapSuccess }: {
17
+ mapFailure: (e: E) => E2;
18
+ mapSuccess: (t: T) => T2;
19
+ }, value: Result<E, T>): Result<E2, T2>;
20
+ export declare function unwrapResult<E, T>(value: Result<E, T>): T;
21
+ export declare function match<E, T, R>({ whenError: fnE, whenSuccess: fnT }: {
22
+ whenError: (e: E) => R;
23
+ whenSuccess: (t: T) => R;
24
+ }, value: Result<E, T>): R;
25
+ export declare const Result: {
26
+ readonly failure: typeof failure;
27
+ readonly success: typeof success;
28
+ readonly isFailure: typeof isFailure;
29
+ readonly isSuccess: typeof isSuccess;
30
+ readonly mapResult: typeof mapResult;
31
+ readonly mapFailure: typeof mapFailure;
32
+ readonly bimap: typeof bimap;
33
+ readonly unwrapResult: typeof unwrapResult;
34
+ readonly match: typeof match;
35
+ };
36
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../../src/framework/result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACrB,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,CAAC,CAAA;CACX,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACrB,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,CAAC,CAAA;CACX,CAAA;AAID,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAElD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE7F;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAEjG;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAC9B,EACI,UAAU,EACV,UAAU,EACb,EAAE;IACC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;CAC3B,EACD,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAIhB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAGzD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAEjJ;AAED,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAA"}
@@ -3,7 +3,6 @@ import { FilterState } from './state';
3
3
  /**
4
4
  * Format revisions for saved filters
5
5
  */
6
- export declare const OLD_ARRAY_FORMAT_REVISION = "2025-09-04T00:00:00.000Z";
7
6
  export declare const CURRENT_FORMAT_REVISION = "2025-09-19T00:00:00.000Z";
8
7
  /**
9
8
  * Raw saved filter data as stored in localStorage - using unknown for type safety
@@ -28,24 +27,7 @@ export interface SavedFilter {
28
27
  formatRevision: string;
29
28
  }
30
29
  export type SavedFilterId = SavedFilter['id'];
31
- /**
32
- * Interface for the saved filter manager
33
- */
34
- export interface SavedFilterManager {
35
- loadFilters(viewName: string, schema: FilterSchemasAndGroups): SavedFilter[];
36
- saveFilter(filter: Omit<SavedFilter, 'id' | 'createdAt' | 'formatRevision'>): SavedFilter;
37
- updateFilter(filter: SavedFilter, updates: Partial<Pick<SavedFilter, 'name' | 'state'>>): SavedFilter | null;
38
- deleteFilter(id: string): boolean;
39
- }
40
30
  export declare const SAVED_FILTERS_KEY = "dtvSavedFilters";
41
31
  export declare function fromSavedFilterJson(rawFilter: SavedFilterJson, schema: FilterSchemasAndGroups): SavedFilter;
42
32
  export declare function toSavedFilterJson(savedFilter: SavedFilter): SavedFilterJson;
43
- /**
44
- * Create and return a SavedFilterManager instance
45
- */
46
- export declare function createSavedFilterManager(): SavedFilterManager;
47
- /**
48
- * Default exported instance of the saved filter manager
49
- */
50
- export declare const savedFilterManager: SavedFilterManager;
51
33
  //# sourceMappingURL=saved-filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"saved-filters.d.ts","sourceRoot":"","sources":["../../../../src/framework/saved-filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,WAAW,EAAE,CAAC;IAC7E,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAC;IAC1F,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7G,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AAyBnD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAiB3G;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAS3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAqM7D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oBAA6B,CAAC"}
1
+ {"version":3,"file":"saved-filters.d.ts","sourceRoot":"","sources":["../../../../src/framework/saved-filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAE9C,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAa3G;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAS3E"}
@@ -7,12 +7,12 @@ export declare function useUserDataManager(filterSchemasByViewId: Record<ViewId,
7
7
  preferences: UserPreferences;
8
8
  viewData: ViewData;
9
9
  savedFilters: SavedFilter[];
10
- updatePreferences: (updateFunc: (prev: UserPreferences) => UserPreferences) => UserPreferences;
11
- updateViewData: (viewId: ViewId, updateFunc: (prev: ViewData) => ViewData) => ViewData;
12
- setColumnOrder: (viewId: ViewId, order: string[] | null) => ViewData;
13
- setHiddenColumns: (viewId: ViewId, hidden: string[]) => ViewData;
14
- createFilter: (filter: Omit<SavedFilter, "id" | "createdAt" | "formatRevision">) => SavedFilter;
15
- updateFilter: (viewId: ViewId, savedFilterId: SavedFilterId, updates: Partial<Pick<SavedFilter, "name" | "state">>) => SavedFilter | null;
16
- deleteFilter: (viewId: ViewId, savedFilterId: SavedFilterId) => boolean;
10
+ updatePreferences: (updateFunc: (prev: UserPreferences) => UserPreferences) => Promise<UserPreferences>;
11
+ setRowsPerPage: (viewId: ViewId, rowsPerPage: number) => Promise<ViewData>;
12
+ setColumnOrder: (viewId: ViewId, order: string[] | null) => Promise<ViewData>;
13
+ setHiddenColumns: (viewId: ViewId, hidden: string[]) => Promise<ViewData>;
14
+ createFilter: (filter: Omit<SavedFilter, "id" | "createdAt" | "formatRevision">) => Promise<void>;
15
+ updateFilter: (viewId: ViewId, savedFilterId: SavedFilterId, updates: Partial<Pick<SavedFilter, "name" | "state">>) => Promise<void>;
16
+ deleteFilter: (viewId: ViewId, savedFilterId: SavedFilterId) => Promise<void>;
17
17
  };
18
18
  //# sourceMappingURL=useUserDataManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUserDataManager.d.ts","sourceRoot":"","sources":["../../../../src/framework/useUserDataManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAqD,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAgB,kBAAkB,CAC9B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC7D,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB;;;;oCA6CoB,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe;6BAMjD,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ;6BAQhD,MAAM,SAAS,MAAM,EAAE,GAAG,IAAI;+BAQ5B,MAAM,UAAU,MAAM,EAAE;2BAQ5B,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC;2BAMxD,MAAM,iBAAiB,aAAa,WAAW,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;2BAQ3F,MAAM,iBAAiB,aAAa;EAoBjF"}
1
+ {"version":3,"file":"useUserDataManager.d.ts","sourceRoot":"","sources":["../../../../src/framework/useUserDataManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAqD,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAgB,kBAAkB,CAC9B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC7D,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB;;;;oCA6C0B,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe;6BAsBjD,MAAM,eAAe,MAAM;6BAhB3B,MAAM,SAAS,MAAM,EAAE,GAAG,IAAI;+BAQ5B,MAAM,UAAU,MAAM,EAAE;2BAgB5B,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC;2BAKxD,MAAM,iBAAiB,aAAa,WAAW,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;2BAO3F,MAAM,iBAAiB,aAAa;EAmBvF"}
@@ -0,0 +1,14 @@
1
+ import type { ShowToastOptions } from './toast';
2
+ export type UserDataManagerError = {
3
+ kind: 'externalSaveFailed';
4
+ message: string;
5
+ cause?: unknown;
6
+ } | {
7
+ kind: 'externalLoadFailed';
8
+ message: string;
9
+ cause?: unknown;
10
+ };
11
+ export declare function externalSaveFailed(message: string, cause?: unknown): UserDataManagerError;
12
+ export declare function externalLoadFailed(message: string, cause?: unknown): UserDataManagerError;
13
+ export declare function userDataManagerErrorToToast(err: UserDataManagerError): ShowToastOptions;
14
+ //# sourceMappingURL=user-data-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-data-errors.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAC1B;IACE,IAAI,EAAE,oBAAoB,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,GACC;IACE,IAAI,EAAE,oBAAoB,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAEL,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAMzF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAMzF;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,gBAAgB,CAiBvF"}
@@ -3,6 +3,7 @@ import { SavedFilter, SavedFilterId } from './saved-filters';
3
3
  import { UserDataJson, UserPreferences, ViewData } from './user-data';
4
4
  import { ViewId } from './view';
5
5
  import type { ShowToastFn } from './toast';
6
+ import { Result } from './result';
6
7
  export interface UserDataManager {
7
8
  /**
8
9
  * Resolves once an optional async load callback has completed (success or failure).
@@ -10,26 +11,30 @@ export interface UserDataManager {
10
11
  */
11
12
  ready: Promise<void>;
12
13
  getPreferences(): UserPreferences;
13
- updatePreferences(updateFunc: (prev: UserPreferences) => UserPreferences): UserPreferences;
14
+ updatePreferences(updateFunc: (prev: UserPreferences) => UserPreferences): Promise<UserPreferences>;
14
15
  getViewData(viewId: ViewId): ViewData;
15
- updateViewData(viewId: ViewId, updateFunc: (prev: ViewData) => ViewData): ViewData;
16
- setColumnOrder(viewId: ViewId, order: string[] | null): ViewData;
17
- setHiddenColumns(viewId: ViewId, hidden: string[] | null): ViewData;
16
+ setColumnOrder(viewId: ViewId, order: string[] | null): Promise<ViewData>;
17
+ setHiddenColumns(viewId: ViewId, hidden: string[] | null): Promise<ViewData>;
18
+ setRowsPerPage(viewId: ViewId, rowsPerPage: number): Promise<ViewData>;
18
19
  getSavedFilters(viewId: ViewId): SavedFilter[];
19
- createFilter(filter: Omit<SavedFilter, 'id' | 'createdAt' | 'formatRevision'>): SavedFilter;
20
- updateFilter(viewId: ViewId, savedFilterId: SavedFilterId, updates: Partial<Pick<SavedFilter, 'name' | 'state'>>): SavedFilter | null;
21
- deleteFilter(viewId: ViewId, savedFilterId: SavedFilterId): boolean;
20
+ createFilter(filter: Omit<SavedFilter, 'id' | 'createdAt' | 'formatRevision'>): Promise<void>;
21
+ updateFilter(viewId: ViewId, savedFilterId: SavedFilterId, updates: Partial<Pick<SavedFilter, 'name' | 'state'>>): Promise<void>;
22
+ deleteFilter(viewId: ViewId, savedFilterId: SavedFilterId): Promise<void>;
22
23
  }
23
24
  export declare const USER_DATA_LOCALSTORAGE_KEY = "dtvUserData";
24
25
  export interface UserDataLoadAPI {
25
26
  showToast?: ShowToastFn;
27
+ /** Result functions to construct operation results */
28
+ Result: typeof Result;
26
29
  }
27
30
  export interface UserDataSaveAPI {
28
31
  data: UserDataJson;
29
32
  showToast?: ShowToastFn;
33
+ /** Result functions to construct operation results */
34
+ Result: typeof Result;
30
35
  }
31
- export type UserDataLoadCallback = (api: UserDataLoadAPI) => Promise<UserDataJson | null>;
32
- export type UserDataSaveCallback = (api: UserDataSaveAPI) => Promise<void>;
36
+ export type UserDataLoadCallback = (api: UserDataLoadAPI) => Promise<Result<string, UserDataJson | null>>;
37
+ export type UserDataSaveCallback = (api: UserDataSaveAPI) => Promise<Result<string, void>>;
33
38
  export type UserDataManagerOptions = {
34
39
  load?: UserDataLoadCallback;
35
40
  save?: UserDataSaveCallback;
@@ -1 +1 @@
1
- {"version":3,"file":"user-data-manager.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAA2B,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAgF,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEpJ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpB,cAAc,IAAI,eAAe,CAAA;IACjC,iBAAiB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,GAAG,eAAe,CAAA;IAE1F,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;IACrC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,GAAG,QAAQ,CAAA;IAClF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAA;IAChE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAA;IACnE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;IAG9C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAC3F,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAA;IACrI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAA;CACtE;AAED,eAAO,MAAM,0BAA0B,gBAAgB,CAAA;AAGvD,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;AACzF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1E,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,sDAAsD;IACtD,SAAS,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,wBAAgB,qBAAqB,CACjC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC7D,OAAO,EAAE,sBAAsB,GAChC,eAAe,CAoRjB"}
1
+ {"version":3,"file":"user-data-manager.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAA2B,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAgF,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEpJ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpB,cAAc,IAAI,eAAe,CAAA;IACjC,iBAAiB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAEnG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;IACrC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACzE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC5E,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEtE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;IAG9C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5E;AAED,eAAO,MAAM,0BAA0B,gBAAgB,CAAA;AAKvD,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,WAAW,CAAA;IAEvB,sDAAsD;IACtD,MAAM,EAAE,OAAO,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,CAAC,EAAE,WAAW,CAAA;IAEvB,sDAAsD;IACtD,MAAM,EAAE,OAAO,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,CAAA;AACzG,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1F,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,sDAAsD;IACtD,SAAS,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,wBAAgB,qBAAqB,CACjC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC7D,OAAO,EAAE,sBAAsB,GAChC,eAAe,CAmYjB"}
@@ -3,6 +3,7 @@ import { type SavedFilter, type SavedFilterJson } from './saved-filters';
3
3
  import { FilterSchemasAndGroups } from './filters';
4
4
  export declare const INITIAL_USERDATA_FORMAT_REVISION = "1970-01-01T00:00:00.000Z";
5
5
  export declare const REVISION_2026_01_05 = "2026-01-05T00:00:00.000Z";
6
+ export declare const REVISION_2026_01_29 = "2026-01-29T00:00:00.000Z";
6
7
  export interface ViewData {
7
8
  columnOrder: string[] | null;
8
9
  hiddenColumns: string[];
@@ -15,7 +16,15 @@ export interface ViewDataJson {
15
16
  rowsPerPage: number | null;
16
17
  savedFilters: SavedFilterJson[];
17
18
  }
18
- export type UserPreferences = Record<string, unknown>;
19
+ export type UserPreferences = {
20
+ /**
21
+ * When set, overrides the App option `syncFilterStateToUrl`.
22
+ * - `true`: always sync filter state to URL
23
+ * - `false`: never sync filter state to URL
24
+ * - `null`: use the App option
25
+ */
26
+ syncFilterStateToUrlOverride: boolean | null;
27
+ };
19
28
  export interface UserData {
20
29
  preferences: UserPreferences;
21
30
  views: Record<ViewId, ViewData>;
@@ -31,6 +40,7 @@ export interface UserDataJson {
31
40
  revision: number;
32
41
  formatRevision: string;
33
42
  }
43
+ export declare const defaultUserPreferences: UserPreferences;
34
44
  export declare function defaultUserData(): UserData;
35
45
  export declare function defaultViewData(): ViewData;
36
46
  export declare function toUserDataJson(data: UserData): UserDataJson;
@@ -1 +1 @@
1
- {"version":3,"file":"user-data.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAA0C,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,eAAO,MAAM,gCAAgC,6BAA6B,CAAA;AAE1E,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAG7D,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAc3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAmB5H"}
1
+ {"version":3,"file":"user-data.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAA0C,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,eAAO,MAAM,gCAAgC,6BAA6B,CAAA;AAE1E,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAG7D,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B;;;;;OAKG;IACH,4BAA4B,EAAE,OAAO,GAAG,IAAI,CAAC;CAChD,CAAA;AAmBD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,eAEpC,CAAA;AAED,wBAAgB,eAAe,IAAI,QAAQ,CAO1C;AAED,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAc3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAmB5H"}
@@ -1,11 +1,31 @@
1
1
  import { FilterSchemasAndGroups } from './filters';
2
2
  import { type UserData } from './user-data';
3
3
  import { ViewId } from './view';
4
+ import { type Result } from './result';
4
5
  export declare const SAVED_FILTERS_MIGRATED_TO_USERDATA_KEY = "dtvSavedFiltersMigratedToUserData";
5
6
  type MigrationContext = {
6
7
  filterSchemasByViewId: Record<ViewId, FilterSchemasAndGroups>;
7
8
  };
8
9
  export declare const CURRENT_USERDATA_FORMAT_REVISION: string;
9
- export declare function applyUserDataMigrations(userData: UserData, context: MigrationContext): UserData;
10
+ export type UserDataMigrationError = {
11
+ kind: 'outOfOrder';
12
+ currentRevision: string;
13
+ expectedRevision: string;
14
+ } | {
15
+ kind: 'unknownRevision';
16
+ currentRevision: string;
17
+ latestRevision: string;
18
+ knownFromRevisions: string[];
19
+ } | {
20
+ kind: 'stepFailed';
21
+ toRevision: string;
22
+ cause: unknown;
23
+ } | {
24
+ kind: 'didNotReachLatest';
25
+ currentRevision: string;
26
+ expectedRevision: string;
27
+ };
28
+ export declare function userDataMigrationErrorToMessage(err: UserDataMigrationError): string;
29
+ export declare function applyUserDataMigrations(userData: UserData, context: MigrationContext): Result<UserDataMigrationError, UserData>;
10
30
  export {};
11
31
  //# sourceMappingURL=user-data.migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-data.migrations.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data.migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAoF,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9H,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,sCAAsC,sCAAsC,CAAC;AAU1F,KAAK,gBAAgB,GAAG;IACpB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACjE,CAAC;AAgGF,eAAO,MAAM,gCAAgC,QAA+C,CAAC;AAE7F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAgC/F"}
1
+ {"version":3,"file":"user-data.migrations.d.ts","sourceRoot":"","sources":["../../../../src/framework/user-data.migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAyG,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnJ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,eAAO,MAAM,sCAAsC,sCAAsC,CAAC;AAU1F,KAAK,gBAAgB,GAAG;IACpB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACjE,CAAC;AAiHF,eAAO,MAAM,gCAAgC,QAA+C,CAAC;AAE7F,MAAM,MAAM,sBAAsB,GAC5B;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CAC3B,GACC;IACE,IAAI,EAAE,iBAAiB,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC/B,GACC;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;CACjB,GACC;IACE,IAAI,EAAE,mBAAmB,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAEL,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAgBnF;AAyED,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,gBAAgB,GAC1B,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAE1C"}
@@ -169,6 +169,8 @@ export type ViewJson = {
169
169
  paginationKey: string;
170
170
  columns: ColumnDefinitionJson[];
171
171
  filterSchema: FilterFieldSchemaJson;
172
+ /** Optional default prompt shown in the AI Filter Assistant for this view. */
173
+ defaultAIFilterPrompt?: string;
172
174
  boolExpType: string;
173
175
  orderByType: string;
174
176
  noRowsComponent?: RuntimeReference;
@@ -1 +1 @@
1
- {"version":3,"file":"view-parser.d.ts","sourceRoot":"","sources":["../../../../src/framework/view-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-parser.d.ts","sourceRoot":"","sources":["../../../../src/framework/view-parser.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export type View = {
18
18
  collectionName: string;
19
19
  columnDefinitions: ColumnDefinition[];
20
20
  filterSchema: FilterSchemasAndGroups;
21
+ /** Optional default prompt shown in the AI Filter Assistant for this view. */
22
+ defaultAIFilterPrompt?: string;
21
23
  boolExpType: string;
22
24
  orderByType: string;
23
25
  paginationKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/framework/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,eAAe,KAAK,IAAI,CAAC;CAC7G,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,IAAI,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,YAAY,EAAE,sBAAsB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAIrC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CACpC,CAAC;AAMF,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/framework/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,eAAe,KAAK,IAAI,CAAC;CAC7G,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,IAAI,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,YAAY,EAAE,sBAAsB,CAAC;IACrC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAIrC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CACpC,CAAC;AAMF,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -11,4 +11,6 @@ export type { RowSelectionAPI } from '../components/Table';
11
11
  export type { ActionDefinition, ActionAPI } from '../framework/actions';
12
12
  export { generateGraphQLQueryAST, renderGraphQLQuery } from '../framework/graphql';
13
13
  export { buildGraphQLQueryVariables } from '../framework/data';
14
+ export type { Result, Failure, Success } from '../framework/result';
15
+ export { isFailure, isSuccess, failure, success } from '../framework/result';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGvC,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGvC,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -3,11 +3,13 @@ import type { RowSelectionAPI } from '../components/Table';
3
3
  import type { ActionDefinition } from '../framework/actions';
4
4
  import type { Runtime } from '../framework/runtime';
5
5
  import type { UserDataJson } from '../framework/user-data';
6
+ import type { Result } from '../framework/result';
7
+ import { ModifyAiFilterPromptFn } from '../components/aiAssistant';
6
8
  export type RenderTableViewUserDataOptions = {
7
9
  /** Optional async loader invoked when the user-data manager is created. */
8
- onLoad?: (api: UserDataLoadAPI) => Promise<UserDataJson | null>;
10
+ onLoad?: (api: UserDataLoadAPI) => Promise<Result<string, UserDataJson | null>>;
9
11
  /** Optional async saver invoked whenever user data is saved (non-localStorage-only saves). */
10
- onSave?: (api: UserDataSaveAPI) => Promise<void>;
12
+ onSave?: (api: UserDataSaveAPI) => Promise<Result<string, void>>;
11
13
  };
12
14
  export interface RenderTableViewOptions {
13
15
  graphqlHost: string;
@@ -28,6 +30,7 @@ export interface RenderTableViewOptions {
28
30
  actions?: ActionDefinition[];
29
31
  rowClassFunction?: (row: Record<string, any>) => Record<string, boolean>;
30
32
  rowsPerPageOptions?: number[];
33
+ modifyAiFilterPrompt?: ModifyAiFilterPromptFn;
31
34
  /** Optional user data integration hooks. */
32
35
  userData?: RenderTableViewUserDataOptions;
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderTableView.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderTableView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,MAAM,8BAA8B,GAAG;IACzC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAE/D,8FAA8F;IAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD,CAAA;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE;QACX,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAA;QACrC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;QAC5C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;KACnD,CAAA;IACD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAE7B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,8BAA8B,CAAA;CAC5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,sBAAsB,QA2B5F"}
1
+ {"version":3,"file":"renderTableView.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderTableView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,MAAM,8BAA8B,GAAG;IACzC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,CAAA;IAE/E,8FAA8F;IAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;CACnE,CAAA;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE;QACX,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAA;QACrC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;QAC5C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;KACnD,CAAA;IACD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAE7B,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;IAE7C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,8BAA8B,CAAA;CAC5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,sBAAsB,QA4B5F"}
@@ -8,7 +8,7 @@ This folder contains detailed API documentation for the runtime extension points
8
8
  - Custom Filter Components (`customFilterComponents`)
9
9
  - Query Transforms (`queryTransforms`)
10
10
  - Initial Values (`initialValues`)
11
- - Static Conditions (`staticConditions` on a View)
11
+ - Static Conditions (`staticConditions` on a View)
12
12
 
13
13
  Each extension point is referenced from JSON view definitions using a Runtime Reference object:
14
14
 
@@ -22,11 +22,21 @@ Each extension point is referenced from JSON view definitions using a Runtime Re
22
22
  Resolution precedence: External (per-app) runtime overrides Built-in runtime. If the key is missing in both, an error is thrown listing available keys.
23
23
 
24
24
  ---
25
+ ## AI Assistant Prompt
26
+ - Views can optionally provide `defaultAIFilterPrompt` to seed the AI assistant's input. When present, `AIAssistantForm` initializes its prompt from the selected view and updates when the view changes.
27
+ - JSON example:
28
+ ```jsonc
29
+ {
30
+ "title": "Payment Requests",
31
+ "id": "payment-requests",
32
+ // ...
33
+ "defaultAIFilterPrompt": "authorized payments in euro or danish krona in the first week of april 2025"
34
+ }
35
+ ```
25
36
 
26
37
  ## Files
27
38
  - `cell-renderers.md` — How to write cell renderer functions and available helper components.
28
39
  - `runtime.md` — Structure of the `Runtime` object and how runtime references are resolved.
29
40
  - `no-rows-component.md` — Authoring components shown when a view returns zero rows.
30
- - `static-conditions.md` — Defining always-on GraphQL boolean expressions via `staticConditions`.
31
41
 
32
42
  Add additional docs here for transforms, custom filters, etc. as needed.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kronor/dtv",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",