@almadar/core 10.30.0 → 10.31.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.
@@ -250,6 +250,63 @@ declare const IdentityLedgerSchema: z.ZodObject<{
250
250
  schemaVersion: 1;
251
251
  }>;
252
252
 
253
+ /**
254
+ * JSON primitives — the universal "data crossed a boundary" type.
255
+ *
256
+ * Every value that arrives over the wire from an LLM (tool-call args),
257
+ * from disk (workspace files), or from an HTTP body before
258
+ * domain-specific validation is a `JsonValue`. Narrow with a typed
259
+ * predicate (`is`-guard) at the boundary; don't widen back to `unknown`.
260
+ *
261
+ * `JsonObject` and `ToolArgs` are aliases for the common
262
+ * `Record<string, JsonValue>` shape. `ToolArgs` is the name the
263
+ * agent surface uses for LLM-emitted tool-call arguments; `JsonObject`
264
+ * is the general-purpose alias. They are the same type — the alias
265
+ * exists so call sites read at the right semantic level.
266
+ *
267
+ * Why not `Record<string, unknown>`? Two reasons. (1) `unknown` widens
268
+ * back to anything, which defeats the purpose of typing the boundary.
269
+ * (2) The `@almadar/eslint-plugin/no-record-string-unknown` rule blocks
270
+ * the wider form — `JsonValue`-based records are the typed answer.
271
+ *
272
+ * @packageDocumentation
273
+ */
274
+
275
+ /**
276
+ * Recursive JSON value union — every shape JSON can carry.
277
+ */
278
+ type JsonValue = string | number | boolean | null | JsonValue[] | {
279
+ [key: string]: JsonValue;
280
+ };
281
+ /**
282
+ * JSON object — keyed string→JsonValue. The wire form of arbitrary
283
+ * structured data. Replaces `Record<string, unknown>` at typed
284
+ * boundaries (LLM emits, file reads, HTTP bodies).
285
+ */
286
+ type JsonObject = {
287
+ [key: string]: JsonValue;
288
+ };
289
+ /**
290
+ * LLM tool-call arguments — same shape as `JsonObject`, named for the
291
+ * agent-surface call site. Each tool's `execute(args: ToolArgs)`
292
+ * receives this and narrows via an `is`-guard predicate before any
293
+ * field access.
294
+ */
295
+ type ToolArgs = JsonObject;
296
+ /**
297
+ * Type guard: is the given value a JSON primitive (non-array,
298
+ * non-object)? Used by walkers that decide whether to recurse.
299
+ */
300
+ declare function isJsonPrimitive(value: JsonValue): value is string | number | boolean | null;
301
+ /**
302
+ * Type guard: is the given value a JSON object (non-array, non-null)?
303
+ */
304
+ declare function isJsonObject(value: JsonValue): value is JsonObject;
305
+ /**
306
+ * Type guard: is the given value a JSON array?
307
+ */
308
+ declare function isJsonArray(value: JsonValue): value is JsonValue[];
309
+
253
310
  /**
254
311
  * Field Types for Orbital Units
255
312
  *
@@ -277,7 +334,7 @@ type RelationCardinality = 'one' | 'many' | 'one-to-many' | 'many-to-one' | 'man
277
334
  * Configuration for relation fields (foreign keys).
278
335
  * Matches Rust compiler's RelationDefinition format.
279
336
  */
280
- interface RelationConfig {
337
+ type RelationConfig = {
281
338
  /** Target entity name (e.g., 'User', 'Task') - matches Rust's `entity` field */
282
339
  entity: string;
283
340
  /** V4 dual-carry id sibling of `entity` — optional until the Phase-7 flip. */
@@ -306,7 +363,7 @@ interface RelationConfig {
306
363
  * @deprecated Use cardinality instead
307
364
  */
308
365
  type?: RelationCardinality;
309
- }
366
+ };
310
367
  declare const RelationConfigSchema: z.ZodEffects<z.ZodObject<{
311
368
  entity: z.ZodString;
312
369
  entityId: z.ZodOptional<z.ZodEffects<z.ZodString, EntityId, string>>;
@@ -363,7 +420,7 @@ declare const FieldFormatSchema: z.ZodEnum<["email", "url", "phone", "date", "da
363
420
  */
364
421
  type ScalarFieldType = 'string' | 'number' | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'trait' | 'slot' | 'pattern';
365
422
  /** Fields shared across every variant. */
366
- interface EntityFieldBase {
423
+ type EntityFieldBase = {
367
424
  /**
368
425
  * Field name (camelCase). Optional for nested item/property descriptors
369
426
  * where the name is implied by the parent (`items`, `properties[k]`).
@@ -372,8 +429,8 @@ interface EntityFieldBase {
372
429
  name?: string;
373
430
  /** Whether the field is required */
374
431
  required?: boolean;
375
- /** Default value */
376
- default?: unknown;
432
+ /** Default value — parsed from `.orb`, always JSON-shaped. */
433
+ default?: JsonValue;
377
434
  /** Validation format */
378
435
  format?: FieldFormat;
379
436
  /** Minimum value (for number) or length (for string) */
@@ -396,51 +453,51 @@ interface EntityFieldBase {
396
453
  /** User-vocabulary synonyms (authored `@synonyms "..."` in `.lolo`).
397
454
  * Free text feeding catalog search / curation field-matching. */
398
455
  synonyms?: string;
399
- }
456
+ };
400
457
  /**
401
458
  * Scalar / structural fields — no type-dependent payload required.
402
459
  * `values?` is permitted as an OPTIONAL UI/validation hint (e.g. lolo's
403
460
  * `'a' | 'b' | 'c'` string-union sugar lowers to `type: 'string', values:
404
461
  * [...]`). Only `EnumEntityField` MANDATES values.
405
462
  */
406
- interface ScalarEntityField extends EntityFieldBase {
463
+ type ScalarEntityField = EntityFieldBase & {
407
464
  type: ScalarFieldType;
408
465
  /** Optional vocabulary hint for scalar fields (e.g. string unions
409
466
  * authored as `'a'|'b'|'c'` in lolo). Not required at this variant. */
410
467
  values?: string[];
411
- }
468
+ };
412
469
  /** `type: 'enum'` REQUIRES the closed vocabulary in `values`. */
413
- interface EnumEntityField extends EntityFieldBase {
470
+ type EnumEntityField = EntityFieldBase & {
414
471
  type: 'enum';
415
472
  /** Closed string vocabulary the field accepts. */
416
473
  values: string[];
417
- }
474
+ };
418
475
  /** `type: 'relation'` REQUIRES the relation target binding. */
419
- interface RelationEntityField extends EntityFieldBase {
476
+ type RelationEntityField = EntityFieldBase & {
420
477
  type: 'relation';
421
478
  /** Relation target binding (entity + cardinality). */
422
479
  relation: RelationConfig;
423
- }
480
+ };
424
481
  /** `type: 'array'` — element schema in `items` strongly preferred but
425
482
  * optional for legacy compatibility with codegen-emitted scalar-array
426
483
  * fields (e.g. `{type: 'array', default: []}`). The lolo lowerer + Rust
427
484
  * validator catch typed-element-required cases downstream. */
428
- interface ArrayEntityField extends EntityFieldBase {
485
+ type ArrayEntityField = EntityFieldBase & {
429
486
  type: 'array';
430
487
  /** Element schema for the array. */
431
488
  items?: EntityField;
432
- }
489
+ };
433
490
  /**
434
491
  * `type: 'object'` — a fixed-key struct (fields in `properties`) OR a
435
492
  * dynamic-key map (`Map K V` in `.lolo`; the uniform value schema lives in
436
493
  * `items`, mirroring an array's element schema). A distinct variant so `items`
437
494
  * is statically allowed only on object/array fields, never on scalars.
438
495
  */
439
- interface ObjectEntityField extends EntityFieldBase {
496
+ type ObjectEntityField = EntityFieldBase & {
440
497
  type: 'object';
441
498
  /** Uniform value schema for a dynamic-key map (`Map K V`). */
442
499
  items?: EntityField;
443
- }
500
+ };
444
501
  /**
445
502
  * Entity field definition — discriminated union by `type`. Each variant
446
503
  * statically enforces its dependent payload (`values` for enum,
@@ -807,7 +864,7 @@ declare const TilesheetSchema: z.ZodObject<{
807
864
  * Semantic reference to an asset (not a hardcoded path).
808
865
  * Resolved to actual paths at compile time via asset maps.
809
866
  */
810
- interface SemanticAssetRef {
867
+ type SemanticAssetRef = {
811
868
  /**
812
869
  * Entity role — a free string. Core no longer constrains the vocabulary to
813
870
  * `EntityRole` (that enum stays an exported shared reference for the asset
@@ -826,7 +883,7 @@ interface SemanticAssetRef {
826
883
  dimension?: AssetDimension;
827
884
  /** Rendering aspect ratio (square sprite/portrait/tile, 16:9 backdrop, 5:7 card, 8:1 fx-strip). */
828
885
  aspect?: AssetAspect;
829
- }
886
+ };
830
887
  declare const SemanticAssetRefSchema: z.ZodObject<{
831
888
  role: z.ZodString;
832
889
  category: z.ZodString;
@@ -1207,7 +1264,7 @@ declare const EntityPersistenceSchema: z.ZodEnum<["persistent", "runtime"]>;
1207
1264
  * This is a simplified entity definition optimized for orbital composition.
1208
1265
  * Collection names are derived automatically from persistence type if not provided.
1209
1266
  */
1210
- interface OrbitalEntity {
1267
+ type OrbitalEntity = {
1211
1268
  /** V4 dual-carry id sibling of `name` — optional until the Phase-7 flip. */
1212
1269
  id?: EntityId;
1213
1270
  /** Entity name (PascalCase, e.g., "Task", "User") */
@@ -1232,7 +1289,7 @@ interface OrbitalEntity {
1232
1289
  visual_prompt?: string;
1233
1290
  /** Semantic asset reference for visual representation (games) */
1234
1291
  assetRef?: SemanticAssetRef;
1235
- }
1292
+ };
1236
1293
  declare const OrbitalEntitySchema: z.ZodObject<{
1237
1294
  name: z.ZodString;
1238
1295
  persistence: z.ZodDefault<z.ZodEnum<["persistent", "runtime"]>>;
@@ -1506,8 +1563,8 @@ type EntityData = Record<string, EntityRow[]>;
1506
1563
  *
1507
1564
  * DO NOT EDIT MANUALLY — regenerated by almadar-pattern-sync `patterns` command.
1508
1565
  *
1509
- * Generated: 2026-07-16T19:33:38.346Z
1510
- * Pattern count: 261
1566
+ * Generated: 2026-07-21T09:54:57.817Z
1567
+ * Pattern count: 263
1511
1568
  */
1512
1569
 
1513
1570
  /**
@@ -1519,7 +1576,7 @@ type PatternPropValue = Record<string, FieldValue | undefined>;
1519
1576
  * All valid pattern type names from @almadar/core/patterns registry.
1520
1577
  * Use this type in render-ui effects for compile-time validation.
1521
1578
  */
1522
- type PatternType = 'about-page-template' | 'accordion' | 'action-palette' | 'action-tile' | 'activation-block' | 'alert' | 'algorithm-canvas' | 'animated-counter' | 'animated-graphic' | 'animated-reveal' | 'article-section' | 'aside' | 'atlas-image' | 'atlas-panel' | 'auth-layout' | 'avatar' | 'badge' | 'behavior-view' | 'biology-canvas' | 'bloom-quiz-block' | 'book-chapter-view' | 'book-cover-page' | 'book-nav-bar' | 'book-table-of-contents' | 'book-viewer' | 'box' | 'branching-logic-builder' | 'breadcrumb' | 'button' | 'calendar-grid' | 'canvas' | 'canvas-2d' | 'card' | 'carousel' | 'case-study-card' | 'case-study-organism' | 'center' | 'chart' | 'chart-legend' | 'chat-bar' | 'checkbox' | 'chemistry-canvas' | 'choice-button' | 'code-block' | 'code-runner-panel' | 'community-links' | 'conditional-wrapper' | 'confetti-effect' | 'confirm-dialog' | 'connection-block' | 'container' | 'content-renderer' | 'content-section' | 'control-button' | 'control-grid' | 'counter-template' | 'cta-banner' | 'dashboard-grid' | 'dashboard-layout' | 'data-grid' | 'data-list' | 'date-range-picker' | 'date-range-selector' | 'day-cell' | 'detail-panel' | 'dialog' | 'dialogue-bubble' | 'divider' | 'doc-breadcrumb' | 'doc-pagination' | 'doc-search' | 'doc-sidebar' | 'doc-toc' | 'document-viewer' | 'draw-shape' | 'draw-shape-layer' | 'draw-sprite' | 'draw-sprite-layer' | 'draw-text' | 'draw-text-layer' | 'drawer' | 'drawer-slot' | 'edge-decoration' | 'empty-state' | 'entity-cards' | 'entity-list' | 'entity-table' | 'error-boundary' | 'error-state' | 'feature-card' | 'feature-detail-page-template' | 'feature-grid' | 'feature-grid-organism' | 'file-tree' | 'filter-group' | 'filter-pill' | 'flex' | 'flip-card' | 'flip-container' | 'floating-action-button' | 'form' | 'form-actions' | 'form-field' | 'form-layout' | 'form-section' | 'form-section-header' | 'game-audio-toggle' | 'game-hud' | 'game-icon' | 'game-menu' | 'game-shell' | 'generic-app-template' | 'geometric-pattern' | 'gradient-divider' | 'graph-canvas' | 'graph-view' | 'grid' | 'header' | 'health-bar' | 'hero-organism' | 'hero-section' | 'hstack' | 'icon' | 'infinite-scroll-sentinel' | 'input' | 'input-group' | 'install-box' | 'jazari-state-machine' | 'label' | 'landing-page-template' | 'law-reference-tooltip' | 'learning-canvas' | 'lightbox' | 'likert-scale' | 'line-chart' | 'loading-state' | 'map-view' | 'markdown-content' | 'marketing-footer' | 'marketing-stat-card' | 'master-detail' | 'master-detail-layout' | 'math-canvas' | 'matrix-question' | 'media-gallery' | 'menu' | 'meter' | 'modal' | 'modal-slot' | 'module-card' | 'navigation' | 'notification' | 'number-stepper' | 'option-constraint-group' | 'orbital-visualization' | 'overlay' | 'page-header' | 'pagination' | 'pattern-tile' | 'physics-canvas' | 'popover' | 'positioned-canvas' | 'pricing-card' | 'pricing-grid' | 'pricing-organism' | 'pricing-page-template' | 'progress-bar' | 'progress-dots' | 'pull-quote' | 'pull-to-refresh' | 'qr-scanner' | 'quiz-block' | 'radio' | 'range-slider' | 'reflection-block' | 'relation-select' | 'repeatable-form-section' | 'reply-tree' | 'rich-block-editor' | 'runtime-debugger' | 'scaled-diagram' | 'score-display' | 'search-input' | 'section' | 'section-header' | 'segment-renderer' | 'select' | 'sequence-bar' | 'service-catalog' | 'showcase-card' | 'showcase-organism' | 'side-panel' | 'sidebar' | 'signature-pad' | 'simple-grid' | 'skeleton' | 'social-proof' | 'sortable-list' | 'spacer' | 'sparkline' | 'spinner' | 'split' | 'split-pane' | 'split-section' | 'stack' | 'star-rating' | 'stat-badge' | 'stat-card' | 'stat-display' | 'state-graph' | 'state-json-view' | 'state-machine-view' | 'stats-grid' | 'stats-organism' | 'status-dot' | 'step-flow' | 'step-flow-organism' | 'subagent-trace-panel' | 'svg-branch' | 'svg-connection' | 'svg-flow' | 'svg-grid' | 'svg-lobe' | 'svg-mesh' | 'svg-morph' | 'svg-node' | 'svg-pulse' | 'svg-ring' | 'svg-shield' | 'svg-stack' | 'swipeable-row' | 'switch' | 'tabbed-container' | 'table-view' | 'tabs' | 'tag-cloud' | 'tag-input' | 'team-card' | 'team-organism' | 'text-highlight' | 'textarea' | 'theme-toggle' | 'time-slot-cell' | 'timeline' | 'timer-display' | 'toast-slot' | 'tooltip' | 'trait-frame' | 'trait-slot' | 'trend-indicator' | 'typewriter-text' | 'typography' | 'ui-slot-renderer' | 'upload-drop-zone' | 'version-diff' | 'violation-alert' | 'vote-stack' | 'vstack' | 'wizard-container' | 'wizard-navigation' | 'wizard-progress';
1579
+ type PatternType = 'about-page-template' | 'accordion' | 'action-palette' | 'action-tile' | 'activation-block' | 'alert' | 'algorithm-canvas' | 'animated-counter' | 'animated-graphic' | 'animated-reveal' | 'article-section' | 'aside' | 'atlas-image' | 'atlas-panel' | 'auth-layout' | 'avatar' | 'badge' | 'behavior-view' | 'biology-canvas' | 'bloom-quiz-block' | 'book-chapter-view' | 'book-cover-page' | 'book-nav-bar' | 'book-table-of-contents' | 'book-viewer' | 'box' | 'branching-logic-builder' | 'breadcrumb' | 'button' | 'calendar-grid' | 'canvas' | 'canvas-2d' | 'card' | 'carousel' | 'case-study-card' | 'case-study-organism' | 'center' | 'chart' | 'chart-legend' | 'chat-bar' | 'checkbox' | 'chemistry-canvas' | 'choice-button' | 'code-block' | 'code-runner-panel' | 'community-links' | 'conditional-wrapper' | 'confetti-effect' | 'confirm-dialog' | 'connection-block' | 'container' | 'content-renderer' | 'content-section' | 'control-button' | 'control-grid' | 'counter-template' | 'cta-banner' | 'dashboard-grid' | 'dashboard-layout' | 'data-grid' | 'data-list' | 'date-range-picker' | 'date-range-selector' | 'day-cell' | 'detail-panel' | 'dialog' | 'dialogue-bubble' | 'divider' | 'doc-breadcrumb' | 'doc-pagination' | 'doc-search' | 'doc-sidebar' | 'doc-toc' | 'document-viewer' | 'draw-shape' | 'draw-shape-layer' | 'draw-sprite' | 'draw-sprite-layer' | 'draw-text' | 'draw-text-layer' | 'drawer' | 'drawer-slot' | 'edge-decoration' | 'empty-state' | 'entity-cards' | 'entity-list' | 'entity-table' | 'error-boundary' | 'error-state' | 'feature-card' | 'feature-detail-page-template' | 'feature-grid' | 'feature-grid-organism' | 'file-tree' | 'filter-group' | 'filter-pill' | 'flex' | 'flip-card' | 'flip-container' | 'floating-action-button' | 'form' | 'form-actions' | 'form-field' | 'form-layout' | 'form-section' | 'form-section-header' | 'game-audio-toggle' | 'game-hud' | 'game-icon' | 'game-menu' | 'game-shell' | 'generic-app-template' | 'geometric-pattern' | 'gradient-divider' | 'graph-canvas' | 'graph-view' | 'grid' | 'header' | 'health-bar' | 'hero-organism' | 'hero-section' | 'hstack' | 'icon' | 'infinite-scroll-sentinel' | 'input' | 'input-group' | 'install-box' | 'jazari-state-machine' | 'label' | 'landing-page-template' | 'law-reference-tooltip' | 'learning-canvas' | 'lightbox' | 'likert-scale' | 'line-chart' | 'loading-state' | 'map-view' | 'markdown-content' | 'marketing-footer' | 'marketing-stat-card' | 'master-detail' | 'master-detail-layout' | 'math-canvas' | 'matrix-question' | 'media-gallery' | 'menu' | 'meter' | 'modal' | 'modal-slot' | 'module-card' | 'navigation' | 'notification' | 'number-stepper' | 'option-constraint-group' | 'orbital-visualization' | 'overlay' | 'page-header' | 'page-transition' | 'pagination' | 'pattern-tile' | 'physics-canvas' | 'popover' | 'positioned-canvas' | 'presence' | 'pricing-card' | 'pricing-grid' | 'pricing-organism' | 'pricing-page-template' | 'progress-bar' | 'progress-dots' | 'pull-quote' | 'pull-to-refresh' | 'qr-scanner' | 'quiz-block' | 'radio' | 'range-slider' | 'reflection-block' | 'relation-select' | 'repeatable-form-section' | 'reply-tree' | 'rich-block-editor' | 'runtime-debugger' | 'scaled-diagram' | 'score-display' | 'search-input' | 'section' | 'section-header' | 'segment-renderer' | 'select' | 'sequence-bar' | 'service-catalog' | 'showcase-card' | 'showcase-organism' | 'side-panel' | 'sidebar' | 'signature-pad' | 'simple-grid' | 'skeleton' | 'social-proof' | 'sortable-list' | 'spacer' | 'sparkline' | 'spinner' | 'split' | 'split-pane' | 'split-section' | 'stack' | 'star-rating' | 'stat-badge' | 'stat-card' | 'stat-display' | 'state-graph' | 'state-json-view' | 'state-machine-view' | 'stats-grid' | 'stats-organism' | 'status-dot' | 'step-flow' | 'step-flow-organism' | 'subagent-trace-panel' | 'svg-branch' | 'svg-connection' | 'svg-flow' | 'svg-grid' | 'svg-lobe' | 'svg-mesh' | 'svg-morph' | 'svg-node' | 'svg-pulse' | 'svg-ring' | 'svg-shield' | 'svg-stack' | 'swipeable-row' | 'switch' | 'tabbed-container' | 'table-view' | 'tabs' | 'tag-cloud' | 'tag-input' | 'team-card' | 'team-organism' | 'text-highlight' | 'textarea' | 'theme-toggle' | 'time-slot-cell' | 'timeline' | 'timer-display' | 'toast-slot' | 'tooltip' | 'trait-frame' | 'trait-slot' | 'trend-indicator' | 'typewriter-text' | 'typography' | 'ui-slot-renderer' | 'upload-drop-zone' | 'version-diff' | 'violation-alert' | 'vote-stack' | 'vstack' | 'wizard-container' | 'wizard-navigation' | 'wizard-progress';
1523
1580
  /**
1524
1581
  * Pattern props map — each pattern type maps to its valid props interface.
1525
1582
  */
@@ -2837,20 +2894,15 @@ interface PatternPropsMap {
2837
2894
  };
2838
2895
  'form-actions': {
2839
2896
  type: 'form-actions';
2897
+ children?: unknown | string | SExpr;
2898
+ primary?: PatternPropValue | string | SExpr;
2899
+ secondary?: unknown[] | string | SExpr;
2900
+ variant?: string | SExpr;
2901
+ orientation?: string | SExpr;
2840
2902
  className?: string | SExpr;
2841
- isLoading?: boolean | string | SExpr;
2842
- error?: PatternPropValue | string | SExpr;
2843
- sortBy?: string | SExpr;
2844
- sortDirection?: string | SExpr;
2845
- searchValue?: string | SExpr;
2846
- page?: number | string | SExpr;
2847
- pageSize?: number | string | SExpr;
2848
- totalCount?: number | string | SExpr;
2849
- activeFilters?: PatternPropValue | string | SExpr;
2850
- selectedIds?: unknown[] | string | SExpr;
2851
- children: unknown | string | SExpr;
2852
- sticky?: boolean | string | SExpr;
2853
- align?: string | SExpr;
2903
+ entity?: string | SExpr;
2904
+ filters?: unknown[] | string | SExpr;
2905
+ look?: string | SExpr;
2854
2906
  };
2855
2907
  'form-field': {
2856
2908
  type: 'form-field';
@@ -2973,6 +3025,7 @@ interface PatternPropsMap {
2973
3025
  backgroundAsset?: PatternPropValue | string | SExpr;
2974
3026
  hudBackgroundAsset?: PatternPropValue | string | SExpr;
2975
3027
  fontFamily?: string | SExpr;
3028
+ 'data-theme'?: string | SExpr;
2976
3029
  };
2977
3030
  'generic-app-template': {
2978
3031
  type: 'generic-app-template';
@@ -3297,6 +3350,7 @@ interface PatternPropsMap {
3297
3350
  title?: string | SExpr;
3298
3351
  message?: string | SExpr;
3299
3352
  className?: string | SExpr;
3353
+ fullPage?: boolean | string | SExpr;
3300
3354
  };
3301
3355
  'map-view': {
3302
3356
  type: 'map-view';
@@ -3452,6 +3506,7 @@ interface PatternPropsMap {
3452
3506
  type: 'modal';
3453
3507
  isOpen?: boolean | string | SExpr;
3454
3508
  onClose?: ((...args: unknown[]) => unknown) | string | SExpr;
3509
+ onExited?: ((...args: unknown[]) => unknown) | string | SExpr;
3455
3510
  title?: string | SExpr;
3456
3511
  children?: unknown | string | SExpr;
3457
3512
  footer?: unknown | string | SExpr;
@@ -3566,6 +3621,12 @@ interface PatternPropsMap {
3566
3621
  children?: unknown | string | SExpr;
3567
3622
  className?: string | SExpr;
3568
3623
  };
3624
+ 'page-transition': {
3625
+ type: 'page-transition';
3626
+ locationKey: string | SExpr;
3627
+ children: unknown | string | SExpr;
3628
+ className?: string | SExpr;
3629
+ };
3569
3630
  'pagination': {
3570
3631
  type: 'pagination';
3571
3632
  currentPage: number | string | SExpr;
@@ -3633,6 +3694,12 @@ interface PatternPropsMap {
3633
3694
  moveEvent?: string | SExpr;
3634
3695
  className?: string | SExpr;
3635
3696
  };
3697
+ 'presence': {
3698
+ type: 'presence';
3699
+ show: boolean | string | SExpr;
3700
+ className?: string | SExpr;
3701
+ children: unknown | string | SExpr;
3702
+ };
3636
3703
  'pricing-card': {
3637
3704
  type: 'pricing-card';
3638
3705
  name: string | SExpr;
@@ -4892,4 +4959,4 @@ declare const PATTERN_TYPES: PatternType[];
4892
4959
  */
4893
4960
  declare function isValidPatternType(type: string): type is PatternType;
4894
4961
 
4895
- export { FieldSchema as $, type AnyPatternConfig as A, type Camera as B, CAMERA_MODES as C, type CameraMode as D, type EntityField as E, type FieldValue as F, CameraModeSchema as G, CameraSchema as H, ENTITY_ROLES as I, type EntityData as J, type EntityFieldInput as K, EntityFieldSchema as L, EntityIdSchema as M, EntityPersistenceSchema as N, type OrbitalId as O, type PageId as P, type EntityRole as Q, type RelationConfig as R, EntityRoleSchema as S, type TraitId as T, EntitySchema as U, type EntityWith as V, type EnumEntityField as W, EventIdSchema as X, type Field as Y, type FieldFormat as Z, FieldFormatSchema as _, type EntityPersistence as a, isEntityId as a$, type FieldType as a0, FieldTypeSchema as a1, type IdForKind as a2, type IdKind as a3, type IdentityLedger as a4, IdentityLedgerSchema as a5, type LedgerEntry as a6, LedgerEntrySchema as a7, type LedgerKind as a8, LedgerKindSchema as a9, type SpriteSheetAtlasInput as aA, SpriteSheetAtlasSchema as aB, type SubTexture as aC, SubTextureSchema as aD, type TextureAtlas as aE, TextureAtlasSchema as aF, type ThemeId as aG, ThemeIdSchema as aH, type Tilesheet as aI, TilesheetSchema as aJ, TraitIdSchema as aK, VISUAL_STYLES as aL, type VisualStyle as aM, VisualStyleSchema as aN, asEntityId as aO, asEventId as aP, asOrbitalId as aQ, asPageId as aR, asPaletteEntryId as aS, asServiceId as aT, asThemeId as aU, asTraitId as aV, createAssetKey as aW, deriveCollection as aX, getDefaultAnimationsForRole as aY, idKindOf as aZ, idPrefix as a_, type OrbitalEntity as aa, type OrbitalEntityInput as ab, OrbitalEntitySchema as ac, OrbitalIdSchema as ad, PATTERN_TYPES as ae, PageIdSchema as af, type PaletteEntryId as ag, PaletteEntryIdSchema as ah, type PatternConfig as ai, type PatternProps as aj, type PatternPropsMap as ak, type PatternType as al, RelationConfigSchema as am, type RelationEntityField as an, SPRITE_DIRECTIONS as ao, type ScalarEntityField as ap, type ScenePos as aq, ScenePosSchema as ar, type SemanticAssetRef as as, type SemanticAssetRefInput as at, SemanticAssetRefSchema as au, type ServiceId as av, ServiceIdSchema as aw, type SpriteDirection as ax, SpriteDirectionSchema as ay, type SpriteSheetAtlas as az, type EntityRow as b, isEventId as b0, isFieldValue as b1, isOrbitalId as b2, isPageId as b3, isPaletteEntryId as b4, isRuntimeEntity as b5, isServiceId as b6, isThemeId as b7, isTraitId as b8, isValidPatternType as b9, ledgerCurName as ba, ledgerRename as bb, ledgerResolveName as bc, mintId as bd, parseAssetKey as be, persistenceModeAllowsOverrides as bf, validateAssetAnimations as bg, type EventId as c, type EntityId as d, type Entity as e, ANIMATION_NAMES as f, ASSET_ASPECTS as g, ASSET_DIMENSIONS as h, type AnimationDef as i, type AnimationDefInput as j, AnimationDefSchema as k, type AnimationName as l, AnimationNameSchema as m, type ArrayEntityField as n, type Asset as o, type AssetAspect as p, AssetAspectSchema as q, type AssetCatalog as r, type AssetCatalogEntry as s, type AssetCatalogEntryInput as t, AssetCatalogEntrySchema as u, AssetCatalogSchema as v, type AssetDimension as w, AssetDimensionSchema as x, AssetSchema as y, type AssetUrl as z };
4962
+ export { type FieldFormat as $, type AnyPatternConfig as A, type AssetUrl as B, CAMERA_MODES as C, type Camera as D, type EntityField as E, type FieldValue as F, type CameraMode as G, CameraModeSchema as H, CameraSchema as I, type JsonValue as J, ENTITY_ROLES as K, type EntityData as L, type EntityFieldInput as M, EntityFieldSchema as N, type OrbitalId as O, type PageId as P, EntityIdSchema as Q, type RelationConfig as R, EntityPersistenceSchema as S, type TraitId as T, type EntityRole as U, EntityRoleSchema as V, EntitySchema as W, type EntityWith as X, type EnumEntityField as Y, EventIdSchema as Z, type Field as _, type EntityPersistence as a, getDefaultAnimationsForRole as a$, FieldFormatSchema as a0, FieldSchema as a1, type FieldType as a2, FieldTypeSchema as a3, type IdForKind as a4, type IdKind as a5, type IdentityLedger as a6, IdentityLedgerSchema as a7, type JsonObject as a8, type LedgerEntry as a9, type SpriteDirection as aA, SpriteDirectionSchema as aB, type SpriteSheetAtlas as aC, type SpriteSheetAtlasInput as aD, SpriteSheetAtlasSchema as aE, type SubTexture as aF, SubTextureSchema as aG, type TextureAtlas as aH, TextureAtlasSchema as aI, type ThemeId as aJ, ThemeIdSchema as aK, type Tilesheet as aL, TilesheetSchema as aM, TraitIdSchema as aN, VISUAL_STYLES as aO, type VisualStyle as aP, VisualStyleSchema as aQ, asEntityId as aR, asEventId as aS, asOrbitalId as aT, asPageId as aU, asPaletteEntryId as aV, asServiceId as aW, asThemeId as aX, asTraitId as aY, createAssetKey as aZ, deriveCollection as a_, LedgerEntrySchema as aa, type LedgerKind as ab, LedgerKindSchema as ac, type OrbitalEntity as ad, type OrbitalEntityInput as ae, OrbitalEntitySchema as af, OrbitalIdSchema as ag, PATTERN_TYPES as ah, PageIdSchema as ai, type PaletteEntryId as aj, PaletteEntryIdSchema as ak, type PatternConfig as al, type PatternProps as am, type PatternPropsMap as an, type PatternType as ao, RelationConfigSchema as ap, type RelationEntityField as aq, SPRITE_DIRECTIONS as ar, type ScalarEntityField as as, type ScenePos as at, ScenePosSchema as au, type SemanticAssetRef as av, type SemanticAssetRefInput as aw, SemanticAssetRefSchema as ax, type ServiceId as ay, ServiceIdSchema as az, type EntityRow as b, idKindOf as b0, idPrefix as b1, isEntityId as b2, isEventId as b3, isFieldValue as b4, isJsonArray as b5, isJsonObject as b6, isJsonPrimitive as b7, isOrbitalId as b8, isPageId as b9, isPaletteEntryId as ba, isRuntimeEntity as bb, isServiceId as bc, isThemeId as bd, isTraitId as be, isValidPatternType as bf, ledgerCurName as bg, ledgerRename as bh, ledgerResolveName as bi, mintId as bj, parseAssetKey as bk, persistenceModeAllowsOverrides as bl, validateAssetAnimations as bm, type EventId as c, type EntityId as d, type Entity as e, type ToolArgs as f, ANIMATION_NAMES as g, ASSET_ASPECTS as h, ASSET_DIMENSIONS as i, type AnimationDef as j, type AnimationDefInput as k, AnimationDefSchema as l, type AnimationName as m, AnimationNameSchema as n, type ArrayEntityField as o, type Asset as p, type AssetAspect as q, AssetAspectSchema as r, type AssetCatalog as s, type AssetCatalogEntry as t, type AssetCatalogEntryInput as u, AssetCatalogEntrySchema as v, AssetCatalogSchema as w, type AssetDimension as x, AssetDimensionSchema as y, AssetSchema as z };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-07-16T19:33:37.203Z",
3
+ "exportedAt": "2026-07-21T09:54:57.379Z",
4
4
  "mappings": {
5
5
  "page-header": {
6
6
  "component": "PageHeader",
@@ -38,8 +38,8 @@
38
38
  "category": "form"
39
39
  },
40
40
  "form-actions": {
41
- "component": "FormActions",
42
- "importPath": "@/components/core/molecules/FormSection",
41
+ "component": "ButtonGroup",
42
+ "importPath": "@/components/core/molecules/ButtonGroup",
43
43
  "category": "form"
44
44
  },
45
45
  "filter-group": {
@@ -1348,6 +1348,16 @@
1348
1348
  "component": "Canvas",
1349
1349
  "importPath": "@/components/game/molecules/Canvas",
1350
1350
  "category": "game"
1351
+ },
1352
+ "presence": {
1353
+ "component": "Presence",
1354
+ "importPath": "@/components/core/atoms/Presence",
1355
+ "category": "component"
1356
+ },
1357
+ "page-transition": {
1358
+ "component": "PageTransition",
1359
+ "importPath": "@/components/core/molecules/PageTransition",
1360
+ "category": "component"
1351
1361
  }
1352
1362
  }
1353
1363
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-07-16T19:33:37.203Z",
3
+ "exportedAt": "2026-07-21T09:54:57.379Z",
4
4
  "contracts": {
5
5
  "form": {
6
6
  "emits": [
@@ -93,7 +93,14 @@
93
93
  "form-actions": {
94
94
  "emits": [
95
95
  {
96
- "event": "TOGGLE_COLLAPSE",
96
+ "event": "DISPATCH",
97
+ "trigger": "action",
98
+ "payload": {
99
+ "type": "object"
100
+ }
101
+ },
102
+ {
103
+ "event": "NAVIGATE",
97
104
  "trigger": "action",
98
105
  "payload": {
99
106
  "type": "object"
@@ -101,7 +108,7 @@
101
108
  }
102
109
  ],
103
110
  "requires": [],
104
- "entityAware": false,
111
+ "entityAware": true,
105
112
  "configDriven": true
106
113
  },
107
114
  "entity-table": {