@agentshouse/mdruntime 0.1.0-c7bd7ca3faee4 → 0.1.0-c7f51acc2629c

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 (199) hide show
  1. package/AGENTS.md +275 -221
  2. package/README.md +11 -1
  3. package/dist/acquisition.d.ts +14 -0
  4. package/dist/acquisition.d.ts.map +1 -0
  5. package/dist/acquisition.js +24 -0
  6. package/dist/adapter.d.ts +91 -23
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/attempt.d.ts +16 -0
  9. package/dist/attempt.d.ts.map +1 -0
  10. package/dist/attempt.js +70 -0
  11. package/dist/binary.d.ts +23 -0
  12. package/dist/binary.d.ts.map +1 -0
  13. package/dist/binary.js +8 -0
  14. package/dist/bootstrap.d.ts +18 -5
  15. package/dist/bootstrap.d.ts.map +1 -1
  16. package/dist/bootstrap.js +113 -37
  17. package/dist/change-set.d.ts +2 -0
  18. package/dist/change-set.d.ts.map +1 -1
  19. package/dist/change-set.js +49 -16
  20. package/dist/change.d.ts +15 -0
  21. package/dist/change.d.ts.map +1 -1
  22. package/dist/change.js +26 -1
  23. package/dist/chat/acts.d.ts +33 -0
  24. package/dist/chat/acts.d.ts.map +1 -0
  25. package/dist/chat/acts.js +36 -0
  26. package/dist/chat/context.d.ts +3 -0
  27. package/dist/chat/context.d.ts.map +1 -0
  28. package/dist/chat/context.js +10 -0
  29. package/dist/chat/input.d.ts +9 -0
  30. package/dist/chat/input.d.ts.map +1 -0
  31. package/dist/chat/input.js +99 -0
  32. package/dist/chat/kit.d.ts +61 -0
  33. package/dist/chat/kit.d.ts.map +1 -0
  34. package/dist/chat/kit.js +123 -0
  35. package/dist/chat/lasting.d.ts +6 -0
  36. package/dist/chat/lasting.d.ts.map +1 -0
  37. package/dist/chat/lasting.js +19 -0
  38. package/dist/chat/list.d.ts +27 -0
  39. package/dist/chat/list.d.ts.map +1 -0
  40. package/dist/chat/list.js +63 -0
  41. package/dist/chat/markdown.d.ts +20 -0
  42. package/dist/chat/markdown.d.ts.map +1 -0
  43. package/dist/chat/markdown.js +188 -0
  44. package/dist/chat/message.d.ts +6 -0
  45. package/dist/chat/message.d.ts.map +1 -0
  46. package/dist/chat/message.js +192 -0
  47. package/dist/chat/messages.d.ts +22 -0
  48. package/dist/chat/messages.d.ts.map +1 -0
  49. package/dist/chat/messages.js +155 -0
  50. package/dist/chat/name.d.ts +6 -0
  51. package/dist/chat/name.d.ts.map +1 -0
  52. package/dist/chat/name.js +37 -0
  53. package/dist/chat/opened.d.ts +11 -0
  54. package/dist/chat/opened.d.ts.map +1 -0
  55. package/dist/chat/opened.js +17 -0
  56. package/dist/chat/overlay.d.ts +31 -0
  57. package/dist/chat/overlay.d.ts.map +1 -0
  58. package/dist/chat/overlay.js +97 -0
  59. package/dist/chat/parts.d.ts +57 -0
  60. package/dist/chat/parts.d.ts.map +1 -0
  61. package/dist/chat/parts.js +119 -0
  62. package/dist/chat/process.d.ts +20 -0
  63. package/dist/chat/process.d.ts.map +1 -0
  64. package/dist/chat/process.js +32 -0
  65. package/dist/chat/provider.d.ts +63 -0
  66. package/dist/chat/provider.d.ts.map +1 -0
  67. package/dist/chat/provider.js +629 -0
  68. package/dist/chat/question.d.ts +9 -0
  69. package/dist/chat/question.d.ts.map +1 -0
  70. package/dist/chat/question.js +69 -0
  71. package/dist/chat/questions.d.ts +31 -0
  72. package/dist/chat/questions.d.ts.map +1 -0
  73. package/dist/chat/questions.js +111 -0
  74. package/dist/chat/read.d.ts +5 -0
  75. package/dist/chat/read.d.ts.map +1 -0
  76. package/dist/chat/read.js +13 -0
  77. package/dist/chat/ready.d.ts +34 -0
  78. package/dist/chat/ready.d.ts.map +1 -0
  79. package/dist/chat/ready.js +91 -0
  80. package/dist/chat/style.d.ts +4 -0
  81. package/dist/chat/style.d.ts.map +1 -0
  82. package/dist/chat/style.js +302 -0
  83. package/dist/chat.d.ts +14 -0
  84. package/dist/chat.d.ts.map +1 -0
  85. package/dist/chat.js +8 -0
  86. package/dist/client.d.ts +25 -12
  87. package/dist/client.d.ts.map +1 -1
  88. package/dist/client.js +44 -18
  89. package/dist/collection.d.ts +21 -12
  90. package/dist/collection.d.ts.map +1 -1
  91. package/dist/collection.js +271 -23
  92. package/dist/connection.d.ts +45 -15
  93. package/dist/connection.d.ts.map +1 -1
  94. package/dist/connection.js +1884 -402
  95. package/dist/conversation.d.ts +26 -10
  96. package/dist/conversation.d.ts.map +1 -1
  97. package/dist/conversation.js +414 -148
  98. package/dist/durability.d.ts +7 -1
  99. package/dist/durability.d.ts.map +1 -1
  100. package/dist/entry.d.ts +17 -0
  101. package/dist/entry.d.ts.map +1 -0
  102. package/dist/entry.js +156 -0
  103. package/dist/expectation.d.ts +21 -0
  104. package/dist/expectation.d.ts.map +1 -0
  105. package/dist/expectation.js +70 -0
  106. package/dist/failure.d.ts +13 -0
  107. package/dist/failure.d.ts.map +1 -0
  108. package/dist/failure.js +19 -0
  109. package/dist/fence.d.ts +6 -0
  110. package/dist/fence.d.ts.map +1 -0
  111. package/dist/fence.js +10 -0
  112. package/dist/host.d.ts +18 -3
  113. package/dist/host.d.ts.map +1 -1
  114. package/dist/host.js +101 -20
  115. package/dist/identity.d.ts +5 -0
  116. package/dist/identity.d.ts.map +1 -1
  117. package/dist/identity.js +19 -1
  118. package/dist/index.d.ts +16 -8
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +5 -0
  121. package/dist/memory.d.ts +11 -4
  122. package/dist/memory.d.ts.map +1 -1
  123. package/dist/memory.js +89 -27
  124. package/dist/model.d.ts +7 -4
  125. package/dist/model.d.ts.map +1 -1
  126. package/dist/model.js +10 -1
  127. package/dist/observation.d.ts +5 -2
  128. package/dist/observation.d.ts.map +1 -1
  129. package/dist/observation.js +22 -11
  130. package/dist/open.d.ts +2 -0
  131. package/dist/open.d.ts.map +1 -0
  132. package/dist/open.js +1 -0
  133. package/dist/outcome.d.ts +38 -3
  134. package/dist/outcome.d.ts.map +1 -1
  135. package/dist/outcome.js +45 -1
  136. package/dist/overlay.d.ts +16 -3
  137. package/dist/overlay.d.ts.map +1 -1
  138. package/dist/overlay.js +118 -77
  139. package/dist/query.d.ts +39 -3
  140. package/dist/query.d.ts.map +1 -1
  141. package/dist/query.js +11 -2
  142. package/dist/reach.d.ts +8 -3
  143. package/dist/reach.d.ts.map +1 -1
  144. package/dist/reach.js +63 -24
  145. package/dist/react.d.ts +11 -6
  146. package/dist/react.d.ts.map +1 -1
  147. package/dist/react.js +9 -6
  148. package/dist/read-side.d.ts +13 -6
  149. package/dist/read-side.d.ts.map +1 -1
  150. package/dist/read-side.js +294 -85
  151. package/dist/readiness.d.ts +53 -0
  152. package/dist/readiness.d.ts.map +1 -0
  153. package/dist/readiness.js +33 -0
  154. package/dist/reads.d.ts +11 -0
  155. package/dist/reads.d.ts.map +1 -0
  156. package/dist/reads.js +98 -0
  157. package/dist/recovery.d.ts +25 -0
  158. package/dist/recovery.d.ts.map +1 -0
  159. package/dist/recovery.js +197 -0
  160. package/dist/refresh.d.ts +13 -3
  161. package/dist/refresh.d.ts.map +1 -1
  162. package/dist/refresh.js +49 -38
  163. package/dist/replica.d.ts +8 -5
  164. package/dist/replica.d.ts.map +1 -1
  165. package/dist/replica.js +123 -67
  166. package/dist/room-draft.d.ts +38 -9
  167. package/dist/room-draft.d.ts.map +1 -1
  168. package/dist/room-draft.js +134 -25
  169. package/dist/rows.d.ts +9 -13
  170. package/dist/rows.d.ts.map +1 -1
  171. package/dist/rows.js +14 -14
  172. package/dist/save.d.ts +31 -1
  173. package/dist/save.d.ts.map +1 -1
  174. package/dist/save.js +376 -45
  175. package/dist/search.d.ts +39 -8
  176. package/dist/search.d.ts.map +1 -1
  177. package/dist/search.js +132 -46
  178. package/dist/seed.d.ts +16 -0
  179. package/dist/seed.d.ts.map +1 -0
  180. package/dist/seed.js +61 -0
  181. package/dist/shared.d.ts +11 -0
  182. package/dist/shared.d.ts.map +1 -0
  183. package/dist/shared.js +368 -0
  184. package/dist/status.d.ts +6 -2
  185. package/dist/status.d.ts.map +1 -1
  186. package/dist/status.js +0 -8
  187. package/dist/store.d.ts +81 -19
  188. package/dist/store.d.ts.map +1 -1
  189. package/dist/store.js +544 -200
  190. package/dist/turn.d.ts +7 -0
  191. package/dist/turn.d.ts.map +1 -0
  192. package/dist/turn.js +45 -0
  193. package/dist/wire.d.ts +148 -33
  194. package/dist/wire.d.ts.map +1 -1
  195. package/dist/wire.js +62 -31
  196. package/package.json +26 -14
  197. package/dist/attachment.d.ts +0 -3
  198. package/dist/attachment.d.ts.map +0 -1
  199. package/dist/attachment.js +0 -8
package/dist/turn.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export declare function yielded(): Promise<void>;
2
+ export declare const ROW_WEIGHT = 256;
3
+ export type Later<T> = T | Promise<T>;
4
+ export declare function after<T, R>(value: Later<T>, next: (value: T) => R): Later<R>;
5
+ export declare function inUnits<T>(items: Iterable<T>, each: (item: T) => number): Later<void>;
6
+ export declare function inChunks<T>(items: readonly T[], weigh: (item: T) => number, each: (chunk: readonly T[]) => void): Promise<void>;
7
+ //# sourceMappingURL=turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../src/turn.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CASvC;AAID,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE5E;AAaD,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAOrF;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,CAUf"}
package/dist/turn.js ADDED
@@ -0,0 +1,45 @@
1
+ export function yielded() {
2
+ return new Promise((resolve) => {
3
+ const channel = new MessageChannel();
4
+ channel.port1.onmessage = () => {
5
+ channel.port1.close();
6
+ resolve();
7
+ };
8
+ channel.port2.postMessage(null);
9
+ });
10
+ }
11
+ const UNIT = 1 << 20;
12
+ export const ROW_WEIGHT = 256;
13
+ export function after(value, next) {
14
+ return value instanceof Promise ? value.then(next) : next(value);
15
+ }
16
+ async function resumed(iterator, each) {
17
+ let spent = UNIT;
18
+ for (let next = iterator.next(); next.done !== true; next = iterator.next()) {
19
+ if (spent >= UNIT) {
20
+ await yielded();
21
+ spent = 0;
22
+ }
23
+ spent += each(next.value);
24
+ }
25
+ }
26
+ export function inUnits(items, each) {
27
+ const iterator = items[Symbol.iterator]();
28
+ let spent = 0;
29
+ for (let next = iterator.next(); next.done !== true; next = iterator.next()) {
30
+ spent += each(next.value);
31
+ if (spent >= UNIT)
32
+ return resumed(iterator, each);
33
+ }
34
+ }
35
+ export async function inChunks(items, weigh, each) {
36
+ for (let at = 0; at < items.length;) {
37
+ await yielded();
38
+ const chunk = [];
39
+ for (let spent = 0; at < items.length && spent < UNIT; at += 1) {
40
+ chunk.push(items[at]);
41
+ spent += weigh(items[at]);
42
+ }
43
+ each(chunk);
44
+ }
45
+ }
package/dist/wire.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { ConnectionRefusal } from './connection.js';
2
+ import type { Described } from './failure.js';
2
3
  export type RuntimePort = {
3
4
  postMessage(message: unknown): void;
4
5
  addEventListener(type: 'message' | 'close', listener: (event: {
@@ -7,38 +8,148 @@ export type RuntimePort = {
7
8
  start(): void;
8
9
  };
9
10
  export type WireReach = 'within' | 'app' | 'runtime' | 'actions' | 'whole';
11
+ export type WireEffect = 'read' | 'write' | 'action';
12
+ export type WireCall = {
13
+ readonly reach: WireReach;
14
+ readonly effect: WireEffect;
15
+ };
10
16
  declare const MEMBERS: {
11
- readonly rooms: 'within';
12
- readonly query: 'within';
13
- readonly search: 'within';
14
- readonly types: 'within';
15
- readonly save: 'within';
16
- readonly history: 'within';
17
- readonly call: 'actions';
18
- readonly reached: 'within';
19
- readonly log: 'whole';
20
- readonly persistence: 'runtime';
21
- readonly reauthorize: 'runtime';
22
- readonly 'roomDraft.list': 'within';
23
- readonly 'roomDraft.read': 'within';
24
- readonly 'roomDraft.write': 'within';
25
- readonly 'roomDraft.discard': 'within';
26
- readonly 'presentation.read': 'app';
27
- readonly 'presentation.write': 'app';
28
- readonly 'conversation.list': 'within';
29
- readonly 'conversation.read': 'within';
30
- readonly 'conversation.create': 'within';
31
- readonly 'conversation.send': 'within';
32
- readonly 'conversation.answer': 'within';
33
- readonly 'conversation.interrupt': 'within';
34
- readonly 'conversation.kill': 'within';
35
- readonly 'conversation.cancel': 'within';
36
- readonly 'conversation.delete': 'within';
37
- readonly 'chatDraft.write': 'within';
38
- readonly 'chatDraft.discard': 'within';
17
+ readonly rooms: {
18
+ readonly reach: 'within';
19
+ readonly effect: 'read';
20
+ };
21
+ readonly query: {
22
+ readonly reach: 'within';
23
+ readonly effect: 'read';
24
+ };
25
+ readonly search: {
26
+ readonly reach: 'within';
27
+ readonly effect: 'read';
28
+ };
29
+ readonly types: {
30
+ readonly reach: 'within';
31
+ readonly effect: 'read';
32
+ };
33
+ readonly save: {
34
+ readonly reach: 'within';
35
+ readonly effect: 'write';
36
+ };
37
+ readonly history: {
38
+ readonly reach: 'within';
39
+ readonly effect: 'read';
40
+ };
41
+ readonly 'binaryFile.read': {
42
+ readonly reach: 'within';
43
+ readonly effect: 'read';
44
+ };
45
+ readonly 'binaryFile.link': {
46
+ readonly reach: 'within';
47
+ readonly effect: 'read';
48
+ };
49
+ readonly 'binaryFile.readReference': {
50
+ readonly reach: 'within';
51
+ readonly effect: 'read';
52
+ };
53
+ readonly call: {
54
+ readonly reach: 'actions';
55
+ readonly effect: 'action';
56
+ };
57
+ readonly reached: {
58
+ readonly reach: 'within';
59
+ readonly effect: 'read';
60
+ };
61
+ readonly log: {
62
+ readonly reach: 'whole';
63
+ readonly effect: 'read';
64
+ };
65
+ readonly persistence: {
66
+ readonly reach: 'runtime';
67
+ readonly effect: 'read';
68
+ };
69
+ readonly retry: {
70
+ readonly reach: 'runtime';
71
+ readonly effect: 'write';
72
+ };
73
+ readonly reauthorize: {
74
+ readonly reach: 'runtime';
75
+ readonly effect: 'write';
76
+ };
77
+ readonly 'roomDraft.list': {
78
+ readonly reach: 'within';
79
+ readonly effect: 'read';
80
+ };
81
+ readonly 'roomDraft.read': {
82
+ readonly reach: 'within';
83
+ readonly effect: 'read';
84
+ };
85
+ readonly 'roomDraft.write': {
86
+ readonly reach: 'within';
87
+ readonly effect: 'write';
88
+ };
89
+ readonly 'roomDraft.discard': {
90
+ readonly reach: 'within';
91
+ readonly effect: 'write';
92
+ };
93
+ readonly 'presentation.read': {
94
+ readonly reach: 'app';
95
+ readonly effect: 'read';
96
+ };
97
+ readonly 'presentation.write': {
98
+ readonly reach: 'app';
99
+ readonly effect: 'write';
100
+ };
101
+ readonly 'presentation.edit': {
102
+ readonly reach: 'app';
103
+ readonly effect: 'write';
104
+ };
105
+ readonly 'conversation.list': {
106
+ readonly reach: 'within';
107
+ readonly effect: 'read';
108
+ };
109
+ readonly 'conversation.read': {
110
+ readonly reach: 'within';
111
+ readonly effect: 'read';
112
+ };
113
+ readonly 'conversation.create': {
114
+ readonly reach: 'within';
115
+ readonly effect: 'action';
116
+ };
117
+ readonly 'conversation.send': {
118
+ readonly reach: 'within';
119
+ readonly effect: 'action';
120
+ };
121
+ readonly 'conversation.answer': {
122
+ readonly reach: 'within';
123
+ readonly effect: 'action';
124
+ };
125
+ readonly 'conversation.interrupt': {
126
+ readonly reach: 'within';
127
+ readonly effect: 'action';
128
+ };
129
+ readonly 'conversation.kill': {
130
+ readonly reach: 'within';
131
+ readonly effect: 'action';
132
+ };
133
+ readonly 'conversation.cancel': {
134
+ readonly reach: 'within';
135
+ readonly effect: 'action';
136
+ };
137
+ readonly 'conversation.delete': {
138
+ readonly reach: 'within';
139
+ readonly effect: 'action';
140
+ };
141
+ readonly 'chatDraft.write': {
142
+ readonly reach: 'within';
143
+ readonly effect: 'write';
144
+ };
145
+ readonly 'chatDraft.discard': {
146
+ readonly reach: 'within';
147
+ readonly effect: 'write';
148
+ };
39
149
  };
40
150
  declare const TOPICS: {
41
151
  readonly rooms: 'within';
152
+ readonly readiness: 'within';
42
153
  readonly 'connection-refusal': 'runtime';
43
154
  readonly 'storage-loss': 'runtime';
44
155
  readonly 'deployment-facts': 'runtime';
@@ -51,9 +162,10 @@ declare const TOPICS: {
51
162
  readonly presentation: 'app';
52
163
  readonly conversation: 'within';
53
164
  readonly conversations: 'within';
165
+ readonly agents: 'within';
54
166
  };
55
- export declare const WIRE_REACH: {
56
- readonly members: Readonly<Record<string, WireReach>>;
167
+ export declare const WIRE: {
168
+ readonly members: Readonly<Record<string, WireCall>>;
57
169
  readonly topics: Readonly<Record<string, WireReach>>;
58
170
  };
59
171
  export type WireMember = keyof typeof MEMBERS;
@@ -78,11 +190,10 @@ export type WireAnswer = {
78
190
  kind: 'result';
79
191
  id: number;
80
192
  value: unknown;
81
- } | {
193
+ } | ({
82
194
  kind: 'failure';
83
195
  id: number;
84
- message: string;
85
- } | {
196
+ } & Described) | {
86
197
  kind: 'event';
87
198
  id: number;
88
199
  value: unknown;
@@ -92,6 +203,10 @@ export type WireAnswer = {
92
203
  } | {
93
204
  kind: 'ended';
94
205
  };
206
+ export declare function unanswered(call: {
207
+ readonly id: number;
208
+ readonly member: WireMember;
209
+ }): WireAnswer | null;
95
210
  export declare const AUTHORIZATION_ENDED = "the host authorization ended";
96
211
  export declare const PORT_CLOSED = "the port closed";
97
212
  export declare function request(message: unknown): WireRequest | null;
@@ -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;AAEzD,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,QAAA,MAAM,OAAO;oBACJ,QAAQ;oBACR,QAAQ;qBACP,QAAQ;oBACT,QAAQ;mBACT,QAAQ;sBACL,QAAQ;mBACX,SAAS;sBACN,QAAQ;kBACZ,OAAO;0BACC,SAAS;0BACT,SAAS;+BACJ,QAAQ;+BACR,QAAQ;gCACP,QAAQ;kCACN,QAAQ;kCACR,KAAK;mCACJ,KAAK;kCACN,QAAQ;kCACR,QAAQ;oCACN,QAAQ;kCACV,QAAQ;oCACN,QAAQ;uCACL,QAAQ;kCACb,QAAQ;oCACN,QAAQ;oCACR,QAAQ;gCACZ,QAAQ;kCACN,QAAQ;CACyB,CAAC;AAEzD,QAAA,MAAM,MAAM;oBACH,QAAQ;mCACO,SAAS;6BACf,SAAS;iCACL,SAAS;4BACd,QAAQ;6BACP,SAAS;qBACjB,SAAS;oBACV,QAAQ;oBACR,QAAQ;4BACA,QAAQ;2BACT,KAAK;2BACL,QAAQ;4BACP,QAAQ;CAC+B,CAAC;AAEzD,eAAO,MAAM,UAAU,EAAE;IACvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,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;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChD;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,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,CAe1D"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
package/dist/wire.js CHANGED
@@ -1,35 +1,42 @@
1
+ import { UNCERTAIN } from './outcome.js';
1
2
  const MEMBERS = {
2
- rooms: 'within',
3
- query: 'within',
4
- search: 'within',
5
- types: 'within',
6
- save: 'within',
7
- history: 'within',
8
- call: 'actions',
9
- reached: 'within',
10
- log: 'whole',
11
- persistence: 'runtime',
12
- reauthorize: 'runtime',
13
- 'roomDraft.list': 'within',
14
- 'roomDraft.read': 'within',
15
- 'roomDraft.write': 'within',
16
- 'roomDraft.discard': 'within',
17
- 'presentation.read': 'app',
18
- 'presentation.write': 'app',
19
- 'conversation.list': 'within',
20
- 'conversation.read': 'within',
21
- 'conversation.create': 'within',
22
- 'conversation.send': 'within',
23
- 'conversation.answer': 'within',
24
- 'conversation.interrupt': 'within',
25
- 'conversation.kill': 'within',
26
- 'conversation.cancel': 'within',
27
- 'conversation.delete': 'within',
28
- 'chatDraft.write': 'within',
29
- 'chatDraft.discard': 'within',
3
+ rooms: { reach: 'within', effect: 'read' },
4
+ query: { reach: 'within', effect: 'read' },
5
+ search: { reach: 'within', effect: 'read' },
6
+ types: { reach: 'within', effect: 'read' },
7
+ save: { reach: 'within', effect: 'write' },
8
+ history: { reach: 'within', effect: 'read' },
9
+ 'binaryFile.read': { reach: 'within', effect: 'read' },
10
+ 'binaryFile.link': { reach: 'within', effect: 'read' },
11
+ 'binaryFile.readReference': { reach: 'within', effect: 'read' },
12
+ call: { reach: 'actions', effect: 'action' },
13
+ reached: { reach: 'within', effect: 'read' },
14
+ log: { reach: 'whole', effect: 'read' },
15
+ persistence: { reach: 'runtime', effect: 'read' },
16
+ retry: { reach: 'runtime', effect: 'write' },
17
+ reauthorize: { reach: 'runtime', effect: 'write' },
18
+ 'roomDraft.list': { reach: 'within', effect: 'read' },
19
+ 'roomDraft.read': { reach: 'within', effect: 'read' },
20
+ 'roomDraft.write': { reach: 'within', effect: 'write' },
21
+ 'roomDraft.discard': { reach: 'within', effect: 'write' },
22
+ 'presentation.read': { reach: 'app', effect: 'read' },
23
+ 'presentation.write': { reach: 'app', effect: 'write' },
24
+ 'presentation.edit': { reach: 'app', effect: 'write' },
25
+ 'conversation.list': { reach: 'within', effect: 'read' },
26
+ 'conversation.read': { reach: 'within', effect: 'read' },
27
+ 'conversation.create': { reach: 'within', effect: 'action' },
28
+ 'conversation.send': { reach: 'within', effect: 'action' },
29
+ 'conversation.answer': { reach: 'within', effect: 'action' },
30
+ 'conversation.interrupt': { reach: 'within', effect: 'action' },
31
+ 'conversation.kill': { reach: 'within', effect: 'action' },
32
+ 'conversation.cancel': { reach: 'within', effect: 'action' },
33
+ 'conversation.delete': { reach: 'within', effect: 'action' },
34
+ 'chatDraft.write': { reach: 'within', effect: 'write' },
35
+ 'chatDraft.discard': { reach: 'within', effect: 'write' },
30
36
  };
31
37
  const TOPICS = {
32
38
  rooms: 'within',
39
+ readiness: 'within',
33
40
  'connection-refusal': 'runtime',
34
41
  'storage-loss': 'runtime',
35
42
  'deployment-facts': 'runtime',
@@ -42,8 +49,23 @@ const TOPICS = {
42
49
  presentation: 'app',
43
50
  conversation: 'within',
44
51
  conversations: 'within',
52
+ agents: 'within',
45
53
  };
46
- export const WIRE_REACH = { members: MEMBERS, topics: TOPICS };
54
+ export const WIRE = { members: MEMBERS, topics: TOPICS };
55
+ export function unanswered(call) {
56
+ const { effect } = MEMBERS[call.member];
57
+ if (effect === 'read')
58
+ return null;
59
+ if (effect === 'action')
60
+ return { kind: 'result', id: call.id, value: UNCERTAIN };
61
+ return {
62
+ kind: 'failure',
63
+ id: call.id,
64
+ message: UNCERTAIN.code,
65
+ code: UNCERTAIN.code,
66
+ retryable: UNCERTAIN.retryable,
67
+ };
68
+ }
47
69
  export const AUTHORIZATION_ENDED = 'the host authorization ended';
48
70
  export const PORT_CLOSED = 'the port closed';
49
71
  function body(message) {
@@ -103,8 +125,17 @@ export function answer(message) {
103
125
  return { kind: 'result', id: shape.id, value: record.value };
104
126
  if (shape.kind === 'event')
105
127
  return { kind: 'event', id: shape.id, value: record.value };
106
- if (shape.kind === 'failure' && typeof record.message === 'string') {
107
- return { kind: 'failure', id: shape.id, message: record.message };
128
+ if (shape.kind === 'failure' &&
129
+ typeof record.message === 'string' &&
130
+ typeof record.code === 'string' &&
131
+ typeof record.retryable === 'boolean') {
132
+ return {
133
+ kind: 'failure',
134
+ id: shape.id,
135
+ message: record.message,
136
+ code: record.code,
137
+ retryable: record.retryable,
138
+ };
108
139
  }
109
140
  return null;
110
141
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentshouse/mdruntime",
3
- "version": "0.1.0-c7bd7ca3faee4",
3
+ "version": "0.1.0-c7f51acc2629c",
4
4
  "description": "The headless core of MD App",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,23 +14,31 @@
14
14
  "exports": {
15
15
  ".": {
16
16
  "types": "./dist/index.d.ts",
17
- "import": "./dist/index.js"
17
+ "default": "./dist/index.js"
18
18
  },
19
19
  "./host": {
20
20
  "types": "./dist/host.d.ts",
21
- "import": "./dist/host.js"
21
+ "default": "./dist/host.js"
22
22
  },
23
23
  "./client": {
24
24
  "types": "./dist/client.d.ts",
25
- "import": "./dist/client.js"
25
+ "default": "./dist/client.js"
26
+ },
27
+ "./entry": {
28
+ "types": "./dist/entry.d.ts",
29
+ "default": "./dist/entry.js"
26
30
  },
27
31
  "./memory": {
28
32
  "types": "./dist/memory.d.ts",
29
- "import": "./dist/memory.js"
33
+ "default": "./dist/memory.js"
30
34
  },
31
35
  "./react": {
32
36
  "types": "./dist/react.d.ts",
33
- "import": "./dist/react.js"
37
+ "default": "./dist/react.js"
38
+ },
39
+ "./chat": {
40
+ "types": "./dist/chat.d.ts",
41
+ "default": "./dist/chat.js"
34
42
  },
35
43
  "./package.json": "./package.json"
36
44
  },
@@ -41,16 +49,20 @@
41
49
  "LICENSE"
42
50
  ],
43
51
  "dependencies": {
44
- "@agentshouse/mdmodel": "0.1.0-c896b3d9398b1",
52
+ "@agentshouse/mdmodel": "0.1.0-c5f7707614979",
53
+ "@assistant-ui/react-markdown": "0.14.20",
45
54
  "@tanstack/db": "0.9.2",
46
- "minisearch": "7.2.0"
55
+ "lucide-react": "1.47.0",
56
+ "mdast-util-from-markdown": "2.0.3",
57
+ "mdast-util-gfm": "3.1.0",
58
+ "micromark-extension-gfm": "3.0.0",
59
+ "minisearch": "7.2.0",
60
+ "radix-ui": "1.8.0",
61
+ "remark-gfm": "4.0.1"
47
62
  },
48
63
  "peerDependencies": {
49
- "react": ">=18"
50
- },
51
- "peerDependenciesMeta": {
52
- "react": {
53
- "optional": true
54
- }
64
+ "@assistant-ui/react": "^0.15.22",
65
+ "react": ">=18",
66
+ "react-dom": ">=18"
55
67
  }
56
68
  }
@@ -1,3 +0,0 @@
1
- import type { RoomAttachment } from './adapter.js';
2
- export declare function declaredAttachments(pages: readonly (readonly RoomAttachment[])[]): readonly RoomAttachment[];
3
- //# sourceMappingURL=attachment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../src/attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,GAC5C,SAAS,cAAc,EAAE,CAQ3B"}
@@ -1,8 +0,0 @@
1
- export function declaredAttachments(pages) {
2
- const byReference = new Map();
3
- for (const page of pages) {
4
- for (const attachment of page)
5
- byReference.set(attachment.reference, attachment);
6
- }
7
- return [...byReference.values()].sort((left, right) => left.reference < right.reference ? -1 : left.reference > right.reference ? 1 : 0);
8
- }