@agentshouse/app-bridge 0.1.0-c7704ffcd24b7 → 0.1.0-c77623f54a39b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +5 -5
  2. package/dist/calls.d.ts +97 -345
  3. package/dist/index.d.ts +23 -2
  4. package/dist/mdmodel/condition.d.ts +1 -1
  5. package/dist/mdmodel/definition.d.ts +1 -0
  6. package/dist/mdmodel/index.d.ts +4 -3
  7. package/dist/mdmodel/types.d.ts +1 -0
  8. package/dist/mdmodel/validate.d.ts +21 -0
  9. package/dist/mdruntime/adapter.d.ts +42 -21
  10. package/dist/mdruntime/binary.d.ts +0 -5
  11. package/dist/mdruntime/chain.d.ts +10 -0
  12. package/dist/mdruntime/change-set.d.ts +6 -16
  13. package/dist/mdruntime/client.d.ts +7 -7
  14. package/dist/mdruntime/collection.d.ts +10 -19
  15. package/dist/mdruntime/compile.d.ts +15 -0
  16. package/dist/mdruntime/connection.d.ts +11 -9
  17. package/dist/mdruntime/conversation.d.ts +6 -3
  18. package/dist/mdruntime/durability.d.ts +2 -5
  19. package/dist/mdruntime/fulltext.d.ts +26 -0
  20. package/dist/mdruntime/identity.d.ts +6 -0
  21. package/dist/mdruntime/media.d.ts +7 -0
  22. package/dist/mdruntime/messages.d.ts +27 -0
  23. package/dist/mdruntime/model.d.ts +6 -0
  24. package/dist/mdruntime/observation.d.ts +13 -0
  25. package/dist/mdruntime/outcome.d.ts +13 -3
  26. package/dist/mdruntime/overlay.d.ts +0 -3
  27. package/dist/mdruntime/query.d.ts +10 -1
  28. package/dist/mdruntime/reach.d.ts +8 -3
  29. package/dist/mdruntime/readiness.d.ts +20 -9
  30. package/dist/mdruntime/replica.d.ts +56 -38
  31. package/dist/mdruntime/room-draft.d.ts +1 -0
  32. package/dist/mdruntime/save.d.ts +11 -10
  33. package/dist/mdruntime/search.d.ts +11 -43
  34. package/dist/mdruntime/shared.d.ts +0 -3
  35. package/dist/mdruntime/status.d.ts +5 -0
  36. package/dist/mdruntime/store.d.ts +92 -87
  37. package/dist/mdruntime/stored.d.ts +153 -0
  38. package/dist/mdruntime/tables.d.ts +288 -168
  39. package/dist/mdruntime/wire.d.ts +5 -5
  40. package/dist/test-host.d.ts +7 -1
  41. package/dist/test-host.js +16 -0
  42. package/docs/families.md +33 -14
  43. package/package.json +8 -3
  44. package/dist/mdruntime/file.d.ts +0 -11
  45. package/dist/mdruntime/rows.d.ts +0 -38
  46. package/dist/mdruntime/turn.d.ts +0 -8
package/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  The types of the agents.house App bridge, an accessor and an in-page test host.
4
4
  House builds the bridge object in every App it serves and hands it to the page
5
5
  before the App's own scripts run; `houseBridge()` returns that object, so an App
6
- carries no bridge code of its own. It carries eleven families: navigation,
6
+ carries no bridge code of its own. It carries twelve families: navigation,
7
7
  ceremonies, installation, notifications, status, Site image reads, App release
8
- code, external calls, App messages and App and Site screenshot reads.
8
+ code, external calls, App messages, App and Site screenshot reads and the Chat.
9
9
  [docs/families.md](docs/families.md) describes each and the test host.
10
10
 
11
11
  The bridge carries no credential handling and no Runtime family. House builds
12
- the MD Runtime client into the page beside the bridge, and `bridge.runtime`
13
- resolves to that client, so the App imports and constructs none.
12
+ the MD Runtime client into the page beside the bridge and serves it the Chat, so
13
+ the App imports, constructs and bundles neither: `bridge.runtime` resolves to the client.
14
14
 
15
- House's `find_command` "App" is the guide to building an App or a Site.
15
+ House's guide to building an App is its Guide's `apps/` pages, which `open_guide` opens.
16
16
 
17
17
  ## Use
18
18
 
package/dist/calls.d.ts CHANGED
@@ -64,23 +64,11 @@ export interface HouseMethods {
64
64
  readonly url: string;
65
65
  };
66
66
  };
67
- readonly 'conversation.attach': {
68
- readonly params: {
69
- readonly blob: Blob;
70
- readonly byteLength: number;
71
- readonly contentHash: string;
72
- readonly mediaType: string;
73
- readonly name: string;
74
- readonly room: string;
75
- };
76
- readonly result: {
77
- readonly path: string;
78
- };
79
- };
80
67
  readonly 'conversation.create': {
81
68
  readonly params: {
82
69
  readonly agent_id: string;
83
70
  readonly operation_id?: string;
71
+ readonly replaces?: string;
84
72
  };
85
73
  readonly result: {
86
74
  readonly agent_id: string;
@@ -239,7 +227,7 @@ export interface HouseMethods {
239
227
  readonly params: Readonly<Record<string, never>>;
240
228
  readonly result: {
241
229
  readonly features: readonly {
242
- readonly feature: 'microphone' | 'camera' | 'geolocation' | 'clipboard-read' | 'notifications';
230
+ readonly feature: string;
243
231
  readonly allowed: boolean;
244
232
  }[];
245
233
  };
@@ -264,6 +252,86 @@ export interface HouseMethods {
264
252
  readonly log_epoch: string;
265
253
  };
266
254
  };
255
+ readonly 'inboxChat.assign': {
256
+ readonly params: {
257
+ readonly room_ref: string;
258
+ readonly path: string;
259
+ readonly assignee: {
260
+ readonly user: string;
261
+ } | {
262
+ readonly agent: string;
263
+ } | null;
264
+ };
265
+ readonly result: {
266
+ readonly room_ref: string;
267
+ readonly path: string;
268
+ readonly assignee: {
269
+ readonly user: string;
270
+ readonly name: string;
271
+ } | {
272
+ readonly agent: string;
273
+ readonly name: string;
274
+ } | null;
275
+ readonly return_to: {
276
+ readonly agent: string;
277
+ readonly name: string;
278
+ } | null;
279
+ readonly authority: string;
280
+ readonly position: string;
281
+ readonly log_epoch: string;
282
+ readonly url: string;
283
+ };
284
+ };
285
+ readonly 'inboxChat.return': {
286
+ readonly params: {
287
+ readonly room_ref: string;
288
+ readonly path: string;
289
+ };
290
+ readonly result: {
291
+ readonly room_ref: string;
292
+ readonly path: string;
293
+ readonly assignee: {
294
+ readonly user: string;
295
+ readonly name: string;
296
+ } | {
297
+ readonly agent: string;
298
+ readonly name: string;
299
+ } | null;
300
+ readonly return_to: {
301
+ readonly agent: string;
302
+ readonly name: string;
303
+ } | null;
304
+ readonly authority: string;
305
+ readonly position: string;
306
+ readonly log_epoch: string;
307
+ readonly url: string;
308
+ };
309
+ };
310
+ readonly 'inboxChat.takeControl': {
311
+ readonly params: {
312
+ readonly room_ref: string;
313
+ readonly path: string;
314
+ };
315
+ readonly result: {
316
+ readonly room_ref: string;
317
+ readonly path: string;
318
+ readonly assignee: {
319
+ readonly user: string;
320
+ readonly name: string;
321
+ } | {
322
+ readonly agent: string;
323
+ readonly name: string;
324
+ } | null;
325
+ readonly return_to: {
326
+ readonly agent: string;
327
+ readonly name: string;
328
+ } | null;
329
+ readonly authority: string;
330
+ readonly position: string;
331
+ readonly log_epoch: string;
332
+ readonly url: string;
333
+ };
334
+ };
267
335
  readonly 'member.list': {
268
336
  readonly params: {
269
337
  readonly room_ref: string;
@@ -333,48 +401,19 @@ export interface HouseMethods {
333
401
  readonly 'record.list': {
334
402
  readonly params: {
335
403
  readonly room_ref: string;
336
- readonly record?: string;
337
404
  readonly cursor?: string;
338
405
  readonly limit?: number;
339
406
  readonly order?: 'asc' | 'desc';
340
407
  };
341
408
  readonly result: {
342
- readonly attachments: readonly {
343
- readonly bytes: number;
344
- readonly file: string;
345
- readonly media_type: string | null;
346
- readonly name: string | null;
347
- readonly referrer: {
348
- readonly record: string;
349
- readonly room_ref: string;
350
- };
351
- readonly sha256: string;
352
- }[];
353
- readonly body: string | null;
354
- readonly claimed: unknown;
355
- readonly created_at: string;
356
- readonly record: string;
357
- readonly ref: string;
358
- } | {
359
- readonly next_cursor?: string;
360
409
  readonly records: readonly {
361
- readonly attachments: readonly {
362
- readonly bytes: number;
363
- readonly file: string;
364
- readonly media_type: string | null;
365
- readonly name: string | null;
366
- readonly referrer: {
367
- readonly record: string;
368
- readonly room_ref: string;
369
- };
370
- readonly sha256: string;
371
- }[];
372
- readonly body: string | null;
373
- readonly claimed: unknown;
374
- readonly created_at: string;
375
410
  readonly record: string;
376
411
  readonly ref: string;
412
+ readonly created_at: string;
413
+ readonly body: string | null;
414
+ readonly claimed: unknown;
377
415
  }[];
416
+ readonly next_cursor?: string;
378
417
  };
379
418
  };
380
419
  readonly 'relay.read': {
@@ -571,293 +610,6 @@ export interface HouseMethods {
571
610
  readonly submitted: true;
572
611
  };
573
612
  };
574
- readonly 'trigger.list': {
575
- readonly params: {
576
- readonly room_refs: readonly string[];
577
- };
578
- readonly result: {
579
- readonly rooms: readonly {
580
- readonly room_ref: string;
581
- readonly triggers: readonly {
582
- readonly trigger: string;
583
- readonly creator: {
584
- readonly user: string;
585
- readonly name: string;
586
- };
587
- readonly description: string;
588
- readonly condition: {
589
- readonly on: 'documents';
590
- readonly scope: {
591
- readonly type: string;
592
- } | {
593
- readonly folder: string;
594
- } | {
595
- readonly document: string;
596
- };
597
- readonly mode: 'starts_matching';
598
- readonly new_documents: boolean;
599
- readonly match: {
600
- readonly all: readonly unknown[];
601
- } | {
602
- readonly any: readonly unknown[];
603
- } | {
604
- readonly not: unknown;
605
- } | {
606
- readonly path: string;
607
- readonly eq: string | number | boolean;
608
- } | {
609
- readonly path: string;
610
- readonly in: readonly (string | number | boolean)[];
611
- } | {
612
- readonly path: string;
613
- readonly exists: boolean;
614
- } | {
615
- readonly path: string;
616
- readonly contains: string | number | boolean;
617
- } | {
618
- readonly path: string;
619
- readonly gt: number | string;
620
- } | {
621
- readonly path: string;
622
- readonly gte: number | string;
623
- } | {
624
- readonly path: string;
625
- readonly lt: number | string;
626
- } | {
627
- readonly path: string;
628
- readonly lte: number | string;
629
- } | {
630
- readonly path: string;
631
- readonly prefix: string;
632
- };
633
- readonly by?: {
634
- readonly all: readonly unknown[];
635
- } | {
636
- readonly any: readonly unknown[];
637
- } | {
638
- readonly not: unknown;
639
- } | {
640
- readonly path: string;
641
- readonly eq: string | number | boolean;
642
- } | {
643
- readonly path: string;
644
- readonly in: readonly (string | number | boolean)[];
645
- } | {
646
- readonly path: string;
647
- readonly exists: boolean;
648
- } | {
649
- readonly path: string;
650
- readonly contains: string | number | boolean;
651
- } | {
652
- readonly path: string;
653
- readonly gt: number | string;
654
- } | {
655
- readonly path: string;
656
- readonly gte: number | string;
657
- } | {
658
- readonly path: string;
659
- readonly lt: number | string;
660
- } | {
661
- readonly path: string;
662
- readonly lte: number | string;
663
- } | {
664
- readonly path: string;
665
- readonly prefix: string;
666
- };
667
- readonly moved_between_rooms?: boolean;
668
- } | {
669
- readonly on: 'documents';
670
- readonly scope: {
671
- readonly type: string;
672
- } | {
673
- readonly folder: string;
674
- } | {
675
- readonly document: string;
676
- };
677
- readonly mode: 'field_changes';
678
- readonly field: string;
679
- readonly from?: readonly (string | number | boolean)[] | 'new';
680
- readonly to?: readonly (string | number | boolean)[] | 'deleted';
681
- readonly match?: {
682
- readonly all: readonly unknown[];
683
- } | {
684
- readonly any: readonly unknown[];
685
- } | {
686
- readonly not: unknown;
687
- } | {
688
- readonly path: string;
689
- readonly eq: string | number | boolean;
690
- } | {
691
- readonly path: string;
692
- readonly in: readonly (string | number | boolean)[];
693
- } | {
694
- readonly path: string;
695
- readonly exists: boolean;
696
- } | {
697
- readonly path: string;
698
- readonly contains: string | number | boolean;
699
- } | {
700
- readonly path: string;
701
- readonly gt: number | string;
702
- } | {
703
- readonly path: string;
704
- readonly gte: number | string;
705
- } | {
706
- readonly path: string;
707
- readonly lt: number | string;
708
- } | {
709
- readonly path: string;
710
- readonly lte: number | string;
711
- } | {
712
- readonly path: string;
713
- readonly prefix: string;
714
- };
715
- readonly by?: {
716
- readonly all: readonly unknown[];
717
- } | {
718
- readonly any: readonly unknown[];
719
- } | {
720
- readonly not: unknown;
721
- } | {
722
- readonly path: string;
723
- readonly eq: string | number | boolean;
724
- } | {
725
- readonly path: string;
726
- readonly in: readonly (string | number | boolean)[];
727
- } | {
728
- readonly path: string;
729
- readonly exists: boolean;
730
- } | {
731
- readonly path: string;
732
- readonly contains: string | number | boolean;
733
- } | {
734
- readonly path: string;
735
- readonly gt: number | string;
736
- } | {
737
- readonly path: string;
738
- readonly gte: number | string;
739
- } | {
740
- readonly path: string;
741
- readonly lt: number | string;
742
- } | {
743
- readonly path: string;
744
- readonly lte: number | string;
745
- } | {
746
- readonly path: string;
747
- readonly prefix: string;
748
- };
749
- readonly moved_between_rooms?: boolean;
750
- } | {
751
- readonly on: 'items';
752
- readonly source?: string;
753
- readonly address?: string;
754
- readonly match?: {
755
- readonly all: readonly unknown[];
756
- } | {
757
- readonly any: readonly unknown[];
758
- } | {
759
- readonly not: unknown;
760
- } | {
761
- readonly path: string;
762
- readonly eq: string | number | boolean;
763
- } | {
764
- readonly path: string;
765
- readonly in: readonly (string | number | boolean)[];
766
- } | {
767
- readonly path: string;
768
- readonly exists: boolean;
769
- } | {
770
- readonly path: string;
771
- readonly contains: string | number | boolean;
772
- } | {
773
- readonly path: string;
774
- readonly gt: number | string;
775
- } | {
776
- readonly path: string;
777
- readonly gte: number | string;
778
- } | {
779
- readonly path: string;
780
- readonly lt: number | string;
781
- } | {
782
- readonly path: string;
783
- readonly lte: number | string;
784
- } | {
785
- readonly path: string;
786
- readonly prefix: string;
787
- };
788
- } | {
789
- readonly on: 'clock';
790
- readonly cron: string;
791
- readonly time_zone: string;
792
- } | {
793
- readonly on: 'clock';
794
- readonly scope: {
795
- readonly type: string;
796
- };
797
- readonly date: string;
798
- readonly days: number;
799
- readonly at: string;
800
- readonly time_zone: string;
801
- readonly match?: {
802
- readonly all: readonly unknown[];
803
- } | {
804
- readonly any: readonly unknown[];
805
- } | {
806
- readonly not: unknown;
807
- } | {
808
- readonly path: string;
809
- readonly eq: string | number | boolean;
810
- } | {
811
- readonly path: string;
812
- readonly in: readonly (string | number | boolean)[];
813
- } | {
814
- readonly path: string;
815
- readonly exists: boolean;
816
- } | {
817
- readonly path: string;
818
- readonly contains: string | number | boolean;
819
- } | {
820
- readonly path: string;
821
- readonly gt: number | string;
822
- } | {
823
- readonly path: string;
824
- readonly gte: number | string;
825
- } | {
826
- readonly path: string;
827
- readonly lt: number | string;
828
- } | {
829
- readonly path: string;
830
- readonly lte: number | string;
831
- } | {
832
- readonly path: string;
833
- readonly prefix: string;
834
- };
835
- };
836
- readonly enabled: boolean;
837
- readonly paused_by?: 'types';
838
- readonly actions: readonly ({
839
- readonly kind: 'notify';
840
- readonly enabled: boolean;
841
- readonly title: string;
842
- readonly text: string;
843
- readonly to: {
844
- readonly users: readonly string[];
845
- readonly fields: readonly string[];
846
- readonly roles: readonly string[];
847
- };
848
- readonly holds: boolean;
849
- } | {
850
- readonly kind: 'routine';
851
- readonly enabled: boolean;
852
- readonly access?: string;
853
- readonly payload: string;
854
- readonly holds: boolean;
855
- })[];
856
- }[];
857
- readonly url: string;
858
- }[];
859
- };
860
- };
861
613
  readonly 'triggerOccurrence.list': {
862
614
  readonly params: {
863
615
  readonly room_ref: string;
@@ -876,10 +628,15 @@ export interface HouseMethods {
876
628
  } | {
877
629
  readonly position: number;
878
630
  readonly outcome: 'no_target';
631
+ readonly code: 'no_recipient' | 'routine_access_not_found' | 'routine_retired' | 'target_agent_unavailable';
879
632
  } | {
880
633
  readonly position: number;
881
634
  readonly outcome: 'requested';
882
635
  readonly request: string;
636
+ } | {
637
+ readonly position: number;
638
+ readonly outcome: 'continued';
639
+ readonly request: string;
883
640
  } | {
884
641
  readonly position: number;
885
642
  readonly outcome: 'refused';
@@ -888,12 +645,12 @@ export interface HouseMethods {
888
645
  readonly position: number;
889
646
  readonly outcome: 'refused';
890
647
  readonly code: 'limit_reached';
891
- readonly limit: 'sites' | 'custom_domains' | 'publish_data' | 'site_submissions' | 'external_calls' | 'routine_requests' | 'routine_mail';
648
+ readonly limit: 'sites' | 'custom_domains' | 'publish_data' | 'site_submissions' | 'mcp_reads' | 'mcp_downloads' | 'external_calls' | 'routine_requests' | 'routine_mail';
892
649
  } | {
893
650
  readonly position: number;
894
651
  readonly outcome: 'refused';
895
652
  readonly code: 'limit_reached';
896
- readonly limit: 'sites' | 'custom_domains' | 'publish_data' | 'site_submissions' | 'external_calls' | 'routine_requests' | 'routine_mail';
653
+ readonly limit: 'sites' | 'custom_domains' | 'publish_data' | 'site_submissions' | 'mcp_reads' | 'mcp_downloads' | 'external_calls' | 'routine_requests' | 'routine_mail';
897
654
  readonly retry_at: string;
898
655
  } | {
899
656
  readonly position: number;
@@ -917,30 +674,25 @@ export interface HouseMethods {
917
674
  readonly limit: 'writes';
918
675
  readonly period: 'minute' | 'day';
919
676
  readonly retry_at: string;
920
- } | {
921
- readonly position: number;
922
- readonly outcome: 'refused';
923
- readonly code: 'limit_reached';
924
- readonly limit: 'mcp_reads' | 'mcp_downloads';
925
- readonly value: string;
926
- readonly retry_at: string;
927
677
  } | {
928
678
  readonly position: number;
929
679
  readonly outcome: 'refused';
930
680
  readonly code: 'cap_reached';
931
- readonly cap: 'address_submissions' | 'writes' | 'push_addresses' | 'push_deliveries' | 'external_accounts' | 'export_starts' | 'share_creations' | 'share_room_creations' | 'live_shares' | 'ownership_offers' | 'site_rooms' | 'slot_rooms' | 'room_triggers' | 'app_sockets' | 'kit_connections' | 'open_uploads';
681
+ readonly cap: 'address_submissions' | 'writes' | 'push_addresses' | 'push_deliveries' | 'external_accounts' | 'shared_schemas' | 'export_starts' | 'share_creations' | 'share_room_creations' | 'live_shares' | 'ownership_offers' | 'site_rooms' | 'slot_rooms' | 'room_triggers' | 'app_sockets' | 'kit_connections' | 'open_uploads' | 'waiting_web_wizards' | 'folder_subscriptions';
932
682
  } | {
933
683
  readonly position: number;
934
684
  readonly outcome: 'refused';
935
685
  readonly code: 'cap_reached';
936
- readonly cap: 'address_submissions' | 'writes' | 'push_addresses' | 'push_deliveries' | 'external_accounts' | 'export_starts' | 'share_creations' | 'share_room_creations' | 'live_shares' | 'ownership_offers' | 'site_rooms' | 'slot_rooms' | 'room_triggers' | 'app_sockets' | 'kit_connections' | 'open_uploads';
686
+ readonly cap: 'address_submissions' | 'writes' | 'push_addresses' | 'push_deliveries' | 'external_accounts' | 'shared_schemas' | 'export_starts' | 'share_creations' | 'share_room_creations' | 'live_shares' | 'ownership_offers' | 'site_rooms' | 'slot_rooms' | 'room_triggers' | 'app_sockets' | 'kit_connections' | 'open_uploads' | 'waiting_web_wizards' | 'folder_subscriptions';
937
687
  readonly retry_at: string;
938
688
  } | {
939
689
  readonly position: number;
940
690
  readonly outcome: 'withdrawn';
691
+ readonly code: 'agent_unavailable';
941
692
  } | {
942
693
  readonly position: number;
943
694
  readonly outcome: 'failed';
695
+ readonly code: 'internal_error' | 'routine_request_not_started';
944
696
  } | {
945
697
  readonly position: number;
946
698
  readonly outcome: 'waiting';
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export interface HouseCredentialState {
21
21
  readonly state: Open<'none' | 'held' | 'rejected'>;
22
22
  readonly expiresAt: number | null;
23
23
  }
24
- export type HouseDatabaseFailure = 'unsupported' | 'damaged' | 'update-required';
24
+ export type HouseDatabaseFailure = 'unsupported' | 'damaged';
25
25
  export type HouseAnalyticsChoice = 'accept' | 'decline';
26
26
  export interface HouseAnalytics {
27
27
  readonly measures: boolean;
@@ -81,7 +81,6 @@ export interface HouseExternalRequest {
81
81
  readonly body?: string;
82
82
  readonly body_base64?: string;
83
83
  readonly account?: string;
84
- readonly slot?: string;
85
84
  readonly room_ref?: string;
86
85
  }
87
86
  export type HouseExternalAnswer = {
@@ -132,10 +131,32 @@ export interface HouseCooperation {
132
131
  capture(): Promise<HouseTask> | HouseTask;
133
132
  restore(task: HouseTask | null): Promise<void> | void;
134
133
  ready(): Promise<boolean> | boolean;
134
+ placed?(): Promise<void> | void;
135
135
  settle(activation: HouseActivation): void;
136
136
  }
137
+ export type HouseChatWidth = 'full' | '3/4' | '1/2' | '1/3';
138
+ export interface HouseChatOpened {
139
+ readonly conversation: string | null;
140
+ readonly agent: string | null;
141
+ }
142
+ export interface HouseChatOptions {
143
+ readonly conversation?: string | null;
144
+ readonly agent?: string | null;
145
+ readonly showChats?: boolean;
146
+ readonly width?: HouseChatWidth;
147
+ readonly onOpen?: (opened: HouseChatOpened) => void;
148
+ readonly onLink?: (href: string) => void;
149
+ }
150
+ export interface HouseMountedChat {
151
+ update(options: HouseChatOptions): void;
152
+ unmount(): void;
153
+ }
154
+ export interface HouseChat {
155
+ mount(element: object, options?: HouseChatOptions): Promise<HouseMountedChat>;
156
+ }
137
157
  export interface HouseBridge {
138
158
  readonly runtime: Promise<HouseRuntime>;
159
+ readonly chat: HouseChat;
139
160
  address(): string | null;
140
161
  onAddress(listener: (address: string) => void): () => void;
141
162
  push(address: string): Promise<string>;
@@ -103,6 +103,7 @@ export type DocumentFacts = {
103
103
  readonly fields: Readonly<Record<string, Fact>>;
104
104
  readonly sections: readonly string[];
105
105
  };
106
+ export declare const TEXT_FIELD = "/text";
106
107
  export declare const WRITE_DOORS: readonly ['browser', 'agent', 'client'];
107
108
  export type WriteDoor = (typeof WRITE_DOORS)[number];
108
109
  export type Actor = {
@@ -121,7 +122,6 @@ export type ItemFacts = {
121
122
  readonly delivery: string;
122
123
  readonly source: string | null;
123
124
  readonly address: string | null;
124
- readonly has_attachment: boolean;
125
125
  readonly container: string | null;
126
126
  readonly author: string | null;
127
127
  readonly headers: Readonly<Record<string, string>>;
@@ -60,6 +60,7 @@ export declare const JSON_TYPES: readonly JsonType[];
60
60
  export declare const BUILT_IN_TYPE = "any";
61
61
  export declare const ATTACHMENT = "attachment";
62
62
  export declare const ARRAY_INDEX: RegExp;
63
+ export declare const JSON_POINTER: RegExp;
63
64
  export declare function escapePointer(key: string): string;
64
65
  export declare function pointerSegments(pointer: string): string[];
65
66
  export declare function refTarget(reference: string, defs: Readonly<Record<string, unknown>>): {
@@ -1,4 +1,4 @@
1
- export { ACTOR_PATHS, actorOperators, changeFields, CONDITION_OPERATORS, dated, datePointers, DOCUMENT_PATHS, factKind, facts, fires, holds, instant, ITEM_PATHS, itemFires, itemKind, itemOperators, memberPointers, members, pointed, prosePaths, testOperators, valuedChange, WRITE_DOORS, } from './condition.js';
1
+ export { ACTOR_PATHS, actorOperators, changeFields, CONDITION_OPERATORS, dated, datePointers, DOCUMENT_PATHS, factKind, facts, fires, holds, instant, ITEM_PATHS, itemFires, itemKind, itemOperators, memberPointers, members, pointed, prosePaths, testOperators, TEXT_FIELD, valuedChange, WRITE_DOORS, } from './condition.js';
2
2
  export type { Actor, Condition, ConditionOperator, ConditionScope, ConditionTest, ConditionValue, CronCondition, DateCondition, DocumentCondition, DocumentEvent, DocumentFacts, Fact, FactKind, ItemCondition, ItemFacts, Resolved, WriteDoor, } from './condition.js';
3
3
  export { headingLines } from './blocks.js';
4
4
  export type { HeadingLine } from './blocks.js';
@@ -10,10 +10,11 @@ export type { RoomTarget } from './paths.js';
10
10
  export { MARKDOWN_SYNTAX_PROFILE } from './profile.js';
11
11
  export { project } from './project.js';
12
12
  export { references } from './references.js';
13
- export { ARRAY_INDEX, ATTACHMENT, crossedFacts, escapePointer, itemFacts, memberFacts, pointerFacts, pointerSegments, } from './definition.js';
13
+ export { ARRAY_INDEX, ATTACHMENT, crossedFacts, escapePointer, itemFacts, JSON_POINTER, memberFacts, pointerFacts, pointerSegments, } from './definition.js';
14
14
  export type { Definition, FieldRules, JsonType, PatternFacts, PointerFacts, RuleValue, SectionSpec, Shape, Transition, ValueFacts, } from './definition.js';
15
15
  export type { ApplyResult, BodyResult, Change, Division, DivisionContext, Document, DocumentCheck, Frontmatter, FrontmatterResult, Library, ModelVerification, Link, ParseResult, Projection, ProjectionContext, Reached, Reference, Refusal, RoomReference, Span, Validation, ValidationContext, ValidationStep, VerifiedModel, } from './types.js';
16
- export { bodyRoomLinks, checkDocument, resolves, roomReferences, sectionReferences, validate, validating, verify, } from './validate.js';
16
+ export { assess, bodyRoomLinks, checkDocument, resolves, roomReferences, sectionReferences, validate, validating, verdicts, verify, } from './validate.js';
17
+ export type { Assessment, Verdicts } from './validate.js';
17
18
  export { VERSION } from './version.js';
18
19
  export { bodyAfterFrontmatter, equalValue, frontmatterValue } from './yaml.js';
19
20
  export type { FrontmatterValue } from './yaml.js';
@@ -2,6 +2,7 @@ import type { Definition } from './definition.js';
2
2
  export type Library = Readonly<Record<string, string>>;
3
3
  export type VerifiedModel = {
4
4
  readonly types: Readonly<Record<string, Definition>>;
5
+ readonly nameable?: readonly string[];
5
6
  };
6
7
  export type ModelVerification = {
7
8
  readonly verdict: 'accept';