@agentshouse/mdruntime 0.1.0-cae97ad2e9142 → 0.1.0-caf080a9a9c60

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 (315) hide show
  1. package/README.md +14 -14
  2. package/dist/acceptance.d.ts +3 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +318 -0
  5. package/dist/act-lanes.d.ts +29 -0
  6. package/dist/act-lanes.d.ts.map +1 -0
  7. package/dist/act-lanes.js +177 -0
  8. package/dist/actions.d.ts +25 -0
  9. package/dist/actions.d.ts.map +1 -0
  10. package/dist/actions.js +261 -0
  11. package/dist/adapter.d.ts +126 -107
  12. package/dist/adapter.d.ts.map +1 -1
  13. package/dist/attached-model.d.ts +3 -10
  14. package/dist/attached-model.d.ts.map +1 -1
  15. package/dist/attached-model.js +29 -47
  16. package/dist/bootstrap.d.ts +17 -19
  17. package/dist/bootstrap.d.ts.map +1 -1
  18. package/dist/bootstrap.js +266 -135
  19. package/dist/cell.d.ts +6 -0
  20. package/dist/cell.d.ts.map +1 -0
  21. package/dist/cell.js +9 -0
  22. package/dist/chain.d.ts +2 -1
  23. package/dist/chain.d.ts.map +1 -1
  24. package/dist/change-set.d.ts +4 -0
  25. package/dist/change-set.d.ts.map +1 -1
  26. package/dist/change-set.js +6 -0
  27. package/dist/change.d.ts +1 -0
  28. package/dist/change.d.ts.map +1 -1
  29. package/dist/change.js +4 -2
  30. package/dist/chat-types.d.ts +5 -0
  31. package/dist/chat-types.d.ts.map +1 -0
  32. package/dist/chat-types.js +13 -0
  33. package/dist/client.d.ts +28 -18
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +84 -20
  36. package/dist/collection.d.ts +28 -7
  37. package/dist/collection.d.ts.map +1 -1
  38. package/dist/collection.js +35 -19
  39. package/dist/compile.d.ts +8 -6
  40. package/dist/compile.d.ts.map +1 -1
  41. package/dist/compile.js +289 -332
  42. package/dist/connection.d.ts +6 -141
  43. package/dist/connection.d.ts.map +1 -1
  44. package/dist/connection.js +111 -5012
  45. package/dist/context.d.ts +2 -0
  46. package/dist/context.d.ts.map +1 -0
  47. package/dist/context.js +7 -0
  48. package/dist/conversation-live.d.ts +138 -0
  49. package/dist/conversation-live.d.ts.map +1 -0
  50. package/dist/conversation-live.js +249 -0
  51. package/dist/conversation-row.d.ts +33 -0
  52. package/dist/conversation-row.d.ts.map +1 -0
  53. package/dist/conversation-row.js +53 -0
  54. package/dist/conversation.d.ts +59 -50
  55. package/dist/conversation.d.ts.map +1 -1
  56. package/dist/conversation.js +938 -832
  57. package/dist/declaration.d.ts +10 -0
  58. package/dist/declaration.d.ts.map +1 -0
  59. package/dist/declaration.js +24 -0
  60. package/dist/discovery.d.ts +10 -0
  61. package/dist/discovery.d.ts.map +1 -0
  62. package/dist/discovery.js +153 -0
  63. package/dist/durability.d.ts +18 -1
  64. package/dist/durability.d.ts.map +1 -1
  65. package/dist/entry.d.ts +3 -2
  66. package/dist/entry.d.ts.map +1 -1
  67. package/dist/entry.js +19 -9
  68. package/dist/expectation.d.ts +26 -13
  69. package/dist/expectation.d.ts.map +1 -1
  70. package/dist/expectation.js +72 -19
  71. package/dist/failure.d.ts +3 -0
  72. package/dist/failure.d.ts.map +1 -1
  73. package/dist/failure.js +6 -0
  74. package/dist/figures.d.ts +49 -0
  75. package/dist/figures.d.ts.map +1 -0
  76. package/dist/figures.js +197 -0
  77. package/dist/file.d.ts +2 -11
  78. package/dist/file.d.ts.map +1 -1
  79. package/dist/file.js +6 -4
  80. package/dist/holdings.d.ts +29 -0
  81. package/dist/holdings.d.ts.map +1 -0
  82. package/dist/holdings.js +95 -0
  83. package/dist/host.d.ts +20 -8
  84. package/dist/host.d.ts.map +1 -1
  85. package/dist/host.js +70 -40
  86. package/dist/identity.d.ts +0 -1
  87. package/dist/identity.d.ts.map +1 -1
  88. package/dist/identity.js +0 -3
  89. package/dist/index.d.ts +33 -12
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +14 -3
  92. package/dist/install.d.ts +54 -0
  93. package/dist/install.d.ts.map +1 -0
  94. package/dist/install.js +539 -0
  95. package/dist/lifecycle.d.ts +7 -0
  96. package/dist/lifecycle.d.ts.map +1 -0
  97. package/dist/lifecycle.js +279 -0
  98. package/dist/listing.d.ts +48 -0
  99. package/dist/listing.d.ts.map +1 -0
  100. package/dist/listing.js +139 -0
  101. package/dist/live.d.ts +5 -4
  102. package/dist/live.d.ts.map +1 -1
  103. package/dist/live.js +64 -23
  104. package/dist/locks.d.ts +7 -0
  105. package/dist/locks.d.ts.map +1 -0
  106. package/dist/locks.js +33 -0
  107. package/dist/log.d.ts +1 -0
  108. package/dist/log.d.ts.map +1 -1
  109. package/dist/lost.d.ts +5 -0
  110. package/dist/lost.d.ts.map +1 -0
  111. package/dist/lost.js +50 -0
  112. package/dist/media.d.ts +8 -0
  113. package/dist/media.d.ts.map +1 -0
  114. package/dist/media.js +218 -0
  115. package/dist/memory.d.ts +15 -6
  116. package/dist/memory.d.ts.map +1 -1
  117. package/dist/memory.js +251 -98
  118. package/dist/messages.d.ts +24 -3
  119. package/dist/messages.d.ts.map +1 -1
  120. package/dist/messages.js +92 -32
  121. package/dist/model.d.ts +8 -11
  122. package/dist/model.d.ts.map +1 -1
  123. package/dist/model.js +5 -22
  124. package/dist/models.d.ts +10 -0
  125. package/dist/models.d.ts.map +1 -0
  126. package/dist/models.js +156 -0
  127. package/dist/observation.d.ts +3 -2
  128. package/dist/observation.d.ts.map +1 -1
  129. package/dist/observation.js +15 -15
  130. package/dist/opened.d.ts +1 -1
  131. package/dist/opened.d.ts.map +1 -1
  132. package/dist/opened.js +5 -5
  133. package/dist/opening.d.ts +4 -0
  134. package/dist/opening.d.ts.map +1 -0
  135. package/dist/opening.js +59 -0
  136. package/dist/outcome.d.ts +20 -6
  137. package/dist/outcome.d.ts.map +1 -1
  138. package/dist/outcome.js +34 -2
  139. package/dist/overlay.d.ts +6 -1
  140. package/dist/overlay.d.ts.map +1 -1
  141. package/dist/overlay.js +47 -21
  142. package/dist/page-metadata.d.ts +8 -0
  143. package/dist/page-metadata.d.ts.map +1 -0
  144. package/dist/page-metadata.js +19 -0
  145. package/dist/parts.d.ts +3 -0
  146. package/dist/parts.d.ts.map +1 -0
  147. package/dist/parts.js +10 -0
  148. package/dist/paths.d.ts +2 -0
  149. package/dist/paths.d.ts.map +1 -1
  150. package/dist/paths.js +26 -0
  151. package/dist/preparation.d.ts +20 -0
  152. package/dist/preparation.d.ts.map +1 -0
  153. package/dist/preparation.js +233 -0
  154. package/dist/presence.d.ts +52 -0
  155. package/dist/presence.d.ts.map +1 -0
  156. package/dist/presence.js +220 -0
  157. package/dist/queries.d.ts +16 -0
  158. package/dist/queries.d.ts.map +1 -0
  159. package/dist/queries.js +285 -0
  160. package/dist/query.d.ts +14 -210
  161. package/dist/query.d.ts.map +1 -1
  162. package/dist/query.js +3 -505
  163. package/dist/questions.d.ts +29 -0
  164. package/dist/questions.d.ts.map +1 -0
  165. package/dist/questions.js +115 -0
  166. package/dist/queue.d.ts +40 -0
  167. package/dist/queue.d.ts.map +1 -0
  168. package/dist/queue.js +465 -0
  169. package/dist/reach.d.ts +15 -12
  170. package/dist/reach.d.ts.map +1 -1
  171. package/dist/reach.js +228 -145
  172. package/dist/react.d.ts +15 -2
  173. package/dist/react.d.ts.map +1 -1
  174. package/dist/react.js +33 -1
  175. package/dist/read.d.ts +7 -0
  176. package/dist/read.d.ts.map +1 -0
  177. package/dist/read.js +17 -0
  178. package/dist/readiness.d.ts +3 -18
  179. package/dist/readiness.d.ts.map +1 -1
  180. package/dist/readiness.js +4 -10
  181. package/dist/reads.d.ts +38 -10
  182. package/dist/reads.d.ts.map +1 -1
  183. package/dist/reads.js +163 -85
  184. package/dist/recovery.d.ts +3 -0
  185. package/dist/recovery.d.ts.map +1 -1
  186. package/dist/recovery.js +57 -1
  187. package/dist/refresh.d.ts +7 -5
  188. package/dist/refresh.d.ts.map +1 -1
  189. package/dist/refresh.js +35 -7
  190. package/dist/refusal.d.ts +5 -0
  191. package/dist/refusal.d.ts.map +1 -0
  192. package/dist/refusal.js +57 -0
  193. package/dist/replica.d.ts +13 -19
  194. package/dist/replica.d.ts.map +1 -1
  195. package/dist/replica.js +66 -35
  196. package/dist/retried.d.ts +30 -0
  197. package/dist/retried.d.ts.map +1 -0
  198. package/dist/retried.js +72 -0
  199. package/dist/room-draft.d.ts +24 -10
  200. package/dist/room-draft.d.ts.map +1 -1
  201. package/dist/room-draft.js +142 -106
  202. package/dist/room-drafts.d.ts +24 -0
  203. package/dist/room-drafts.d.ts.map +1 -0
  204. package/dist/room-drafts.js +217 -0
  205. package/dist/rows.d.ts +16 -21
  206. package/dist/rows.d.ts.map +1 -1
  207. package/dist/rows.js +46 -174
  208. package/dist/runtime.d.ts +36 -0
  209. package/dist/runtime.d.ts.map +1 -0
  210. package/dist/runtime.js +1 -0
  211. package/dist/save.d.ts +42 -84
  212. package/dist/save.d.ts.map +1 -1
  213. package/dist/save.js +349 -170
  214. package/dist/saves.d.ts +32 -0
  215. package/dist/saves.d.ts.map +1 -0
  216. package/dist/saves.js +413 -0
  217. package/dist/search.d.ts +12 -63
  218. package/dist/search.d.ts.map +1 -1
  219. package/dist/search.js +9 -52
  220. package/dist/seed.d.ts +11 -2
  221. package/dist/seed.d.ts.map +1 -1
  222. package/dist/seed.js +71 -1
  223. package/dist/shared.d.ts +1 -7
  224. package/dist/shared.d.ts.map +1 -1
  225. package/dist/shared.js +13 -105
  226. package/dist/shown.d.ts +32 -0
  227. package/dist/shown.d.ts.map +1 -0
  228. package/dist/shown.js +290 -0
  229. package/dist/socket/admission.d.ts +7 -0
  230. package/dist/socket/admission.d.ts.map +1 -0
  231. package/dist/socket/admission.js +39 -0
  232. package/dist/socket/answers.d.ts +6 -0
  233. package/dist/socket/answers.d.ts.map +1 -0
  234. package/dist/socket/answers.js +20 -0
  235. package/dist/socket/lanes.d.ts +21 -0
  236. package/dist/socket/lanes.d.ts.map +1 -0
  237. package/dist/socket/lanes.js +80 -0
  238. package/dist/socket/reads.d.ts +10 -0
  239. package/dist/socket/reads.d.ts.map +1 -0
  240. package/dist/socket/reads.js +31 -0
  241. package/dist/socket/session.d.ts +38 -0
  242. package/dist/socket/session.d.ts.map +1 -0
  243. package/dist/socket/session.js +23 -0
  244. package/dist/socket.d.ts +68 -0
  245. package/dist/socket.d.ts.map +1 -0
  246. package/dist/socket.js +171 -0
  247. package/dist/source.d.ts +54 -0
  248. package/dist/source.d.ts.map +1 -0
  249. package/dist/source.js +82 -0
  250. package/dist/status.d.ts +4 -5
  251. package/dist/status.d.ts.map +1 -1
  252. package/dist/status.js +3 -7
  253. package/dist/store/installs.d.ts +30 -0
  254. package/dist/store/installs.d.ts.map +1 -0
  255. package/dist/store/installs.js +34 -0
  256. package/dist/store/readiness.d.ts +10 -0
  257. package/dist/store/readiness.d.ts.map +1 -0
  258. package/dist/store/readiness.js +52 -0
  259. package/dist/store/records.d.ts +212 -0
  260. package/dist/store/records.d.ts.map +1 -0
  261. package/dist/store/records.js +430 -0
  262. package/dist/store/room-held.d.ts +8 -0
  263. package/dist/store/room-held.d.ts.map +1 -0
  264. package/dist/store/room-held.js +17 -0
  265. package/dist/store/space.d.ts +11 -0
  266. package/dist/store/space.d.ts.map +1 -0
  267. package/dist/store/space.js +41 -0
  268. package/dist/store/watchers.d.ts +17 -0
  269. package/dist/store/watchers.d.ts.map +1 -0
  270. package/dist/store/watchers.js +56 -0
  271. package/dist/store/writes.d.ts +24 -0
  272. package/dist/store/writes.d.ts.map +1 -0
  273. package/dist/store/writes.js +125 -0
  274. package/dist/store.d.ts +110 -158
  275. package/dist/store.d.ts.map +1 -1
  276. package/dist/store.js +167 -403
  277. package/dist/stored.d.ts +65 -59
  278. package/dist/stored.d.ts.map +1 -1
  279. package/dist/stored.js +356 -271
  280. package/dist/surface.d.ts +88 -0
  281. package/dist/surface.d.ts.map +1 -0
  282. package/dist/surface.js +223 -0
  283. package/dist/sync.d.ts +19 -0
  284. package/dist/sync.d.ts.map +1 -0
  285. package/dist/sync.js +540 -0
  286. package/dist/tables.d.ts +127 -69
  287. package/dist/tables.d.ts.map +1 -1
  288. package/dist/tables.js +218 -105
  289. package/dist/tallies.d.ts +18 -0
  290. package/dist/tallies.d.ts.map +1 -0
  291. package/dist/tallies.js +129 -0
  292. package/dist/transfer.d.ts +0 -5
  293. package/dist/transfer.d.ts.map +1 -1
  294. package/dist/validation.d.ts +3 -4
  295. package/dist/validation.d.ts.map +1 -1
  296. package/dist/validation.js +42 -100
  297. package/dist/windows.d.ts +1 -12
  298. package/dist/windows.d.ts.map +1 -1
  299. package/dist/windows.js +2 -75
  300. package/dist/wire.d.ts +63 -11
  301. package/dist/wire.d.ts.map +1 -1
  302. package/dist/wire.js +21 -5
  303. package/package.json +3 -2
  304. package/dist/attempt.d.ts +0 -16
  305. package/dist/attempt.d.ts.map +0 -1
  306. package/dist/attempt.js +0 -70
  307. package/dist/fence.d.ts +0 -6
  308. package/dist/fence.d.ts.map +0 -1
  309. package/dist/fence.js +0 -10
  310. package/dist/fulltext.d.ts +0 -27
  311. package/dist/fulltext.d.ts.map +0 -1
  312. package/dist/fulltext.js +0 -368
  313. package/dist/words.d.ts +0 -19
  314. package/dist/words.d.ts.map +0 -1
  315. package/dist/words.js +0 -150
package/dist/client.d.ts CHANGED
@@ -1,16 +1,26 @@
1
- import type { AppRoom, ConnectionRefusal, HistoryQuery, RoomSchemas, SavedParts, SavedRoomDraft, SaveResult } from './connection.js';
1
+ import type { DocumentQuery, GroupQuery } from '@agentshouse/mdmodel';
2
+ import type { HistoryQuery } from './actions.js';
3
+ import type { AppRoom } from './listing.js';
4
+ import type { ConnectionRefusal } from './socket.js';
5
+ import type { RoomSchemas } from './surface.js';
6
+ import type { SavedParts, SavedRoomDraft, SaveResult } from './saves.js';
2
7
  import type { Member, ServiceMode } from './adapter.js';
3
- import type { ChatDraft, ConversationAgent, ConversationEntry, ConversationOptions, ConversationView } from './conversation.js';
8
+ import type { UnsentWork } from './durability.js';
9
+ import type { ChatDraft, ConversationAgent, ConversationEntry, ConversationOptions, ConversationSurface, ConversationView } from './conversation.js';
4
10
  import { type Observation } from './observation.js';
5
- import type { ChosenFile } from './file.js';
6
- import type { BinaryAnswer, BinaryLinkAnswer, CallResult, HistoryAnswer, Offline, QueueEntry, Resolution } from './outcome.js';
7
- import type { DocumentQuery, DocumentResult, GroupQuery, GroupResult, PendingResult } from './query.js';
11
+ import type { AttachAnswer, BinaryAnswer, CallResult, DownloadAnswer, HistoryAnswer, QueueEntry, Resolution } from './outcome.js';
12
+ import type { FiguresResult } from './figures.js';
13
+ import type { Holdings } from './holdings.js';
14
+ import type { DocumentResult, GroupResult, PendingResult } from './query.js';
8
15
  import type { RoomDraft, RoomDraftParts, RoomDraftWrite } from './room-draft.js';
9
16
  import type { SearchRequest, SearchResult } from './search.js';
10
17
  import type { Readiness } from './readiness.js';
18
+ import type { ObservedRead } from './reads.js';
11
19
  import type { SyncStatus } from './status.js';
12
20
  import { type RuntimePort } from './wire.js';
21
+ export type BuildFile = (name: string) => Promise<Blob | null>;
13
22
  export type MdRuntimeClient = {
23
+ buildFile(name: string): Promise<Blob | null>;
14
24
  rooms(): Promise<readonly AppRoom[]>;
15
25
  query: {
16
26
  (query: DocumentQuery): Promise<DocumentResult | PendingResult>;
@@ -31,17 +41,8 @@ export type MdRuntimeClient = {
31
41
  write(value: unknown): Promise<void>;
32
42
  edit(members: Readonly<Record<string, unknown>>): Promise<void>;
33
43
  };
34
- conversation: {
35
- list(): Promise<readonly ConversationEntry[]>;
36
- read(conversation: string, options?: ConversationOptions): Promise<ConversationView>;
37
- create(input: unknown): Promise<CallResult>;
38
- send(conversation: string, operation?: string, draft?: ChatDraft): Promise<CallResult | Offline>;
39
- attach(room: string, file: ChosenFile): Promise<CallResult | Offline>;
40
- answer(conversation: string, answer: unknown): Promise<CallResult>;
41
- interrupt(conversation: string): Promise<CallResult>;
42
- kill(conversation: string): Promise<CallResult>;
43
- cancel(conversation: string, turn: string): Promise<CallResult>;
44
- delete(conversation: string): Promise<CallResult>;
44
+ conversation: ConversationSurface & {
45
+ pageMetadata(app: string, address: string): Promise<string>;
45
46
  };
46
47
  chatDraft: {
47
48
  write(conversation: string, draft: ChatDraft, revision?: string): Promise<void>;
@@ -52,7 +53,8 @@ export type MdRuntimeClient = {
52
53
  resolve(room: string, path: string, destination: string): Promise<Resolution>;
53
54
  binaryFile: {
54
55
  read(room: string, path: string, revision?: string): Promise<BinaryAnswer>;
55
- link(room: string, path: string, revision?: string): Promise<BinaryLinkAnswer>;
56
+ attach(room: string, file: File): Promise<AttachAnswer>;
57
+ download(room: string, path: string, revision?: string): Promise<DownloadAnswer>;
56
58
  };
57
59
  call(name: string, input: unknown): Promise<CallResult>;
58
60
  reached(locator: string, roomVersion: string, path?: string): Promise<boolean>;
@@ -60,6 +62,9 @@ export type MdRuntimeClient = {
60
62
  persistence(): Promise<boolean>;
61
63
  retry(): Promise<void>;
62
64
  cleanUp(): Promise<number>;
65
+ unsent(): Promise<readonly UnsentWork[]>;
66
+ reset(): Promise<void>;
67
+ readAgain(): Promise<void>;
63
68
  observe: {
64
69
  (topic: 'deployment-facts'): Promise<Observation<unknown>>;
65
70
  (topic: 'rooms'): Promise<Observation<readonly AppRoom[]>>;
@@ -69,6 +74,7 @@ export type MdRuntimeClient = {
69
74
  (topic: 'sync-status'): Promise<Observation<SyncStatus>>;
70
75
  (topic: 'service-mode'): Promise<Observation<ServiceMode>>;
71
76
  (topic: 'member'): Promise<Observation<Member | null>>;
77
+ (topic: 'authority-changes'): Promise<Observation<number>>;
72
78
  (topic: 'query', query: DocumentQuery): Promise<Observation<DocumentResult | PendingResult>>;
73
79
  (topic: 'query', query: GroupQuery): Promise<Observation<GroupResult | PendingResult>>;
74
80
  (topic: 'queue', locator: string): Promise<Observation<readonly QueueEntry[]>>;
@@ -77,14 +83,18 @@ export type MdRuntimeClient = {
77
83
  (topic: 'conversation', conversation: string, options: ConversationOptions): Promise<Observation<ConversationView>>;
78
84
  (topic: 'conversations'): Promise<Observation<readonly ConversationEntry[]>>;
79
85
  (topic: 'agents'): Promise<Observation<readonly ConversationAgent[]>>;
86
+ (topic: 'figures'): Promise<Observation<FiguresResult>>;
87
+ (topic: 'holdings'): Promise<Observation<Holdings>>;
88
+ (topic: 'read', name: string, input: unknown): Promise<Observation<ObservedRead>>;
80
89
  };
81
90
  reauthorize(): Promise<void>;
82
91
  settled(): Promise<void>;
83
92
  };
84
- export declare function connectMdRuntime(port: RuntimePort): MdRuntimeClient;
93
+ export declare function connectMdRuntime(port: RuntimePort, buildFile?: BuildFile): MdRuntimeClient;
85
94
  export declare function inTurn(client: MdRuntimeClient, work: () => Promise<void>): Promise<void>;
86
95
  export { chainedWindows, type WindowAnswer, type WindowChain } from './chain.js';
87
96
  export { roomDraftRevision } from './identity.js';
97
+ export { defineRoomMedia, ROOM_MEDIA } from './media.js';
88
98
  export type { Observation } from './observation.js';
89
99
  export type { Open } from './open.js';
90
100
  export { unanswered, type RuntimePort, type WireMember } from './wire.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,12 +1,31 @@
1
+ import { shownBy } from './media.js';
2
+ import { pageMetadataBlock } from './page-metadata.js';
1
3
  import { observed } from './observation.js';
2
4
  import { runtimeError } from './failure.js';
3
- import { answer, AUTHORIZATION_ENDED, PORT_CLOSED, } from './wire.js';
5
+ import { AUTHORIZATION_ENDED, PORT_CLOSED, wireAnswer, } from './wire.js';
4
6
  // React renders an arrived value in a later task and opens what that render observes as it commits, so this many frames opening nothing mean the page drew what it observes.
5
7
  const SETTLED_FRAMES = 2;
8
+ // A browser reads a download's address only after the click that hands it returns, so a copy's address is released a minute later.
9
+ const HANDED_COPY_MS = 60_000;
10
+ const PAGE = /\.html?$/iu;
11
+ const STARTED = { kind: 'started' };
12
+ const BLOCKED = {
13
+ kind: 'blocked',
14
+ code: 'popup-blocked',
15
+ fields: {},
16
+ retryable: true,
17
+ };
18
+ function handed(url, name) {
19
+ const anchor = document.createElement('a');
20
+ anchor.href = url;
21
+ anchor.download = name;
22
+ anchor.click();
23
+ }
6
24
  function refused(refusal) {
7
- return runtimeError(refusal.code, refusal.code, refusal.retryable);
25
+ return runtimeError(refusal.code);
8
26
  }
9
- export function connectMdRuntime(port) {
27
+ const UNBUILT = () => Promise.resolve(null);
28
+ export function connectMdRuntime(port, buildFile = UNBUILT) {
10
29
  let sequence = 0;
11
30
  let refusal = null;
12
31
  let ended = null;
@@ -18,13 +37,13 @@ export function connectMdRuntime(port) {
18
37
  const send = (message) => {
19
38
  port.postMessage(message);
20
39
  };
21
- function begin(id, topic, first) {
40
+ function begin(id, topic, input, first) {
22
41
  const handle = observed(first, () => {
23
42
  observations.delete(id);
24
43
  if (refusal === null)
25
44
  send({ kind: 'stop', id });
26
45
  }, topic === 'query');
27
- observations.set(id, { topic, handle });
46
+ observations.set(id, { topic, input, handle });
28
47
  return handle.observation;
29
48
  }
30
49
  function refuse(reported) {
@@ -36,7 +55,7 @@ export function connectMdRuntime(port) {
36
55
  const failure = refused(reported);
37
56
  for (const [id, waiting] of opening) {
38
57
  if (waiting.topic === 'connection-refusal')
39
- waiting.settle(begin(id, waiting.topic, reported));
58
+ waiting.settle(begin(id, waiting.topic, waiting.input, reported));
40
59
  else
41
60
  waiting.fail(failure);
42
61
  }
@@ -62,7 +81,7 @@ export function connectMdRuntime(port) {
62
81
  drawing?.();
63
82
  }
64
83
  port.addEventListener('message', (event) => {
65
- const message = answer(event.data);
84
+ const message = wireAnswer(event.data);
66
85
  if (message === null)
67
86
  return;
68
87
  if (message.kind === 'refusal') {
@@ -88,7 +107,7 @@ export function connectMdRuntime(port) {
88
107
  waiting.fail(runtimeError(message.code, message.message, message.retryable));
89
108
  }
90
109
  else
91
- waiting.settle(begin(message.id, waiting.topic, message.value));
110
+ waiting.settle(begin(message.id, waiting.topic, waiting.input, message.value));
92
111
  drawing?.();
93
112
  return;
94
113
  }
@@ -124,11 +143,11 @@ export function connectMdRuntime(port) {
124
143
  const id = (sequence += 1);
125
144
  if (refusal !== null) {
126
145
  return topic === 'connection-refusal'
127
- ? Promise.resolve(begin(id, topic, refusal))
146
+ ? Promise.resolve(begin(id, topic, input, refusal))
128
147
  : Promise.reject(refused(refusal));
129
148
  }
130
149
  return new Promise((settle, fail) => {
131
- opening.set(id, { topic, settle, fail });
150
+ opening.set(id, { topic, input, settle, fail });
132
151
  send({ kind: 'observe', id, topic, input });
133
152
  drawing?.();
134
153
  });
@@ -156,6 +175,34 @@ export function connectMdRuntime(port) {
156
175
  }, { highWaterMark: 0 });
157
176
  return { kind: 'binary', stream, byteLength, mediaType };
158
177
  }
178
+ async function download(room, path, revision) {
179
+ const tab = PAGE.test(path) ? globalThis.open('', '_blank') : null;
180
+ const linked = await ask('binaryFile.link', [room, path, revision]);
181
+ if (linked.kind === 'link' && PAGE.test(linked.name)) {
182
+ const away = tab ?? globalThis.open('', '_blank');
183
+ if (away === null)
184
+ return BLOCKED;
185
+ away.location.replace(linked.url);
186
+ return STARTED;
187
+ }
188
+ tab?.close();
189
+ if (linked.kind === 'link') {
190
+ handed(linked.url, linked.name);
191
+ return STARTED;
192
+ }
193
+ if (linked.kind !== 'absent')
194
+ return linked;
195
+ const read = streamed(await ask('binaryFile.read', [room, path, revision]));
196
+ if (read.kind !== 'binary')
197
+ return read;
198
+ const copy = await new Response(read.stream, {
199
+ headers: { 'content-type': read.mediaType },
200
+ }).blob();
201
+ const url = URL.createObjectURL(copy);
202
+ handed(url, path.slice(path.lastIndexOf('/') + 1));
203
+ setTimeout(() => URL.revokeObjectURL(url), HANDED_COPY_MS);
204
+ return STARTED;
205
+ }
159
206
  function settled() {
160
207
  if (settling !== null)
161
208
  return settling;
@@ -185,7 +232,9 @@ export function connectMdRuntime(port) {
185
232
  });
186
233
  return settling;
187
234
  }
188
- return {
235
+ const show = (room, path, revision) => ask('binaryFile.show', [room, path, revision]).then((shown) => streamed(shown));
236
+ return shownBy(show, {
237
+ buildFile,
189
238
  rooms: () => ask('rooms', []),
190
239
  query: ((query) => ask('query', [query])),
191
240
  search: (request) => ask('search', [request]),
@@ -208,12 +257,22 @@ export function connectMdRuntime(port) {
208
257
  read: (conversation, options) => ask('conversation.read', [conversation, options]),
209
258
  create: (input) => ask('conversation.create', [input]),
210
259
  send: (conversation, operation, draft) => ask('conversation.send', [conversation, operation, draft]),
211
- attach: (room, file) => ask('conversation.attach', [room, file]),
212
- answer: (conversation, answer) => ask('conversation.answer', [conversation, answer]),
213
- interrupt: (conversation) => ask('conversation.interrupt', [conversation]),
214
- kill: (conversation) => ask('conversation.kill', [conversation]),
215
- cancel: (conversation, turn) => ask('conversation.cancel', [conversation, turn]),
216
- delete: (conversation) => ask('conversation.delete', [conversation]),
260
+ answer: (conversation, answer, operation) => ask('conversation.answer', [conversation, answer, operation]),
261
+ interrupt: (conversation, operation) => ask('conversation.interrupt', [conversation, operation]),
262
+ kill: (conversation, operation) => ask('conversation.kill', [conversation, operation]),
263
+ delete: (conversation, operation) => ask('conversation.delete', [conversation, operation]),
264
+ takeOut: (conversation, message, operation) => ask('conversation.takeOut', [conversation, message, operation]),
265
+ decide: (request, decision, operation) => ask('conversation.decide', [request, decision, operation]),
266
+ rename: (conversation, name, operation) => ask('conversation.rename', [conversation, name, operation]),
267
+ option: (conversation, option, value, operation) => ask('conversation.option', [conversation, option, value, operation]),
268
+ retry: (conversation, message, operation) => ask('conversation.retry', [conversation, message, operation]),
269
+ pins: () => ask('conversation.pins', []),
270
+ pin: (figures) => ask('conversation.pin', [figures]),
271
+ openedTurns: () => ask('conversation.openedTurns', []),
272
+ openTurn: (conversation, turn) => ask('conversation.openTurn', [conversation, turn]),
273
+ pageMetadata: async (app, address) => pageMetadataBlock(app, address, [...observations]
274
+ .sort(([left], [right]) => left - right)
275
+ .flatMap(([, { topic, input }]) => (topic === 'query' ? [input[0]] : []))),
217
276
  },
218
277
  chatDraft: {
219
278
  write: (conversation, draft, revision) => ask('chatDraft.write', [conversation, draft, revision]),
@@ -223,8 +282,9 @@ export function connectMdRuntime(port) {
223
282
  history: (locator, path, query) => ask('history', [locator, path, query]),
224
283
  resolve: (room, path, destination) => ask('resolve', [room, path, destination]),
225
284
  binaryFile: {
226
- read: (room, path, revision) => ask('binaryFile.read', [room, path, revision]).then(streamed),
227
- link: (room, path, revision) => ask('binaryFile.link', [room, path, revision]),
285
+ read: (room, path, revision) => ask('binaryFile.read', [room, path, revision]).then((read) => streamed(read)),
286
+ attach: (room, file) => ask('binaryFile.attach', [room, file]),
287
+ download,
228
288
  },
229
289
  call: (name, input) => ask('call', [name, input]),
230
290
  reached: (locator, roomVersion, path) => ask('reached', [locator, roomVersion, path]),
@@ -232,10 +292,13 @@ export function connectMdRuntime(port) {
232
292
  persistence: () => ask('persistence', []),
233
293
  retry: () => ask('retry', []),
234
294
  cleanUp: () => ask('cleanUp', []),
295
+ unsent: () => ask('unsent', []),
296
+ reset: () => ask('reset', []),
297
+ readAgain: () => ask('readAgain', []),
235
298
  observe: ((topic, ...input) => watch(topic, input)),
236
299
  reauthorize: () => ask('reauthorize', []),
237
300
  settled,
238
- };
301
+ });
239
302
  }
240
303
  const turns = new WeakMap();
241
304
  export function inTurn(client, work) {
@@ -245,4 +308,5 @@ export function inTurn(client, work) {
245
308
  }
246
309
  export { chainedWindows } from './chain.js';
247
310
  export { roomDraftRevision } from './identity.js';
311
+ export { defineRoomMedia, ROOM_MEDIA } from './media.js';
248
312
  export { unanswered } from './wire.js';
@@ -1,8 +1,7 @@
1
- import { type Document } from '@agentshouse/mdmodel';
2
- import type { ModelState } from './model.js';
1
+ import { type DefinitionOf, type Document, type TypedPath } from '@agentshouse/mdmodel';
2
+ import type { ModelState, TypesResult } from './model.js';
3
+ import type { AppTypedSelection } from './listing.js';
3
4
  import type { MdModelIdentity } from './adapter.js';
4
- import { type Paths } from './shared.js';
5
- import type { Refused } from './transfer.js';
6
5
  export declare const MD_MODEL: MdModelIdentity;
7
6
  export type Collection = {
8
7
  text: Readonly<Record<string, string>>;
@@ -15,12 +14,34 @@ export type Composition = {
15
14
  roots: readonly string[];
16
15
  model: ModelState;
17
16
  } | null;
17
+ typedPaths: readonly TypedPath[];
18
18
  };
19
- export declare function selected(composition: Composition, path: string): boolean;
20
- export declare function governing(composition: Composition, path: string): ModelState;
19
+ export type Composed = {
20
+ readonly composition: Composition;
21
+ readonly fingerprint: string;
22
+ };
23
+ export declare function composedOf(composition: Composition): Composed;
24
+ type Selecting<M> = {
25
+ readonly model: M;
26
+ readonly selection: {
27
+ readonly roots: readonly string[];
28
+ readonly model: M;
29
+ } | null;
30
+ };
31
+ export declare function selected(composition: {
32
+ readonly selection: {
33
+ readonly roots: readonly string[];
34
+ } | null;
35
+ }, path: string): boolean;
36
+ export declare function governing<M>(composition: Selecting<M>, path: string): M;
37
+ export declare function definitionsAt(composition: Composition, path: string): DefinitionOf;
38
+ export declare function definitionsIn(room: {
39
+ readonly model: TypesResult;
40
+ readonly typedSelection: AppTypedSelection | null;
41
+ }, path: string, typedPaths: readonly TypedPath[]): DefinitionOf;
21
42
  export declare function collectionOf(text: Readonly<Record<string, string>>, composition: Composition): Collection;
22
43
  export declare function documentsOf(collection: Collection): Generator<number, Iterable<readonly [string, Document]>, void>;
23
- export declare function unreadable(text: Paths<string>, paths?: Iterable<string> | null): Generator<number, Refused | null, void>;
24
44
  export declare function validRoot(root: unknown): root is string;
25
45
  export declare function available(composition: Composition): boolean;
46
+ export {};
26
47
  //# sourceMappingURL=collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAsB,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,QAAQ,EAAE,eAAwE,CAAC;AAEhG,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;CACnE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKxE;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAI5E;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,GACvB,UAAU,CAcZ;AAED,wBAAiB,WAAW,CAC1B,UAAU,EAAE,UAAU,GACrB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAQhE;AAED,wBAAiB,UAAU,CACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAW,GACpC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC,CAazC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAEvD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAE3D"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,eAAO,MAAM,QAAQ,EAAE,eAAwE,CAAC;AAEhG,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAc3F,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAS7D;AAED,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;CACrF,CAAC;AAEF,wBAAgB,QAAQ,CACtB,WAAW,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,EACjF,IAAI,EAAE,MAAM,GACX,OAAO,CAKT;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAIvE;AAYD,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAIlF;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,EACxF,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,SAAS,EAAE,GAC/B,YAAY,CAQd;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,GACvB,UAAU,CAcZ;AAED,wBAAiB,WAAW,CAC1B,UAAU,EAAE,UAAU,GACrB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAQhE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAEvD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAE3D"}
@@ -1,8 +1,29 @@
1
- import { parse, VERSION } from '@agentshouse/mdmodel';
1
+ import { definitionAt, parse, VERSION, } from '@agentshouse/mdmodel';
2
2
  import { beneath, normalize } from './paths.js';
3
- import { keysIn, sortedKeys } from './shared.js';
4
- import { ROW_WEIGHT } from './turn.js';
3
+ import { hashed } from './observation.js';
4
+ import { sortedKeys } from './shared.js';
5
5
  export const MD_MODEL = { identity: '@agentshouse/mdmodel', version: VERSION };
6
+ const typesPrinted = new WeakMap();
7
+ function typesPrint(model) {
8
+ if (model.status === 'unavailable')
9
+ return '';
10
+ let print = typesPrinted.get(model.types);
11
+ if (print === undefined) {
12
+ print = hashed(JSON.stringify(model.types)).toString(36);
13
+ typesPrinted.set(model.types, print);
14
+ }
15
+ return print;
16
+ }
17
+ export function composedOf(composition) {
18
+ const { model, selection } = composition;
19
+ return {
20
+ composition,
21
+ fingerprint: JSON.stringify([
22
+ typesPrint(model),
23
+ selection === null ? null : [selection.roots, typesPrint(selection.model)],
24
+ ]),
25
+ };
26
+ }
6
27
  export function selected(composition, path) {
7
28
  return (composition.selection !== null &&
8
29
  composition.selection.roots.some((root) => beneath(root, path)));
@@ -12,6 +33,16 @@ export function governing(composition, path) {
12
33
  ? composition.selection.model
13
34
  : composition.model;
14
35
  }
36
+ function definitionsUnder(composition, path, typedPaths, typesOf) {
37
+ const types = typesOf(governing(composition, path));
38
+ return types === null ? () => undefined : definitionAt({ types }, path, typedPaths);
39
+ }
40
+ export function definitionsAt(composition, path) {
41
+ return definitionsUnder(composition, path, composition.typedPaths, (model) => model.status === 'unavailable' ? null : model.types);
42
+ }
43
+ export function definitionsIn(room, path, typedPaths) {
44
+ return definitionsUnder({ model: room.model, selection: room.typedSelection }, path, typedPaths, ({ types }) => types === null ? null : Object.fromEntries(types.map((type) => [type.name, type])));
45
+ }
15
46
  export function collectionOf(text, composition) {
16
47
  const parsed = new Map();
17
48
  return {
@@ -23,7 +54,7 @@ export function collectionOf(text, composition) {
23
54
  const content = text[path];
24
55
  if (content === undefined)
25
56
  return undefined;
26
- const read = parse(content, path);
57
+ const read = parse(content, path, definitionsAt(composition, path));
27
58
  parsed.set(path, read.ok ? read.document : null);
28
59
  return read.ok ? read.document : undefined;
29
60
  },
@@ -39,21 +70,6 @@ export function* documentsOf(collection) {
39
70
  }
40
71
  })();
41
72
  }
42
- export function* unreadable(text, paths = null) {
43
- const named = paths ?? (yield* keysIn(text));
44
- let least = null;
45
- for (const path of named) {
46
- const content = Object.hasOwn(text, path) ? text[path] : undefined;
47
- if (content === undefined)
48
- continue;
49
- const read = parse(content, path);
50
- if (!read.ok && (least === null || path < least.path)) {
51
- least = { path, refused: { kind: 'refused', refusal: read.refusal } };
52
- }
53
- yield ROW_WEIGHT + content.length;
54
- }
55
- return least?.refused ?? null;
56
- }
57
73
  export function validRoot(root) {
58
74
  return typeof root === 'string' && normalize(root) === root;
59
75
  }
package/dist/compile.d.ts CHANGED
@@ -1,16 +1,18 @@
1
+ import { sql } from '@agentshouse/mdmodel';
2
+ import { type Composition } from './collection.js';
1
3
  import type { Plan, QueryRows } from './query.js';
2
- import type { Connection, Value } from './tables.js';
4
+ import type { Connection } from './tables.js';
3
5
  export type QueryRoom = {
4
6
  readonly locator: string;
5
7
  readonly key: number;
8
+ readonly composition?: Composition;
6
9
  };
7
- export type Fragment = {
8
- readonly sql: string;
9
- readonly bind: readonly Value[];
10
- };
10
+ type Fragment = sql.Fragment;
11
+ export declare const VISIBLE: (alias: string) => string;
12
+ export declare function within(alias: string, path: string): Fragment;
11
13
  export type QueryAnswer = QueryRows & {
12
14
  readonly more?: string;
13
15
  };
14
- export declare function selected(connection: Connection, plan: Plan, rooms: readonly QueryRoom[]): Fragment;
15
16
  export declare function answerQuery(connection: Connection, plan: Plan, rooms: readonly QueryRoom[], budget?: number | null): QueryAnswer;
17
+ export {};
16
18
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAOV,IAAI,EAGJ,SAAS,EAIV,MAAM,YAAY,CAAC;AAUpB,OAAO,KAAK,EAAE,UAAU,EAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAU1D,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,CAAC;AA0rBjF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4TjE,wBAAgB,QAAQ,CACtB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,SAAS,EAAE,GAC1B,QAAQ,CAEV;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,WAAW,CAUb"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,GAAG,EAQJ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,IAAI,EAAuC,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAG1D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC,CAAC;AAIF,KAAK,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAI7B,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,MACkC,CAAC;AAa3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAM5D;AA2dD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4ZjE,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,WAAW,CAUb"}