@xnetjs/data 0.7.0 → 0.9.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.
@@ -1,12 +1,12 @@
1
1
  import { AllowExpr, DenyExpr, AuthExpression, AndExpr, OrExpr, NotExpr, PublicExpr, AuthenticatedExpr, CreatorRoleResolver, PropertyRoleResolver, RelationRoleResolver, MembershipRoleResolver, AuthorizationDefinition, SerializedAuthorization, SerializedAuthExpression, DID } from '@xnetjs/core';
2
2
  export { AUTH_ACTIONS, AllowExpr, AndExpr, AuthAction, AuthCheckInput, AuthDecision, AuthDenyReason, AuthExpression, AuthTrace, AuthTraceStep, AuthenticatedExpr, AuthorizationDefinition, CreatorRoleResolver, DenyExpr, MembershipRoleResolver, NotExpr, OrExpr, PolicyEvaluator, PropertyRoleResolver, PublicExpr, RelationRoleResolver, RoleRefExpr, RoleResolver, SerializedAuthExpression, SerializedAuthorization, SerializedRoleResolver } from '@xnetjs/core';
3
- import { E as PropertyDefinition, a as Schema, h as NodeState, S as SchemaIRI } from '../types-S-BJAKyK.js';
4
- export { aX as DEFAULT_OFFLINE_POLICY, aV as GRANT_SCHEMA_IRI, b1 as Grant, w as GrantIndex, b6 as GrantIndexOptions, b5 as GrantIndexStore, b0 as GrantInput, b4 as GrantNode, aU as GrantRateLimiter, b9 as GrantRateLimiterOptions, O as OfflineAuthPolicy, b8 as RevocationConfig, b7 as RevocationConsistency, aT as StoreAuth, e as StoreAuthAPI, b2 as StoreAuthError, b3 as StoreAuthErrorCode, a$ as StoreAuthKeyManager, aZ as StoreAuthOptions, a_ as StoreAuthStore, aW as isGrantActive, aY as mergeOfflinePolicy } from '../types-S-BJAKyK.js';
5
- export { A as ActionPermission, m as AuthDecisionEvent, b as DecisionCache, g as DecisionCacheOptions, D as DefaultPolicyEvaluator, j as DefaultPolicyEvaluatorOptions, a as DefaultRoleResolver, i as DefaultRoleResolverOptions, k as DefinedSchemaLike, G as GrantExpirationCleaner, o as GrantExpirationCleanerOptions, n as GrantExpirationStore, H as HubPolicy, N as NodeStoreReader, P as PermissionMatrix, l as RevalidationEvent, R as RoleSummary, S as SchemaRegistryReader, c as buildPermissionMatrix, f as createPolicyEvaluator, d as describeRoleResolver, e as evaluateExpression, h as hubActionsForSpaceRole, s as schemaToHubPolicy } from '../grant-expiration-cleaner-CY6BcmlR.js';
3
+ import { E as PropertyDefinition, a as Schema, h as NodeState, S as SchemaIRI } from '../types-BB8-SLEa.js';
4
+ export { aX as DEFAULT_OFFLINE_POLICY, aV as GRANT_SCHEMA_IRI, b1 as Grant, w as GrantIndex, b6 as GrantIndexOptions, b5 as GrantIndexStore, b0 as GrantInput, b4 as GrantNode, aU as GrantRateLimiter, b9 as GrantRateLimiterOptions, O as OfflineAuthPolicy, b8 as RevocationConfig, b7 as RevocationConsistency, aT as StoreAuth, e as StoreAuthAPI, b2 as StoreAuthError, b3 as StoreAuthErrorCode, a$ as StoreAuthKeyManager, aZ as StoreAuthOptions, a_ as StoreAuthStore, aW as isGrantActive, aY as mergeOfflinePolicy } from '../types-BB8-SLEa.js';
5
+ export { A as ActionPermission, m as AuthDecisionEvent, b as DecisionCache, g as DecisionCacheOptions, D as DefaultPolicyEvaluator, j as DefaultPolicyEvaluatorOptions, a as DefaultRoleResolver, i as DefaultRoleResolverOptions, k as DefinedSchemaLike, G as GrantExpirationCleaner, o as GrantExpirationCleanerOptions, n as GrantExpirationStore, H as HubPolicy, N as NodeStoreReader, P as PermissionMatrix, l as RevalidationEvent, R as RoleSummary, S as SchemaRegistryReader, c as buildPermissionMatrix, f as createPolicyEvaluator, d as describeRoleResolver, e as evaluateExpression, h as hubActionsForSpaceRole, s as schemaToHubPolicy } from '../grant-expiration-cleaner-Bm1fSG42.js';
6
6
  import { PublicKeyResolver } from '@xnetjs/crypto';
7
7
  import '@xnetjs/sqlite';
8
8
  import '@xnetjs/sync';
9
- import '../registry-DunPv__d.js';
9
+ import '../registry-_49rC6IG.js';
10
10
 
11
11
  /**
12
12
  * Authorization expression builders for schema definitions.
@@ -1,14 +1,14 @@
1
+ import {
2
+ SYSTEM_SCHEMA_BASE_IRIS,
3
+ isSystemNamespaceResource,
4
+ isSystemSchemaIri
5
+ } from "./chunk-BY5O6LNC.js";
1
6
  import {
2
7
  applyNodeQueryDescriptor,
3
8
  getNodeQuerySearchTokens,
4
9
  withoutNodeQueryMaterializedView,
5
10
  withoutNodeQueryPagination
6
11
  } from "./chunk-S5RP5RKY.js";
7
- import {
8
- SYSTEM_SCHEMA_BASE_IRIS,
9
- isSystemNamespaceResource,
10
- isSystemSchemaIri
11
- } from "./chunk-BY5O6LNC.js";
12
12
  import {
13
13
  createNodeId,
14
14
  getBaseSchemaIRI
@@ -2484,6 +2484,11 @@ var NodeStore = class {
2484
2484
  return;
2485
2485
  }
2486
2486
  }
2487
+ const alreadyApplied = this.storage.hasChange ? await this.storage.hasChange(change.hash) : await this.storage.getChangeByHash(change.hash) !== null;
2488
+ if (alreadyApplied) {
2489
+ this.clock = receive(this.clock, change.lamport);
2490
+ return;
2491
+ }
2487
2492
  this.clock = receive(this.clock, change.lamport);
2488
2493
  await this.storage.setLastLamportTime(this.clock.time);
2489
2494
  const previousNode = this.cloneNodeState(await this.storage.getNode(change.payload.nodeId));
@@ -2919,8 +2924,9 @@ var NodeStore = class {
2919
2924
  wallTime: change.wallTime
2920
2925
  };
2921
2926
  const incomingWins = !existingTs || this.shouldReplace(existingTs, newTs);
2927
+ const target = isUnknownProperty ? node._unknown ??= {} : node.properties;
2928
+ const previousValue = target[key];
2922
2929
  if (incomingWins) {
2923
- const target = isUnknownProperty ? node._unknown ??= {} : node.properties;
2924
2930
  if (value === void 0) {
2925
2931
  delete target[key];
2926
2932
  } else {
@@ -2928,18 +2934,21 @@ var NodeStore = class {
2928
2934
  }
2929
2935
  node.timestamps[key] = newTs;
2930
2936
  }
2931
- if (existingTs) {
2932
- this.conflicts.push({
2933
- nodeId: change.payload.nodeId,
2934
- key,
2935
- localValue: isUnknownProperty ? node._unknown?.[key] : node.properties[key],
2936
- localTimestamp: existingTs,
2937
- remoteValue: value,
2938
- remoteTimestamp: newTs,
2939
- resolved: incomingWins ? "remote" : "local"
2940
- });
2941
- this.trimConflicts();
2942
- }
2937
+ if (!existingTs || existingTs.author === newTs.author) return;
2938
+ if (Object.is(previousValue, value)) return;
2939
+ this.conflicts.push({
2940
+ nodeId: change.payload.nodeId,
2941
+ key,
2942
+ localValue: previousValue,
2943
+ localTimestamp: existingTs,
2944
+ remoteValue: value,
2945
+ remoteTimestamp: newTs,
2946
+ resolved: incomingWins ? "remote" : "local",
2947
+ // A losing cross-author write is a true conflict; a winning one is an
2948
+ // informational lost-update record.
2949
+ kind: incomingWins ? "lww-resolution" : "conflict"
2950
+ });
2951
+ this.trimConflicts();
2943
2952
  }
2944
2953
  /**
2945
2954
  * Determine if newTs should replace existingTs (LWW). Delegates to the ONE
@@ -3203,20 +3212,25 @@ var MemoryNodeStorageAdapter = class {
3203
3212
  // Change Log Operations
3204
3213
  // ==========================================================================
3205
3214
  async appendChange(change) {
3215
+ this.appendChangeInternal(change);
3216
+ }
3217
+ async appendChanges(changes) {
3218
+ changes.forEach((change) => this.appendChangeInternal(change));
3219
+ }
3220
+ /**
3221
+ * Append with hash dedupe — replayed changes must not grow the log
3222
+ * (matches the SQLite adapter's `INSERT OR IGNORE`; exploration 0296).
3223
+ */
3224
+ appendChangeInternal(change) {
3225
+ if (this.changesByHash.has(change.hash)) return;
3206
3226
  const nodeId = change.payload.nodeId;
3207
3227
  const existing = this.changes.get(nodeId) ?? [];
3208
3228
  existing.push(change);
3209
3229
  this.changes.set(nodeId, existing);
3210
3230
  this.changesByHash.set(change.hash, change);
3211
3231
  }
3212
- async appendChanges(changes) {
3213
- changes.forEach((change) => {
3214
- const nodeId = change.payload.nodeId;
3215
- const existing = this.changes.get(nodeId) ?? [];
3216
- existing.push(change);
3217
- this.changes.set(nodeId, existing);
3218
- this.changesByHash.set(change.hash, change);
3219
- });
3232
+ async hasChange(hash) {
3233
+ return this.changesByHash.has(hash);
3220
3234
  }
3221
3235
  async getChanges(nodeId) {
3222
3236
  return this.changes.get(nodeId) ?? [];
@@ -4681,6 +4695,7 @@ var SQLiteNodeStorageAdapter = class {
4681
4695
  getAllChanges: () => this.getAllChanges(),
4682
4696
  getChangesSince: (sinceLamport) => this.getChangesSince(sinceLamport),
4683
4697
  getChangeByHash: (hash) => this.getChangeByHash(hash),
4698
+ hasChange: (hash) => this.hasChange(hash),
4684
4699
  getLastChange: (nodeId) => this.getLastChange(nodeId),
4685
4700
  getLastChangesByNodeId: (nodeIds) => this.getLastChangesByNodeId(nodeIds),
4686
4701
  appendChanges: (changes) => this.appendChangesInternal(changes),
@@ -4841,14 +4856,20 @@ var SQLiteNodeStorageAdapter = class {
4841
4856
  }
4842
4857
  async getChangeByHash(hash) {
4843
4858
  const row = await this.db.queryOne(
4844
- `SELECT hash, node_id, payload, lamport_time,
4845
- lamport_peer as lamport_author, wall_time,
4846
- author as author_did, parent_hash, batch_id, signature
4859
+ `SELECT hash, node_id, payload, lamport_time,
4860
+ lamport_peer as lamport_author, wall_time,
4861
+ author as author_did, parent_hash, batch_id, signature
4847
4862
  FROM changes WHERE hash = ?`,
4848
4863
  [hash]
4849
4864
  );
4850
4865
  return row ? this.deserializeChange(row) : null;
4851
4866
  }
4867
+ async hasChange(hash) {
4868
+ const row = await this.db.queryOne(`SELECT 1 FROM changes WHERE hash = ?`, [
4869
+ hash
4870
+ ]);
4871
+ return row !== null && row !== void 0;
4872
+ }
4852
4873
  async getLastChange(nodeId) {
4853
4874
  const row = await this.db.queryOne(
4854
4875
  `SELECT hash, node_id, payload, lamport_time,
@@ -1,6 +1,6 @@
1
1
  import { C as CellValue, a7 as FormSubmissionMeta, E as ColumnDefinition, h as FieldType, j as FieldConfig, K as SelectColor, k as FieldNode, S as SelectOptionNode, V as ViewType, W as FilterGroup, Z as SortConfig, U as ViewConfig, B as ColumnType, Y as FilterOperator, L as RollupAggregation, l as RollupColumnConfig } from './form-types-BlZvpDEE.js';
2
- import { ao as NodeQueryMaterializedViewOptions, h as NodeState, B as PropertyType, S as SchemaIRI, a as Schema } from './types-S-BJAKyK.js';
3
- import { N as NodeStore } from './store-CjjofiLR.js';
2
+ import { ao as NodeQueryMaterializedViewOptions, h as NodeState, B as PropertyType, S as SchemaIRI, a as Schema } from './types-BB8-SLEa.js';
3
+ import { N as NodeStore } from './store-DEWnip2G.js';
4
4
  import * as Y from 'yjs';
5
5
 
6
6
  /**
@@ -1,12 +1,12 @@
1
1
  import { W as FilterGroup, E as ColumnDefinition, B as ColumnType, V as ViewType, Z as SortConfig } from '../form-types-BlZvpDEE.js';
2
2
  export { a as CELL_PREFIX, C as CellValue, G as ColumnConfig, aq as ColumnSummaryResult, at as DEFAULT_ROW_HEIGHT, n as DateColumnConfig, n as DateFieldConfig, D as DateRange, H as EmptyConfig, p as FIELD_TYPES, j as FieldConfig, k as FieldNode, h as FieldType, o as FileColumnConfig, o as FileFieldConfig, F as FileRef, X as FilterCondition, Y as FilterOperator, a6 as FormAudience, a3 as FormConfirmation, a5 as FormFieldRule, a2 as FormQuestion, a7 as FormSubmissionMeta, a8 as FormValidationError, a9 as FormValidationResult, a4 as FormViewConfig, m as FormulaColumnConfig, m as FormulaFieldConfig, N as NumberColumnConfig, N as NumberFieldConfig, ac as PUBLIC_SAFE_FORM_FIELD_TYPES, ab as PublicFormDefinition, aa as PublicFormQuestion, as as ROW_HEIGHTS, ar as ROW_HEIGHT_PX, R as RelationColumnConfig, R as RelationFieldConfig, L as RollupAggregation, l as RollupColumnConfig, l as RollupFieldConfig, ax as RowHeight, q as SELECT_COLORS, aj as SUMMARY_FUNCTIONS_BY_TYPE, K as SelectColor, I as SelectColumnConfig, J as SelectOption, S as SelectOptionNode, ap as SummaryColumnLike, an as SummaryFunction, ao as SummaryRow, T as TextColumnConfig, T as TextFieldConfig, U as ViewConfig, aw as asRowHeight, u as autoColor, ah as buildPublicFormDefinition, c as cellKey, b as columnIdFromKey, am as computeColumnSummary, f as fromCellProperties, P as isAutoColumnType, x as isAutoFieldType, i as isCellKey, g as isCellValue, O as isComputedColumnType, w as isComputedFieldType, d as isDateRange, r as isFieldType, e as isFileRef, al as isFilledValue, $ as isFilterCondition, _ as isFilterGroup, ad as isFormFieldTypeAllowed, ae as isFormQuestionVisible, M as isNodeStoreColumnType, v as isNodeStoreFieldType, s as isSelectColor, Q as isYDocColumnType, y as isYDocFieldType, a1 as requiresDateColumn, av as resolveRowHeightPx, au as rowHeightLabel, ai as submissionRowId, ak as summaryFunctionLabel, a0 as supportsGrouping, t as toCellProperties, z as toFieldNode, A as toSelectOptionNode, ag as validateFormSubmission, af as visibleFormQuestions } from '../form-types-BlZvpDEE.js';
3
- export { cD as CloneSchemaOptions, cE as CloneSchemaResult, cF as CloneSourceData, ax as ConvertContext, ay as ConvertedCell, cx as CreateDatabaseSchemaResolverOptions, O as CreateExtensionFieldOptions, w as CreateFieldOptions, C as CreateRowOptions, x as CreateSelectOptionOptions, Z as CreateViewOptions, b8 as CsvExportOptions, aV as CsvParseOptions, cm as DATABASE_SCHEMA_NAMESPACE, cn as DATABASE_SCHEMA_PREFIX, ag as DEFAULT_DATABASE_SCHEMA_VERSION, au as DatabaseDocumentModel, D as DatabaseRowNode, cp as DatabaseSchemaMetadata, cw as DocFetcher, N as EnsureExtensionOptions, b7 as ExportRow, bb as ExportedColumn, ba as ExportedJSON, bQ as FilterableRow, aH as FormulaRow, aF as FormulaService, aI as FormulaValidationResult, c2 as GroupAggregates, c0 as GroupConfig, b$ as GroupableRow, aX as InferredColumn, b9 as JsonExportOptions, aY as JsonParseOptions, M as MAX_KEY_LENGTH, co as MAX_VERSION_HISTORY, bF as OPERATORS_BY_TYPE, bG as OPERATOR_LABELS, aU as ParsedCSV, aW as ParsedJSON, ca as QueryOptions, cb as QueryResult, Q as QueryRowsOptions, a as QueryRowsResult, c9 as QueryableRow, R as RICHTEXT_PREFIX, aE as RollupContext, aD as RollupRow, c1 as RowGroup, cr as SchemaVersionEntry, af as SetupDatabaseResult, bW as SortableRow, cq as StoredColumn, U as UpdateFieldOptions, _ as UpdateViewOptions, cs as VersionBumpType, Y as ViewNode, ao as addDefaultTableView, an as addDefaultTitleColumn, bU as addOrToggleSort, bv as addViewSort, az as aggregate, aB as batchComputeRollups, ci as buildDatabaseSchema, ai as buildSchemaFromFields, cc as buildSchemaIRI, cg as bumpSchemaVersion, aw as cellValueToText, e as checkNeedsRebalancing, bt as clearViewFilters, bx as clearViewSorts, cz as cloneColumns, cA as cloneSampleRows, cy as cloneSchema, b_ as collapseAllGroups, bO as combineFiltersAnd, bP as combineFiltersOr, j as compareSortKeys, aA as computeRollup, av as convertCellValue, bN as createAnyOfFilter, bg as createColumn, b0 as createCsvBlob, ct as createDatabaseSchemaResolver, bM as createEqualsFilter, J as createExtensionField, B as createField, c4 as createFilterQuery, aG as createFormulaService, ch as createInitialSchemaMetadata, b5 as createJsonBlob, ak as createNodeDatabaseSchemaResolver, c6 as createPaginatedQuery, c as createRow, T as createSelectOption, bS as createSort, c5 as createSortQuery, cj as createVersionEntry, bo as createView, a1 as createViewNode, bi as deleteColumn, L as deleteExtensionField, F as deleteField, as as deleteMeta, t as deleteRichTextCell, d as deleteRow, W as deleteSelectOption, bq as deleteView, a3 as deleteViewNode, b1 as downloadCsv, b6 as downloadJson, bk as duplicateColumn, H as duplicateField, br as duplicateView, a4 as duplicateViewNode, ad as effectiveFieldSortKey, I as ensureSchemaExtension, a_ as escapeCSV, c3 as executeQuery, bZ as expandAllGroups, aZ as exportToCsv, b2 as exportToJson, b3 as exportToJsonArray, b4 as exportToNdjson, cu as extractSchemaFromDoc, ah as fieldsToStoredColumns, bL as filterRows, c7 as flattenGroups, a$ as formatValue, cB as generateColumnIdMap, f as generateSortKey, h as generateSortKeyWithJitter, cI as getAggregationResultType, bd as getColumn, be as getColumnIndex, bc as getColumns, at as getDatabaseDocumentModel, aj as getDatabaseSchemaIRI, S as getDatabaseSelectOptions, cG as getEmptyValue, z as getField, y as getFields, aq as getMeta, bJ as getOperatorLabel, bH as getOperatorsForType, l as getRichTextCell, s as getRichTextColumnIds, v as getRichTextPlainText, g as getRow, cv as getSchemaIRIFromDoc, P as getSelectOptions, bf as getTitleColumn, A as getTitleField, c8 as getTotalFromGroups, cl as getVersionBumpType, bm as getView, bn as getViewByType, a0 as getViewNode, $ as getViewNodes, bl as getViews, bX as groupRows, aL as guessColumnType, p as hasRichTextColumns, o as hasRichTextContent, bC as hideColumn, aO as inferColumnTypes, aQ as inferColumnsFromRows, aR as inferTypeFromValues, al as initializeDatabaseDoc, am as isDatabaseDocInitialized, ce as isDatabaseSchemaIRI, cH as isNumericAggregation, bI as isValidOperator, i as isValidSortKey, G as moveField, m as moveRow, X as moveSelectOption, a5 as moveView, n as needsRebalancing, bK as operatorRequiresValue, aJ as parseCSV, aK as parseCSVLine, cd as parseDatabaseSchemaIRI, aP as parseJSON, aN as parseRow, aM as parseValue, cf as parseVersion, ck as pruneVersionHistory, q as queryRows, r as rebalanceDatabase, k as rebalanceSortKeys, cC as remapViewColumnIds, bV as removeSort, bw as removeViewSort, K as renameExtensionField, bj as reorderColumn, bD as reorderViewColumns, bE as setColumnWidth, aa as setFieldHidden, ar as setMeta, ac as setViewFieldOrder, ab as setViewFieldWidth, bs as setViewFilters, by as setViewGroupBy, a6 as setViewNodeFilters, a8 as setViewNodeGroupBy, a7 as setViewNodeSorts, bu as setViewSorts, bA as setVisibleColumns, ae as setupDatabase, ap as setupNewDatabase, bB as showColumn, bR as sortRows, aS as toColumnDefinitions, bz as toggleGroupCollapsed, bY as toggleGroupCollapsedState, bT as toggleSortDirection, a9 as toggleViewGroupCollapsed, u as updateCell, b as updateCells, bh as updateColumn, E as updateField, V as updateSelectOption, bp as updateView, a2 as updateViewNode, aT as validateJsonData, aC as validateRollupConfig } from '../clone-_owA3IXN.js';
4
- import '../types-S-BJAKyK.js';
3
+ export { cD as CloneSchemaOptions, cE as CloneSchemaResult, cF as CloneSourceData, ax as ConvertContext, ay as ConvertedCell, cx as CreateDatabaseSchemaResolverOptions, O as CreateExtensionFieldOptions, w as CreateFieldOptions, C as CreateRowOptions, x as CreateSelectOptionOptions, Z as CreateViewOptions, b8 as CsvExportOptions, aV as CsvParseOptions, cm as DATABASE_SCHEMA_NAMESPACE, cn as DATABASE_SCHEMA_PREFIX, ag as DEFAULT_DATABASE_SCHEMA_VERSION, au as DatabaseDocumentModel, D as DatabaseRowNode, cp as DatabaseSchemaMetadata, cw as DocFetcher, N as EnsureExtensionOptions, b7 as ExportRow, bb as ExportedColumn, ba as ExportedJSON, bQ as FilterableRow, aH as FormulaRow, aF as FormulaService, aI as FormulaValidationResult, c2 as GroupAggregates, c0 as GroupConfig, b$ as GroupableRow, aX as InferredColumn, b9 as JsonExportOptions, aY as JsonParseOptions, M as MAX_KEY_LENGTH, co as MAX_VERSION_HISTORY, bF as OPERATORS_BY_TYPE, bG as OPERATOR_LABELS, aU as ParsedCSV, aW as ParsedJSON, ca as QueryOptions, cb as QueryResult, Q as QueryRowsOptions, a as QueryRowsResult, c9 as QueryableRow, R as RICHTEXT_PREFIX, aE as RollupContext, aD as RollupRow, c1 as RowGroup, cr as SchemaVersionEntry, af as SetupDatabaseResult, bW as SortableRow, cq as StoredColumn, U as UpdateFieldOptions, _ as UpdateViewOptions, cs as VersionBumpType, Y as ViewNode, ao as addDefaultTableView, an as addDefaultTitleColumn, bU as addOrToggleSort, bv as addViewSort, az as aggregate, aB as batchComputeRollups, ci as buildDatabaseSchema, ai as buildSchemaFromFields, cc as buildSchemaIRI, cg as bumpSchemaVersion, aw as cellValueToText, e as checkNeedsRebalancing, bt as clearViewFilters, bx as clearViewSorts, cz as cloneColumns, cA as cloneSampleRows, cy as cloneSchema, b_ as collapseAllGroups, bO as combineFiltersAnd, bP as combineFiltersOr, j as compareSortKeys, aA as computeRollup, av as convertCellValue, bN as createAnyOfFilter, bg as createColumn, b0 as createCsvBlob, ct as createDatabaseSchemaResolver, bM as createEqualsFilter, J as createExtensionField, B as createField, c4 as createFilterQuery, aG as createFormulaService, ch as createInitialSchemaMetadata, b5 as createJsonBlob, ak as createNodeDatabaseSchemaResolver, c6 as createPaginatedQuery, c as createRow, T as createSelectOption, bS as createSort, c5 as createSortQuery, cj as createVersionEntry, bo as createView, a1 as createViewNode, bi as deleteColumn, L as deleteExtensionField, F as deleteField, as as deleteMeta, t as deleteRichTextCell, d as deleteRow, W as deleteSelectOption, bq as deleteView, a3 as deleteViewNode, b1 as downloadCsv, b6 as downloadJson, bk as duplicateColumn, H as duplicateField, br as duplicateView, a4 as duplicateViewNode, ad as effectiveFieldSortKey, I as ensureSchemaExtension, a_ as escapeCSV, c3 as executeQuery, bZ as expandAllGroups, aZ as exportToCsv, b2 as exportToJson, b3 as exportToJsonArray, b4 as exportToNdjson, cu as extractSchemaFromDoc, ah as fieldsToStoredColumns, bL as filterRows, c7 as flattenGroups, a$ as formatValue, cB as generateColumnIdMap, f as generateSortKey, h as generateSortKeyWithJitter, cI as getAggregationResultType, bd as getColumn, be as getColumnIndex, bc as getColumns, at as getDatabaseDocumentModel, aj as getDatabaseSchemaIRI, S as getDatabaseSelectOptions, cG as getEmptyValue, z as getField, y as getFields, aq as getMeta, bJ as getOperatorLabel, bH as getOperatorsForType, l as getRichTextCell, s as getRichTextColumnIds, v as getRichTextPlainText, g as getRow, cv as getSchemaIRIFromDoc, P as getSelectOptions, bf as getTitleColumn, A as getTitleField, c8 as getTotalFromGroups, cl as getVersionBumpType, bm as getView, bn as getViewByType, a0 as getViewNode, $ as getViewNodes, bl as getViews, bX as groupRows, aL as guessColumnType, p as hasRichTextColumns, o as hasRichTextContent, bC as hideColumn, aO as inferColumnTypes, aQ as inferColumnsFromRows, aR as inferTypeFromValues, al as initializeDatabaseDoc, am as isDatabaseDocInitialized, ce as isDatabaseSchemaIRI, cH as isNumericAggregation, bI as isValidOperator, i as isValidSortKey, G as moveField, m as moveRow, X as moveSelectOption, a5 as moveView, n as needsRebalancing, bK as operatorRequiresValue, aJ as parseCSV, aK as parseCSVLine, cd as parseDatabaseSchemaIRI, aP as parseJSON, aN as parseRow, aM as parseValue, cf as parseVersion, ck as pruneVersionHistory, q as queryRows, r as rebalanceDatabase, k as rebalanceSortKeys, cC as remapViewColumnIds, bV as removeSort, bw as removeViewSort, K as renameExtensionField, bj as reorderColumn, bD as reorderViewColumns, bE as setColumnWidth, aa as setFieldHidden, ar as setMeta, ac as setViewFieldOrder, ab as setViewFieldWidth, bs as setViewFilters, by as setViewGroupBy, a6 as setViewNodeFilters, a8 as setViewNodeGroupBy, a7 as setViewNodeSorts, bu as setViewSorts, bA as setVisibleColumns, ae as setupDatabase, ap as setupNewDatabase, bB as showColumn, bR as sortRows, aS as toColumnDefinitions, bz as toggleGroupCollapsed, bY as toggleGroupCollapsedState, bT as toggleSortDirection, a9 as toggleViewGroupCollapsed, u as updateCell, b as updateCells, bh as updateColumn, E as updateField, V as updateSelectOption, bp as updateView, a2 as updateViewNode, aT as validateJsonData, aC as validateRollupConfig } from '../clone-CbmoWwu4.js';
4
+ import '../types-BB8-SLEa.js';
5
5
  import '@xnetjs/core';
6
6
  import '@xnetjs/crypto';
7
7
  import '@xnetjs/sqlite';
8
8
  import '@xnetjs/sync';
9
- import '../store-CjjofiLR.js';
9
+ import '../store-DEWnip2G.js';
10
10
  import 'yjs';
11
11
 
12
12
  /**
@@ -1,6 +1,6 @@
1
1
  import { SerializedAuthorization, SerializedRoleResolver, PolicyEvaluator, DID, AuthDecision, RoleResolver, AuthDenyReason, AuthCheckInput, AuthTrace, AuthExpression } from '@xnetjs/core';
2
- import { a as Schema, h as NodeState, v as NodeChangeEvent, w as GrantIndex, O as OfflineAuthPolicy, D as DefinedSchema } from './types-S-BJAKyK.js';
3
- import { S as SchemaRegistry } from './registry-DunPv__d.js';
2
+ import { a as Schema, h as NodeState, v as NodeChangeEvent, w as GrantIndex, O as OfflineAuthPolicy, D as DefinedSchema } from './types-BB8-SLEa.js';
3
+ import { S as SchemaRegistry } from './registry-_49rC6IG.js';
4
4
 
5
5
  /**
6
6
  * Permission-matrix reflection.
package/dist/index.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- export { a5 as ApplyNodeBatchInput, a6 as ApplyNodeBatchResult, b1 as AuthGrant, av as ConflictResult, ay as ContentKeyCache, ae as CountNodesOptions, H as CreateNodeOptions, C as CreateNodeStoreOptions, aX as DEFAULT_OFFLINE_POLICY, y as DID, D as DefinedSchema, ab as DeterministicNodeBatchWriteInput, m as DeterministicNodeImportDraft, aV as GRANT_SCHEMA_IRI, G as GetWithMigrationOptions, w as GrantIndex, b0 as GrantInput, aU as GrantRateLimiter, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, a3 as ImportNodesOptions, I as InferCreateProps, Q as InferNode, K as InferProperties, J as InferPropertyType, W as LensOperation, Z as LensRegistry, L as ListNodesOptions, s as MergeConflict, M as MigratedNodeState, Y as MigrationError, az as MigrationInfo, X as MigrationResult, x as Node, aw as NodeBatchChangeEvent, u as NodeBatchChangeListener, a7 as NodeBatchIndexMode, a8 as NodeBatchNotificationMode, aa as NodeBatchPreflightResult, a9 as NodeBatchSyncMode, p as NodeBatchWriteInput, ac as NodeBatchWritePolicy, q as NodeBatchWriteResult, ad as NodeBatchWriteTimings, r as NodeChange, v as NodeChangeEvent, t as NodeChangeListener, ax as NodeContentCipher, i as NodeId, a0 as NodePayload, ar as NodeQueryCursor, aq as NodeQueryCursorOrderEntry, j as NodeQueryDescriptor, ao as NodeQueryMaterializedViewOptions, as as NodeQueryOptions, N as NodeQueryPageCountMode, ap as NodeQueryPageOptions, au as NodeQueryParityCheckMetadata, at as NodeQueryPlanMetadata, k as NodeQueryResult, am as NodeQuerySearchField, an as NodeQuerySearchFilter, al as NodeQuerySpatialFilter, af as NodeQuerySpatialPoint, ah as NodeQuerySpatialPointFields, ak as NodeQuerySpatialRadius, ag as NodeQuerySpatialRect, ai as NodeQuerySpatialRectFields, aj as NodeQuerySpatialWindow, h as NodeState, g as NodeStorageAdapter, f as NodeStoreOptions, O as OfflineAuthPolicy, P as PropertyBuilder, E as PropertyDefinition, $ as PropertyKey, a1 as PropertyTimestamp, B as PropertyType, a4 as RebuildNodeIndexesOptions, a as Schema, S as SchemaIRI, R as SchemaLens, aR as SchemaLookup, a2 as SetNodeOptions, c as SortDirection, aT as StoreAuth, e as StoreAuthAPI, b2 as StoreAuthError, b3 as StoreAuthErrorCode, a$ as StoreAuthKeyManager, aZ as StoreAuthOptions, a_ as StoreAuthStore, d as SystemOrderField, aO as TEMP_ID_PREFIX, aS as TempIdResolution, T as TransactionOperation, l as TransactionResult, U as UpdateNodeOptions, F as ValidationError, V as ValidationResult, aI as applyNodeQueryDescriptor, A as createNodeId, aA as createNodeQueryDescriptor, aQ as createSchemaLookup, aC as decodeNodeQueryCursor, aB as encodeNodeQueryCursor, aG as filterNodeQueryResults, aJ as getNodeQuerySearchTokens, aW as isGrantActive, z as isNode, aN as isTempId, _ as lensRegistry, aF as matchesNodeQueryDescriptor, aY as mergeOfflinePolicy, aK as nodeQueryDescriptorNeedsBoundedReload, aD as nodeQueryDescriptorToOptions, aP as resolveTempIds, aE as serializeNodeQueryDescriptor, aH as sortNodeQueryResults, aM as withoutNodeQueryMaterializedView, aL as withoutNodeQueryPagination } from './types-S-BJAKyK.js';
1
+ export { a5 as ApplyNodeBatchInput, a6 as ApplyNodeBatchResult, b1 as AuthGrant, av as ConflictResult, ay as ContentKeyCache, ae as CountNodesOptions, H as CreateNodeOptions, C as CreateNodeStoreOptions, aX as DEFAULT_OFFLINE_POLICY, y as DID, D as DefinedSchema, ab as DeterministicNodeBatchWriteInput, m as DeterministicNodeImportDraft, aV as GRANT_SCHEMA_IRI, G as GetWithMigrationOptions, w as GrantIndex, b0 as GrantInput, aU as GrantRateLimiter, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, a3 as ImportNodesOptions, I as InferCreateProps, Q as InferNode, K as InferProperties, J as InferPropertyType, W as LensOperation, Z as LensRegistry, L as ListNodesOptions, s as MergeConflict, M as MigratedNodeState, Y as MigrationError, az as MigrationInfo, X as MigrationResult, x as Node, aw as NodeBatchChangeEvent, u as NodeBatchChangeListener, a7 as NodeBatchIndexMode, a8 as NodeBatchNotificationMode, aa as NodeBatchPreflightResult, a9 as NodeBatchSyncMode, p as NodeBatchWriteInput, ac as NodeBatchWritePolicy, q as NodeBatchWriteResult, ad as NodeBatchWriteTimings, r as NodeChange, v as NodeChangeEvent, t as NodeChangeListener, ax as NodeContentCipher, i as NodeId, a0 as NodePayload, ar as NodeQueryCursor, aq as NodeQueryCursorOrderEntry, j as NodeQueryDescriptor, ao as NodeQueryMaterializedViewOptions, as as NodeQueryOptions, N as NodeQueryPageCountMode, ap as NodeQueryPageOptions, au as NodeQueryParityCheckMetadata, at as NodeQueryPlanMetadata, k as NodeQueryResult, am as NodeQuerySearchField, an as NodeQuerySearchFilter, al as NodeQuerySpatialFilter, af as NodeQuerySpatialPoint, ah as NodeQuerySpatialPointFields, ak as NodeQuerySpatialRadius, ag as NodeQuerySpatialRect, ai as NodeQuerySpatialRectFields, aj as NodeQuerySpatialWindow, h as NodeState, g as NodeStorageAdapter, f as NodeStoreOptions, O as OfflineAuthPolicy, P as PropertyBuilder, E as PropertyDefinition, $ as PropertyKey, a1 as PropertyTimestamp, B as PropertyType, a4 as RebuildNodeIndexesOptions, a as Schema, S as SchemaIRI, R as SchemaLens, aR as SchemaLookup, a2 as SetNodeOptions, c as SortDirection, aT as StoreAuth, e as StoreAuthAPI, b2 as StoreAuthError, b3 as StoreAuthErrorCode, a$ as StoreAuthKeyManager, aZ as StoreAuthOptions, a_ as StoreAuthStore, d as SystemOrderField, aO as TEMP_ID_PREFIX, aS as TempIdResolution, T as TransactionOperation, l as TransactionResult, U as UpdateNodeOptions, F as ValidationError, V as ValidationResult, aI as applyNodeQueryDescriptor, A as createNodeId, aA as createNodeQueryDescriptor, aQ as createSchemaLookup, aC as decodeNodeQueryCursor, aB as encodeNodeQueryCursor, aG as filterNodeQueryResults, aJ as getNodeQuerySearchTokens, aW as isGrantActive, z as isNode, aN as isTempId, _ as lensRegistry, aF as matchesNodeQueryDescriptor, aY as mergeOfflinePolicy, aK as nodeQueryDescriptorNeedsBoundedReload, aD as nodeQueryDescriptorToOptions, aP as resolveTempIds, aE as serializeNodeQueryDescriptor, aH as sortNodeQueryResults, aM as withoutNodeQueryMaterializedView, aL as withoutNodeQueryPagination } from './types-BB8-SLEa.js';
2
2
  import { FileRef } from './schema/index.js';
3
3
  export { ACCOUNT_RECORD_SCHEMA_IRI, ACCOUNT_SCHEMA_IRI, ACHIEVEMENT_SCHEMA_IRI, ACTIVITY_KINDS, ACTIVITY_SCHEMA_IRI, AbuseReport, AbuseReportSchema, Account, AccountClassId, AccountRecord, AccountRecordSchema, AccountSchema, Achievement, AchievementSchema, Activity, ActivityKind, ActivitySchema, AnchorData, AnchorType, Appeal, AppealSchema, BUDGET_SCHEMA_IRI, Budget, BudgetPeriod, BudgetSchema, BuiltInSchemaIRI, CHANNEL_KINDS, CONTACT_LIFECYCLE, CONTACT_SCHEMA_IRI, CRM_NAMESPACE, Canvas, CanvasObjectAnchor, CanvasObjectAnchorPlacement, CanvasPositionAnchor, CanvasSchema, CellAnchor, Channel, ChannelKind, ChannelNotifyTier, ChannelSchema, ChatMessage, ChatMessageSchema, CheckboxOptions, ColumnAnchor, Comment, CommentSchema, CommunityNote, CommunityNoteSchema, Contact, ContactLifecycle, ContactSchema, ContentProvenance, ContentProvenanceSchema, CoreSchemaResolver, CreatedByOptions, CreatedOptions, CrmVisibility, DEAL_CONTACT_ROLES, DEAL_CONTACT_ROLE_SCHEMA_IRI, DEAL_SCHEMA_IRI, DEAL_SOURCES, DEFAULT_CHANNEL_TIER, DEVICE_RECORD_SCHEMA_IRI, Dashboard, DashboardBreakpointId, DashboardLayoutItem, DashboardLayouts, DashboardSchema, DashboardTimeRange, DashboardVariablesState, DashboardWidgetInstance, DashboardWidgetRefresh, Database, DatabaseField, DatabaseFieldSchema, DatabaseRow, DatabaseRowSchema, DatabaseSchema, DatabaseSelectOption, DatabaseSelectOptionSchema, DatabaseView, DatabaseViewSchema, DateOptions, DateRange, DateRangeOptions, Deal, DealContactRole, DealContactRoleKind, DealContactRoleSchema, DealSchema, DealSource, DefineSchemaOptions, DeviceLike, DeviceRecord, DeviceRecordSchema, EXTENSION_FIELD_SCHEMA_IRI, EXTERNAL_ITEM_SCHEMA_IRI, EXTERNAL_ITEM_SOURCES, EXT_PREFIX, EffectiveExtensionField, EmailOptions, Experiment, ExperimentDesign, ExperimentPhase, ExperimentSchema, ExperimentStatus, ExtensionField, ExtensionFieldRecord, ExtensionFieldSchema, ExtensionRecord, ExternalItem, ExternalItemSchema, ExternalReference, ExternalReferenceSchema, FEED_ITEM_SCHEMA_IRI, FEED_SCHEMA_IRI, FOLDER_SCHEMA_IRI, FORECAST_CATEGORIES, Feed, FeedItem, FeedItemSchema, FeedSchema, FileOptions, Folder, FolderLike, FolderSchema, FolderTreeNode, ForecastCategory, GAME_ASSET_FORMATS, GAME_ASSET_MIME_TYPES, GAME_ASSET_SCHEMA_IRI, GAME_ECONOMY_ENTRY_SCHEMA_IRI, GAME_ITEM_SCHEMA_IRI, GAME_NAMESPACE, GAME_SCHEMA_IRIS, GameAsset, GameAssetFormat, GameAssetSchema, GameEconomyEntry, GameEconomyEntrySchema, GameItem, GameItemSchema, GameVisibility, GeoFeature, GeoFeatureCollection, GeoGeometry, GeoPosition, Grant, GrantSchema, IMPORT_BATCH_SCHEMA_IRI, INVENTORY_SCHEMA_IRI, ITEM_RARITIES, ImportBatch, ImportBatchSchema, ImportSource, InboxItemTriage, InboxState, InboxStateSchema, InboxWatermark, Inventory, InventorySchema, ItemRarity, JsonOptions, LINE_ITEM_SCHEMA_IRI, LedgerNodeIntent, LineItem, LineItemSchema, MATCH_RESULTS, MATCH_SESSION_SCHEMA_IRI, MAX_MENTION_DIDS, MAX_TAG_NAME_LENGTH, MEETING_CHANNELS, MEETING_SCHEMA_IRI, MEETING_TEMPLATE_IDS, MEETING_TRANSCRIPT_SCHEMA_IRI, MEMORY_ITEM_SCHEMA_IRI, MEMORY_KINDS, MILESTONE_SCHEMA_IRI, Map, MapBasemapId, MapLayerGeometry, MapLayerSource, MapLayerSpec, MapLayerStyle, MapSchema, MapViewport, MatchResult, MatchSession, MatchSessionSchema, MediaAsset, MediaAssetSchema, Meeting, MeetingChannel, MeetingSchema, MeetingSegment, MeetingTemplateId, MeetingTranscript, MeetingTranscriptSchema, MemoryItem, MemoryItemSchema, MemoryKind, Mention, MessageMentions, MessageRequest, MessageRequestSchema, Metric, MetricKind, MetricPolarity, MetricScheduleId, MetricSchema, Milestone, MilestoneSchema, ModerationLabel, ModerationLabelSchema, MoneyOptions, MoneyValue, MultiSelectOptions, NODE_VISIBILITY, NodeAnchor, NodeVisibility, NoteRating, NoteRatingSchema, NotificationPrefs, NumberOptions, ORGANIZATION_SCHEMA_IRI, ORGANIZATION_SIZES, Observation, ObservationPhase, ObservationSchema, Organization, OrganizationSchema, OrganizationSize, OrphanReason, OrphanResolvers, OrphanStatus, PIPELINE_SCHEMA_IRI, PLAYER_IDENTITY_SCHEMA_IRI, POSTING_SCHEMA_IRI, PRODUCT_KINDS, PRODUCT_SCHEMA_IRI, Page, PageSchema, ParsedSystemNamespaceResource, ParsedTaskShortId, PersonOptions, PhoneOptions, Pipeline, PipelineSchema, PlayerIdentity, PlayerIdentitySchema, PolicyList, PolicyListSchema, PolicySubscription, PolicySubscriptionSchema, Posting, PostingSchema, PresenceAggregator, PresenceAggregatorOptions, PresenceAggregatorStore, PresenceCountBucket, PresenceSummary, PresenceSummaryDescriptor, PresenceSummarySchema, PresenceVisibility, PresenceVisibilityResolver, Product, ProductKind, ProductSchema, Profile, ProfileSchema, Project, ProjectSchema, PublicInteractionPolicy, PublicInteractionPolicySchema, QualitySignal, QualitySignalSchema, RECOVERY_RECORD_SCHEMA_IRI, RELATIONSHIP_KINDS, RELATIONSHIP_SCHEMA_IRI, REVOCATION_RECORD_SCHEMA_IRI, Reaction, ReactionSchema, RecoveryRecord, RecoveryRecordSchema, RelationOptions, Relationship, RelationshipKind, RelationshipSchema, ReviewTask, ReviewTaskSchema, RevocationLike, RevocationRecord, RevocationRecordSchema, RowAnchor, SCHEMA_EXTENSION_SCHEMA_IRI, SIDECAR_PREFIX, SPACE_KINDS, SPACE_MEMBERSHIP_SCHEMA_IRI, SPACE_ROLES, SPACE_SCHEMA_IRI, SPACE_VISIBILITY, STAGE_SCHEMA_IRI, SYSTEM_NAMESPACE_KINDS, SYSTEM_SCHEMA_BASE_IRIS, SYSTEM_SCHEMA_IRIS, SavedView, SavedViewSchema, SchemaAuthorityResolution, SchemaAuthorityResolutionKind, SchemaAuthorityResolutionOptions, SchemaCompatibility, SchemaCompatibilityMode, SchemaCompatibilitySchema, SchemaDefinition, SchemaDefinitionSchema, SchemaDefinitionSigningInput, SchemaDefinitionStatus, SchemaExtension, SchemaExtensionSchema, SelectOption, SelectOptions, SidecarOverlay, Space, SpaceKind, SpaceLike, SpaceMembership, SpaceMembershipSchema, SpaceRole, SpaceSchema, SpaceTreeNode, SpaceVisibility, Stage, StageSchema, SyncPolicy, SyncPolicySchema, SyncPolicyStatus, SystemFederationErrorCode, SystemNamespaceKind, SystemSchemaDefinitionRecord, SystemSchemaIndex, SystemSchemaIndexDiagnostic, SystemSchemaIndexOptions, SystemSchemaIndexStore, TAG_SCHEMA_IRI, TASK_SHORT_ID_PATTERN, TASK_STATUS_CATEGORIES, TRANSACTION_SCHEMA_IRI, TRANSCRIPTION_SCHEMA_IRI, Tag, TagSchema, Task, TaskSchema, TaskShortIdBlock, TaskStatusCategory, TaskStatusId, TaskView, TaskViewSchema, TextAnchor, TextOptions, Transaction, TransactionSchema, TransactionStatus, Transcription, TranscriptionSchema, TranscriptionSourceId, UpdatedOptions, UrlOptions, UserWidget, UserWidgetConfigField, UserWidgetSchema, UserWidgetSize, ValidateSchemaDefinitionNodeOptions, Workspace, WorkspaceSchema, WorkspaceTreeJson, accountRecordId, accountState, addDefault, admitDeviceRecord, bucketPresenceCount, buildEffectiveSchema, buildFolderTree, buildSpaceTree, buildSystemNamespace, buildSystemNodeId, builtInSchemas, canManageSpace, canModifyColumn, checkOrphanStatus, checkbox, compareSpaceRoles, composeLens, computeSchemaDefinitionContentHash, convert, copy, createAccountRecord, createNodeGraphSchemaResolver, createOperations, createSchemaDefinitionSigningPayload, created, createdBy, crmSchemas, date, dateRange, decodeAnchor, defineSchema, deviceRecipientExpander, deviceRecordId, effectiveSpaceRole, email, encodeAnchor, extKey, extractMentions, file, filterOrphanedComments, findLockedColumns, flattenFolderTree, flattenSpaceTree, folderAncestorIds, folderPathIds, formatTaskShortId, gameSchemas, getMentionedUsers, getPresenceNoisePolicy, getTaskStatusCategory, identity, inboxStateNodeId, isCanvasObjectAnchor, isCanvasPositionAnchor, isCellAnchor, isColumnAnchor, isCompletedTaskStatus, isDeviceAuthorized, isExtKey, isMoneyValue, isNodeAnchor, isRowAnchor, isSchemaDefinitionNode, isSpaceRole, isSystemNamespaceResource, isSystemSchemaIri, isTextAnchor, isValidMentions, isValidTagName, json, loadExtensionFields, lockedPropertyKeys, mentionsInclude, merge, mergeSidecarsIntoRow, money, multiSelect, nextEpoch, normalizeMentions, normalizeTagName, number, parseExtKey, parseSystemNamespaceResource, parseTaskShortId, person, phone, promoteOverlay, recoveryRecordId, relation, remove, rename, resolveActiveDevices, resolveEffectiveSchema, resolveSchemaAuthority, revocationRecordId, revokeDeviceRecord, revokeSubjectRecord, revokedSubjects, schemaExtensionId, select, selectExtensionFields, shortIdsFromBlock, sidecarId, sidecarOverlayKeys, spaceAncestorIds, spaceMembershipId, spacePathIds, spaceRoleGrantActions, spaceRoleToShareRole, summarizePresenceNodes, taskBranchName, text, transform, updated, url, validateSchemaDefinitionNode, when, wouldCreateFolderCycle, wouldCreateSpaceCycle } from './schema/index.js';
4
- export { S as SchemaRegistry, s as schemaRegistry } from './registry-DunPv__d.js';
4
+ export { S as SchemaRegistry, s as schemaRegistry } from './registry-_49rC6IG.js';
5
5
  export { SignUpdateOptions, applySignedUpdate, captureUpdate, getMissingUpdates, mergeDocuments, signUpdate, verifyUpdate } from './updates.js';
6
6
  import * as Y from 'yjs';
7
7
  export { Array as YArray, Doc as YDoc, Map as YMap, Text as YText, XmlElement as YXmlElement, XmlFragment as YXmlFragment, XmlText as YXmlText } from 'yjs';
8
8
  export { CursorPosition, SelectionRange, UserPresence, clearLocalPresence, createAwareness, generateUserColor, getAllPresences, getLocalClientId, getRemotePresences, onPresenceChange, setLocalPresence } from './sync/awareness.js';
9
- export { G as QUERY_AST_VERSION, r as QueryAST, n as QueryASTAggregate, A as QueryASTAggregateExecution, m as QueryASTAggregateFunction, y as QueryASTAggregateGroup, x as QueryASTAggregatePlan, z as QueryASTAggregateResult, d as QueryASTComparisonPredicate, e as QueryASTCompoundPredicate, a as QueryASTField, l as QueryASTIncludes, p as QueryASTNodeQuery, s as QueryASTNodeQueryOptions, f as QueryASTNotPredicate, c as QueryASTOperator, h as QueryASTOrderBy, i as QueryASTPage, B as QueryASTPlannerGate, g as QueryASTPredicate, q as QueryASTQuerySet, o as QueryASTQuerySetAggregate, j as QueryASTRelationDirection, k as QueryASTRelationInclude, t as QueryASTRelationIncludeOptions, w as QueryASTRelationIndexRequirement, b as QueryASTSchemaInput, u as QueryASTValidationError, v as QueryASTValidationResult, Q as QueryASTVersion, S as SavedViewDescriptor, F as SavedViewFeedDensity, E as SavedViewFeedLayout, C as SavedViewPresentationHint, D as SavedViewPresentationHintMode, V as and, a3 as avg, N as between, P as contains, a0 as count, a1 as countDistinct, a9 as dashboardQuerySet, Z as defineNodeQueryAST, a8 as defineQuerySetAST, ab as defineSavedViewDescriptor, H as eq, aj as evaluateQueryASTPlannerGate, af as executeQueryASTLoadedAggregates, ag as filterQueryASTLoadedRows, _ as follow, $ as from, ah as getQueryASTRelationIndexRequirements, a6 as groupBy, J as gt, K as gte, a7 as having, O as includesAny, U as isNotNull, T as isNull, L as lt, M as lte, ai as matchesQueryASTLoadedRow, a5 as max, a4 as min, I as neq, X as not, W as or, ae as planQueryASTAggregates, Y as queryOperators, aa as querySetCount, R as startsWith, a2 as sum, ac as validateQueryAST, ad as validateSavedViewDescriptor } from './query-ast-C3m6kZYv.js';
10
- export { N as NodeStore } from './store-CjjofiLR.js';
9
+ export { G as QUERY_AST_VERSION, r as QueryAST, n as QueryASTAggregate, A as QueryASTAggregateExecution, m as QueryASTAggregateFunction, y as QueryASTAggregateGroup, x as QueryASTAggregatePlan, z as QueryASTAggregateResult, d as QueryASTComparisonPredicate, e as QueryASTCompoundPredicate, a as QueryASTField, l as QueryASTIncludes, p as QueryASTNodeQuery, s as QueryASTNodeQueryOptions, f as QueryASTNotPredicate, c as QueryASTOperator, h as QueryASTOrderBy, i as QueryASTPage, B as QueryASTPlannerGate, g as QueryASTPredicate, q as QueryASTQuerySet, o as QueryASTQuerySetAggregate, j as QueryASTRelationDirection, k as QueryASTRelationInclude, t as QueryASTRelationIncludeOptions, w as QueryASTRelationIndexRequirement, b as QueryASTSchemaInput, u as QueryASTValidationError, v as QueryASTValidationResult, Q as QueryASTVersion, S as SavedViewDescriptor, F as SavedViewFeedDensity, E as SavedViewFeedLayout, C as SavedViewPresentationHint, D as SavedViewPresentationHintMode, V as and, a3 as avg, N as between, P as contains, a0 as count, a1 as countDistinct, a9 as dashboardQuerySet, Z as defineNodeQueryAST, a8 as defineQuerySetAST, ab as defineSavedViewDescriptor, H as eq, aj as evaluateQueryASTPlannerGate, af as executeQueryASTLoadedAggregates, ag as filterQueryASTLoadedRows, _ as follow, $ as from, ah as getQueryASTRelationIndexRequirements, a6 as groupBy, J as gt, K as gte, a7 as having, O as includesAny, U as isNotNull, T as isNull, L as lt, M as lte, ai as matchesQueryASTLoadedRow, a5 as max, a4 as min, I as neq, X as not, W as or, ae as planQueryASTAggregates, Y as queryOperators, aa as querySetCount, R as startsWith, a2 as sum, ac as validateQueryAST, ad as validateSavedViewDescriptor } from './query-ast-Bvg0Wolx.js';
10
+ export { N as NodeStore } from './store-DEWnip2G.js';
11
11
  export { MemoryNodeStorageAdapter, PermissionError, SQLiteAdaptiveIndexingOptions, SQLiteNodeStorageAdapter, SQLiteNodeStorageAdapterOptions, SQLiteQueryVerificationOptions, createNodeStorageAdapter } from './store/index.js';
12
- export { A as ActionPermission, b as DecisionCache, D as DefaultPolicyEvaluator, a as DefaultRoleResolver, G as GrantExpirationCleaner, H as HubPolicy, P as PermissionMatrix, R as RoleSummary, c as buildPermissionMatrix, d as describeRoleResolver, h as hubActionsForSpaceRole, s as schemaToHubPolicy } from './grant-expiration-cleaner-CY6BcmlR.js';
12
+ export { A as ActionPermission, b as DecisionCache, D as DefaultPolicyEvaluator, a as DefaultRoleResolver, G as GrantExpirationCleaner, H as HubPolicy, P as PermissionMatrix, R as RoleSummary, c as buildPermissionMatrix, d as describeRoleResolver, h as hubActionsForSpaceRole, s as schemaToHubPolicy } from './grant-expiration-cleaner-Bm1fSG42.js';
13
13
  import { ContentId } from '@xnetjs/core';
14
14
  import { ChunkManager } from '@xnetjs/storage';
15
15
  export { a as CELL_PREFIX, D as CellDateRange, F as CellFileRef, C as CellValue, G as ColumnConfig, E as ColumnDefinition, J as ColumnSelectOption, aq as ColumnSummaryResult, B as ColumnType, at as DEFAULT_ROW_HEIGHT, n as DateColumnConfig, n as DateFieldConfig, H as EmptyConfig, p as FIELD_TYPES, j as FieldConfig, k as FieldNode, h as FieldType, o as FileColumnConfig, o as FileFieldConfig, X as FilterCondition, W as FilterGroup, Y as FilterOperator, a6 as FormAudience, a3 as FormConfirmation, a5 as FormFieldRule, a2 as FormQuestion, a7 as FormSubmissionMeta, a8 as FormValidationError, a9 as FormValidationResult, a4 as FormViewConfig, m as FormulaColumnConfig, m as FormulaFieldConfig, N as NumberColumnConfig, N as NumberFieldConfig, ac as PUBLIC_SAFE_FORM_FIELD_TYPES, ab as PublicFormDefinition, aa as PublicFormQuestion, as as ROW_HEIGHTS, ar as ROW_HEIGHT_PX, R as RelationColumnConfig, R as RelationFieldConfig, L as RollupAggregation, l as RollupColumnConfig, l as RollupFieldConfig, ax as RowHeight, q as SELECT_COLORS, aj as SUMMARY_FUNCTIONS_BY_TYPE, K as SelectColor, I as SelectColumnConfig, S as SelectOptionNode, Z as SortConfig, ap as SummaryColumnLike, an as SummaryFunction, ao as SummaryRow, T as TextColumnConfig, T as TextFieldConfig, U as ViewConfig, V as ViewType, aw as asRowHeight, u as autoColor, ah as buildPublicFormDefinition, c as cellKey, b as columnIdFromKey, am as computeColumnSummary, f as fromCellProperties, P as isAutoColumnType, x as isAutoFieldType, d as isCellDateRange, e as isCellFileRef, i as isCellKey, g as isCellValue, O as isComputedColumnType, w as isComputedFieldType, r as isFieldType, al as isFilledValue, $ as isFilterCondition, _ as isFilterGroup, ad as isFormFieldTypeAllowed, ae as isFormQuestionVisible, M as isNodeStoreColumnType, v as isNodeStoreFieldType, s as isSelectColor, Q as isYDocColumnType, y as isYDocFieldType, a1 as requiresDateColumn, av as resolveRowHeightPx, au as rowHeightLabel, ai as submissionRowId, ak as summaryFunctionLabel, a0 as supportsGrouping, t as toCellProperties, z as toFieldNode, A as toSelectOptionNode, ag as validateFormSubmission, af as visibleFormQuestions } from './form-types-BlZvpDEE.js';
16
- export { cD as CloneSchemaOptions, cE as CloneSchemaResult, cF as CloneSourceData, ax as ConvertContext, ay as ConvertedCell, cx as CreateDatabaseSchemaResolverOptions, O as CreateExtensionFieldOptions, w as CreateFieldOptions, C as CreateRowOptions, x as CreateSelectOptionOptions, Z as CreateViewOptions, b8 as CsvExportOptions, aV as CsvParseOptions, cm as DATABASE_SCHEMA_NAMESPACE, cn as DATABASE_SCHEMA_PREFIX, ag as DEFAULT_DATABASE_SCHEMA_VERSION, au as DatabaseDocumentModel, D as DatabaseRowNode, cp as DatabaseSchemaMetadata, cw as DocFetcher, N as EnsureExtensionOptions, b7 as ExportRow, bb as ExportedColumn, ba as ExportedJSON, bQ as FilterableRow, aH as FormulaRow, aF as FormulaService, aI as FormulaValidationResult, c2 as GroupAggregates, c0 as GroupConfig, b$ as GroupableRow, aX as InferredColumn, b9 as JsonExportOptions, aY as JsonParseOptions, M as MAX_KEY_LENGTH, co as MAX_VERSION_HISTORY, bF as OPERATORS_BY_TYPE, bG as OPERATOR_LABELS, aU as ParsedCSV, aW as ParsedJSON, ca as QueryOptions, cb as QueryResult, Q as QueryRowsOptions, a as QueryRowsResult, c9 as QueryableRow, R as RICHTEXT_PREFIX, aE as RollupContext, aD as RollupRow, c1 as RowGroup, cr as SchemaVersionEntry, af as SetupDatabaseResult, bW as SortableRow, cq as StoredColumn, U as UpdateFieldOptions, _ as UpdateViewOptions, cs as VersionBumpType, Y as ViewNode, ao as addDefaultTableView, an as addDefaultTitleColumn, bU as addOrToggleSort, bv as addViewSort, az as aggregate, aB as batchComputeRollups, ci as buildDatabaseSchema, ai as buildSchemaFromFields, cc as buildSchemaIRI, cg as bumpSchemaVersion, aw as cellValueToText, e as checkNeedsRebalancing, bt as clearViewFilters, bx as clearViewSorts, cz as cloneColumns, cA as cloneSampleRows, cy as cloneSchema, b_ as collapseAllGroups, bO as combineFiltersAnd, bP as combineFiltersOr, j as compareSortKeys, aA as computeRollup, av as convertCellValue, bN as createAnyOfFilter, bg as createColumn, b0 as createCsvBlob, ct as createDatabaseSchemaResolver, bM as createEqualsFilter, J as createExtensionField, B as createField, c4 as createFilterQuery, aG as createFormulaService, ch as createInitialSchemaMetadata, b5 as createJsonBlob, ak as createNodeDatabaseSchemaResolver, c6 as createPaginatedQuery, c as createRow, T as createSelectOption, bS as createSort, c5 as createSortQuery, cj as createVersionEntry, bo as createView, a1 as createViewNode, bi as deleteColumn, L as deleteExtensionField, F as deleteField, as as deleteMeta, t as deleteRichTextCell, d as deleteRow, W as deleteSelectOption, bq as deleteView, a3 as deleteViewNode, b1 as downloadCsv, b6 as downloadJson, bk as duplicateColumn, H as duplicateField, br as duplicateView, a4 as duplicateViewNode, ad as effectiveFieldSortKey, I as ensureSchemaExtension, a_ as escapeCSV, c3 as executeQuery, bZ as expandAllGroups, aZ as exportToCsv, b2 as exportToJson, b3 as exportToJsonArray, b4 as exportToNdjson, cu as extractSchemaFromDoc, ah as fieldsToStoredColumns, bL as filterRows, c7 as flattenGroups, a$ as formatValue, cB as generateColumnIdMap, f as generateSortKey, h as generateSortKeyWithJitter, bd as getColumn, be as getColumnIndex, bc as getColumns, at as getDatabaseDocumentModel, aj as getDatabaseSchemaIRI, S as getDatabaseSelectOptions, z as getField, y as getFields, aq as getMeta, bJ as getOperatorLabel, bH as getOperatorsForType, l as getRichTextCell, s as getRichTextColumnIds, v as getRichTextPlainText, g as getRow, cv as getSchemaIRIFromDoc, P as getSelectOptions, bf as getTitleColumn, A as getTitleField, c8 as getTotalFromGroups, cl as getVersionBumpType, bm as getView, bn as getViewByType, a0 as getViewNode, $ as getViewNodes, bl as getViews, bX as groupRows, aL as guessColumnType, p as hasRichTextColumns, o as hasRichTextContent, bC as hideColumn, aO as inferColumnTypes, aQ as inferColumnsFromRows, aR as inferTypeFromValues, al as initializeDatabaseDoc, am as isDatabaseDocInitialized, ce as isDatabaseSchemaIRI, bI as isValidOperator, i as isValidSortKey, G as moveField, m as moveRow, X as moveSelectOption, a5 as moveView, n as needsRebalancing, bK as operatorRequiresValue, aJ as parseCSV, aK as parseCSVLine, cd as parseDatabaseSchemaIRI, aP as parseJSON, aN as parseRow, aM as parseValue, cf as parseVersion, ck as pruneVersionHistory, q as queryRows, r as rebalanceDatabase, k as rebalanceSortKeys, cC as remapViewColumnIds, bV as removeSort, bw as removeViewSort, K as renameExtensionField, bj as reorderColumn, bD as reorderViewColumns, bE as setColumnWidth, aa as setFieldHidden, ar as setMeta, ac as setViewFieldOrder, ab as setViewFieldWidth, bs as setViewFilters, by as setViewGroupBy, a6 as setViewNodeFilters, a8 as setViewNodeGroupBy, a7 as setViewNodeSorts, bu as setViewSorts, bA as setVisibleColumns, ae as setupDatabase, ap as setupNewDatabase, bB as showColumn, bR as sortRows, aS as toColumnDefinitions, bz as toggleGroupCollapsed, bY as toggleGroupCollapsedState, bT as toggleSortDirection, a9 as toggleViewGroupCollapsed, u as updateCell, b as updateCells, bh as updateColumn, E as updateField, V as updateSelectOption, bp as updateView, a2 as updateViewNode, aT as validateJsonData, aC as validateRollupConfig } from './clone-_owA3IXN.js';
16
+ export { cD as CloneSchemaOptions, cE as CloneSchemaResult, cF as CloneSourceData, ax as ConvertContext, ay as ConvertedCell, cx as CreateDatabaseSchemaResolverOptions, O as CreateExtensionFieldOptions, w as CreateFieldOptions, C as CreateRowOptions, x as CreateSelectOptionOptions, Z as CreateViewOptions, b8 as CsvExportOptions, aV as CsvParseOptions, cm as DATABASE_SCHEMA_NAMESPACE, cn as DATABASE_SCHEMA_PREFIX, ag as DEFAULT_DATABASE_SCHEMA_VERSION, au as DatabaseDocumentModel, D as DatabaseRowNode, cp as DatabaseSchemaMetadata, cw as DocFetcher, N as EnsureExtensionOptions, b7 as ExportRow, bb as ExportedColumn, ba as ExportedJSON, bQ as FilterableRow, aH as FormulaRow, aF as FormulaService, aI as FormulaValidationResult, c2 as GroupAggregates, c0 as GroupConfig, b$ as GroupableRow, aX as InferredColumn, b9 as JsonExportOptions, aY as JsonParseOptions, M as MAX_KEY_LENGTH, co as MAX_VERSION_HISTORY, bF as OPERATORS_BY_TYPE, bG as OPERATOR_LABELS, aU as ParsedCSV, aW as ParsedJSON, ca as QueryOptions, cb as QueryResult, Q as QueryRowsOptions, a as QueryRowsResult, c9 as QueryableRow, R as RICHTEXT_PREFIX, aE as RollupContext, aD as RollupRow, c1 as RowGroup, cr as SchemaVersionEntry, af as SetupDatabaseResult, bW as SortableRow, cq as StoredColumn, U as UpdateFieldOptions, _ as UpdateViewOptions, cs as VersionBumpType, Y as ViewNode, ao as addDefaultTableView, an as addDefaultTitleColumn, bU as addOrToggleSort, bv as addViewSort, az as aggregate, aB as batchComputeRollups, ci as buildDatabaseSchema, ai as buildSchemaFromFields, cc as buildSchemaIRI, cg as bumpSchemaVersion, aw as cellValueToText, e as checkNeedsRebalancing, bt as clearViewFilters, bx as clearViewSorts, cz as cloneColumns, cA as cloneSampleRows, cy as cloneSchema, b_ as collapseAllGroups, bO as combineFiltersAnd, bP as combineFiltersOr, j as compareSortKeys, aA as computeRollup, av as convertCellValue, bN as createAnyOfFilter, bg as createColumn, b0 as createCsvBlob, ct as createDatabaseSchemaResolver, bM as createEqualsFilter, J as createExtensionField, B as createField, c4 as createFilterQuery, aG as createFormulaService, ch as createInitialSchemaMetadata, b5 as createJsonBlob, ak as createNodeDatabaseSchemaResolver, c6 as createPaginatedQuery, c as createRow, T as createSelectOption, bS as createSort, c5 as createSortQuery, cj as createVersionEntry, bo as createView, a1 as createViewNode, bi as deleteColumn, L as deleteExtensionField, F as deleteField, as as deleteMeta, t as deleteRichTextCell, d as deleteRow, W as deleteSelectOption, bq as deleteView, a3 as deleteViewNode, b1 as downloadCsv, b6 as downloadJson, bk as duplicateColumn, H as duplicateField, br as duplicateView, a4 as duplicateViewNode, ad as effectiveFieldSortKey, I as ensureSchemaExtension, a_ as escapeCSV, c3 as executeQuery, bZ as expandAllGroups, aZ as exportToCsv, b2 as exportToJson, b3 as exportToJsonArray, b4 as exportToNdjson, cu as extractSchemaFromDoc, ah as fieldsToStoredColumns, bL as filterRows, c7 as flattenGroups, a$ as formatValue, cB as generateColumnIdMap, f as generateSortKey, h as generateSortKeyWithJitter, bd as getColumn, be as getColumnIndex, bc as getColumns, at as getDatabaseDocumentModel, aj as getDatabaseSchemaIRI, S as getDatabaseSelectOptions, z as getField, y as getFields, aq as getMeta, bJ as getOperatorLabel, bH as getOperatorsForType, l as getRichTextCell, s as getRichTextColumnIds, v as getRichTextPlainText, g as getRow, cv as getSchemaIRIFromDoc, P as getSelectOptions, bf as getTitleColumn, A as getTitleField, c8 as getTotalFromGroups, cl as getVersionBumpType, bm as getView, bn as getViewByType, a0 as getViewNode, $ as getViewNodes, bl as getViews, bX as groupRows, aL as guessColumnType, p as hasRichTextColumns, o as hasRichTextContent, bC as hideColumn, aO as inferColumnTypes, aQ as inferColumnsFromRows, aR as inferTypeFromValues, al as initializeDatabaseDoc, am as isDatabaseDocInitialized, ce as isDatabaseSchemaIRI, bI as isValidOperator, i as isValidSortKey, G as moveField, m as moveRow, X as moveSelectOption, a5 as moveView, n as needsRebalancing, bK as operatorRequiresValue, aJ as parseCSV, aK as parseCSVLine, cd as parseDatabaseSchemaIRI, aP as parseJSON, aN as parseRow, aM as parseValue, cf as parseVersion, ck as pruneVersionHistory, q as queryRows, r as rebalanceDatabase, k as rebalanceSortKeys, cC as remapViewColumnIds, bV as removeSort, bw as removeViewSort, K as renameExtensionField, bj as reorderColumn, bD as reorderViewColumns, bE as setColumnWidth, aa as setFieldHidden, ar as setMeta, ac as setViewFieldOrder, ab as setViewFieldWidth, bs as setViewFilters, by as setViewGroupBy, a6 as setViewNodeFilters, a8 as setViewNodeGroupBy, a7 as setViewNodeSorts, bu as setViewSorts, bA as setVisibleColumns, ae as setupDatabase, ap as setupNewDatabase, bB as showColumn, bR as sortRows, aS as toColumnDefinitions, bz as toggleGroupCollapsed, bY as toggleGroupCollapsedState, bT as toggleSortDirection, a9 as toggleViewGroupCollapsed, u as updateCell, b as updateCells, bh as updateColumn, E as updateField, V as updateSelectOption, bp as updateView, a2 as updateViewNode, aT as validateJsonData, aC as validateRollupConfig } from './clone-CbmoWwu4.js';
17
17
  import '@xnetjs/crypto';
18
18
  import '@xnetjs/sqlite';
19
19
  import '@xnetjs/sync';
package/dist/index.js CHANGED
@@ -6,222 +6,6 @@ import {
6
6
  signUpdate,
7
7
  verifyUpdate
8
8
  } from "./chunk-XHEA5UER.js";
9
- import {
10
- CELL_PREFIX,
11
- DATABASE_SCHEMA_NAMESPACE,
12
- DATABASE_SCHEMA_PREFIX,
13
- DEFAULT_DATABASE_SCHEMA_VERSION,
14
- DEFAULT_ROW_HEIGHT,
15
- FIELD_TYPES,
16
- FormulaService,
17
- MAX_VERSION_HISTORY,
18
- OPERATORS_BY_TYPE,
19
- OPERATOR_LABELS,
20
- PUBLIC_SAFE_FORM_FIELD_TYPES,
21
- RICHTEXT_PREFIX,
22
- ROW_HEIGHTS,
23
- ROW_HEIGHT_PX,
24
- SELECT_COLORS,
25
- SUMMARY_FUNCTIONS_BY_TYPE,
26
- addDefaultTableView,
27
- addDefaultTitleColumn,
28
- addOrToggleSort,
29
- addViewSort,
30
- aggregate,
31
- asRowHeight,
32
- autoColor,
33
- batchComputeRollups,
34
- buildDatabaseSchema,
35
- buildPublicFormDefinition,
36
- buildSchemaFromFields,
37
- buildSchemaIRI,
38
- bumpSchemaVersion,
39
- cellKey,
40
- cellValueToText,
41
- checkNeedsRebalancing,
42
- clearViewFilters,
43
- clearViewSorts,
44
- cloneColumns,
45
- cloneSampleRows,
46
- cloneSchema,
47
- collapseAllGroups,
48
- columnIdFromKey,
49
- combineFiltersAnd,
50
- combineFiltersOr,
51
- computeColumnSummary,
52
- computeRollup,
53
- convertCellValue,
54
- createAnyOfFilter,
55
- createColumn,
56
- createCsvBlob,
57
- createDatabaseSchemaResolver,
58
- createEqualsFilter,
59
- createExtensionField,
60
- createField,
61
- createFilterQuery,
62
- createFormulaService,
63
- createInitialSchemaMetadata,
64
- createJsonBlob,
65
- createNodeDatabaseSchemaResolver,
66
- createPaginatedQuery,
67
- createRow,
68
- createSelectOption,
69
- createSort,
70
- createSortQuery,
71
- createVersionEntry,
72
- createView,
73
- createView2,
74
- deleteColumn,
75
- deleteExtensionField,
76
- deleteField,
77
- deleteMeta,
78
- deleteRichTextCell,
79
- deleteRow,
80
- deleteSelectOption,
81
- deleteView,
82
- deleteView2,
83
- downloadCsv,
84
- downloadJson,
85
- duplicateColumn,
86
- duplicateField,
87
- duplicateView,
88
- duplicateView2,
89
- effectiveFieldSortKey,
90
- ensureSchemaExtension,
91
- escapeCSV,
92
- executeQuery,
93
- expandAllGroups,
94
- exportToCsv,
95
- exportToJson,
96
- exportToJsonArray,
97
- exportToNdjson,
98
- extractSchemaFromDoc,
99
- fieldsToStoredColumns,
100
- filterRows,
101
- flattenGroups,
102
- formatValue,
103
- fromCellProperties,
104
- generateColumnIdMap,
105
- getColumn,
106
- getColumnIndex,
107
- getColumns,
108
- getDatabaseDocumentModel,
109
- getDatabaseSchemaIRI,
110
- getDatabaseSelectOptions,
111
- getField,
112
- getFields,
113
- getMeta,
114
- getOperatorLabel,
115
- getOperatorsForType,
116
- getRichTextCell,
117
- getRichTextColumnIds,
118
- getRichTextPlainText,
119
- getRow,
120
- getSchemaIRIFromDoc,
121
- getSelectOptions,
122
- getTitleColumn,
123
- getTitleField,
124
- getTotalFromGroups,
125
- getVersionBumpType,
126
- getView,
127
- getView2,
128
- getViewByType,
129
- getViews,
130
- getViews2,
131
- groupRows,
132
- guessColumnType,
133
- hasRichTextColumns,
134
- hasRichTextContent,
135
- hideColumn,
136
- inferColumnTypes,
137
- inferColumnsFromRows,
138
- inferTypeFromValues,
139
- initializeDatabaseDoc,
140
- isAutoColumnType,
141
- isAutoFieldType,
142
- isCellKey,
143
- isCellValue,
144
- isComputedColumnType,
145
- isComputedFieldType,
146
- isDatabaseDocInitialized,
147
- isDatabaseSchemaIRI,
148
- isDateRange,
149
- isFieldType,
150
- isFileRef,
151
- isFilledValue,
152
- isFilterCondition,
153
- isFilterGroup,
154
- isFormFieldTypeAllowed,
155
- isFormQuestionVisible,
156
- isNodeStoreColumnType,
157
- isNodeStoreFieldType,
158
- isSelectColor,
159
- isValidOperator,
160
- isYDocColumnType,
161
- isYDocFieldType,
162
- moveField,
163
- moveRow,
164
- moveSelectOption,
165
- moveView,
166
- operatorRequiresValue,
167
- parseCSV,
168
- parseCSVLine,
169
- parseDatabaseSchemaIRI,
170
- parseJSON,
171
- parseRow,
172
- parseValue,
173
- parseVersion,
174
- pruneVersionHistory,
175
- queryRows,
176
- rebalanceDatabase,
177
- remapViewColumnIds,
178
- removeSort,
179
- removeViewSort,
180
- renameExtensionField,
181
- reorderColumn,
182
- reorderViewColumns,
183
- requiresDateColumn,
184
- resolveRowHeightPx,
185
- rowHeightLabel,
186
- setColumnWidth,
187
- setFieldHidden,
188
- setMeta,
189
- setViewFieldOrder,
190
- setViewFieldWidth,
191
- setViewFilters,
192
- setViewFilters2,
193
- setViewGroupBy,
194
- setViewGroupBy2,
195
- setViewSorts,
196
- setViewSorts2,
197
- setVisibleColumns,
198
- setupDatabase,
199
- setupNewDatabase,
200
- showColumn,
201
- sortRows,
202
- submissionRowId,
203
- summaryFunctionLabel,
204
- supportsGrouping,
205
- toCellProperties,
206
- toColumnDefinitions,
207
- toFieldNode,
208
- toSelectOptionNode,
209
- toggleGroupCollapsed,
210
- toggleGroupCollapsed2,
211
- toggleSortDirection,
212
- toggleViewGroupCollapsed,
213
- updateCell,
214
- updateCells,
215
- updateColumn,
216
- updateField,
217
- updateSelectOption,
218
- updateView,
219
- updateView2,
220
- validateFormSubmission,
221
- validateJsonData,
222
- validateRollupConfig,
223
- visibleFormQuestions
224
- } from "./chunk-Q67VT5XL.js";
225
9
  import {
226
10
  LensRegistry,
227
11
  MAX_MENTION_DIDS,
@@ -287,7 +71,7 @@ import {
287
71
  taskBranchName,
288
72
  transform,
289
73
  when
290
- } from "./chunk-HAV2DS2C.js";
74
+ } from "./chunk-Y7UC2V5U.js";
291
75
  import {
292
76
  SavedViewSchema
293
77
  } from "./chunk-ZZ6TWKGS.js";
@@ -538,41 +322,6 @@ import {
538
322
  import {
539
323
  DatabaseSchema
540
324
  } from "./chunk-IJ44LR7N.js";
541
- import {
542
- EXT_PREFIX,
543
- extKey,
544
- isExtKey,
545
- parseExtKey
546
- } from "./chunk-PMUQACPY.js";
547
- import {
548
- EXTENSION_FIELD_SCHEMA_IRI,
549
- ExtensionFieldSchema,
550
- SCHEMA_EXTENSION_SCHEMA_IRI,
551
- SchemaExtensionSchema,
552
- schemaExtensionId
553
- } from "./chunk-WEPK7SZF.js";
554
- import {
555
- MAX_KEY_LENGTH,
556
- compareSortKeys,
557
- generateSortKey,
558
- generateSortKeyWithJitter,
559
- isValidSortKey,
560
- needsRebalancing,
561
- rebalanceSortKeys
562
- } from "./chunk-QWFTRZQT.js";
563
- import {
564
- DatabaseRowSchema
565
- } from "./chunk-FB63TZVI.js";
566
- import {
567
- DatabaseFieldSchema
568
- } from "./chunk-KQAT4XBL.js";
569
- import {
570
- DatabaseSelectOptionSchema
571
- } from "./chunk-6OMG4I7M.js";
572
- import {
573
- DatabaseViewSchema
574
- } from "./chunk-MD553LDL.js";
575
- import "./chunk-OCMSAKWV.js";
576
325
  import {
577
326
  MemoryNodeStorageAdapter,
578
327
  NodeStore,
@@ -623,22 +372,7 @@ import {
623
372
  sum,
624
373
  validateQueryAST,
625
374
  validateSavedViewDescriptor
626
- } from "./chunk-E3J22ID2.js";
627
- import {
628
- applyNodeQueryDescriptor,
629
- createNodeQueryDescriptor,
630
- decodeNodeQueryCursor,
631
- encodeNodeQueryCursor,
632
- filterNodeQueryResults,
633
- getNodeQuerySearchTokens,
634
- matchesNodeQueryDescriptor,
635
- nodeQueryDescriptorNeedsBoundedReload,
636
- nodeQueryDescriptorToOptions,
637
- serializeNodeQueryDescriptor,
638
- sortNodeQueryResults,
639
- withoutNodeQueryMaterializedView,
640
- withoutNodeQueryPagination
641
- } from "./chunk-S5RP5RKY.js";
375
+ } from "./chunk-AIENVDXA.js";
642
376
  import {
643
377
  PresenceSummarySchema,
644
378
  SYSTEM_NAMESPACE_KINDS,
@@ -667,6 +401,272 @@ import {
667
401
  onPresenceChange,
668
402
  setLocalPresence
669
403
  } from "./chunk-7PDRDSFH.js";
404
+ import {
405
+ CELL_PREFIX,
406
+ DATABASE_SCHEMA_NAMESPACE,
407
+ DATABASE_SCHEMA_PREFIX,
408
+ DEFAULT_DATABASE_SCHEMA_VERSION,
409
+ DEFAULT_ROW_HEIGHT,
410
+ FIELD_TYPES,
411
+ FormulaService,
412
+ MAX_VERSION_HISTORY,
413
+ OPERATORS_BY_TYPE,
414
+ OPERATOR_LABELS,
415
+ PUBLIC_SAFE_FORM_FIELD_TYPES,
416
+ RICHTEXT_PREFIX,
417
+ ROW_HEIGHTS,
418
+ ROW_HEIGHT_PX,
419
+ SELECT_COLORS,
420
+ SUMMARY_FUNCTIONS_BY_TYPE,
421
+ addDefaultTableView,
422
+ addDefaultTitleColumn,
423
+ addOrToggleSort,
424
+ addViewSort,
425
+ aggregate,
426
+ asRowHeight,
427
+ autoColor,
428
+ batchComputeRollups,
429
+ buildDatabaseSchema,
430
+ buildPublicFormDefinition,
431
+ buildSchemaFromFields,
432
+ buildSchemaIRI,
433
+ bumpSchemaVersion,
434
+ cellKey,
435
+ cellValueToText,
436
+ checkNeedsRebalancing,
437
+ clearViewFilters,
438
+ clearViewSorts,
439
+ cloneColumns,
440
+ cloneSampleRows,
441
+ cloneSchema,
442
+ collapseAllGroups,
443
+ columnIdFromKey,
444
+ combineFiltersAnd,
445
+ combineFiltersOr,
446
+ computeColumnSummary,
447
+ computeRollup,
448
+ convertCellValue,
449
+ createAnyOfFilter,
450
+ createColumn,
451
+ createCsvBlob,
452
+ createDatabaseSchemaResolver,
453
+ createEqualsFilter,
454
+ createExtensionField,
455
+ createField,
456
+ createFilterQuery,
457
+ createFormulaService,
458
+ createInitialSchemaMetadata,
459
+ createJsonBlob,
460
+ createNodeDatabaseSchemaResolver,
461
+ createPaginatedQuery,
462
+ createRow,
463
+ createSelectOption,
464
+ createSort,
465
+ createSortQuery,
466
+ createVersionEntry,
467
+ createView,
468
+ createView2,
469
+ deleteColumn,
470
+ deleteExtensionField,
471
+ deleteField,
472
+ deleteMeta,
473
+ deleteRichTextCell,
474
+ deleteRow,
475
+ deleteSelectOption,
476
+ deleteView,
477
+ deleteView2,
478
+ downloadCsv,
479
+ downloadJson,
480
+ duplicateColumn,
481
+ duplicateField,
482
+ duplicateView,
483
+ duplicateView2,
484
+ effectiveFieldSortKey,
485
+ ensureSchemaExtension,
486
+ escapeCSV,
487
+ executeQuery,
488
+ expandAllGroups,
489
+ exportToCsv,
490
+ exportToJson,
491
+ exportToJsonArray,
492
+ exportToNdjson,
493
+ extractSchemaFromDoc,
494
+ fieldsToStoredColumns,
495
+ filterRows,
496
+ flattenGroups,
497
+ formatValue,
498
+ fromCellProperties,
499
+ generateColumnIdMap,
500
+ getColumn,
501
+ getColumnIndex,
502
+ getColumns,
503
+ getDatabaseDocumentModel,
504
+ getDatabaseSchemaIRI,
505
+ getDatabaseSelectOptions,
506
+ getField,
507
+ getFields,
508
+ getMeta,
509
+ getOperatorLabel,
510
+ getOperatorsForType,
511
+ getRichTextCell,
512
+ getRichTextColumnIds,
513
+ getRichTextPlainText,
514
+ getRow,
515
+ getSchemaIRIFromDoc,
516
+ getSelectOptions,
517
+ getTitleColumn,
518
+ getTitleField,
519
+ getTotalFromGroups,
520
+ getVersionBumpType,
521
+ getView,
522
+ getView2,
523
+ getViewByType,
524
+ getViews,
525
+ getViews2,
526
+ groupRows,
527
+ guessColumnType,
528
+ hasRichTextColumns,
529
+ hasRichTextContent,
530
+ hideColumn,
531
+ inferColumnTypes,
532
+ inferColumnsFromRows,
533
+ inferTypeFromValues,
534
+ initializeDatabaseDoc,
535
+ isAutoColumnType,
536
+ isAutoFieldType,
537
+ isCellKey,
538
+ isCellValue,
539
+ isComputedColumnType,
540
+ isComputedFieldType,
541
+ isDatabaseDocInitialized,
542
+ isDatabaseSchemaIRI,
543
+ isDateRange,
544
+ isFieldType,
545
+ isFileRef,
546
+ isFilledValue,
547
+ isFilterCondition,
548
+ isFilterGroup,
549
+ isFormFieldTypeAllowed,
550
+ isFormQuestionVisible,
551
+ isNodeStoreColumnType,
552
+ isNodeStoreFieldType,
553
+ isSelectColor,
554
+ isValidOperator,
555
+ isYDocColumnType,
556
+ isYDocFieldType,
557
+ moveField,
558
+ moveRow,
559
+ moveSelectOption,
560
+ moveView,
561
+ operatorRequiresValue,
562
+ parseCSV,
563
+ parseCSVLine,
564
+ parseDatabaseSchemaIRI,
565
+ parseJSON,
566
+ parseRow,
567
+ parseValue,
568
+ parseVersion,
569
+ pruneVersionHistory,
570
+ queryRows,
571
+ rebalanceDatabase,
572
+ remapViewColumnIds,
573
+ removeSort,
574
+ removeViewSort,
575
+ renameExtensionField,
576
+ reorderColumn,
577
+ reorderViewColumns,
578
+ requiresDateColumn,
579
+ resolveRowHeightPx,
580
+ rowHeightLabel,
581
+ setColumnWidth,
582
+ setFieldHidden,
583
+ setMeta,
584
+ setViewFieldOrder,
585
+ setViewFieldWidth,
586
+ setViewFilters,
587
+ setViewFilters2,
588
+ setViewGroupBy,
589
+ setViewGroupBy2,
590
+ setViewSorts,
591
+ setViewSorts2,
592
+ setVisibleColumns,
593
+ setupDatabase,
594
+ setupNewDatabase,
595
+ showColumn,
596
+ sortRows,
597
+ submissionRowId,
598
+ summaryFunctionLabel,
599
+ supportsGrouping,
600
+ toCellProperties,
601
+ toColumnDefinitions,
602
+ toFieldNode,
603
+ toSelectOptionNode,
604
+ toggleGroupCollapsed,
605
+ toggleGroupCollapsed2,
606
+ toggleSortDirection,
607
+ toggleViewGroupCollapsed,
608
+ updateCell,
609
+ updateCells,
610
+ updateColumn,
611
+ updateField,
612
+ updateSelectOption,
613
+ updateView,
614
+ updateView2,
615
+ validateFormSubmission,
616
+ validateJsonData,
617
+ validateRollupConfig,
618
+ visibleFormQuestions
619
+ } from "./chunk-Q67VT5XL.js";
620
+ import {
621
+ EXT_PREFIX,
622
+ extKey,
623
+ isExtKey,
624
+ parseExtKey
625
+ } from "./chunk-PMUQACPY.js";
626
+ import {
627
+ EXTENSION_FIELD_SCHEMA_IRI,
628
+ ExtensionFieldSchema,
629
+ SCHEMA_EXTENSION_SCHEMA_IRI,
630
+ SchemaExtensionSchema,
631
+ schemaExtensionId
632
+ } from "./chunk-WEPK7SZF.js";
633
+ import {
634
+ MAX_KEY_LENGTH,
635
+ compareSortKeys,
636
+ generateSortKey,
637
+ generateSortKeyWithJitter,
638
+ isValidSortKey,
639
+ needsRebalancing,
640
+ rebalanceSortKeys
641
+ } from "./chunk-QWFTRZQT.js";
642
+ import {
643
+ DatabaseRowSchema
644
+ } from "./chunk-FB63TZVI.js";
645
+ import {
646
+ DatabaseFieldSchema
647
+ } from "./chunk-KQAT4XBL.js";
648
+ import {
649
+ DatabaseSelectOptionSchema
650
+ } from "./chunk-6OMG4I7M.js";
651
+ import {
652
+ DatabaseViewSchema
653
+ } from "./chunk-MD553LDL.js";
654
+ import "./chunk-OCMSAKWV.js";
655
+ import {
656
+ applyNodeQueryDescriptor,
657
+ createNodeQueryDescriptor,
658
+ decodeNodeQueryCursor,
659
+ encodeNodeQueryCursor,
660
+ filterNodeQueryResults,
661
+ getNodeQuerySearchTokens,
662
+ matchesNodeQueryDescriptor,
663
+ nodeQueryDescriptorNeedsBoundedReload,
664
+ nodeQueryDescriptorToOptions,
665
+ serializeNodeQueryDescriptor,
666
+ sortNodeQueryResults,
667
+ withoutNodeQueryMaterializedView,
668
+ withoutNodeQueryPagination
669
+ } from "./chunk-S5RP5RKY.js";
670
670
  import {
671
671
  SPACE_MEMBERSHIP_SCHEMA_IRI,
672
672
  SpaceMembershipSchema,
@@ -1,4 +1,4 @@
1
- import { S as SchemaIRI, c as SortDirection, N as NodeQueryPageCountMode, P as PropertyBuilder, I as InferCreateProps, D as DefinedSchema, d as SystemOrderField } from './types-S-BJAKyK.js';
1
+ import { S as SchemaIRI, c as SortDirection, N as NodeQueryPageCountMode, P as PropertyBuilder, I as InferCreateProps, D as DefinedSchema, d as SystemOrderField } from './types-BB8-SLEa.js';
2
2
 
3
3
  /**
4
4
  * Canonical query AST for advanced Node reads.
@@ -1,4 +1,4 @@
1
- import { P as PropertyBuilder, D as DefinedSchema, S as SchemaIRI, a as Schema, b as ParsedSchemaIRI } from './types-S-BJAKyK.js';
1
+ import { P as PropertyBuilder, D as DefinedSchema, S as SchemaIRI, a as Schema, b as ParsedSchemaIRI } from './types-BB8-SLEa.js';
2
2
 
3
3
  /**
4
4
  * Schema Registry - Runtime lookup for schema definitions.
@@ -1,10 +1,10 @@
1
- import { P as PropertyBuilder, S as SchemaIRI, D as DefinedSchema, ba as DocumentType, y as DID, Q as InferNode, V as ValidationResult, a as Schema, B as PropertyType, h as NodeState, v as NodeChangeEvent, F as ValidationError, W as LensOperation, R as SchemaLens } from '../types-S-BJAKyK.js';
2
- export { H as CreateNodeOptions, bb as DEFAULT_SCHEMA_VERSION, I as InferCreateProps, K as InferProperties, J as InferPropertyType, Z as LensRegistry, Y as MigrationError, X as MigrationResult, x as Node, b as ParsedSchemaIRI, E as PropertyDefinition, bd as buildSchemaIRI, A as createNodeId, bf as getBaseSchemaIRI, bh as getSchemaVersion, z as isNode, bg as isSameSchema, _ as lensRegistry, be as normalizeSchemaIRI, bc as parseSchemaIRI } from '../types-S-BJAKyK.js';
1
+ import { P as PropertyBuilder, S as SchemaIRI, D as DefinedSchema, ba as DocumentType, y as DID, Q as InferNode, V as ValidationResult, a as Schema, B as PropertyType, h as NodeState, v as NodeChangeEvent, F as ValidationError, W as LensOperation, R as SchemaLens } from '../types-BB8-SLEa.js';
2
+ export { H as CreateNodeOptions, bb as DEFAULT_SCHEMA_VERSION, I as InferCreateProps, K as InferProperties, J as InferPropertyType, Z as LensRegistry, Y as MigrationError, X as MigrationResult, x as Node, b as ParsedSchemaIRI, E as PropertyDefinition, bd as buildSchemaIRI, A as createNodeId, bf as getBaseSchemaIRI, bh as getSchemaVersion, z as isNode, bg as isSameSchema, _ as lensRegistry, be as normalizeSchemaIRI, bc as parseSchemaIRI } from '../types-BB8-SLEa.js';
3
3
  import { AuthorizationDefinition } from '@xnetjs/core';
4
- import { S as SavedViewDescriptor } from '../query-ast-C3m6kZYv.js';
4
+ import { S as SavedViewDescriptor } from '../query-ast-Bvg0Wolx.js';
5
5
  import { a7 as FormSubmissionMeta, W as FilterGroup, Z as SortConfig, an as SummaryFunction, a4 as FormViewConfig, a5 as FormFieldRule } from '../form-types-BlZvpDEE.js';
6
- import { N as NodeStore } from '../store-CjjofiLR.js';
7
- export { S as SchemaRegistry, s as schemaRegistry } from '../registry-DunPv__d.js';
6
+ import { N as NodeStore } from '../store-DEWnip2G.js';
7
+ export { S as SchemaRegistry, s as schemaRegistry } from '../registry-_49rC6IG.js';
8
8
  import '@xnetjs/crypto';
9
9
  import '@xnetjs/sqlite';
10
10
  import '@xnetjs/sync';
@@ -63,7 +63,7 @@ import {
63
63
  taskBranchName,
64
64
  transform,
65
65
  when
66
- } from "../chunk-HAV2DS2C.js";
66
+ } from "../chunk-Y7UC2V5U.js";
67
67
  import {
68
68
  SavedViewSchema
69
69
  } from "../chunk-ZZ6TWKGS.js";
@@ -314,6 +314,24 @@ import {
314
314
  import {
315
315
  DatabaseSchema
316
316
  } from "../chunk-IJ44LR7N.js";
317
+ import {
318
+ PresenceSummarySchema,
319
+ SYSTEM_NAMESPACE_KINDS,
320
+ SYSTEM_SCHEMA_BASE_IRIS,
321
+ SYSTEM_SCHEMA_IRIS,
322
+ SchemaCompatibilitySchema,
323
+ SchemaDefinitionSchema,
324
+ SyncPolicySchema,
325
+ buildSystemNamespace,
326
+ buildSystemNodeId,
327
+ computeSchemaDefinitionContentHash,
328
+ createSchemaDefinitionSigningPayload,
329
+ isSystemNamespaceResource,
330
+ isSystemSchemaIri,
331
+ parseSystemNamespaceResource,
332
+ resolveSchemaAuthority,
333
+ validateSchemaDefinitionNode
334
+ } from "../chunk-BY5O6LNC.js";
317
335
  import {
318
336
  EXT_PREFIX,
319
337
  extKey,
@@ -341,24 +359,6 @@ import {
341
359
  DatabaseViewSchema
342
360
  } from "../chunk-MD553LDL.js";
343
361
  import "../chunk-OCMSAKWV.js";
344
- import {
345
- PresenceSummarySchema,
346
- SYSTEM_NAMESPACE_KINDS,
347
- SYSTEM_SCHEMA_BASE_IRIS,
348
- SYSTEM_SCHEMA_IRIS,
349
- SchemaCompatibilitySchema,
350
- SchemaDefinitionSchema,
351
- SyncPolicySchema,
352
- buildSystemNamespace,
353
- buildSystemNodeId,
354
- computeSchemaDefinitionContentHash,
355
- createSchemaDefinitionSigningPayload,
356
- isSystemNamespaceResource,
357
- isSystemSchemaIri,
358
- parseSystemNamespaceResource,
359
- resolveSchemaAuthority,
360
- validateSchemaDefinitionNode
361
- } from "../chunk-BY5O6LNC.js";
362
362
  import {
363
363
  SPACE_MEMBERSHIP_SCHEMA_IRI,
364
364
  SpaceMembershipSchema,
@@ -1,7 +1,7 @@
1
- import { g as NodeStorageAdapter, r as NodeChange, i as NodeId, h as NodeState, aa as NodeBatchPreflightResult, a3 as ImportNodesOptions, a5 as ApplyNodeBatchInput, a6 as ApplyNodeBatchResult, L as ListNodesOptions, ae as CountNodesOptions, a2 as SetNodeOptions, j as NodeQueryDescriptor, k as NodeQueryResult, S as SchemaIRI, a4 as RebuildNodeIndexesOptions, bi as NodeReadAuthorizer, bj as AuthorizationStateVersion } from '../types-S-BJAKyK.js';
2
- export { av as ConflictResult, ay as ContentKeyCache, C as CreateNodeOptions, ab as DeterministicNodeBatchWriteInput, m as DeterministicNodeImportDraft, G as GetWithMigrationOptions, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, s as MergeConflict, M as MigratedNodeState, az as MigrationInfo, aw as NodeBatchChangeEvent, u as NodeBatchChangeListener, a7 as NodeBatchIndexMode, a8 as NodeBatchNotificationMode, a9 as NodeBatchSyncMode, p as NodeBatchWriteInput, ac as NodeBatchWritePolicy, q as NodeBatchWriteResult, ad as NodeBatchWriteTimings, v as NodeChangeEvent, t as NodeChangeListener, ax as NodeContentCipher, a0 as NodePayload, ar as NodeQueryCursor, aq as NodeQueryCursorOrderEntry, ao as NodeQueryMaterializedViewOptions, as as NodeQueryOptions, N as NodeQueryPageCountMode, ap as NodeQueryPageOptions, au as NodeQueryParityCheckMetadata, at as NodeQueryPlanMetadata, am as NodeQuerySearchField, an as NodeQuerySearchFilter, al as NodeQuerySpatialFilter, af as NodeQuerySpatialPoint, ah as NodeQuerySpatialPointFields, ak as NodeQuerySpatialRadius, ag as NodeQuerySpatialRect, ai as NodeQuerySpatialRectFields, aj as NodeQuerySpatialWindow, f as NodeStoreOptions, bk as OperationNodeBatchWriteInput, $ as PropertyKey, bl as PropertyLookup, a1 as PropertyTimestamp, aR as SchemaLookup, c as SortDirection, d as SystemOrderField, aO as TEMP_ID_PREFIX, aS as TempIdResolution, T as TransactionOperation, l as TransactionResult, U as UpdateNodeOptions, aI as applyNodeQueryDescriptor, aA as createNodeQueryDescriptor, bm as createPropertyLookup, aQ as createSchemaLookup, aC as decodeNodeQueryCursor, aB as encodeNodeQueryCursor, aG as filterNodeQueryResults, aJ as getNodeQuerySearchTokens, aN as isTempId, aF as matchesNodeQueryDescriptor, aK as nodeQueryDescriptorNeedsBoundedReload, aD as nodeQueryDescriptorToOptions, aP as resolveTempIds, aE as serializeNodeQueryDescriptor, aH as sortNodeQueryResults, aM as withoutNodeQueryMaterializedView, aL as withoutNodeQueryPagination } from '../types-S-BJAKyK.js';
3
- export { G as QUERY_AST_VERSION, r as QueryAST, n as QueryASTAggregate, A as QueryASTAggregateExecution, m as QueryASTAggregateFunction, y as QueryASTAggregateGroup, x as QueryASTAggregatePlan, z as QueryASTAggregateResult, d as QueryASTComparisonPredicate, e as QueryASTCompoundPredicate, a as QueryASTField, l as QueryASTIncludes, p as QueryASTNodeQuery, s as QueryASTNodeQueryOptions, f as QueryASTNotPredicate, c as QueryASTOperator, h as QueryASTOrderBy, i as QueryASTPage, B as QueryASTPlannerGate, g as QueryASTPredicate, q as QueryASTQuerySet, o as QueryASTQuerySetAggregate, j as QueryASTRelationDirection, k as QueryASTRelationInclude, t as QueryASTRelationIncludeOptions, w as QueryASTRelationIndexRequirement, b as QueryASTSchemaInput, u as QueryASTValidationError, v as QueryASTValidationResult, Q as QueryASTVersion, S as SavedViewDescriptor, F as SavedViewFeedDensity, E as SavedViewFeedLayout, C as SavedViewPresentationHint, D as SavedViewPresentationHintMode, V as and, a3 as avg, N as between, P as contains, a0 as count, a1 as countDistinct, a9 as dashboardQuerySet, Z as defineNodeQueryAST, a8 as defineQuerySetAST, ab as defineSavedViewDescriptor, H as eq, aj as evaluateQueryASTPlannerGate, af as executeQueryASTLoadedAggregates, ag as filterQueryASTLoadedRows, _ as follow, $ as from, ah as getQueryASTRelationIndexRequirements, a6 as groupBy, J as gt, K as gte, a7 as having, O as includesAny, U as isNotNull, T as isNull, L as lt, M as lte, ai as matchesQueryASTLoadedRow, a5 as max, a4 as min, I as neq, X as not, W as or, ae as planQueryASTAggregates, Y as queryOperators, aa as querySetCount, R as startsWith, a2 as sum, ac as validateQueryAST, ad as validateSavedViewDescriptor } from '../query-ast-C3m6kZYv.js';
4
- export { N as NodeStore } from '../store-CjjofiLR.js';
1
+ import { g as NodeStorageAdapter, r as NodeChange, i as NodeId, h as NodeState, aa as NodeBatchPreflightResult, a3 as ImportNodesOptions, a5 as ApplyNodeBatchInput, a6 as ApplyNodeBatchResult, L as ListNodesOptions, ae as CountNodesOptions, a2 as SetNodeOptions, j as NodeQueryDescriptor, k as NodeQueryResult, S as SchemaIRI, a4 as RebuildNodeIndexesOptions, bi as NodeReadAuthorizer, bj as AuthorizationStateVersion } from '../types-BB8-SLEa.js';
2
+ export { av as ConflictResult, ay as ContentKeyCache, C as CreateNodeOptions, ab as DeterministicNodeBatchWriteInput, m as DeterministicNodeImportDraft, G as GetWithMigrationOptions, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, s as MergeConflict, M as MigratedNodeState, az as MigrationInfo, aw as NodeBatchChangeEvent, u as NodeBatchChangeListener, a7 as NodeBatchIndexMode, a8 as NodeBatchNotificationMode, a9 as NodeBatchSyncMode, p as NodeBatchWriteInput, ac as NodeBatchWritePolicy, q as NodeBatchWriteResult, ad as NodeBatchWriteTimings, v as NodeChangeEvent, t as NodeChangeListener, ax as NodeContentCipher, a0 as NodePayload, ar as NodeQueryCursor, aq as NodeQueryCursorOrderEntry, ao as NodeQueryMaterializedViewOptions, as as NodeQueryOptions, N as NodeQueryPageCountMode, ap as NodeQueryPageOptions, au as NodeQueryParityCheckMetadata, at as NodeQueryPlanMetadata, am as NodeQuerySearchField, an as NodeQuerySearchFilter, al as NodeQuerySpatialFilter, af as NodeQuerySpatialPoint, ah as NodeQuerySpatialPointFields, ak as NodeQuerySpatialRadius, ag as NodeQuerySpatialRect, ai as NodeQuerySpatialRectFields, aj as NodeQuerySpatialWindow, f as NodeStoreOptions, bk as OperationNodeBatchWriteInput, $ as PropertyKey, bl as PropertyLookup, a1 as PropertyTimestamp, aR as SchemaLookup, c as SortDirection, d as SystemOrderField, aO as TEMP_ID_PREFIX, aS as TempIdResolution, T as TransactionOperation, l as TransactionResult, U as UpdateNodeOptions, aI as applyNodeQueryDescriptor, aA as createNodeQueryDescriptor, bm as createPropertyLookup, aQ as createSchemaLookup, aC as decodeNodeQueryCursor, aB as encodeNodeQueryCursor, aG as filterNodeQueryResults, aJ as getNodeQuerySearchTokens, aN as isTempId, aF as matchesNodeQueryDescriptor, aK as nodeQueryDescriptorNeedsBoundedReload, aD as nodeQueryDescriptorToOptions, aP as resolveTempIds, aE as serializeNodeQueryDescriptor, aH as sortNodeQueryResults, aM as withoutNodeQueryMaterializedView, aL as withoutNodeQueryPagination } from '../types-BB8-SLEa.js';
3
+ export { G as QUERY_AST_VERSION, r as QueryAST, n as QueryASTAggregate, A as QueryASTAggregateExecution, m as QueryASTAggregateFunction, y as QueryASTAggregateGroup, x as QueryASTAggregatePlan, z as QueryASTAggregateResult, d as QueryASTComparisonPredicate, e as QueryASTCompoundPredicate, a as QueryASTField, l as QueryASTIncludes, p as QueryASTNodeQuery, s as QueryASTNodeQueryOptions, f as QueryASTNotPredicate, c as QueryASTOperator, h as QueryASTOrderBy, i as QueryASTPage, B as QueryASTPlannerGate, g as QueryASTPredicate, q as QueryASTQuerySet, o as QueryASTQuerySetAggregate, j as QueryASTRelationDirection, k as QueryASTRelationInclude, t as QueryASTRelationIncludeOptions, w as QueryASTRelationIndexRequirement, b as QueryASTSchemaInput, u as QueryASTValidationError, v as QueryASTValidationResult, Q as QueryASTVersion, S as SavedViewDescriptor, F as SavedViewFeedDensity, E as SavedViewFeedLayout, C as SavedViewPresentationHint, D as SavedViewPresentationHintMode, V as and, a3 as avg, N as between, P as contains, a0 as count, a1 as countDistinct, a9 as dashboardQuerySet, Z as defineNodeQueryAST, a8 as defineQuerySetAST, ab as defineSavedViewDescriptor, H as eq, aj as evaluateQueryASTPlannerGate, af as executeQueryASTLoadedAggregates, ag as filterQueryASTLoadedRows, _ as follow, $ as from, ah as getQueryASTRelationIndexRequirements, a6 as groupBy, J as gt, K as gte, a7 as having, O as includesAny, U as isNotNull, T as isNull, L as lt, M as lte, ai as matchesQueryASTLoadedRow, a5 as max, a4 as min, I as neq, X as not, W as or, ae as planQueryASTAggregates, Y as queryOperators, aa as querySetCount, R as startsWith, a2 as sum, ac as validateQueryAST, ad as validateSavedViewDescriptor } from '../query-ast-Bvg0Wolx.js';
4
+ export { N as NodeStore } from '../store-DEWnip2G.js';
5
5
  import { AuthAction, DID, AuthDenyReason, AuthDecision, ContentId } from '@xnetjs/core';
6
6
  import { SQLiteAdapter, SQLiteOperationStats } from '@xnetjs/sqlite';
7
7
  import '@xnetjs/crypto';
@@ -41,6 +41,12 @@ declare class MemoryNodeStorageAdapter implements NodeStorageAdapter {
41
41
  withTransaction<T>(fn: (storage: NodeStorageAdapter) => Promise<T>): Promise<T>;
42
42
  appendChange(change: NodeChange): Promise<void>;
43
43
  appendChanges(changes: readonly NodeChange[]): Promise<void>;
44
+ /**
45
+ * Append with hash dedupe — replayed changes must not grow the log
46
+ * (matches the SQLite adapter's `INSERT OR IGNORE`; exploration 0296).
47
+ */
48
+ private appendChangeInternal;
49
+ hasChange(hash: ContentId): Promise<boolean>;
44
50
  getChanges(nodeId: NodeId): Promise<NodeChange[]>;
45
51
  getAllChanges(): Promise<NodeChange[]>;
46
52
  getChangesSince(sinceLamport: number): Promise<NodeChange[]>;
@@ -263,6 +269,7 @@ declare class SQLiteNodeStorageAdapter implements NodeStorageAdapter {
263
269
  deleted: number;
264
270
  }>;
265
271
  getChangeByHash(hash: ContentId): Promise<NodeChange | null>;
272
+ hasChange(hash: ContentId): Promise<boolean>;
266
273
  getLastChange(nodeId: NodeId): Promise<NodeChange | null>;
267
274
  getLastChangesByNodeId(nodeIds: readonly NodeId[]): Promise<Map<NodeId, NodeChange>>;
268
275
  getNode(id: NodeId): Promise<NodeState | null>;
@@ -49,7 +49,8 @@ import {
49
49
  sum,
50
50
  validateQueryAST,
51
51
  validateSavedViewDescriptor
52
- } from "../chunk-E3J22ID2.js";
52
+ } from "../chunk-AIENVDXA.js";
53
+ import "../chunk-BY5O6LNC.js";
53
54
  import {
54
55
  applyNodeQueryDescriptor,
55
56
  createNodeQueryDescriptor,
@@ -65,7 +66,6 @@ import {
65
66
  withoutNodeQueryMaterializedView,
66
67
  withoutNodeQueryPagination
67
68
  } from "../chunk-S5RP5RKY.js";
68
- import "../chunk-BY5O6LNC.js";
69
69
  import "../chunk-EBNMV2VO.js";
70
70
  import "../chunk-RL64OJJ5.js";
71
71
  export {
@@ -1,4 +1,4 @@
1
- import { e as StoreAuthAPI, f as NodeStoreOptions, g as NodeStorageAdapter, C as CreateNodeOptions, h as NodeState, i as NodeId, G as GetWithMigrationOptions, M as MigratedNodeState, U as UpdateNodeOptions, L as ListNodesOptions, j as NodeQueryDescriptor, k as NodeQueryResult, T as TransactionOperation, l as TransactionResult, m as DeterministicNodeImportDraft, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, p as NodeBatchWriteInput, q as NodeBatchWriteResult, S as SchemaIRI, r as NodeChange, s as MergeConflict, t as NodeChangeListener, u as NodeBatchChangeListener } from './types-S-BJAKyK.js';
1
+ import { e as StoreAuthAPI, f as NodeStoreOptions, g as NodeStorageAdapter, C as CreateNodeOptions, h as NodeState, i as NodeId, G as GetWithMigrationOptions, M as MigratedNodeState, U as UpdateNodeOptions, L as ListNodesOptions, j as NodeQueryDescriptor, k as NodeQueryResult, T as TransactionOperation, l as TransactionResult, m as DeterministicNodeImportDraft, n as ImportDeterministicNodesOptions, o as ImportDeterministicNodesResult, p as NodeBatchWriteInput, q as NodeBatchWriteResult, S as SchemaIRI, r as NodeChange, s as MergeConflict, t as NodeChangeListener, u as NodeBatchChangeListener } from './types-BB8-SLEa.js';
2
2
 
3
3
  /**
4
4
  * NodeStore - Event-sourced storage for Nodes
@@ -859,6 +859,12 @@ interface NodeStorageAdapter {
859
859
  /** Get changes with Lamport time greater than `since` */
860
860
  getChangesSince(sinceLamport: number): Promise<NodeChange[]>;
861
861
  getChangeByHash(hash: ContentId): Promise<NodeChange | null>;
862
+ /**
863
+ * Whether a change with this hash is already in the log. Cheap existence
864
+ * probe for idempotent redelivery (exploration 0296); callers fall back to
865
+ * `getChangeByHash` when absent.
866
+ */
867
+ hasChange?(hash: ContentId): Promise<boolean>;
862
868
  getLastChange(nodeId: NodeId): Promise<NodeChange | null>;
863
869
  /** Return the latest change for each requested node id. Missing nodes are omitted. */
864
870
  getLastChangesByNodeId?(nodeIds: readonly NodeId[]): Promise<Map<NodeId, NodeChange>>;
@@ -1103,6 +1109,14 @@ interface ConflictResult {
1103
1109
  }
1104
1110
  /**
1105
1111
  * Conflict detected during merge (for debugging/UI).
1112
+ *
1113
+ * `kind` separates genuine concurrent divergence from routine LWW
1114
+ * housekeeping (exploration 0296):
1115
+ * - `'conflict'` — a cross-author write lost to a newer local value.
1116
+ * - `'lww-resolution'` — a cross-author write replaced a differing local
1117
+ * value (informational lost-update record, not an error condition).
1118
+ * Identical stamps (idempotent replays) and same-author causal history are
1119
+ * never recorded at all.
1106
1120
  */
1107
1121
  interface MergeConflict {
1108
1122
  nodeId: NodeId;
@@ -1112,6 +1126,7 @@ interface MergeConflict {
1112
1126
  remoteValue: unknown;
1113
1127
  remoteTimestamp: PropertyTimestamp;
1114
1128
  resolved: 'local' | 'remote';
1129
+ kind: 'conflict' | 'lww-resolution';
1115
1130
  }
1116
1131
  /**
1117
1132
  * Callback to get the known property names for a schema.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xnetjs/data",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,12 +57,12 @@
57
57
  "nanoid": "^5.1.6",
58
58
  "y-protocols": "^1.0.6",
59
59
  "yjs": "^13.6.24",
60
- "@xnetjs/core": "0.7.0",
61
- "@xnetjs/crypto": "0.7.0",
62
- "@xnetjs/identity": "0.7.0",
63
- "@xnetjs/sqlite": "0.7.0",
64
- "@xnetjs/storage": "0.7.0",
65
- "@xnetjs/sync": "0.7.0"
60
+ "@xnetjs/core": "0.9.0",
61
+ "@xnetjs/crypto": "0.9.0",
62
+ "@xnetjs/identity": "0.9.0",
63
+ "@xnetjs/sqlite": "0.9.0",
64
+ "@xnetjs/storage": "0.9.0",
65
+ "@xnetjs/sync": "0.9.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "tsup": "^8.0.0",
@@ -8,6 +8,12 @@ import {
8
8
  revocationRecordId,
9
9
  revokedSubjects
10
10
  } from "./chunk-KQUALW4O.js";
11
+ import {
12
+ PresenceSummarySchema,
13
+ SchemaDefinitionSchema,
14
+ buildSystemNodeId,
15
+ validateSchemaDefinitionNode
16
+ } from "./chunk-BY5O6LNC.js";
11
17
  import {
12
18
  extKey
13
19
  } from "./chunk-PMUQACPY.js";
@@ -15,12 +21,6 @@ import {
15
21
  EXTENSION_FIELD_SCHEMA_IRI,
16
22
  SCHEMA_EXTENSION_SCHEMA_IRI
17
23
  } from "./chunk-WEPK7SZF.js";
18
- import {
19
- PresenceSummarySchema,
20
- SchemaDefinitionSchema,
21
- buildSystemNodeId,
22
- validateSchemaDefinitionNode
23
- } from "./chunk-BY5O6LNC.js";
24
24
  import {
25
25
  checkbox,
26
26
  createNodeId,