@dinoxx/dinox-cli 2.2.0 → 2.4.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 (102) hide show
  1. package/README.md +17 -3
  2. package/dist/cli.js +6 -0
  3. package/dist/commands/domain/options.d.ts +10 -0
  4. package/dist/commands/domain/options.js +75 -0
  5. package/dist/commands/domain/run.d.ts +24 -0
  6. package/dist/commands/domain/run.js +137 -0
  7. package/dist/commands/gateway/index.d.ts +4 -0
  8. package/dist/commands/gateway/index.js +300 -0
  9. package/dist/commands/notes/actions.js +47 -18
  10. package/dist/commands/notes/createFromTemplate.d.ts +35 -0
  11. package/dist/commands/notes/createFromTemplate.js +58 -0
  12. package/dist/commands/notes/descriptors.js +9 -4
  13. package/dist/commands/notes/repo/read.js +4 -23
  14. package/dist/commands/notes/repo/write.d.ts +2 -0
  15. package/dist/commands/notes/repo/write.js +1 -1
  16. package/dist/commands/properties/index.d.ts +16 -0
  17. package/dist/commands/properties/index.js +640 -0
  18. package/dist/commands/properties/repo.d.ts +150 -0
  19. package/dist/commands/properties/repo.js +272 -0
  20. package/dist/commands/savedViews/fields.d.ts +28 -0
  21. package/dist/commands/savedViews/fields.js +87 -0
  22. package/dist/commands/savedViews/index.js +203 -164
  23. package/dist/commands/savedViews/model.d.ts +27 -69
  24. package/dist/commands/savedViews/model.js +63 -279
  25. package/dist/commands/savedViews/repo.d.ts +64 -62
  26. package/dist/commands/savedViews/repo.js +309 -428
  27. package/dist/commands/schema/renderSkills.js +33 -5
  28. package/dist/commands/schema/spec.js +6 -0
  29. package/dist/commands/templates/index.d.ts +4 -0
  30. package/dist/commands/templates/index.js +290 -0
  31. package/dist/commands/templates/model.d.ts +12 -34
  32. package/dist/commands/templates/model.js +39 -83
  33. package/dist/commands/templates/repo.d.ts +53 -0
  34. package/dist/commands/templates/repo.js +78 -0
  35. package/dist/config/paths.d.ts +1 -0
  36. package/dist/config/paths.js +1 -1
  37. package/dist/daemon/server.d.ts +1 -0
  38. package/dist/daemon/server.js +31 -0
  39. package/dist/gateway/adapters/acp.d.ts +42 -0
  40. package/dist/gateway/adapters/acp.js +285 -0
  41. package/dist/gateway/adapters/echo.d.ts +12 -0
  42. package/dist/gateway/adapters/echo.js +51 -0
  43. package/dist/gateway/adapters/index.d.ts +9 -0
  44. package/dist/gateway/adapters/index.js +30 -0
  45. package/dist/gateway/assistantProjection.d.ts +32 -0
  46. package/dist/gateway/assistantProjection.js +193 -0
  47. package/dist/gateway/config.d.ts +50 -0
  48. package/dist/gateway/config.js +253 -0
  49. package/dist/gateway/detect.d.ts +40 -0
  50. package/dist/gateway/detect.js +145 -0
  51. package/dist/gateway/deviceHost.d.ts +82 -0
  52. package/dist/gateway/deviceHost.js +530 -0
  53. package/dist/gateway/mcpServer.d.ts +4 -0
  54. package/dist/gateway/mcpServer.js +118 -0
  55. package/dist/gateway/protocol.d.ts +29 -0
  56. package/dist/gateway/protocol.js +127 -0
  57. package/dist/gateway/runExecutor.d.ts +67 -0
  58. package/dist/gateway/runExecutor.js +316 -0
  59. package/dist/gateway/service.d.ts +26 -0
  60. package/dist/gateway/service.js +82 -0
  61. package/dist/gateway/streamPublisher.d.ts +33 -0
  62. package/dist/gateway/streamPublisher.js +93 -0
  63. package/dist/gateway/threadStore.d.ts +157 -0
  64. package/dist/gateway/threadStore.js +430 -0
  65. package/dist/gateway/types.d.ts +117 -0
  66. package/dist/gateway/types.js +9 -0
  67. package/dist/skills/registry.js +7 -0
  68. package/dist/utils/errorCodes.d.ts +212 -0
  69. package/dist/utils/errorCodes.js +53 -0
  70. package/dist/vendor/electron/domain/note-templates.d.ts +3 -0
  71. package/dist/vendor/electron/domain/note-templates.js +232 -0
  72. package/dist/vendor/electron/domain/properties.d.ts +10 -0
  73. package/dist/vendor/electron/domain/properties.js +1549 -0
  74. package/dist/vendor/electron/domain/saved-view-analytics.d.ts +45 -0
  75. package/dist/vendor/electron/domain/saved-view-analytics.js +365 -0
  76. package/dist/vendor/electron/domain/saved-view-relative-date.d.ts +21 -0
  77. package/dist/vendor/electron/domain/saved-view-relative-date.js +153 -0
  78. package/dist/vendor/electron/domain/saved-views.d.ts +61 -0
  79. package/dist/vendor/electron/domain/saved-views.js +1120 -0
  80. package/dist/vendor/electron/rpc.d.ts +22 -0
  81. package/dist/vendor/electron/rpc.js +27 -0
  82. package/dist/vendor/electron/shared/ai-errors.d.ts +11 -0
  83. package/dist/vendor/electron/shared/ai-errors.js +107 -0
  84. package/dist/vendor/electron/shared/external-types.d.ts +20 -0
  85. package/dist/vendor/electron/shared/external-types.js +1 -0
  86. package/dist/vendor/electron/shared/index.d.ts +9 -0
  87. package/dist/vendor/electron/shared/index.js +7 -0
  88. package/dist/vendor/electron/shared/note-properties.d.ts +328 -0
  89. package/dist/vendor/electron/shared/note-properties.js +1027 -0
  90. package/dist/vendor/electron/shared/note-templates.d.ts +82 -0
  91. package/dist/vendor/electron/shared/note-templates.js +84 -0
  92. package/dist/vendor/electron/shared/powersync-read-models.d.ts +1716 -0
  93. package/dist/vendor/electron/shared/powersync-read-models.js +1 -0
  94. package/dist/vendor/electron/shared/remote-device-agent.d.ts +373 -0
  95. package/dist/vendor/electron/shared/remote-device-agent.js +191 -0
  96. package/dist/vendor/electron/shared/saved-views.d.ts +394 -0
  97. package/dist/vendor/electron/shared/saved-views.js +981 -0
  98. package/dist/vendor/electron/sql-utils.d.ts +5 -0
  99. package/dist/vendor/electron/sql-utils.js +32 -0
  100. package/package.json +10 -4
  101. package/dist/commands/savedViews/semantics.d.ts +0 -46
  102. package/dist/commands/savedViews/semantics.js +0 -738
@@ -0,0 +1,394 @@
1
+ import { z } from 'zod';
2
+ import type { AiErrorCode } from './ai-errors.js';
3
+ import { type PropertyDefConfig, type PropertyOption, type PropertyType } from './note-properties.js';
4
+ export declare const SAVED_VIEW_DISPLAY_ONLY_SYSTEM_FIELDS: readonly ["cover", "audio", "video", "file"];
5
+ export declare const SAVED_VIEW_SYSTEM_FIELDS: readonly ["title", "created_at", "updated_at", "tags", "zettel_boxes", "source", "type", "primary_resource_type", "starred_at", "images", "cover", "audio", "video", "file"];
6
+ export type SavedViewSystemField = (typeof SAVED_VIEW_SYSTEM_FIELDS)[number];
7
+ export type SavedViewFieldRef = `sys.${SavedViewSystemField}` | `prop.${string}`;
8
+ /** Host note id. Valid only as a `$self` value source, never as a column. */
9
+ export declare const SAVED_VIEW_SELF_ID_FIELD: "sys.id";
10
+ export type SavedViewSelfSourceFieldRef = SavedViewFieldRef | typeof SAVED_VIEW_SELF_ID_FIELD;
11
+ export declare const SAVED_VIEW_PRIMARY_RESOURCE_TYPES: readonly ["audio", "video", "file", "image"];
12
+ export type SavedViewPrimaryResourceType = (typeof SAVED_VIEW_PRIMARY_RESOURCE_TYPES)[number];
13
+ export declare function isSavedViewDisplayOnlyField(field: SavedViewFieldRef): boolean;
14
+ export declare function isSavedViewFieldRef(value: unknown): value is SavedViewFieldRef;
15
+ export declare function isSavedViewSelfSourceFieldRef(value: unknown): value is SavedViewSelfSourceFieldRef;
16
+ export declare const savedViewFieldRefSchema: z.ZodCustom<SavedViewFieldRef, SavedViewFieldRef>;
17
+ export declare const SAVED_VIEW_FILTER_OPERATORS: readonly ["equals", "notEquals", "contains", "notContains", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual", "isEmpty", "isNotEmpty", "withinLastDays", "isToday", "isThisWeek", "isThisMonth"];
18
+ export type SavedViewFilterOperator = (typeof SAVED_VIEW_FILTER_OPERATORS)[number];
19
+ export type SavedViewFilterValue = string | number | boolean | null;
20
+ export declare const MAX_SAVED_VIEW_RELATIVE_DAYS = 3650;
21
+ export declare const SAVED_VIEW_DYNAMIC_DATE_FILTER_OPERATORS: readonly ["withinLastDays", "isToday", "isThisWeek", "isThisMonth"];
22
+ export declare function isSavedViewDynamicDateFilterOperator(operator: SavedViewFilterOperator): operator is (typeof SAVED_VIEW_DYNAMIC_DATE_FILTER_OPERATORS)[number];
23
+ export declare function getSavedViewFilterOperatorsForPropertyType(type: PropertyType): SavedViewFilterOperator[];
24
+ export declare function getSavedViewFilterOperatorsForField(field: SavedViewFieldRef, type: PropertyType): SavedViewFilterOperator[];
25
+ export declare function canSortSavedViewPropertyType(type: PropertyType): boolean;
26
+ export declare function canSortSavedViewField(field: SavedViewFieldRef, type: PropertyType): boolean;
27
+ export declare function dedupeSavedViewFieldRefs(fields: SavedViewFieldRef[]): SavedViewFieldRef[];
28
+ export declare function normalizeSavedViewColumnFieldRefs(fields: SavedViewFieldRef[]): SavedViewFieldRef[];
29
+ /** Filter value taken from the note that hosts this view. Compiled before SQL runs. */
30
+ export interface SavedViewFilterSelfValueRef {
31
+ kind: 'self';
32
+ field: SavedViewSelfSourceFieldRef;
33
+ }
34
+ export interface SavedViewFilterCondition {
35
+ kind: 'condition';
36
+ field: SavedViewFieldRef;
37
+ operator: SavedViewFilterOperator;
38
+ value?: SavedViewFilterValue;
39
+ /** Mutually exclusive with `value`. Requires filter version 3. */
40
+ valueRef?: SavedViewFilterSelfValueRef;
41
+ }
42
+ export interface SavedViewFilterGroup {
43
+ kind: 'group';
44
+ operator: 'and' | 'or';
45
+ children: SavedViewFilterNode[];
46
+ }
47
+ export interface SavedViewFilterNot {
48
+ kind: 'not';
49
+ child: SavedViewFilterNode;
50
+ }
51
+ export type SavedViewFilterNode = SavedViewFilterCondition | SavedViewFilterGroup | SavedViewFilterNot;
52
+ export interface SavedViewFilter {
53
+ version: 1 | 2 | 3;
54
+ root: SavedViewFilterNode | null;
55
+ }
56
+ export declare function isSavedViewSelfValueRef(value: unknown): value is SavedViewFilterSelfValueRef;
57
+ export declare function canSavedViewFilterConditionUseSelfValue(field: SavedViewFieldRef, operator: SavedViewFilterOperator): boolean;
58
+ export declare function canSavedViewSelfSourceField(field: SavedViewSelfSourceFieldRef): boolean;
59
+ export declare const savedViewFilterConditionSchema: z.ZodType<SavedViewFilterCondition>;
60
+ export declare const savedViewFilterNodeSchema: z.ZodType<SavedViewFilterNode>;
61
+ export declare const savedViewFilterGroupSchema: z.ZodType<SavedViewFilterGroup>;
62
+ export declare function savedViewFilterNodeUsesDynamicDate(node: SavedViewFilterNode | null): boolean;
63
+ export declare function savedViewFilterUsesDynamicDate(filter: SavedViewFilter): boolean;
64
+ export declare function savedViewFilterNodeUsesSelf(node: SavedViewFilterNode | null): boolean;
65
+ export declare function savedViewFilterUsesSelf(filter: SavedViewFilter | null | undefined): boolean;
66
+ export declare function createSavedViewFilter(root: SavedViewFilterNode | null): SavedViewFilter;
67
+ export declare function resolveStandaloneSavedViewFilter(config: Pick<SavedViewConfig, 'noteDetail'>, filter: SavedViewFilter): SavedViewFilter;
68
+ export type SavedViewSelfPropertyValue = string | number | boolean | readonly (string | number | boolean)[];
69
+ /** The open note that a `$self` filter is evaluated against. */
70
+ export interface SavedViewSelfHost {
71
+ id?: string | null;
72
+ title?: string | null;
73
+ source?: string | null;
74
+ type?: string | null;
75
+ createdAt?: string | null;
76
+ updatedAt?: string | null;
77
+ starredAt?: string | null;
78
+ tags?: readonly string[] | null;
79
+ zettelBoxes?: readonly string[] | null;
80
+ properties?: Readonly<Record<string, SavedViewSelfPropertyValue | null>> | null;
81
+ }
82
+ export interface SavedViewSelfBindContext {
83
+ resolve(field: SavedViewSelfSourceFieldRef): SavedViewFilterValue | undefined;
84
+ }
85
+ export declare function createSavedViewSelfBindContext(host: SavedViewSelfHost): SavedViewSelfBindContext;
86
+ /** Replace resolved `$self` refs with literals. Unresolved refs stay and fail closed in SQL. */
87
+ export declare function bindSavedViewFilter(filter: SavedViewFilter | null | undefined, context: SavedViewSelfBindContext | null | undefined): SavedViewFilter | null;
88
+ /**
89
+ * A detail section appears only when `noteDetail` matches this note.
90
+ * The returned filter is the view filter with `$self` bound to the note.
91
+ */
92
+ export declare function bindDetailSavedView(view: {
93
+ config: Pick<SavedViewConfig, 'noteDetail'>;
94
+ filter: SavedViewFilter;
95
+ }, host: SavedViewSelfHost): SavedViewFilter | null;
96
+ export declare const savedViewFilterSchema: z.ZodType<SavedViewFilter>;
97
+ export declare const SAVED_VIEW_LAYOUTS: readonly ["table", "list", "card"];
98
+ export type SavedViewLayout = (typeof SAVED_VIEW_LAYOUTS)[number];
99
+ export interface SavedViewColumn {
100
+ field: SavedViewFieldRef;
101
+ }
102
+ export interface SavedViewSort {
103
+ field: SavedViewFieldRef;
104
+ direction: 'asc' | 'desc';
105
+ }
106
+ /**
107
+ * Analytics layer on `config_json` (shared contract with dinox-app).
108
+ * Both clients author and render these keys; every config write must round-trip them.
109
+ */
110
+ export declare const SAVED_VIEW_CHART_TYPES: readonly ["bar", "line", "pie", "area", "contribute", "waterfall", "ring", "funnel", "scatter", "treemap"];
111
+ export type SavedViewChartType = (typeof SAVED_VIEW_CHART_TYPES)[number];
112
+ export declare const SAVED_VIEW_CHART_AGGREGATIONS: readonly ["count", "sum", "avg"];
113
+ export type SavedViewChartAggregation = (typeof SAVED_VIEW_CHART_AGGREGATIONS)[number];
114
+ export declare const SAVED_VIEW_CHART_TIME_BUCKETS: readonly ["hour", "day", "week", "month"];
115
+ export type SavedViewChartTimeBucket = (typeof SAVED_VIEW_CHART_TIME_BUCKETS)[number];
116
+ export declare const SAVED_VIEW_CHART_EXPR_OPS: readonly ["*", "/", "+", "-"];
117
+ export type SavedViewChartExprOp = (typeof SAVED_VIEW_CHART_EXPR_OPS)[number];
118
+ export declare const MAX_SAVED_VIEW_CHARTS = 5;
119
+ export declare const MAX_SAVED_VIEW_STATS = 6;
120
+ export declare const MAX_SAVED_VIEW_CHART_TITLE_LENGTH = 80;
121
+ export declare const MAX_SAVED_VIEW_STAT_TITLE_LENGTH = 80;
122
+ export declare const MAX_SAVED_VIEW_STAT_UNIT_LENGTH = 16;
123
+ export declare const MAX_SAVED_VIEW_CHART_LIMIT = 500;
124
+ export declare const MAX_SAVED_VIEW_COMPUTED_COLUMNS = 10;
125
+ export declare const MAX_SAVED_VIEW_SUMMARY_ITEMS = 20;
126
+ export declare const MAX_SAVED_VIEW_COMPUTED_COLUMN_TITLE_LENGTH = 80;
127
+ export interface SavedViewChartDimension {
128
+ field: SavedViewFieldRef;
129
+ /** Required for date fields; forbidden elsewhere. */
130
+ timeBucket?: SavedViewChartTimeBucket;
131
+ }
132
+ export interface SavedViewChartBinaryExpr {
133
+ op: SavedViewChartExprOp;
134
+ left: SavedViewFieldRef;
135
+ right: SavedViewFieldRef;
136
+ }
137
+ export interface SavedViewChartMeasure {
138
+ /** null = COUNT(*); non-null only for number props (sum/avg). Mutually exclusive with `expr`. */
139
+ field: SavedViewFieldRef | null;
140
+ aggregation: SavedViewChartAggregation;
141
+ expr?: SavedViewChartBinaryExpr;
142
+ }
143
+ export interface SavedViewChartOrderBy {
144
+ by: 'bucket' | 'value';
145
+ direction: 'asc' | 'desc';
146
+ }
147
+ export interface SavedViewChart {
148
+ id: string;
149
+ title?: string;
150
+ type: SavedViewChartType;
151
+ dimensions: [SavedViewChartDimension];
152
+ measures: [SavedViewChartMeasure];
153
+ orderBy?: SavedViewChartOrderBy;
154
+ limit?: number;
155
+ }
156
+ export interface SavedViewStat {
157
+ id: string;
158
+ title?: string;
159
+ unit?: string;
160
+ measure: SavedViewChartMeasure;
161
+ }
162
+ /** `calc.*` is display-only and must not enter SavedViewFieldRef (filter/sort/dimension). */
163
+ export type SavedViewTableColumnKey = SavedViewFieldRef | `calc.${string}`;
164
+ export interface SavedViewComputedColumn {
165
+ id: string;
166
+ title?: string;
167
+ expr: SavedViewChartBinaryExpr;
168
+ }
169
+ export interface SavedViewSummaryItem {
170
+ column: SavedViewTableColumnKey;
171
+ aggregation: SavedViewChartAggregation;
172
+ }
173
+ export interface SavedViewNoteDetailRule {
174
+ field: SavedViewFieldRef;
175
+ value: string | number | boolean;
176
+ }
177
+ export interface SavedViewConfig {
178
+ version: 1;
179
+ /** When a filter uses `$self`, a standalone open lists notes matching this rule. */
180
+ noteDetail?: SavedViewNoteDetailRule;
181
+ layout: SavedViewLayout;
182
+ columns: SavedViewColumn[];
183
+ sort?: SavedViewSort[];
184
+ /** KPI blocks over the whole filtered scope. */
185
+ stats?: SavedViewStat[];
186
+ /** Aggregate charts over the whole filtered scope. */
187
+ charts?: SavedViewChart[];
188
+ /** Row-level binary expressions shown after `columns` as `calc.<id>`. */
189
+ computedColumns?: SavedViewComputedColumn[];
190
+ /** Table footer aggregates keyed by column. */
191
+ summary?: SavedViewSummaryItem[];
192
+ }
193
+ export declare const savedViewColumnSchema: z.ZodType<SavedViewColumn>;
194
+ export declare const savedViewSortSchema: z.ZodType<SavedViewSort>;
195
+ export declare function isSavedViewDateField(field: SavedViewFieldRef, type?: PropertyType): boolean;
196
+ export declare function isSavedViewMultiValueField(field: SavedViewFieldRef, type?: PropertyType): boolean;
197
+ export declare function canGroupSavedViewChartByField(field: SavedViewFieldRef, type?: PropertyType): boolean;
198
+ export declare function getSavedViewChartTimeBucketsForField(field: SavedViewFieldRef, type?: PropertyType): SavedViewChartTimeBucket[];
199
+ export declare function canUseSavedViewChartMeasureField(field: SavedViewFieldRef, type?: PropertyType): boolean;
200
+ export declare function getSavedViewChartAggregationsForDimension(dimensionField: SavedViewFieldRef, dimensionType?: PropertyType): SavedViewChartAggregation[];
201
+ export declare const savedViewChartSchema: z.ZodType<SavedViewChart>;
202
+ export declare const savedViewStatSchema: z.ZodType<SavedViewStat>;
203
+ export declare function isSavedViewTableColumnKey(value: unknown): value is SavedViewTableColumnKey;
204
+ export declare const savedViewComputedColumnSchema: z.ZodType<SavedViewComputedColumn>;
205
+ export declare const savedViewSummaryItemSchema: z.ZodType<SavedViewSummaryItem>;
206
+ export declare const savedViewConfigSchema: z.ZodType<SavedViewConfig>;
207
+ export declare function createDefaultSavedViewFilter(): SavedViewFilter;
208
+ export declare function createDefaultSavedViewConfig(): SavedViewConfig;
209
+ export interface SavedViewPlanFieldInput {
210
+ field: SavedViewFieldRef;
211
+ label: string;
212
+ type: PropertyType;
213
+ description?: string;
214
+ options?: PropertyOption[];
215
+ config?: PropertyDefConfig;
216
+ configInvalid?: boolean;
217
+ optionsInvalid?: boolean;
218
+ optionsMigrationPending?: boolean;
219
+ }
220
+ export interface GeneratedSavedViewPlan {
221
+ name: string;
222
+ filter: SavedViewFilter;
223
+ config: SavedViewConfig;
224
+ }
225
+ export interface AiGenerateSavedViewPlanRequest {
226
+ prompt: string;
227
+ /** Secret-free selector resolved against the authenticated user's model rows. */
228
+ modelSelector?: string;
229
+ locale?: string;
230
+ timeZone?: string;
231
+ }
232
+ export interface AiGenerateSavedViewPlanResponse {
233
+ ok: boolean;
234
+ plan?: GeneratedSavedViewPlan;
235
+ error?: string;
236
+ errorCode?: AiErrorCode;
237
+ metadata?: Record<string, unknown>;
238
+ }
239
+ export declare const aiGenerateSavedViewPlanRequestSchema: z.ZodType<AiGenerateSavedViewPlanRequest>;
240
+ export interface SavedViewCatalogInput {
241
+ userId: string;
242
+ limit?: number;
243
+ }
244
+ export interface SavedViewCatalogRow {
245
+ id: string;
246
+ user_id: string | null;
247
+ name: string | null;
248
+ emoji: string | null;
249
+ filter_json: string | null;
250
+ view_type: string | null;
251
+ config_json: string | null;
252
+ template_id: string | null;
253
+ group_id: string | null;
254
+ sort_rank: number | null;
255
+ pinned_at: string | null;
256
+ created_at: string | null;
257
+ updated_at: string | null;
258
+ is_del: number | null;
259
+ }
260
+ export interface SavedViewCreateInput {
261
+ userId: string;
262
+ name: string;
263
+ emoji?: string | null;
264
+ filter: SavedViewFilter;
265
+ config: SavedViewConfig;
266
+ templateId?: string | null;
267
+ groupId?: string | null;
268
+ sortRank?: number | null;
269
+ pinnedAt?: string | null;
270
+ updatedAt: string;
271
+ }
272
+ export interface SavedViewUpdateInput {
273
+ id: string;
274
+ userId: string;
275
+ name?: string;
276
+ emoji?: string | null;
277
+ filter?: SavedViewFilter;
278
+ config?: SavedViewConfig;
279
+ templateId?: string | null;
280
+ groupId?: string | null;
281
+ sortRank?: number | null;
282
+ pinnedAt?: string | null;
283
+ updatedAt: string;
284
+ }
285
+ export interface SavedViewSoftDeleteInput {
286
+ id: string;
287
+ userId: string;
288
+ updatedAt: string;
289
+ }
290
+ export interface SavedViewPageInput {
291
+ viewId: string;
292
+ userId: string;
293
+ timeZone?: string;
294
+ limit?: number;
295
+ offset?: number;
296
+ }
297
+ export interface SavedViewPageRow {
298
+ id: string;
299
+ title: string | null;
300
+ created_at: string | null;
301
+ updated_at: string | null;
302
+ tags: string | null;
303
+ zettel_boxes: string | null;
304
+ zettel_box_details: string | null;
305
+ source: string | null;
306
+ type: string | null;
307
+ starred_at: string | null;
308
+ properties: string | null;
309
+ images?: string | null;
310
+ primary_resource_type?: string | null;
311
+ }
312
+ declare const savedViewZettelBoxDetailsSchema: z.ZodArray<z.ZodObject<{
313
+ fullPath: z.ZodString;
314
+ color: z.ZodNullable<z.ZodString>;
315
+ }, z.core.$strip>>;
316
+ export type SavedViewZettelBoxDetails = z.infer<typeof savedViewZettelBoxDetailsSchema>;
317
+ export declare function parseSavedViewZettelBoxDetails(value: string | null | undefined): SavedViewZettelBoxDetails;
318
+ export interface SavedViewCountInput {
319
+ viewId: string;
320
+ userId: string;
321
+ timeZone?: string;
322
+ }
323
+ /** A page and its count resolved from the same database snapshot. */
324
+ export interface SavedViewSnapshotRow {
325
+ rows: SavedViewPageRow[];
326
+ total_count: number;
327
+ }
328
+ export interface SavedViewCountRow {
329
+ total_count: number;
330
+ }
331
+ export declare const savedViewCatalogInputSchema: z.ZodType<SavedViewCatalogInput>;
332
+ export declare const savedViewCreateInputSchema: z.ZodType<SavedViewCreateInput>;
333
+ export declare const savedViewUpdateInputSchema: z.ZodType<SavedViewUpdateInput>;
334
+ export declare const savedViewSoftDeleteInputSchema: z.ZodType<SavedViewSoftDeleteInput>;
335
+ export declare const savedViewPageInputSchema: z.ZodType<SavedViewPageInput>;
336
+ export declare const savedViewCountInputSchema: z.ZodType<SavedViewCountInput>;
337
+ /**
338
+ * Analytics layer (stats / charts / summary row) for one saved view.
339
+ * Aggregates run over the same scope as the table (owner + not deleted + view filter),
340
+ * never over the visible page. `draft` lets editors preview unsaved items; when omitted
341
+ * the stored config is used.
342
+ */
343
+ export interface SavedViewAnalyticsDraft {
344
+ stats?: SavedViewStat[];
345
+ charts?: SavedViewChart[];
346
+ computedColumns?: SavedViewComputedColumn[];
347
+ summary?: SavedViewSummaryItem[];
348
+ }
349
+ export interface SavedViewAnalyticsInput {
350
+ viewId: string;
351
+ userId: string;
352
+ timeZone?: string;
353
+ draft?: SavedViewAnalyticsDraft;
354
+ }
355
+ export interface SavedViewChartResultRow {
356
+ bucket: string | number | null;
357
+ value: number | null;
358
+ /** Display label resolved in SQL when the bucket is an id (e.g. card boxes). */
359
+ label?: string | null;
360
+ }
361
+ export interface SavedViewAnalyticsRow {
362
+ stats: Array<{
363
+ id: string;
364
+ value: number | null;
365
+ unavailable: boolean;
366
+ }>;
367
+ charts: Array<{
368
+ id: string;
369
+ rows: SavedViewChartResultRow[];
370
+ unavailable: boolean;
371
+ }>;
372
+ summary: Array<{
373
+ column: SavedViewTableColumnKey;
374
+ aggregation: SavedViewChartAggregation;
375
+ value: number | null;
376
+ unavailable: boolean;
377
+ }>;
378
+ }
379
+ export declare const savedViewAnalyticsInputSchema: z.ZodType<SavedViewAnalyticsInput>;
380
+ export interface SavedViewNoteDetailInput {
381
+ userId: string;
382
+ noteId: string;
383
+ timeZone?: string;
384
+ limit?: number;
385
+ }
386
+ export interface SavedViewNoteDetailSection {
387
+ view_id: string;
388
+ name: string;
389
+ emoji: string | null;
390
+ total_count: number;
391
+ rows: SavedViewPageRow[];
392
+ }
393
+ export declare const savedViewNoteDetailInputSchema: z.ZodType<SavedViewNoteDetailInput>;
394
+ export {};