@xnetjs/data 2.0.0 → 2.2.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.
@@ -0,0 +1,58 @@
1
+ import {
2
+ AGENT_ACTION_SCHEMA_IRI,
3
+ AGENT_ACTION_STATUSES,
4
+ AGENT_APPROVAL_DECISIONS,
5
+ AGENT_APPROVAL_SCHEMA_IRI,
6
+ AGENT_APPROVAL_SURFACES,
7
+ AGENT_CHANNELS,
8
+ AGENT_NOTIFICATION_KINDS,
9
+ AGENT_NOTIFICATION_SCHEMA_IRI,
10
+ AGENT_NOTIFICATION_STATUSES,
11
+ AGENT_PASSPORT_SCHEMA_IRI,
12
+ AGENT_REVERSIBILITIES,
13
+ AGENT_RISKS,
14
+ AGENT_RUNTIMES,
15
+ AGENT_SESSION_SCHEMA_IRI,
16
+ AgentActionSchema,
17
+ AgentApprovalSchema,
18
+ AgentNotificationSchema,
19
+ AgentPassportSchema,
20
+ AgentSessionSchema,
21
+ agentActionId,
22
+ agentApprovalId,
23
+ agentNotificationId,
24
+ agentPassportId,
25
+ agentSessionId,
26
+ redactInstruction
27
+ } from "./chunk-JWGS7JMA.js";
28
+ import "./chunk-JA56EQJO.js";
29
+ import "./chunk-LK5ZIAIE.js";
30
+ import "./chunk-RRXJNZX5.js";
31
+ import "./chunk-D4LUUZYD.js";
32
+ export {
33
+ AGENT_ACTION_SCHEMA_IRI,
34
+ AGENT_ACTION_STATUSES,
35
+ AGENT_APPROVAL_DECISIONS,
36
+ AGENT_APPROVAL_SCHEMA_IRI,
37
+ AGENT_APPROVAL_SURFACES,
38
+ AGENT_CHANNELS,
39
+ AGENT_NOTIFICATION_KINDS,
40
+ AGENT_NOTIFICATION_SCHEMA_IRI,
41
+ AGENT_NOTIFICATION_STATUSES,
42
+ AGENT_PASSPORT_SCHEMA_IRI,
43
+ AGENT_REVERSIBILITIES,
44
+ AGENT_RISKS,
45
+ AGENT_RUNTIMES,
46
+ AGENT_SESSION_SCHEMA_IRI,
47
+ AgentActionSchema,
48
+ AgentApprovalSchema,
49
+ AgentNotificationSchema,
50
+ AgentPassportSchema,
51
+ AgentSessionSchema,
52
+ agentActionId,
53
+ agentApprovalId,
54
+ agentNotificationId,
55
+ agentPassportId,
56
+ agentSessionId,
57
+ redactInstruction
58
+ };
@@ -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 { F as PropertyDefinition, a as Schema, h as NodeState, S as SchemaIRI } from '../types-C64g-IXg.js';
4
- export { a_ as DEFAULT_OFFLINE_POLICY, aY as GRANT_SCHEMA_IRI, b4 as Grant, x as GrantIndex, b9 as GrantIndexOptions, b8 as GrantIndexStore, b3 as GrantInput, b7 as GrantNode, aX as GrantRateLimiter, bc as GrantRateLimiterOptions, O as OfflineAuthPolicy, bb as RevocationConfig, ba as RevocationConsistency, aW as StoreAuth, e as StoreAuthAPI, b5 as StoreAuthError, b6 as StoreAuthErrorCode, b2 as StoreAuthKeyManager, b0 as StoreAuthOptions, b1 as StoreAuthStore, aZ as isGrantActive, a$ as mergeOfflinePolicy } from '../types-C64g-IXg.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-1by9wRlb.js';
3
+ import { F as PropertyDefinition, a as Schema, h as NodeState, S as SchemaIRI } from '../types-BFnYlC8Z.js';
4
+ export { a_ as DEFAULT_OFFLINE_POLICY, aY as GRANT_SCHEMA_IRI, b4 as Grant, x as GrantIndex, b9 as GrantIndexOptions, b8 as GrantIndexStore, b3 as GrantInput, b7 as GrantNode, aX as GrantRateLimiter, bc as GrantRateLimiterOptions, O as OfflineAuthPolicy, bb as RevocationConfig, ba as RevocationConsistency, aW as StoreAuth, e as StoreAuthAPI, b5 as StoreAuthError, b6 as StoreAuthErrorCode, b2 as StoreAuthKeyManager, b0 as StoreAuthOptions, b1 as StoreAuthStore, aZ as isGrantActive, a$ as mergeOfflinePolicy } from '../types-BFnYlC8Z.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-B_Q2pncC.js';
6
6
  import { PublicKeyResolver } from '@xnetjs/crypto';
7
7
  import '@xnetjs/sqlite';
8
8
  import '@xnetjs/sync';
9
- import '../registry-s1fYgCSj.js';
9
+ import '../registry-Wk8Rt0kh.js';
10
10
 
11
11
  /**
12
12
  * Authorization expression builders for schema definitions.
@@ -1,6 +1,3 @@
1
- import {
2
- createNodeQueryDescriptor
3
- } from "./chunk-S5RP5RKY.js";
4
1
  import {
5
2
  extKey
6
3
  } from "./chunk-PMUQACPY.js";
@@ -28,7 +25,10 @@ import {
28
25
  } from "./chunk-OIWW5TG3.js";
29
26
  import {
30
27
  DatabaseViewSchema
31
- } from "./chunk-TRPXLCND.js";
28
+ } from "./chunk-SMYZILJ6.js";
29
+ import {
30
+ createNodeQueryDescriptor
31
+ } from "./chunk-S5RP5RKY.js";
32
32
 
33
33
  // src/database/cell-types.ts
34
34
  var CELL_PREFIX = "cell_";
@@ -1331,7 +1331,7 @@ function isFilterCondition(item) {
1331
1331
  return "columnId" in item;
1332
1332
  }
1333
1333
  function supportsGrouping(type) {
1334
- return type === "table" || type === "board" || type === "list";
1334
+ return type === "table" || type === "board" || type === "list" || type === "timeline";
1335
1335
  }
1336
1336
  function requiresDateColumn(type) {
1337
1337
  return type === "calendar" || type === "timeline";
@@ -0,0 +1,240 @@
1
+ import {
2
+ spaceCascadeAuthorization
3
+ } from "./chunk-JA56EQJO.js";
4
+ import {
5
+ created,
6
+ createdBy,
7
+ date,
8
+ defineSchema,
9
+ json,
10
+ number,
11
+ relation,
12
+ select,
13
+ text
14
+ } from "./chunk-RRXJNZX5.js";
15
+
16
+ // src/schema/schemas/agent.ts
17
+ var AGENT_PASSPORT_SCHEMA_IRI = "xnet://xnet.fyi/AgentPassport@1.0.0";
18
+ var AGENT_SESSION_SCHEMA_IRI = "xnet://xnet.fyi/AgentSession@1.0.0";
19
+ var AGENT_ACTION_SCHEMA_IRI = "xnet://xnet.fyi/AgentAction@1.0.0";
20
+ var AGENT_APPROVAL_SCHEMA_IRI = "xnet://xnet.fyi/AgentApproval@1.0.0";
21
+ var AGENT_NOTIFICATION_SCHEMA_IRI = "xnet://xnet.fyi/AgentNotification@1.0.0";
22
+ var AGENT_RUNTIMES = [
23
+ { id: "openclaw", name: "OpenClaw", color: "orange" },
24
+ { id: "hermes", name: "Hermes", color: "purple" },
25
+ { id: "claude-code", name: "Claude Code", color: "blue" },
26
+ { id: "other", name: "Other", color: "gray" }
27
+ ];
28
+ var passportStatuses = [
29
+ { id: "active", name: "Active", color: "green" },
30
+ { id: "revoked", name: "Revoked", color: "red" },
31
+ { id: "expired", name: "Expired", color: "gray" }
32
+ ];
33
+ var AgentPassportSchema = defineSchema({
34
+ name: "AgentPassport",
35
+ namespace: "xnet://xnet.fyi/",
36
+ properties: {
37
+ /** Home Space for the operator's agent-audit workspace — drives access. */
38
+ space: relation({}),
39
+ /** The agent's own did:key. Every change it makes is signed by this DID. */
40
+ agentDID: text({ required: true, maxLength: 256 }),
41
+ /** The operator DID that delegated authority to the agent. */
42
+ operatorDID: text({ required: true, maxLength: 256 }),
43
+ displayName: text({ maxLength: 120 }),
44
+ runtime: select({ options: AGENT_RUNTIMES, required: true, default: "other" }),
45
+ /** The operator-signed, attenuated UCAN delegated to `agentDID`. */
46
+ ucan: text({ required: true, maxLength: 8192 }),
47
+ /** Delegation expiry (epoch ms). Rotation is the near-term revocation. */
48
+ expiresAt: date({}),
49
+ status: select({ options: passportStatuses, required: true, default: "active" }),
50
+ createdAt: created(),
51
+ createdBy: createdBy()
52
+ },
53
+ document: void 0,
54
+ authorization: spaceCascadeAuthorization("space")
55
+ });
56
+ var AGENT_CHANNELS = [
57
+ { id: "whatsapp", name: "WhatsApp", color: "green" },
58
+ { id: "telegram", name: "Telegram", color: "blue" },
59
+ { id: "signal", name: "Signal", color: "blue" },
60
+ { id: "imessage", name: "iMessage", color: "green" },
61
+ { id: "discord", name: "Discord", color: "purple" },
62
+ { id: "slack", name: "Slack", color: "purple" },
63
+ { id: "app", name: "xNet app", color: "orange" },
64
+ { id: "cli", name: "CLI", color: "gray" },
65
+ { id: "other", name: "Other", color: "gray" }
66
+ ];
67
+ var AgentSessionSchema = defineSchema({
68
+ name: "AgentSession",
69
+ namespace: "xnet://xnet.fyi/",
70
+ properties: {
71
+ space: relation({}),
72
+ /** AgentPassport node id. */
73
+ passport: relation({}),
74
+ channel: select({ options: AGENT_CHANNELS, required: true, default: "other" }),
75
+ /** Channel-specific peer id (chat/thread id) — forensics for approvals. */
76
+ peer: text({ maxLength: 256 }),
77
+ startedAt: date({}),
78
+ lastActiveAt: date({}),
79
+ createdAt: created(),
80
+ createdBy: createdBy()
81
+ },
82
+ document: void 0,
83
+ authorization: spaceCascadeAuthorization("space")
84
+ });
85
+ var AGENT_RISKS = [
86
+ { id: "low", name: "Low", color: "green" },
87
+ { id: "medium", name: "Medium", color: "yellow" },
88
+ { id: "high", name: "High", color: "orange" },
89
+ { id: "critical", name: "Critical", color: "red" }
90
+ ];
91
+ var AGENT_ACTION_STATUSES = [
92
+ { id: "proposed", name: "Proposed", color: "gray" },
93
+ { id: "pending-approval", name: "Pending approval", color: "yellow" },
94
+ { id: "approved", name: "Approved", color: "blue" },
95
+ { id: "denied", name: "Denied", color: "red" },
96
+ { id: "applied", name: "Applied", color: "green" },
97
+ { id: "rolled-back", name: "Rolled back", color: "purple" },
98
+ { id: "failed", name: "Failed", color: "red" }
99
+ ];
100
+ var AGENT_REVERSIBILITIES = [
101
+ { id: "reversible", name: "Reversible", color: "green" },
102
+ { id: "compensatable", name: "Compensatable", color: "yellow" },
103
+ { id: "irreversible", name: "Irreversible", color: "red" }
104
+ ];
105
+ var AgentActionSchema = defineSchema({
106
+ name: "AgentAction",
107
+ namespace: "xnet://xnet.fyi/",
108
+ properties: {
109
+ space: relation({}),
110
+ /** AgentSession node id (deterministic; see `agentSessionId`). */
111
+ session: text({ required: true, maxLength: 256 }),
112
+ /** Monotonic sequence within the session — part of the deterministic id. */
113
+ seq: number({ integer: true }),
114
+ /** Tool name, e.g. `xnet_apply_page_markdown`. */
115
+ tool: text({ required: true, maxLength: 120 }),
116
+ /**
117
+ * The operator's instruction, verbatim. Sensitive — keep the audit Space
118
+ * tightly scoped, or store a redaction (see `redactInstruction`).
119
+ */
120
+ instruction: text({ maxLength: 4e3 }),
121
+ risk: select({ options: AGENT_RISKS, required: true, default: "low" }),
122
+ status: select({ options: AGENT_ACTION_STATUSES, required: true, default: "proposed" }),
123
+ reversibility: select({
124
+ options: AGENT_REVERSIBILITIES,
125
+ required: true,
126
+ default: "compensatable"
127
+ }),
128
+ /** Kernel change ids this action produced (links semantic → signed log). */
129
+ changeIds: json({}),
130
+ /** Error message when `status` is `failed`. */
131
+ error: text({ maxLength: 2e3 }),
132
+ /** Pending-approval expiry (epoch ms) — the ceremony TTL. */
133
+ approvalExpiresAt: date({}),
134
+ createdAt: created(),
135
+ createdBy: createdBy()
136
+ },
137
+ document: void 0,
138
+ authorization: spaceCascadeAuthorization("space")
139
+ });
140
+ var AGENT_APPROVAL_SURFACES = [
141
+ // Relayed by the agent itself — forgeable by a compromised gateway, so
142
+ // chat-surface approvals are capped at medium risk by the ceremony.
143
+ { id: "chat", name: "Chat", color: "yellow" },
144
+ // Confirmed in an xNet surface and signed by the operator's own DID.
145
+ { id: "app", name: "xNet app", color: "green" },
146
+ { id: "push", name: "Push", color: "green" }
147
+ ];
148
+ var AGENT_APPROVAL_DECISIONS = [
149
+ { id: "approved", name: "Approved", color: "green" },
150
+ { id: "denied", name: "Denied", color: "red" },
151
+ { id: "expired", name: "Expired", color: "gray" }
152
+ ];
153
+ var AgentApprovalSchema = defineSchema({
154
+ name: "AgentApproval",
155
+ namespace: "xnet://xnet.fyi/",
156
+ properties: {
157
+ space: relation({}),
158
+ /** AgentAction node id this decision gates. */
159
+ action: text({ required: true, maxLength: 256 }),
160
+ surface: select({ options: AGENT_APPROVAL_SURFACES, required: true, default: "chat" }),
161
+ decision: select({ options: AGENT_APPROVAL_DECISIONS, required: true, default: "expired" }),
162
+ /**
163
+ * DID that made the decision. For `surface: 'app'`/`'push'` this is the
164
+ * operator (the node is signed by their key — unforgeable by the agent).
165
+ */
166
+ approverDID: text({ maxLength: 256 }),
167
+ /** SHA-256 hex of the nonce — never the nonce itself. */
168
+ nonceHash: text({ maxLength: 64 }),
169
+ /** Channel peer that replied, for `surface: 'chat'` forensics. */
170
+ peer: text({ maxLength: 256 }),
171
+ decidedAt: date({}),
172
+ createdAt: created(),
173
+ createdBy: createdBy()
174
+ },
175
+ document: void 0,
176
+ authorization: spaceCascadeAuthorization("space")
177
+ });
178
+ var AGENT_NOTIFICATION_KINDS = [
179
+ { id: "info", name: "Info", color: "blue" },
180
+ { id: "approval-request", name: "Approval request", color: "yellow" },
181
+ { id: "alert", name: "Alert", color: "red" },
182
+ { id: "report", name: "Report", color: "green" }
183
+ ];
184
+ var AGENT_NOTIFICATION_STATUSES = [
185
+ { id: "pending", name: "Pending", color: "yellow" },
186
+ { id: "delivered", name: "Delivered", color: "green" },
187
+ { id: "dismissed", name: "Dismissed", color: "gray" }
188
+ ];
189
+ var AgentNotificationSchema = defineSchema({
190
+ name: "AgentNotification",
191
+ namespace: "xnet://xnet.fyi/",
192
+ properties: {
193
+ space: relation({}),
194
+ kind: select({ options: AGENT_NOTIFICATION_KINDS, required: true, default: "info" }),
195
+ title: text({ required: true, maxLength: 200 }),
196
+ body: text({ maxLength: 4e3 }),
197
+ /** Related AgentAction node id, when the notification concerns one. */
198
+ action: text({ maxLength: 256 }),
199
+ status: select({ options: AGENT_NOTIFICATION_STATUSES, required: true, default: "pending" }),
200
+ createdAt: created(),
201
+ createdBy: createdBy()
202
+ },
203
+ document: void 0,
204
+ authorization: spaceCascadeAuthorization("space")
205
+ });
206
+ var sanitizeIdPart = (value) => value.replace(/[^a-zA-Z0-9:_-]/g, "_");
207
+ var agentPassportId = (agentDID) => `agent-passport:${sanitizeIdPart(agentDID)}`;
208
+ var agentSessionId = (agentDID, sessionKey) => `agent-session:${sanitizeIdPart(agentDID)}:${sanitizeIdPart(sessionKey)}`;
209
+ var agentActionId = (sessionId, seq) => `agent-action:${sanitizeIdPart(sessionId)}:${seq}`;
210
+ var agentApprovalId = (actionId) => `agent-approval:${sanitizeIdPart(actionId)}`;
211
+ var agentNotificationId = (key) => `agent-notification:${sanitizeIdPart(key)}`;
212
+ var redactInstruction = (instruction, digestHex) => `[redacted ${instruction.length} chars sha256:${digestHex.slice(0, 16)}]`;
213
+
214
+ export {
215
+ AGENT_PASSPORT_SCHEMA_IRI,
216
+ AGENT_SESSION_SCHEMA_IRI,
217
+ AGENT_ACTION_SCHEMA_IRI,
218
+ AGENT_APPROVAL_SCHEMA_IRI,
219
+ AGENT_NOTIFICATION_SCHEMA_IRI,
220
+ AGENT_RUNTIMES,
221
+ AgentPassportSchema,
222
+ AGENT_CHANNELS,
223
+ AgentSessionSchema,
224
+ AGENT_RISKS,
225
+ AGENT_ACTION_STATUSES,
226
+ AGENT_REVERSIBILITIES,
227
+ AgentActionSchema,
228
+ AGENT_APPROVAL_SURFACES,
229
+ AGENT_APPROVAL_DECISIONS,
230
+ AgentApprovalSchema,
231
+ AGENT_NOTIFICATION_KINDS,
232
+ AGENT_NOTIFICATION_STATUSES,
233
+ AgentNotificationSchema,
234
+ agentPassportId,
235
+ agentSessionId,
236
+ agentActionId,
237
+ agentApprovalId,
238
+ agentNotificationId,
239
+ redactInstruction
240
+ };
@@ -359,7 +359,7 @@ var builtInSchemas = {
359
359
  "xnet://xnet.fyi/DatabaseRow@2.0.0": () => import("./database-row-C52KCOPB.js").then((m) => m.DatabaseRowSchema),
360
360
  "xnet://xnet.fyi/DatabaseField@1.0.0": () => import("./database-field-IFUWOK7X.js").then((m) => m.DatabaseFieldSchema),
361
361
  "xnet://xnet.fyi/DatabaseSelectOption@1.0.0": () => import("./database-select-option-AEAPKXEE.js").then((m) => m.DatabaseSelectOptionSchema),
362
- "xnet://xnet.fyi/DatabaseView@1.0.0": () => import("./database-view-GUGJHS7J.js").then((m) => m.DatabaseViewSchema),
362
+ "xnet://xnet.fyi/DatabaseView@1.0.0": () => import("./database-view-NMG3AGXK.js").then((m) => m.DatabaseViewSchema),
363
363
  "xnet://xnet.fyi/SchemaExtension@1.0.0": () => import("./schema-extension-DV5D7JCQ.js").then((m) => m.SchemaExtensionSchema),
364
364
  "xnet://xnet.fyi/ExtensionField@1.0.0": () => import("./schema-extension-DV5D7JCQ.js").then((m) => m.ExtensionFieldSchema),
365
365
  "xnet://xnet.fyi/Task@1.0.0": () => import("./task-DHTPD66H.js").then((m) => m.TaskSchema),
@@ -444,6 +444,12 @@ var builtInSchemas = {
444
444
  "xnet://xnet.fyi/GameAsset@1.0.0": () => import("./game-7WW2JX6O.js").then((m) => m.GameAssetSchema),
445
445
  // Memory schema pack (exploration 0211)
446
446
  "xnet://xnet.fyi/MemoryItem@1.0.0": () => import("./memory-5PD3XCKB.js").then((m) => m.MemoryItemSchema),
447
+ // Agent schema pack (exploration 0337)
448
+ "xnet://xnet.fyi/AgentPassport@1.0.0": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentPassportSchema),
449
+ "xnet://xnet.fyi/AgentSession@1.0.0": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentSessionSchema),
450
+ "xnet://xnet.fyi/AgentAction@1.0.0": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentActionSchema),
451
+ "xnet://xnet.fyi/AgentApproval@1.0.0": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentApprovalSchema),
452
+ "xnet://xnet.fyi/AgentNotification@1.0.0": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentNotificationSchema),
447
453
  // Legacy unversioned IRIs (aliases for the current version)
448
454
  "xnet://xnet.fyi/Page": () => import("./page-UE5NPYEF.js").then((m) => m.PageSchema),
449
455
  "xnet://xnet.fyi/Folder": () => import("./folder-NU5TJFOT.js").then((m) => m.FolderSchema),
@@ -452,7 +458,7 @@ var builtInSchemas = {
452
458
  "xnet://xnet.fyi/DatabaseRow": () => import("./database-row-C52KCOPB.js").then((m) => m.DatabaseRowSchema),
453
459
  "xnet://xnet.fyi/DatabaseField": () => import("./database-field-IFUWOK7X.js").then((m) => m.DatabaseFieldSchema),
454
460
  "xnet://xnet.fyi/DatabaseSelectOption": () => import("./database-select-option-AEAPKXEE.js").then((m) => m.DatabaseSelectOptionSchema),
455
- "xnet://xnet.fyi/DatabaseView": () => import("./database-view-GUGJHS7J.js").then((m) => m.DatabaseViewSchema),
461
+ "xnet://xnet.fyi/DatabaseView": () => import("./database-view-NMG3AGXK.js").then((m) => m.DatabaseViewSchema),
456
462
  "xnet://xnet.fyi/SchemaExtension": () => import("./schema-extension-DV5D7JCQ.js").then((m) => m.SchemaExtensionSchema),
457
463
  "xnet://xnet.fyi/ExtensionField": () => import("./schema-extension-DV5D7JCQ.js").then((m) => m.ExtensionFieldSchema),
458
464
  "xnet://xnet.fyi/Task": () => import("./task-DHTPD66H.js").then((m) => m.TaskSchema),
@@ -530,7 +536,13 @@ var builtInSchemas = {
530
536
  "xnet://xnet.fyi/GameEconomyEntry": () => import("./game-7WW2JX6O.js").then((m) => m.GameEconomyEntrySchema),
531
537
  "xnet://xnet.fyi/GameAsset": () => import("./game-7WW2JX6O.js").then((m) => m.GameAssetSchema),
532
538
  // Memory schema pack (exploration 0211)
533
- "xnet://xnet.fyi/MemoryItem": () => import("./memory-5PD3XCKB.js").then((m) => m.MemoryItemSchema)
539
+ "xnet://xnet.fyi/MemoryItem": () => import("./memory-5PD3XCKB.js").then((m) => m.MemoryItemSchema),
540
+ // Agent schema pack (exploration 0337)
541
+ "xnet://xnet.fyi/AgentPassport": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentPassportSchema),
542
+ "xnet://xnet.fyi/AgentSession": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentSessionSchema),
543
+ "xnet://xnet.fyi/AgentAction": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentActionSchema),
544
+ "xnet://xnet.fyi/AgentApproval": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentApprovalSchema),
545
+ "xnet://xnet.fyi/AgentNotification": () => import("./agent-OFQJQMNB.js").then((m) => m.AgentNotificationSchema)
534
546
  };
535
547
 
536
548
  // src/schema/effective-schema.ts
@@ -31,7 +31,8 @@ var DatabaseViewSchema = defineSchema({
31
31
  { id: "gallery", name: "Gallery" },
32
32
  { id: "calendar", name: "Calendar" },
33
33
  { id: "timeline", name: "Timeline" },
34
- { id: "form", name: "Form" }
34
+ { id: "form", name: "Form" },
35
+ { id: "map", name: "Map" }
35
36
  ],
36
37
  default: "table"
37
38
  }),
@@ -62,11 +63,28 @@ var DatabaseViewSchema = defineSchema({
62
63
  coverField: text({ maxLength: 100 }),
63
64
  /** Card size ('small' | 'medium' | 'large') */
64
65
  cardSize: text({ maxLength: 10 }),
66
+ /** Cover image fit ('cover' | 'contain') */
67
+ coverFit: text({ maxLength: 10 }),
68
+ /** Select field ID used to color cards/bars/pins */
69
+ colorBy: text({ maxLength: 100 }),
70
+ /**
71
+ * Per-group presentation overrides keyed by select option ID (or
72
+ * '__none__' for the null group): manual stack order + hidden stacks.
73
+ * Collapse state lives in `collapsedGroups`.
74
+ */
75
+ groupMeta: json({}),
65
76
  // Calendar/Timeline specific
66
77
  /** Start date field ID */
67
78
  dateField: text({ maxLength: 100 }),
68
79
  /** End date field ID */
69
80
  endDateField: text({ maxLength: 100 }),
81
+ // Map specific (exploration 0337)
82
+ /** Latitude field ID (number field) */
83
+ latField: text({ maxLength: 100 }),
84
+ /** Longitude field ID (number field) */
85
+ lngField: text({ maxLength: 100 }),
86
+ /** Persisted map camera (center + zoom) — whole-object LWW */
87
+ mapViewport: json({}),
70
88
  // Form specific (exploration 0278)
71
89
  /** Form question config (FormViewConfig) — whole-object LWW */
72
90
  formConfig: json({}),
@@ -1,6 +1,6 @@
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 { ar as NodeQueryMaterializedViewOptions, h as NodeState, E as PropertyType, S as SchemaIRI, a as Schema } from './types-C64g-IXg.js';
3
- import { N as NodeStore } from './store-BIDKtpjW.js';
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-xc7NdHaW.js';
2
+ import { ar as NodeQueryMaterializedViewOptions, h as NodeState, E as PropertyType, S as SchemaIRI, a as Schema } from './types-BFnYlC8Z.js';
3
+ import { N as NodeStore } from './store-CyGU48TX.js';
4
4
  import * as Y from 'yjs';
5
5
 
6
6
  /**
@@ -1,12 +1,12 @@
1
- import { W as FilterGroup, E as ColumnDefinition, B as ColumnType, V as ViewType, Z as SortConfig } from '../form-types-BlZvpDEE.js';
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-DNcpkYAA.js';
4
- import '../types-C64g-IXg.js';
1
+ import { W as FilterGroup, E as ColumnDefinition, B as ColumnType, V as ViewType, Z as SortConfig } from '../form-types-xc7NdHaW.js';
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-xc7NdHaW.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-CU6rTzC0.js';
4
+ import '../types-BFnYlC8Z.js';
5
5
  import '@xnetjs/core';
6
6
  import '@xnetjs/crypto';
7
7
  import '@xnetjs/sqlite';
8
8
  import '@xnetjs/sync';
9
- import '../store-BIDKtpjW.js';
9
+ import '../store-CyGU48TX.js';
10
10
  import 'yjs';
11
11
 
12
12
  /**
@@ -252,8 +252,7 @@ import {
252
252
  validateTemplate,
253
253
  visibleFormQuestions,
254
254
  wouldCreateCircular
255
- } from "../chunk-DESSPQBS.js";
256
- import "../chunk-S5RP5RKY.js";
255
+ } from "../chunk-II7WS264.js";
257
256
  import "../chunk-PMUQACPY.js";
258
257
  import "../chunk-KTPSQJ5L.js";
259
258
  import {
@@ -268,8 +267,9 @@ import {
268
267
  import "../chunk-OF6455OV.js";
269
268
  import "../chunk-WWQO7QKV.js";
270
269
  import "../chunk-OIWW5TG3.js";
271
- import "../chunk-TRPXLCND.js";
270
+ import "../chunk-SMYZILJ6.js";
272
271
  import "../chunk-JA56EQJO.js";
272
+ import "../chunk-S5RP5RKY.js";
273
273
  import "../chunk-LK5ZIAIE.js";
274
274
  import "../chunk-RRXJNZX5.js";
275
275
  import "../chunk-D4LUUZYD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DatabaseViewSchema
3
- } from "./chunk-TRPXLCND.js";
3
+ } from "./chunk-SMYZILJ6.js";
4
4
  import "./chunk-JA56EQJO.js";
5
5
  import "./chunk-LK5ZIAIE.js";
6
6
  import "./chunk-RRXJNZX5.js";
@@ -393,7 +393,7 @@ declare function computeColumnSummary(rows: readonly SummaryRow[], column: Summa
393
393
  /**
394
394
  * Available view types.
395
395
  */
396
- type ViewType = 'table' | 'board' | 'list' | 'gallery' | 'calendar' | 'timeline' | 'form';
396
+ type ViewType = 'table' | 'board' | 'list' | 'gallery' | 'calendar' | 'timeline' | 'form' | 'map';
397
397
  /**
398
398
  * View configuration stored in the database's Y.Doc.
399
399
  */
@@ -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, w as NodeChangeEvent, x as GrantIndex, O as OfflineAuthPolicy, D as DefinedSchema } from './types-C64g-IXg.js';
3
- import { S as SchemaRegistry } from './registry-s1fYgCSj.js';
2
+ import { a as Schema, h as NodeState, w as NodeChangeEvent, x as GrantIndex, O as OfflineAuthPolicy, D as DefinedSchema } from './types-BFnYlC8Z.js';
3
+ import { S as SchemaRegistry } from './registry-Wk8Rt0kh.js';
4
4
 
5
5
  /**
6
6
  * Permission-matrix reflection.