@agentshouse/mdruntime 0.1.0-cb1f56e16291b → 0.1.0-cb3bb3b233fa1

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 (327) hide show
  1. package/README.md +21 -19
  2. package/dist/acceptance.d.ts +3 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +299 -0
  5. package/dist/act-lanes.d.ts +30 -0
  6. package/dist/act-lanes.d.ts.map +1 -0
  7. package/dist/act-lanes.js +225 -0
  8. package/dist/actions.d.ts +26 -0
  9. package/dist/actions.d.ts.map +1 -0
  10. package/dist/actions.js +302 -0
  11. package/dist/adapter.d.ts +113 -81
  12. package/dist/adapter.d.ts.map +1 -1
  13. package/dist/attached-model.d.ts +3 -11
  14. package/dist/attached-model.d.ts.map +1 -1
  15. package/dist/attached-model.js +20 -60
  16. package/dist/authored.d.ts +88 -0
  17. package/dist/authored.d.ts.map +1 -0
  18. package/dist/authored.js +345 -0
  19. package/dist/bootstrap.d.ts +9 -5
  20. package/dist/bootstrap.d.ts.map +1 -1
  21. package/dist/bootstrap.js +204 -85
  22. package/dist/cell.d.ts +6 -0
  23. package/dist/cell.d.ts.map +1 -0
  24. package/dist/cell.js +9 -0
  25. package/dist/chain.d.ts +2 -1
  26. package/dist/chain.d.ts.map +1 -1
  27. package/dist/change-set.d.ts +4 -0
  28. package/dist/change-set.d.ts.map +1 -1
  29. package/dist/change-set.js +6 -0
  30. package/dist/change.d.ts +5 -0
  31. package/dist/change.d.ts.map +1 -1
  32. package/dist/change.js +7 -2
  33. package/dist/chat-types.d.ts +3 -0
  34. package/dist/chat-types.d.ts.map +1 -0
  35. package/dist/chat-types.js +11 -0
  36. package/dist/client.d.ts +30 -22
  37. package/dist/client.d.ts.map +1 -1
  38. package/dist/client.js +39 -20
  39. package/dist/collection.d.ts +26 -4
  40. package/dist/collection.d.ts.map +1 -1
  41. package/dist/collection.js +19 -2
  42. package/dist/column.d.ts +5 -0
  43. package/dist/column.d.ts.map +1 -0
  44. package/dist/column.js +9 -0
  45. package/dist/compile.d.ts +9 -7
  46. package/dist/compile.d.ts.map +1 -1
  47. package/dist/compile.js +252 -318
  48. package/dist/connection.d.ts +5 -141
  49. package/dist/connection.d.ts.map +1 -1
  50. package/dist/connection.js +111 -5282
  51. package/dist/context.d.ts.map +1 -1
  52. package/dist/context.js +1 -1
  53. package/dist/conversation-live.d.ts +150 -0
  54. package/dist/conversation-live.d.ts.map +1 -0
  55. package/dist/conversation-live.js +259 -0
  56. package/dist/conversation-row.d.ts +40 -0
  57. package/dist/conversation-row.d.ts.map +1 -0
  58. package/dist/conversation-row.js +66 -0
  59. package/dist/conversation.d.ts +62 -43
  60. package/dist/conversation.d.ts.map +1 -1
  61. package/dist/conversation.js +987 -902
  62. package/dist/declaration.d.ts +10 -0
  63. package/dist/declaration.d.ts.map +1 -0
  64. package/dist/declaration.js +24 -0
  65. package/dist/discovery.d.ts +10 -0
  66. package/dist/discovery.d.ts.map +1 -0
  67. package/dist/discovery.js +150 -0
  68. package/dist/durability.d.ts +19 -0
  69. package/dist/durability.d.ts.map +1 -1
  70. package/dist/durability.js +4 -0
  71. package/dist/entry.d.ts +2 -2
  72. package/dist/entry.d.ts.map +1 -1
  73. package/dist/entry.js +18 -9
  74. package/dist/expectation.d.ts +26 -13
  75. package/dist/expectation.d.ts.map +1 -1
  76. package/dist/expectation.js +72 -19
  77. package/dist/failure.d.ts +3 -0
  78. package/dist/failure.d.ts.map +1 -1
  79. package/dist/failure.js +6 -0
  80. package/dist/figures.d.ts +49 -0
  81. package/dist/figures.d.ts.map +1 -0
  82. package/dist/figures.js +199 -0
  83. package/dist/file.d.ts +1 -1
  84. package/dist/file.d.ts.map +1 -1
  85. package/dist/file.js +3 -2
  86. package/dist/holdings.d.ts +29 -0
  87. package/dist/holdings.d.ts.map +1 -0
  88. package/dist/holdings.js +95 -0
  89. package/dist/host.d.ts +20 -4
  90. package/dist/host.d.ts.map +1 -1
  91. package/dist/host.js +72 -28
  92. package/dist/identity.d.ts +0 -1
  93. package/dist/identity.d.ts.map +1 -1
  94. package/dist/identity.js +0 -3
  95. package/dist/index.d.ts +32 -12
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +14 -5
  98. package/dist/install.d.ts +60 -0
  99. package/dist/install.d.ts.map +1 -0
  100. package/dist/install.js +537 -0
  101. package/dist/lifecycle.d.ts +7 -0
  102. package/dist/lifecycle.d.ts.map +1 -0
  103. package/dist/lifecycle.js +282 -0
  104. package/dist/listing.d.ts +52 -0
  105. package/dist/listing.d.ts.map +1 -0
  106. package/dist/listing.js +152 -0
  107. package/dist/live.d.ts +8 -6
  108. package/dist/live.d.ts.map +1 -1
  109. package/dist/live.js +110 -31
  110. package/dist/loaded.d.ts +5 -0
  111. package/dist/loaded.d.ts.map +1 -0
  112. package/dist/loaded.js +40 -0
  113. package/dist/locks.d.ts +7 -0
  114. package/dist/locks.d.ts.map +1 -0
  115. package/dist/locks.js +32 -0
  116. package/dist/lost.d.ts +5 -0
  117. package/dist/lost.d.ts.map +1 -0
  118. package/dist/lost.js +49 -0
  119. package/dist/media.d.ts +6 -1
  120. package/dist/media.d.ts.map +1 -1
  121. package/dist/media.js +68 -17
  122. package/dist/memory.d.ts +11 -3
  123. package/dist/memory.d.ts.map +1 -1
  124. package/dist/memory.js +132 -33
  125. package/dist/messages.d.ts +33 -3
  126. package/dist/messages.d.ts.map +1 -1
  127. package/dist/messages.js +98 -27
  128. package/dist/model.d.ts +2 -10
  129. package/dist/model.d.ts.map +1 -1
  130. package/dist/model.js +0 -14
  131. package/dist/models.d.ts +10 -0
  132. package/dist/models.d.ts.map +1 -0
  133. package/dist/models.js +153 -0
  134. package/dist/observation.d.ts +27 -12
  135. package/dist/observation.d.ts.map +1 -1
  136. package/dist/observation.js +184 -85
  137. package/dist/opened.d.ts +1 -1
  138. package/dist/opened.d.ts.map +1 -1
  139. package/dist/opened.js +5 -5
  140. package/dist/opening.d.ts +4 -0
  141. package/dist/opening.d.ts.map +1 -0
  142. package/dist/opening.js +53 -0
  143. package/dist/outcome.d.ts +17 -2
  144. package/dist/outcome.d.ts.map +1 -1
  145. package/dist/outcome.js +35 -2
  146. package/dist/overlay.d.ts +7 -2
  147. package/dist/overlay.d.ts.map +1 -1
  148. package/dist/overlay.js +48 -24
  149. package/dist/page-metadata.d.ts +8 -0
  150. package/dist/page-metadata.d.ts.map +1 -0
  151. package/dist/page-metadata.js +19 -0
  152. package/dist/parts.d.ts +4 -0
  153. package/dist/parts.d.ts.map +1 -0
  154. package/dist/parts.js +13 -0
  155. package/dist/paths.d.ts +1 -0
  156. package/dist/paths.d.ts.map +1 -1
  157. package/dist/paths.js +22 -0
  158. package/dist/preparation.d.ts +41 -0
  159. package/dist/preparation.d.ts.map +1 -0
  160. package/dist/preparation.js +314 -0
  161. package/dist/presence.d.ts +58 -0
  162. package/dist/presence.d.ts.map +1 -0
  163. package/dist/presence.js +231 -0
  164. package/dist/queries.d.ts +16 -0
  165. package/dist/queries.d.ts.map +1 -0
  166. package/dist/queries.js +308 -0
  167. package/dist/query.d.ts +13 -213
  168. package/dist/query.d.ts.map +1 -1
  169. package/dist/query.js +3 -524
  170. package/dist/questions.d.ts +30 -0
  171. package/dist/questions.d.ts.map +1 -0
  172. package/dist/questions.js +116 -0
  173. package/dist/queue.d.ts +40 -0
  174. package/dist/queue.d.ts.map +1 -0
  175. package/dist/queue.js +480 -0
  176. package/dist/reach.d.ts +10 -10
  177. package/dist/reach.d.ts.map +1 -1
  178. package/dist/reach.js +235 -120
  179. package/dist/react.d.ts +17 -3
  180. package/dist/react.d.ts.map +1 -1
  181. package/dist/react.js +33 -1
  182. package/dist/read.d.ts +7 -0
  183. package/dist/read.d.ts.map +1 -0
  184. package/dist/read.js +17 -0
  185. package/dist/readiness.d.ts +9 -4
  186. package/dist/readiness.d.ts.map +1 -1
  187. package/dist/readiness.js +3 -5
  188. package/dist/reads.d.ts +39 -0
  189. package/dist/reads.d.ts.map +1 -0
  190. package/dist/reads.js +178 -0
  191. package/dist/recovery.d.ts +3 -1
  192. package/dist/recovery.d.ts.map +1 -1
  193. package/dist/recovery.js +38 -8
  194. package/dist/refresh.d.ts +1 -1
  195. package/dist/refresh.d.ts.map +1 -1
  196. package/dist/refresh.js +10 -22
  197. package/dist/refusal.d.ts +5 -0
  198. package/dist/refusal.d.ts.map +1 -0
  199. package/dist/refusal.js +55 -0
  200. package/dist/replica.d.ts +11 -16
  201. package/dist/replica.d.ts.map +1 -1
  202. package/dist/replica.js +66 -35
  203. package/dist/retried.d.ts +30 -0
  204. package/dist/retried.d.ts.map +1 -0
  205. package/dist/retried.js +72 -0
  206. package/dist/room-draft.d.ts +32 -9
  207. package/dist/room-draft.d.ts.map +1 -1
  208. package/dist/room-draft.js +273 -66
  209. package/dist/room-drafts.d.ts +24 -0
  210. package/dist/room-drafts.d.ts.map +1 -0
  211. package/dist/room-drafts.js +220 -0
  212. package/dist/room-list.d.ts +10 -0
  213. package/dist/room-list.d.ts.map +1 -0
  214. package/dist/room-list.js +45 -0
  215. package/dist/rows.d.ts +16 -23
  216. package/dist/rows.d.ts.map +1 -1
  217. package/dist/rows.js +49 -191
  218. package/dist/runtime.d.ts +34 -0
  219. package/dist/runtime.d.ts.map +1 -0
  220. package/dist/runtime.js +1 -0
  221. package/dist/save.d.ts +42 -86
  222. package/dist/save.d.ts.map +1 -1
  223. package/dist/save.js +332 -228
  224. package/dist/saves.d.ts +34 -0
  225. package/dist/saves.d.ts.map +1 -0
  226. package/dist/saves.js +437 -0
  227. package/dist/search.d.ts.map +1 -1
  228. package/dist/search.js +1 -1
  229. package/dist/seed.d.ts +11 -2
  230. package/dist/seed.d.ts.map +1 -1
  231. package/dist/seed.js +71 -1
  232. package/dist/shared.d.ts +1 -6
  233. package/dist/shared.d.ts.map +1 -1
  234. package/dist/shared.js +13 -95
  235. package/dist/shown.d.ts +33 -0
  236. package/dist/shown.d.ts.map +1 -0
  237. package/dist/shown.js +309 -0
  238. package/dist/socket/admission.d.ts +7 -0
  239. package/dist/socket/admission.d.ts.map +1 -0
  240. package/dist/socket/admission.js +39 -0
  241. package/dist/socket/answers.d.ts +6 -0
  242. package/dist/socket/answers.d.ts.map +1 -0
  243. package/dist/socket/answers.js +20 -0
  244. package/dist/socket/lanes.d.ts +28 -0
  245. package/dist/socket/lanes.d.ts.map +1 -0
  246. package/dist/socket/lanes.js +103 -0
  247. package/dist/socket/reads.d.ts +10 -0
  248. package/dist/socket/reads.d.ts.map +1 -0
  249. package/dist/socket/reads.js +31 -0
  250. package/dist/socket/session.d.ts +38 -0
  251. package/dist/socket/session.d.ts.map +1 -0
  252. package/dist/socket/session.js +23 -0
  253. package/dist/socket.d.ts +67 -0
  254. package/dist/socket.d.ts.map +1 -0
  255. package/dist/socket.js +164 -0
  256. package/dist/source.d.ts +59 -0
  257. package/dist/source.d.ts.map +1 -0
  258. package/dist/source.js +93 -0
  259. package/dist/status.d.ts +0 -2
  260. package/dist/status.d.ts.map +1 -1
  261. package/dist/status.js +0 -6
  262. package/dist/store/installs.d.ts +30 -0
  263. package/dist/store/installs.d.ts.map +1 -0
  264. package/dist/store/installs.js +40 -0
  265. package/dist/store/readiness.d.ts +11 -0
  266. package/dist/store/readiness.d.ts.map +1 -0
  267. package/dist/store/readiness.js +68 -0
  268. package/dist/store/records.d.ts +223 -0
  269. package/dist/store/records.d.ts.map +1 -0
  270. package/dist/store/records.js +465 -0
  271. package/dist/store/room-held.d.ts +8 -0
  272. package/dist/store/room-held.d.ts.map +1 -0
  273. package/dist/store/room-held.js +17 -0
  274. package/dist/store/rooms-shown.d.ts +8 -0
  275. package/dist/store/rooms-shown.d.ts.map +1 -0
  276. package/dist/store/rooms-shown.js +13 -0
  277. package/dist/store/space.d.ts +11 -0
  278. package/dist/store/space.d.ts.map +1 -0
  279. package/dist/store/space.js +41 -0
  280. package/dist/store/watchers.d.ts +17 -0
  281. package/dist/store/watchers.d.ts.map +1 -0
  282. package/dist/store/watchers.js +56 -0
  283. package/dist/store/writes.d.ts +24 -0
  284. package/dist/store/writes.d.ts.map +1 -0
  285. package/dist/store/writes.js +125 -0
  286. package/dist/store.d.ts +115 -152
  287. package/dist/store.d.ts.map +1 -1
  288. package/dist/store.js +171 -395
  289. package/dist/stored.d.ts +72 -67
  290. package/dist/stored.d.ts.map +1 -1
  291. package/dist/stored.js +317 -166
  292. package/dist/surface.d.ts +90 -0
  293. package/dist/surface.d.ts.map +1 -0
  294. package/dist/surface.js +225 -0
  295. package/dist/sync.d.ts +19 -0
  296. package/dist/sync.d.ts.map +1 -0
  297. package/dist/sync.js +536 -0
  298. package/dist/tables.d.ts +112 -89
  299. package/dist/tables.d.ts.map +1 -1
  300. package/dist/tables.js +197 -283
  301. package/dist/tallies.d.ts +18 -0
  302. package/dist/tallies.d.ts.map +1 -0
  303. package/dist/tallies.js +128 -0
  304. package/dist/validation.d.ts.map +1 -1
  305. package/dist/validation.js +9 -12
  306. package/dist/windows.d.ts +1 -12
  307. package/dist/windows.d.ts.map +1 -1
  308. package/dist/windows.js +2 -75
  309. package/dist/wire.d.ts +68 -7
  310. package/dist/wire.d.ts.map +1 -1
  311. package/dist/wire.js +23 -4
  312. package/package.json +3 -2
  313. package/dist/attempt.d.ts +0 -16
  314. package/dist/attempt.d.ts.map +0 -1
  315. package/dist/attempt.js +0 -70
  316. package/dist/fence.d.ts +0 -6
  317. package/dist/fence.d.ts.map +0 -1
  318. package/dist/fence.js +0 -10
  319. package/dist/job.d.ts +0 -14
  320. package/dist/job.d.ts.map +0 -1
  321. package/dist/job.js +0 -28
  322. package/dist/log.d.ts +0 -5
  323. package/dist/log.d.ts.map +0 -1
  324. package/dist/log.js +0 -14
  325. package/dist/phrase.d.ts +0 -3
  326. package/dist/phrase.d.ts.map +0 -1
  327. package/dist/phrase.js +0 -8
@@ -0,0 +1,18 @@
1
+ import { type QueryRoom } from './compile.js';
2
+ import type { GroupTotal, Plan } from './query.js';
3
+ import type { Connection } from './tables.js';
4
+ export type RoomTally = {
5
+ readonly key: number;
6
+ readonly documents: GroupTotal;
7
+ readonly files: GroupTotal;
8
+ readonly documentTimes: readonly (readonly [string | null, string | null])[];
9
+ readonly chatTimes: readonly string[];
10
+ readonly messageTimes: readonly string[];
11
+ };
12
+ export type ConversationTally = {
13
+ readonly conversation: string;
14
+ readonly said: readonly string[];
15
+ };
16
+ export declare function roomTallies(connection: Connection, totals: Plan, rooms: readonly QueryRoom[], since: string): RoomTally[];
17
+ export declare function conversationTallies(connection: Connection, conversations: readonly string[] | null, since: string): ConversationTally[];
18
+ //# sourceMappingURL=tallies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tallies.d.ts","sourceRoot":"","sources":["../src/tallies.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAI1D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;IAC7E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAmHpG,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,KAAK,EAAE,MAAM,GACZ,SAAS,EAAE,CAwBb;AA0BD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EACvC,KAAK,EAAE,MAAM,GACZ,iBAAiB,EAAE,CAerB"}
@@ -0,0 +1,128 @@
1
+ import { CHAT_MESSAGE_TYPE, CHAT_TYPE, instantKey, sql } from '@agentshouse/mdmodel';
2
+ import { answerQuery, VISIBLE, within } from './compile.js';
3
+ import { HOUSE_DIRECTORY } from './figures.js';
4
+ const NONE = { count: 0, size: 0 };
5
+ const { all, fragment, joined } = sql;
6
+ function instant(value) {
7
+ return typeof value === 'string' ? value : null;
8
+ }
9
+ function held(alias, keys) {
10
+ const reserved = within(alias, HOUSE_DIRECTORY);
11
+ return all([
12
+ fragment(`${alias}.key IN (SELECT value FROM json_each(?))`, [JSON.stringify(keys)]),
13
+ fragment(VISIBLE(alias)),
14
+ fragment(`NOT ${reserved.sql}`, reserved.bind),
15
+ ]);
16
+ }
17
+ function valued(alias, document, field) {
18
+ return joined([
19
+ fragment(`${alias}.doc = ${document}.id AND `),
20
+ sql.grouped(sql.placed(alias, field, 'exact')),
21
+ fragment(` AND ${alias}.item = -1`),
22
+ ], '');
23
+ }
24
+ function inboxed(card) {
25
+ return joined([
26
+ fragment('EXISTS (SELECT 1 FROM replica_values i WHERE '),
27
+ valued('i', card, '/inbox'),
28
+ fragment(" AND i.kind = 'string')"),
29
+ ], '');
30
+ }
31
+ function rowsOf(connection, query) {
32
+ return connection.rows(query.sql, query.bind);
33
+ }
34
+ function documentTimes(connection, keys, since) {
35
+ return rowsOf(connection, joined([
36
+ fragment('SELECT d.key AS key, d.created_instant AS created, d.changed_instant AS changed FROM replica_entries d WHERE '),
37
+ held('d', keys),
38
+ fragment(" AND d.binary IS NULL AND COALESCE(d.type, '') NOT IN (?, ?) AND (d.created_instant >= ? OR d.changed_instant >= ?)", [CHAT_TYPE, CHAT_MESSAGE_TYPE, since, since]),
39
+ ], ''));
40
+ }
41
+ function chatTimes(connection, keys, since) {
42
+ return rowsOf(connection, joined([
43
+ fragment('SELECT d.key AS key, d.created_instant AS at FROM replica_entries d WHERE '),
44
+ held('d', keys),
45
+ fragment(' AND d.type = ? AND d.created_instant >= ? AND ', [CHAT_TYPE, since]),
46
+ inboxed('d'),
47
+ ], ''));
48
+ }
49
+ function messageTimes(connection, keys, since) {
50
+ return rowsOf(connection, joined([
51
+ fragment('SELECT m.key AS key, s.instant AS at FROM replica_entries m JOIN replica_values s ON '),
52
+ valued('s', 'm', '/sent_at'),
53
+ fragment(' AND s.instant >= ? JOIN replica_values r ON ', [since]),
54
+ valued('r', 'm', '/direction'),
55
+ fragment(" AND r.kind = 'string' AND r.value = 'in' WHERE "),
56
+ held('m', keys),
57
+ fragment(` AND m.type = ? AND EXISTS (SELECT 1 FROM replica_entries c WHERE c.key = m.key AND c.type = ? AND ${VISIBLE('c')} AND c.folder = m.folder AND `, [CHAT_MESSAGE_TYPE, CHAT_TYPE]),
58
+ inboxed('c'),
59
+ fragment(')'),
60
+ ], ''));
61
+ }
62
+ function byKey(rows, read) {
63
+ const kept = new Map();
64
+ for (const row of rows) {
65
+ const key = Number(row.key);
66
+ const list = kept.get(key) ?? [];
67
+ list.push(read(row));
68
+ kept.set(key, list);
69
+ }
70
+ return kept;
71
+ }
72
+ export function roomTallies(connection, totals, rooms, since) {
73
+ const keys = rooms.map(({ key }) => key);
74
+ const from = instantKey(since);
75
+ const answered = answerQuery(connection, totals, rooms);
76
+ const summed = new Map(('groups' in answered ? answered.groups : []).map((group) => [String(group.key[0]), group]));
77
+ const documents = byKey(documentTimes(connection, keys, from), (row) => [instant(row.created), instant(row.changed)]);
78
+ const chats = byKey(chatTimes(connection, keys, from), (row) => instant(row.at));
79
+ const messages = byKey(messageTimes(connection, keys, from), (row) => instant(row.at));
80
+ return rooms.map(({ locator, key }) => {
81
+ const total = summed.get(locator);
82
+ return {
83
+ key,
84
+ documents: total?.documents ?? NONE,
85
+ files: total?.files ?? NONE,
86
+ documentTimes: documents.get(key) ?? [],
87
+ chatTimes: chats.get(key) ?? [],
88
+ messageTimes: messages.get(key) ?? [],
89
+ };
90
+ });
91
+ }
92
+ const ACCEPTED = "message ->> '$.accepted_at'";
93
+ const NEWER = 'ORDER BY n.position DESC, n.identity DESC LIMIT 1';
94
+ const SAID = `WITH RECURSIVE
95
+ named(conversation) AS (SELECT value FROM json_each(?)),
96
+ walk(conversation, position, identity, at, role) AS (
97
+ SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
98
+ FROM named JOIN conversation_messages m ON m.id = (
99
+ SELECT n.id FROM conversation_messages n WHERE n.conversation = named.conversation ${NEWER}
100
+ )
101
+ UNION ALL
102
+ SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
103
+ FROM walk JOIN conversation_messages m ON m.id = (
104
+ SELECT n.id FROM conversation_messages n WHERE n.conversation = walk.conversation
105
+ AND (n.position < walk.position OR (n.position = walk.position AND n.identity < walk.identity))
106
+ ${NEWER}
107
+ )
108
+ WHERE julianday(walk.at) >= julianday(?)
109
+ )
110
+ SELECT walk.conversation AS conversation, walk.at AS at
111
+ FROM walk
112
+ WHERE walk.role IN ('user', 'assistant') AND julianday(walk.at) >= julianday(?)`;
113
+ export function conversationTallies(connection, conversations, since) {
114
+ const named = conversations ??
115
+ connection
116
+ .rows('SELECT DISTINCT conversation FROM conversation_messages')
117
+ .map((row) => String(row.conversation));
118
+ const from = instantKey(since);
119
+ const said = new Map();
120
+ for (const row of connection.rows(SAID, [JSON.stringify(named), since, since])) {
121
+ const at = instantKey(row.at);
122
+ if (at === null || at < from)
123
+ continue;
124
+ const conversation = String(row.conversation);
125
+ said.set(conversation, [...(said.get(conversation) ?? []), at]);
126
+ }
127
+ return named.map((conversation) => ({ conversation, said: said.get(conversation) ?? [] }));
128
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM7D,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAyBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAkBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAgD,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMjG,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAoBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CA6CrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAgBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
@@ -1,14 +1,10 @@
1
- import { assess, parse, parseFrontmatter, verdicts, } from '@agentshouse/mdmodel';
2
- import { selected } from './collection.js';
1
+ import { assess, parse, verdicts, } from '@agentshouse/mdmodel';
2
+ import { definitionsAt, selected, textType, typedText } from './collection.js';
3
3
  import { paced, ROW_WEIGHT, yielded } from './turn.js';
4
4
  const NO_TYPES = { types: {} };
5
5
  function modelOf(model) {
6
6
  return model.status === 'unavailable' ? NO_TYPES : { types: model.types };
7
7
  }
8
- function typedText(content) {
9
- const read = parse(content);
10
- return read.ok && read.document.type !== undefined && read.document.type !== 'any';
11
- }
12
8
  function partVerdict(part) {
13
9
  return part.unmodeled !== null
14
10
  ? { verdict: 'refuse', rule: 'model-unavailable', file: part.unmodeled }
@@ -28,10 +24,14 @@ export async function validatedCollection(walk, lookup, composition) {
28
24
  if (content === null)
29
25
  continue;
30
26
  const part = partOf(path);
31
- if (part.model.status === 'unavailable' && part.unmodeled === null && typedText(content)) {
27
+ const parsed = parse(content, path, definitionsAt(composition, path));
28
+ if (part.model.status === 'unavailable' && part.unmodeled === null && typedText(parsed)) {
32
29
  part.unmodeled = path;
33
30
  }
34
- const assessment = assess(path, content, false, modelOf(part.model), { anyRoom: true });
31
+ const assessment = assess(path, parsed, false, modelOf(part.model), {
32
+ anyRoom: true,
33
+ typedPaths: composition.typedPaths,
34
+ });
35
35
  assessed.push({ part, assessment });
36
36
  await pace(content.length + assessment.targets.length * ROW_WEIGHT);
37
37
  }
@@ -54,10 +54,7 @@ export async function validatedCollection(walk, lookup, composition) {
54
54
  return refusals.find((refusal) => refusal.rule !== 'model-unavailable') ?? refusals[0];
55
55
  }
56
56
  function declared(content) {
57
- if (content === undefined || content === null)
58
- return undefined;
59
- const read = parseFrontmatter(content);
60
- return read.ok ? (read.frontmatter.type ?? 'any') : undefined;
57
+ return content === undefined || content === null ? undefined : textType(parse(content));
61
58
  }
62
59
  function shifted({ was, now }) {
63
60
  return ((now === undefined) !== (was === undefined) ||
package/dist/windows.d.ts CHANGED
@@ -1,22 +1,11 @@
1
1
  export declare const MAXIMUM_WINDOW = 1000;
2
- export declare const FROM_START = "[]";
2
+ export declare const FROM_START: string;
3
3
  export declare function capped(limit: number | null | undefined): number;
4
- export type Ordering = {
5
- readonly direction: 'asc' | 'desc';
6
- readonly nulls: 'first' | 'last';
7
- readonly stringSort: 'lexical' | 'locale';
8
- readonly locale: string | undefined;
9
- readonly localeOptions: Intl.CollatorOptions | undefined;
10
- };
11
4
  interface Placed {
12
5
  readonly position: string;
13
6
  readonly identity: string;
14
7
  }
15
8
  export declare function messageOrder(left: Placed, right: Placed): number;
16
9
  export declare function precedes(message: Placed, before: readonly [string, string] | null): boolean;
17
- export declare function byCodePoint(left: string, right: string): number;
18
- export declare function compared(left: unknown, right: unknown, ordering: Ordering): number;
19
- export declare function cursorOf(values: readonly unknown[]): string;
20
- export declare function decodedCursor(text: string): readonly unknown[] | null;
21
10
  export {};
22
11
  //# sourceMappingURL=windows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,UAAU,MAAM;IACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAE3F;AAaD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/D;AA4BD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAMlF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE,GAAG,IAAI,CAOrE"}
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,UAAU,MAAM;IACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAE3F"}
package/dist/windows.js CHANGED
@@ -1,5 +1,6 @@
1
+ import { cursorOf } from '@agentshouse/mdmodel';
1
2
  export const MAXIMUM_WINDOW = 1000;
2
- export const FROM_START = '[]';
3
+ export const FROM_START = cursorOf([]);
3
4
  export function capped(limit) {
4
5
  return limit == null ? MAXIMUM_WINDOW : Math.min(limit, MAXIMUM_WINDOW);
5
6
  }
@@ -13,77 +14,3 @@ export function messageOrder(left, right) {
13
14
  export function precedes(message, before) {
14
15
  return before === null || messageOrder(message, { position: before[0], identity: before[1] }) < 0;
15
16
  }
16
- function rank(value) {
17
- if (typeof value === 'boolean' || typeof value === 'number')
18
- return 1;
19
- if (typeof value === 'string')
20
- return 2;
21
- return Array.isArray(value) ? 3 : 4;
22
- }
23
- function unit(code) {
24
- if (code >= 0xd800 && code < 0xe000)
25
- return code + 0x2000;
26
- return code >= 0xe000 ? code - 0x800 : code;
27
- }
28
- export function byCodePoint(left, right) {
29
- for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
30
- const ours = left.charCodeAt(at);
31
- const theirs = right.charCodeAt(at);
32
- if (ours !== theirs)
33
- return unit(ours) - unit(theirs);
34
- }
35
- return left.length - right.length;
36
- }
37
- function ascending(left, right, ordering) {
38
- if (left == null && right == null)
39
- return 0;
40
- if (left == null)
41
- return ordering.nulls === 'first' ? -1 : 1;
42
- if (right == null)
43
- return ordering.nulls === 'first' ? 1 : -1;
44
- const ranked = rank(left) - rank(right);
45
- if (ranked !== 0)
46
- return ranked;
47
- if (typeof left === 'string' && typeof right === 'string') {
48
- return ordering.stringSort === 'locale'
49
- ? left.localeCompare(right, ordering.locale, ordering.localeOptions)
50
- : byCodePoint(left, right);
51
- }
52
- if (Array.isArray(left) && Array.isArray(right)) {
53
- for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
54
- const result = ascending(left[at], right[at], ordering);
55
- if (result !== 0)
56
- return result;
57
- }
58
- return left.length - right.length;
59
- }
60
- if (typeof left === 'object')
61
- return 0;
62
- const held = left;
63
- const other = right;
64
- if (held < other)
65
- return -1;
66
- if (held > other)
67
- return 1;
68
- return 0;
69
- }
70
- export function compared(left, right, ordering) {
71
- if (ordering.direction === 'asc')
72
- return ascending(left, right, ordering);
73
- return ascending(right, left, {
74
- ...ordering,
75
- nulls: ordering.nulls === 'first' ? 'last' : 'first',
76
- });
77
- }
78
- export function cursorOf(values) {
79
- return JSON.stringify(values);
80
- }
81
- export function decodedCursor(text) {
82
- try {
83
- const decoded = JSON.parse(text);
84
- return Array.isArray(decoded) ? decoded : null;
85
- }
86
- catch {
87
- return null;
88
- }
89
- }
package/dist/wire.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ConnectionRefusal } from './connection.js';
1
+ import type { ConnectionRefusal } from './socket.js';
2
2
  import type { Described } from './failure.js';
3
3
  export type RuntimePort = {
4
4
  postMessage(message: unknown): void;
@@ -7,7 +7,7 @@ export type RuntimePort = {
7
7
  }) => void): void;
8
8
  start(): void;
9
9
  };
10
- export type WireReach = 'within' | 'app' | 'runtime' | 'actions' | 'whole';
10
+ export type WireReach = 'within' | 'app' | 'runtime' | 'whole';
11
11
  export type WireEffect = 'read' | 'write' | 'action';
12
12
  export type WireCall = {
13
13
  readonly reach: WireReach;
@@ -67,21 +67,33 @@ declare const MEMBERS: {
67
67
  readonly effect: 'read';
68
68
  };
69
69
  readonly call: {
70
- readonly reach: 'actions';
70
+ readonly reach: 'within';
71
71
  readonly effect: 'action';
72
72
  };
73
+ readonly answered: {
74
+ readonly reach: 'within';
75
+ readonly effect: 'read';
76
+ };
73
77
  readonly reached: {
74
78
  readonly reach: 'within';
75
79
  readonly effect: 'read';
76
80
  };
77
- readonly log: {
81
+ readonly cleanUp: {
82
+ readonly reach: 'whole';
83
+ readonly effect: 'write';
84
+ };
85
+ readonly unsent: {
78
86
  readonly reach: 'whole';
79
87
  readonly effect: 'read';
80
88
  };
81
- readonly cleanUp: {
89
+ readonly reset: {
82
90
  readonly reach: 'whole';
83
91
  readonly effect: 'write';
84
92
  };
93
+ readonly readAgain: {
94
+ readonly reach: 'whole';
95
+ readonly effect: 'read';
96
+ };
85
97
  readonly persistence: {
86
98
  readonly reach: 'runtime';
87
99
  readonly effect: 'read';
@@ -154,6 +166,46 @@ declare const MEMBERS: {
154
166
  readonly reach: 'within';
155
167
  readonly effect: 'action';
156
168
  };
169
+ readonly 'conversation.takeOut': {
170
+ readonly reach: 'within';
171
+ readonly effect: 'action';
172
+ };
173
+ readonly 'conversation.decide': {
174
+ readonly reach: 'within';
175
+ readonly effect: 'action';
176
+ };
177
+ readonly 'conversation.rename': {
178
+ readonly reach: 'within';
179
+ readonly effect: 'action';
180
+ };
181
+ readonly 'conversation.option': {
182
+ readonly reach: 'within';
183
+ readonly effect: 'action';
184
+ };
185
+ readonly 'conversation.retry': {
186
+ readonly reach: 'within';
187
+ readonly effect: 'action';
188
+ };
189
+ readonly 'conversation.pin': {
190
+ readonly reach: 'within';
191
+ readonly effect: 'write';
192
+ };
193
+ readonly 'conversation.openTurn': {
194
+ readonly reach: 'within';
195
+ readonly effect: 'write';
196
+ };
197
+ readonly 'conversation.dismissSuggestion': {
198
+ readonly reach: 'within';
199
+ readonly effect: 'write';
200
+ };
201
+ readonly 'conversation.attach': {
202
+ readonly reach: 'within';
203
+ readonly effect: 'action';
204
+ };
205
+ readonly 'conversation.attachment': {
206
+ readonly reach: 'within';
207
+ readonly effect: 'read';
208
+ };
157
209
  readonly 'chatDraft.write': {
158
210
  readonly reach: 'within';
159
211
  readonly effect: 'write';
@@ -162,6 +214,10 @@ declare const MEMBERS: {
162
214
  readonly reach: 'within';
163
215
  readonly effect: 'write';
164
216
  };
217
+ readonly 'chatDraft.append': {
218
+ readonly reach: 'within';
219
+ readonly effect: 'write';
220
+ };
165
221
  readonly 'chatDraft.discard': {
166
222
  readonly reach: 'within';
167
223
  readonly effect: 'write';
@@ -184,6 +240,11 @@ declare const TOPICS: {
184
240
  readonly conversation: 'within';
185
241
  readonly conversations: 'within';
186
242
  readonly agents: 'within';
243
+ readonly 'listed-agents': 'whole';
244
+ readonly 'room-list': 'whole';
245
+ readonly figures: 'whole';
246
+ readonly holdings: 'whole';
247
+ readonly read: 'whole';
187
248
  };
188
249
  export declare const WIRE: {
189
250
  readonly members: Readonly<Record<string, WireCall>>;
@@ -230,7 +291,7 @@ export declare function unanswered(call: {
230
291
  }): WireAnswer | null;
231
292
  export declare const AUTHORIZATION_ENDED = "the host authorization ended";
232
293
  export declare const PORT_CLOSED = "the port closed";
233
- export declare function request(message: unknown): WireRequest | null;
234
- export declare function answer(message: unknown): WireAnswer | null;
294
+ export declare function wireRequest(message: unknown): WireRequest | null;
295
+ export declare function wireAnswer(message: unknown): WireAnswer | null;
235
296
  export {};
236
297
  //# sourceMappingURL=wire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACjG,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAElF,QAAA,MAAM,OAAO;;iBACF,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAChC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAChC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAC3B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAClC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBACrB,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC7B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBACnC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC5C,KAAK,EAAE,SAAS;iBAAE,MAAM,EAAE,QAAQ;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBACnC,KAAK,EAAE,OAAO;iBAAE,MAAM,EAAE,MAAM;;;iBAC1B,KAAK,EAAE,OAAO;iBAAE,MAAM,EAAE,OAAO;;;iBAC3B,KAAK,EAAE,SAAS;iBAAE,MAAM,EAAE,MAAM;;;iBACtC,KAAK,EAAE,SAAS;iBAAE,MAAM,EAAE,OAAO;;;iBAC3B,KAAK,EAAE,SAAS;iBAAE,MAAM,EAAE,OAAO;;;iBAC5B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAChC,KAAK,EAAE,KAAK;iBAAE,MAAM,EAAE,MAAM;;;iBAC3B,KAAK,EAAE,KAAK;iBAAE,MAAM,EAAE,OAAO;;;iBAC9B,KAAK,EAAE,KAAK;iBAAE,MAAM,EAAE,OAAO;;;iBAC7B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC7B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBACnC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBACtC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,QAAQ;;;iBACrC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAChC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;CACF,CAAC;AAExD,QAAA,MAAM,MAAM;oBACH,QAAQ;wBACJ,QAAQ;mCACG,SAAS;6BACf,SAAS;iCACL,SAAS;4BACd,QAAQ;6BACP,SAAS;qBACjB,SAAS;kCACI,SAAS;oBACvB,QAAQ;oBACR,QAAQ;4BACA,QAAQ;2BACT,KAAK;2BACL,QAAQ;4BACP,QAAQ;qBACf,QAAQ;CACsC,CAAC;AAEzD,eAAO,MAAM,IAAI,EAAE;IACjB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACf,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAE5C,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9C,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B,GAAG,UAAU,GAAG,IAAI,CAWpB;AAED,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAQ7C,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAiC5D;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAgC1D"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
package/dist/wire.js CHANGED
@@ -13,10 +13,13 @@ const MEMBERS = {
13
13
  'binaryFile.show': { reach: 'within', effect: 'read' },
14
14
  'binaryFile.attach': { reach: 'within', effect: 'action' },
15
15
  'binaryFile.part': { reach: 'within', effect: 'read' },
16
- call: { reach: 'actions', effect: 'action' },
16
+ call: { reach: 'within', effect: 'action' },
17
+ answered: { reach: 'within', effect: 'read' },
17
18
  reached: { reach: 'within', effect: 'read' },
18
- log: { reach: 'whole', effect: 'read' },
19
19
  cleanUp: { reach: 'whole', effect: 'write' },
20
+ unsent: { reach: 'whole', effect: 'read' },
21
+ reset: { reach: 'whole', effect: 'write' },
22
+ readAgain: { reach: 'whole', effect: 'read' },
20
23
  persistence: { reach: 'runtime', effect: 'read' },
21
24
  retry: { reach: 'runtime', effect: 'write' },
22
25
  reauthorize: { reach: 'runtime', effect: 'write' },
@@ -35,8 +38,19 @@ const MEMBERS = {
35
38
  'conversation.interrupt': { reach: 'within', effect: 'action' },
36
39
  'conversation.kill': { reach: 'within', effect: 'action' },
37
40
  'conversation.delete': { reach: 'within', effect: 'action' },
41
+ 'conversation.takeOut': { reach: 'within', effect: 'action' },
42
+ 'conversation.decide': { reach: 'within', effect: 'action' },
43
+ 'conversation.rename': { reach: 'within', effect: 'action' },
44
+ 'conversation.option': { reach: 'within', effect: 'action' },
45
+ 'conversation.retry': { reach: 'within', effect: 'action' },
46
+ 'conversation.pin': { reach: 'within', effect: 'write' },
47
+ 'conversation.openTurn': { reach: 'within', effect: 'write' },
48
+ 'conversation.dismissSuggestion': { reach: 'within', effect: 'write' },
49
+ 'conversation.attach': { reach: 'within', effect: 'action' },
50
+ 'conversation.attachment': { reach: 'within', effect: 'read' },
38
51
  'chatDraft.write': { reach: 'within', effect: 'write' },
39
52
  'chatDraft.prepend': { reach: 'within', effect: 'write' },
53
+ 'chatDraft.append': { reach: 'within', effect: 'write' },
40
54
  'chatDraft.discard': { reach: 'within', effect: 'write' },
41
55
  };
42
56
  const TOPICS = {
@@ -56,6 +70,11 @@ const TOPICS = {
56
70
  conversation: 'within',
57
71
  conversations: 'within',
58
72
  agents: 'within',
73
+ 'listed-agents': 'whole',
74
+ 'room-list': 'whole',
75
+ figures: 'whole',
76
+ holdings: 'whole',
77
+ read: 'whole',
59
78
  };
60
79
  export const WIRE = { members: MEMBERS, topics: TOPICS };
61
80
  export function unanswered(call) {
@@ -80,7 +99,7 @@ function body(message) {
80
99
  const record = message;
81
100
  return { kind: record.kind, id: record.id };
82
101
  }
83
- export function request(message) {
102
+ export function wireRequest(message) {
84
103
  const shape = body(message);
85
104
  if (shape === null)
86
105
  return null;
@@ -115,7 +134,7 @@ export function request(message) {
115
134
  }
116
135
  return null;
117
136
  }
118
- export function answer(message) {
137
+ export function wireAnswer(message) {
119
138
  const shape = body(message);
120
139
  if (shape === null)
121
140
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentshouse/mdruntime",
3
- "version": "0.1.0-cb1f56e16291b",
3
+ "version": "0.1.0-cb3bb3b233fa1",
4
4
  "description": "The headless core of MD App",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -54,7 +54,8 @@
54
54
  "LICENSE"
55
55
  ],
56
56
  "dependencies": {
57
- "@agentshouse/mdmodel": "0.1.0-ca6c012c54fb0"
57
+ "@agentshouse/mdmodel": "0.1.0-cf39345b743fb",
58
+ "@agentshouse/session-content": "0.1.0-c7333f7032eb4"
58
59
  },
59
60
  "peerDependencies": {
60
61
  "react": ">=18"
package/dist/attempt.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export type Answered = 'accepted' | 'refused' | 'unanswered' | 'offline';
2
- export type Identities = {
3
- of(intent: string): string;
4
- settle(answered: Answered): void;
5
- };
6
- export declare function identities(mint?: () => string): Identities;
7
- export declare function intentOf(name: string, about: unknown): string;
8
- export type Attempt = {
9
- identity(intent: string): string;
10
- settle(answered: Answered, drop: (act: number) => void): void;
11
- };
12
- export type Attempts = {
13
- begin(act: number): Attempt;
14
- };
15
- export declare function attempts(mint?: () => string): Attempts;
16
- //# sourceMappingURL=attempt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../src/attempt.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAM,MAAoC,GAAG,UAAU,CAmBvF;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAa7D;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,GAAG,QAAQ,CAyBtD"}
package/dist/attempt.js DELETED
@@ -1,70 +0,0 @@
1
- import { changeBatchIdentity } from './identity.js';
2
- export function identities(mint = () => changeBatchIdentity()) {
3
- const kept = new Map();
4
- let used = new Map();
5
- return {
6
- of(intent) {
7
- const one = used.get(intent) ?? kept.get(intent) ?? mint();
8
- used.set(intent, one);
9
- return one;
10
- },
11
- settle(answered) {
12
- if (answered !== 'offline') {
13
- for (const [intent, one] of used) {
14
- if (answered === 'unanswered')
15
- kept.set(intent, one);
16
- else
17
- kept.delete(intent);
18
- }
19
- }
20
- used = new Map();
21
- },
22
- };
23
- }
24
- const blobs = new WeakMap();
25
- export function intentOf(name, about) {
26
- const carried = [];
27
- const json = JSON.stringify(about, (_key, value) => {
28
- if (!(value instanceof Blob))
29
- return value;
30
- let identity = blobs.get(value);
31
- if (identity === undefined) {
32
- identity = changeBatchIdentity();
33
- blobs.set(value, identity);
34
- }
35
- carried.push(identity);
36
- return null;
37
- });
38
- return `${name}\u0000${json}\u0000${carried.join(',')}`;
39
- }
40
- export function attempts(mint) {
41
- const numbers = identities(mint);
42
- const waiting = new Map();
43
- return {
44
- begin(act) {
45
- const intents = [];
46
- return {
47
- identity(intent) {
48
- intents.push(intent);
49
- return numbers.of(intent);
50
- },
51
- settle(answered, drop) {
52
- numbers.settle(answered);
53
- if (answered === 'refused' || answered === 'offline')
54
- drop(act);
55
- if (answered === 'offline')
56
- return;
57
- for (const intent of intents) {
58
- const earlier = waiting.get(intent);
59
- if (earlier !== undefined && earlier !== act)
60
- drop(earlier);
61
- if (answered === 'unanswered')
62
- waiting.set(intent, act);
63
- else
64
- waiting.delete(intent);
65
- }
66
- },
67
- };
68
- },
69
- };
70
- }
package/dist/fence.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export declare class FencedMap<V> extends Map<string, V> {
2
- #private;
3
- constructor(fenced: (locator: string) => boolean);
4
- set(locator: string, value: V): this;
5
- }
6
- //# sourceMappingURL=fence.d.ts.map