@agentshouse/mdruntime 0.1.0-c3903a68dcbbf → 0.1.0-c4478f1a5ac2a

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 (192) hide show
  1. package/AGENTS.md +196 -97
  2. package/README.md +22 -12
  3. package/dist/adapter.d.ts +149 -64
  4. package/dist/adapter.d.ts.map +1 -1
  5. package/dist/adapter.js +1 -9
  6. package/dist/attached-model.d.ts +11 -0
  7. package/dist/attached-model.d.ts.map +1 -0
  8. package/dist/attached-model.js +47 -0
  9. package/dist/attempt.d.ts +16 -0
  10. package/dist/attempt.d.ts.map +1 -0
  11. package/dist/attempt.js +70 -0
  12. package/dist/binary.d.ts +23 -0
  13. package/dist/binary.d.ts.map +1 -0
  14. package/dist/binary.js +8 -0
  15. package/dist/bootstrap.d.ts +20 -6
  16. package/dist/bootstrap.d.ts.map +1 -1
  17. package/dist/bootstrap.js +110 -38
  18. package/dist/change-set.d.ts +2 -0
  19. package/dist/change-set.d.ts.map +1 -1
  20. package/dist/change-set.js +49 -21
  21. package/dist/change.d.ts +15 -0
  22. package/dist/change.d.ts.map +1 -1
  23. package/dist/change.js +26 -1
  24. package/dist/chat/acts.d.ts +33 -0
  25. package/dist/chat/acts.d.ts.map +1 -0
  26. package/dist/chat/acts.js +36 -0
  27. package/dist/chat/context.d.ts +3 -0
  28. package/dist/chat/context.d.ts.map +1 -0
  29. package/dist/chat/context.js +10 -0
  30. package/dist/chat/input.d.ts +9 -0
  31. package/dist/chat/input.d.ts.map +1 -0
  32. package/dist/chat/input.js +99 -0
  33. package/dist/chat/kit.d.ts +60 -0
  34. package/dist/chat/kit.d.ts.map +1 -0
  35. package/dist/chat/kit.js +123 -0
  36. package/dist/chat/lasting.d.ts +6 -0
  37. package/dist/chat/lasting.d.ts.map +1 -0
  38. package/dist/chat/lasting.js +19 -0
  39. package/dist/chat/list.d.ts +26 -0
  40. package/dist/chat/list.d.ts.map +1 -0
  41. package/dist/chat/list.js +62 -0
  42. package/dist/chat/markdown.d.ts +20 -0
  43. package/dist/chat/markdown.d.ts.map +1 -0
  44. package/dist/chat/markdown.js +188 -0
  45. package/dist/chat/message.d.ts +6 -0
  46. package/dist/chat/message.d.ts.map +1 -0
  47. package/dist/chat/message.js +192 -0
  48. package/dist/chat/messages.d.ts +21 -0
  49. package/dist/chat/messages.d.ts.map +1 -0
  50. package/dist/chat/messages.js +151 -0
  51. package/dist/chat/name.d.ts +6 -0
  52. package/dist/chat/name.d.ts.map +1 -0
  53. package/dist/chat/name.js +37 -0
  54. package/dist/chat/opened.d.ts +11 -0
  55. package/dist/chat/opened.d.ts.map +1 -0
  56. package/dist/chat/opened.js +17 -0
  57. package/dist/chat/overlay.d.ts +31 -0
  58. package/dist/chat/overlay.d.ts.map +1 -0
  59. package/dist/chat/overlay.js +97 -0
  60. package/dist/chat/parts.d.ts +57 -0
  61. package/dist/chat/parts.d.ts.map +1 -0
  62. package/dist/chat/parts.js +119 -0
  63. package/dist/chat/process.d.ts +20 -0
  64. package/dist/chat/process.d.ts.map +1 -0
  65. package/dist/chat/process.js +32 -0
  66. package/dist/chat/provider.d.ts +63 -0
  67. package/dist/chat/provider.d.ts.map +1 -0
  68. package/dist/chat/provider.js +620 -0
  69. package/dist/chat/question.d.ts +9 -0
  70. package/dist/chat/question.d.ts.map +1 -0
  71. package/dist/chat/question.js +80 -0
  72. package/dist/chat/questions.d.ts +31 -0
  73. package/dist/chat/questions.d.ts.map +1 -0
  74. package/dist/chat/questions.js +111 -0
  75. package/dist/chat/read.d.ts +5 -0
  76. package/dist/chat/read.d.ts.map +1 -0
  77. package/dist/chat/read.js +13 -0
  78. package/dist/chat/ready.d.ts +33 -0
  79. package/dist/chat/ready.d.ts.map +1 -0
  80. package/dist/chat/ready.js +91 -0
  81. package/dist/chat/style.d.ts +4 -0
  82. package/dist/chat/style.d.ts.map +1 -0
  83. package/dist/chat/style.js +302 -0
  84. package/dist/chat.d.ts +14 -0
  85. package/dist/chat.d.ts.map +1 -0
  86. package/dist/chat.js +8 -0
  87. package/dist/client.d.ts +23 -19
  88. package/dist/client.d.ts.map +1 -1
  89. package/dist/client.js +69 -32
  90. package/dist/collection.d.ts +21 -14
  91. package/dist/collection.d.ts.map +1 -1
  92. package/dist/collection.js +270 -32
  93. package/dist/connection.d.ts +36 -38
  94. package/dist/connection.d.ts.map +1 -1
  95. package/dist/connection.js +1605 -841
  96. package/dist/conversation.d.ts +43 -19
  97. package/dist/conversation.d.ts.map +1 -1
  98. package/dist/conversation.js +523 -210
  99. package/dist/entry.d.ts +17 -0
  100. package/dist/entry.d.ts.map +1 -0
  101. package/dist/entry.js +156 -0
  102. package/dist/expectation.d.ts +21 -0
  103. package/dist/expectation.d.ts.map +1 -0
  104. package/dist/expectation.js +70 -0
  105. package/dist/failure.d.ts +13 -0
  106. package/dist/failure.d.ts.map +1 -0
  107. package/dist/failure.js +19 -0
  108. package/dist/fence.d.ts +6 -0
  109. package/dist/fence.d.ts.map +1 -0
  110. package/dist/fence.js +10 -0
  111. package/dist/host.d.ts +11 -3
  112. package/dist/host.d.ts.map +1 -1
  113. package/dist/host.js +54 -69
  114. package/dist/identity.d.ts +5 -0
  115. package/dist/identity.d.ts.map +1 -1
  116. package/dist/identity.js +19 -1
  117. package/dist/index.d.ts +12 -7
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +4 -1
  120. package/dist/memory.d.ts +15 -7
  121. package/dist/memory.d.ts.map +1 -1
  122. package/dist/memory.js +147 -47
  123. package/dist/model.d.ts +14 -12
  124. package/dist/model.d.ts.map +1 -1
  125. package/dist/model.js +15 -3
  126. package/dist/observation.d.ts +6 -1
  127. package/dist/observation.d.ts.map +1 -1
  128. package/dist/observation.js +38 -17
  129. package/dist/open.d.ts +2 -0
  130. package/dist/open.d.ts.map +1 -0
  131. package/dist/open.js +1 -0
  132. package/dist/outcome.d.ts +35 -22
  133. package/dist/outcome.d.ts.map +1 -1
  134. package/dist/outcome.js +42 -1
  135. package/dist/overlay.d.ts +15 -3
  136. package/dist/overlay.d.ts.map +1 -1
  137. package/dist/overlay.js +94 -77
  138. package/dist/paths.d.ts +0 -1
  139. package/dist/paths.d.ts.map +1 -1
  140. package/dist/paths.js +0 -16
  141. package/dist/query.d.ts +40 -6
  142. package/dist/query.d.ts.map +1 -1
  143. package/dist/query.js +78 -36
  144. package/dist/reach.d.ts +42 -0
  145. package/dist/reach.d.ts.map +1 -0
  146. package/dist/reach.js +294 -0
  147. package/dist/react.d.ts +41 -0
  148. package/dist/react.d.ts.map +1 -0
  149. package/dist/react.js +64 -0
  150. package/dist/read-side.d.ts +16 -5
  151. package/dist/read-side.d.ts.map +1 -1
  152. package/dist/read-side.js +405 -137
  153. package/dist/recovery.d.ts +25 -0
  154. package/dist/recovery.d.ts.map +1 -0
  155. package/dist/recovery.js +197 -0
  156. package/dist/refresh.d.ts +12 -1
  157. package/dist/refresh.d.ts.map +1 -1
  158. package/dist/refresh.js +45 -36
  159. package/dist/replica.d.ts +10 -7
  160. package/dist/replica.d.ts.map +1 -1
  161. package/dist/replica.js +122 -79
  162. package/dist/room-draft.d.ts +29 -9
  163. package/dist/room-draft.d.ts.map +1 -1
  164. package/dist/room-draft.js +137 -26
  165. package/dist/rows.d.ts +10 -14
  166. package/dist/rows.d.ts.map +1 -1
  167. package/dist/rows.js +85 -50
  168. package/dist/save.d.ts +32 -3
  169. package/dist/save.d.ts.map +1 -1
  170. package/dist/save.js +465 -93
  171. package/dist/search.d.ts +31 -8
  172. package/dist/search.d.ts.map +1 -1
  173. package/dist/search.js +109 -44
  174. package/dist/shared.d.ts +11 -0
  175. package/dist/shared.d.ts.map +1 -0
  176. package/dist/shared.js +368 -0
  177. package/dist/status.d.ts +2 -2
  178. package/dist/status.d.ts.map +1 -1
  179. package/dist/status.js +0 -8
  180. package/dist/store.d.ts +71 -32
  181. package/dist/store.d.ts.map +1 -1
  182. package/dist/store.js +509 -221
  183. package/dist/turn.d.ts +7 -0
  184. package/dist/turn.d.ts.map +1 -0
  185. package/dist/turn.js +45 -0
  186. package/dist/wire.d.ts +58 -19
  187. package/dist/wire.d.ts.map +1 -1
  188. package/dist/wire.js +65 -67
  189. package/package.json +31 -7
  190. package/dist/attachment.d.ts +0 -3
  191. package/dist/attachment.d.ts.map +0 -1
  192. 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,6 +1,5 @@
1
1
  import type { ConnectionRefusal } from './connection.js';
2
- export declare const RUNTIME_WIRE_PROTOCOL = 8;
3
- export declare const PROTOCOL_MISMATCH: ConnectionRefusal;
2
+ import type { Described } from './failure.js';
4
3
  export type RuntimePort = {
5
4
  postMessage(message: unknown): void;
6
5
  addEventListener(type: 'message' | 'close', listener: (event: {
@@ -8,10 +7,61 @@ export type RuntimePort = {
8
7
  }) => void): void;
9
8
  start(): void;
10
9
  };
11
- declare const MEMBERS: readonly ['rooms', 'slots', 'query', 'search', 'types', 'syncStatus', 'serviceMode', 'save', 'outcome', 'history', 'call', 'reached', 'log', 'storageLoss', 'persistence', 'deploymentFacts', 'reauthorize', 'roomDraft.list', 'roomDraft.read', 'roomDraft.write', 'roomDraft.discard', 'presentation.read', 'presentation.write', 'conversation.list', 'conversation.read', 'conversation.create', 'conversation.send', 'conversation.answer', 'conversation.interrupt', 'conversation.kill', 'conversation.cancel', 'conversation.delete', 'chatDraft.write', 'chatDraft.discard'];
12
- declare const TOPICS: readonly ['rooms', 'connection-refusal', 'storage-loss', 'deployment-facts', 'sync-status', 'service-mode', 'query', 'queue', 'room-drafts', 'presentation', 'conversation'];
13
- export type WireMember = (typeof MEMBERS)[number];
14
- export type WireTopic = (typeof TOPICS)[number];
10
+ export type WireReach = 'within' | 'app' | 'runtime' | 'actions' | 'whole';
11
+ declare const MEMBERS: {
12
+ readonly rooms: 'within';
13
+ readonly query: 'within';
14
+ readonly search: 'within';
15
+ readonly types: 'within';
16
+ readonly save: 'within';
17
+ readonly history: 'within';
18
+ readonly 'binaryFile.read': 'within';
19
+ readonly 'binaryFile.readReference': 'within';
20
+ readonly call: 'actions';
21
+ readonly reached: 'within';
22
+ readonly log: 'whole';
23
+ readonly persistence: 'runtime';
24
+ readonly reauthorize: 'runtime';
25
+ readonly 'roomDraft.list': 'within';
26
+ readonly 'roomDraft.read': 'within';
27
+ readonly 'roomDraft.write': 'within';
28
+ readonly 'roomDraft.discard': 'within';
29
+ readonly 'presentation.read': 'app';
30
+ readonly 'presentation.write': 'app';
31
+ readonly 'conversation.list': 'within';
32
+ readonly 'conversation.read': 'within';
33
+ readonly 'conversation.create': 'within';
34
+ readonly 'conversation.send': 'within';
35
+ readonly 'conversation.answer': 'within';
36
+ readonly 'conversation.interrupt': 'within';
37
+ readonly 'conversation.kill': 'within';
38
+ readonly 'conversation.cancel': 'within';
39
+ readonly 'conversation.delete': 'within';
40
+ readonly 'chatDraft.write': 'within';
41
+ readonly 'chatDraft.discard': 'within';
42
+ };
43
+ declare const TOPICS: {
44
+ readonly rooms: 'within';
45
+ readonly 'connection-refusal': 'runtime';
46
+ readonly 'storage-loss': 'runtime';
47
+ readonly 'deployment-facts': 'runtime';
48
+ readonly 'sync-status': 'within';
49
+ readonly 'service-mode': 'runtime';
50
+ readonly member: 'runtime';
51
+ readonly query: 'within';
52
+ readonly queue: 'within';
53
+ readonly 'room-drafts': 'within';
54
+ readonly presentation: 'app';
55
+ readonly conversation: 'within';
56
+ readonly conversations: 'within';
57
+ readonly agents: 'within';
58
+ };
59
+ export declare const WIRE_REACH: {
60
+ readonly members: Readonly<Record<string, WireReach>>;
61
+ readonly topics: Readonly<Record<string, WireReach>>;
62
+ };
63
+ export type WireMember = keyof typeof MEMBERS;
64
+ export type WireTopic = keyof typeof TOPICS;
15
65
  export type WireRequest = {
16
66
  kind: 'hello';
17
67
  } | {
@@ -32,11 +82,10 @@ export type WireAnswer = {
32
82
  kind: 'result';
33
83
  id: number;
34
84
  value: unknown;
35
- } | {
85
+ } | ({
36
86
  kind: 'failure';
37
87
  id: number;
38
- message: string;
39
- } | {
88
+ } & Described) | {
40
89
  kind: 'event';
41
90
  id: number;
42
91
  value: unknown;
@@ -48,16 +97,6 @@ export type WireAnswer = {
48
97
  };
49
98
  export declare const AUTHORIZATION_ENDED = "the host authorization ended";
50
99
  export declare const PORT_CLOSED = "the port closed";
51
- export type WireEnvelope = {
52
- mdRuntime: number;
53
- message: WireRequest | WireAnswer;
54
- };
55
- export type Carried = {
56
- matching: boolean;
57
- message: unknown;
58
- };
59
- export declare function envelope(message: WireRequest | WireAnswer): WireEnvelope;
60
- export declare function carried(data: unknown): Carried | null;
61
100
  export declare function request(message: unknown): WireRequest | null;
62
101
  export declare function answer(message: unknown): WireAnswer | null;
63
102
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
package/dist/wire.js CHANGED
@@ -1,69 +1,54 @@
1
- export const RUNTIME_WIRE_PROTOCOL = 8;
2
- export const PROTOCOL_MISMATCH = {
3
- reason: 'client-host-protocol-mismatch',
4
- reauthorizationOffered: false,
5
- refusal: null,
1
+ const MEMBERS = {
2
+ rooms: 'within',
3
+ query: 'within',
4
+ search: 'within',
5
+ types: 'within',
6
+ save: 'within',
7
+ history: 'within',
8
+ 'binaryFile.read': 'within',
9
+ 'binaryFile.readReference': 'within',
10
+ call: 'actions',
11
+ reached: 'within',
12
+ log: 'whole',
13
+ persistence: 'runtime',
14
+ reauthorize: 'runtime',
15
+ 'roomDraft.list': 'within',
16
+ 'roomDraft.read': 'within',
17
+ 'roomDraft.write': 'within',
18
+ 'roomDraft.discard': 'within',
19
+ 'presentation.read': 'app',
20
+ 'presentation.write': 'app',
21
+ 'conversation.list': 'within',
22
+ 'conversation.read': 'within',
23
+ 'conversation.create': 'within',
24
+ 'conversation.send': 'within',
25
+ 'conversation.answer': 'within',
26
+ 'conversation.interrupt': 'within',
27
+ 'conversation.kill': 'within',
28
+ 'conversation.cancel': 'within',
29
+ 'conversation.delete': 'within',
30
+ 'chatDraft.write': 'within',
31
+ 'chatDraft.discard': 'within',
6
32
  };
7
- const MEMBERS = [
8
- 'rooms',
9
- 'slots',
10
- 'query',
11
- 'search',
12
- 'types',
13
- 'syncStatus',
14
- 'serviceMode',
15
- 'save',
16
- 'outcome',
17
- 'history',
18
- 'call',
19
- 'reached',
20
- 'log',
21
- 'storageLoss',
22
- 'persistence',
23
- 'deploymentFacts',
24
- 'reauthorize',
25
- 'roomDraft.list',
26
- 'roomDraft.read',
27
- 'roomDraft.write',
28
- 'roomDraft.discard',
29
- 'presentation.read',
30
- 'presentation.write',
31
- 'conversation.list',
32
- 'conversation.read',
33
- 'conversation.create',
34
- 'conversation.send',
35
- 'conversation.answer',
36
- 'conversation.interrupt',
37
- 'conversation.kill',
38
- 'conversation.cancel',
39
- 'conversation.delete',
40
- 'chatDraft.write',
41
- 'chatDraft.discard',
42
- ];
43
- const TOPICS = [
44
- 'rooms',
45
- 'connection-refusal',
46
- 'storage-loss',
47
- 'deployment-facts',
48
- 'sync-status',
49
- 'service-mode',
50
- 'query',
51
- 'queue',
52
- 'room-drafts',
53
- 'presentation',
54
- 'conversation',
55
- ];
33
+ const TOPICS = {
34
+ rooms: 'within',
35
+ 'connection-refusal': 'runtime',
36
+ 'storage-loss': 'runtime',
37
+ 'deployment-facts': 'runtime',
38
+ 'sync-status': 'within',
39
+ 'service-mode': 'runtime',
40
+ member: 'runtime',
41
+ query: 'within',
42
+ queue: 'within',
43
+ 'room-drafts': 'within',
44
+ presentation: 'app',
45
+ conversation: 'within',
46
+ conversations: 'within',
47
+ agents: 'within',
48
+ };
49
+ export const WIRE_REACH = { members: MEMBERS, topics: TOPICS };
56
50
  export const AUTHORIZATION_ENDED = 'the host authorization ended';
57
51
  export const PORT_CLOSED = 'the port closed';
58
- export function envelope(message) {
59
- return { mdRuntime: RUNTIME_WIRE_PROTOCOL, message };
60
- }
61
- export function carried(data) {
62
- if (typeof data !== 'object' || data === null || !('mdRuntime' in data))
63
- return null;
64
- const record = data;
65
- return { matching: record.mdRuntime === RUNTIME_WIRE_PROTOCOL, message: record.message };
66
- }
67
52
  function body(message) {
68
53
  if (typeof message !== 'object' || message === null)
69
54
  return null;
@@ -83,7 +68,9 @@ export function request(message) {
83
68
  return { kind: 'stop', id: shape.id };
84
69
  if (!Array.isArray(record.input))
85
70
  return null;
86
- if (shape.kind === 'call' && MEMBERS.includes(record.member)) {
71
+ if (shape.kind === 'call' &&
72
+ typeof record.member === 'string' &&
73
+ Object.hasOwn(MEMBERS, record.member)) {
87
74
  return {
88
75
  kind: 'call',
89
76
  id: shape.id,
@@ -91,7 +78,9 @@ export function request(message) {
91
78
  input: record.input,
92
79
  };
93
80
  }
94
- if (shape.kind === 'observe' && TOPICS.includes(record.topic)) {
81
+ if (shape.kind === 'observe' &&
82
+ typeof record.topic === 'string' &&
83
+ Object.hasOwn(TOPICS, record.topic)) {
95
84
  return {
96
85
  kind: 'observe',
97
86
  id: shape.id,
@@ -117,8 +106,17 @@ export function answer(message) {
117
106
  return { kind: 'result', id: shape.id, value: record.value };
118
107
  if (shape.kind === 'event')
119
108
  return { kind: 'event', id: shape.id, value: record.value };
120
- if (shape.kind === 'failure' && typeof record.message === 'string') {
121
- return { kind: 'failure', id: shape.id, message: record.message };
109
+ if (shape.kind === 'failure' &&
110
+ typeof record.message === 'string' &&
111
+ typeof record.code === 'string' &&
112
+ typeof record.retryable === 'boolean') {
113
+ return {
114
+ kind: 'failure',
115
+ id: shape.id,
116
+ message: record.message,
117
+ code: record.code,
118
+ retryable: record.retryable,
119
+ };
122
120
  }
123
121
  return null;
124
122
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentshouse/mdruntime",
3
- "version": "0.1.0-c3903a68dcbbf",
3
+ "version": "0.1.0-c4478f1a5ac2a",
4
4
  "description": "The headless core of MD App",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,19 +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"
34
+ },
35
+ "./react": {
36
+ "types": "./dist/react.d.ts",
37
+ "default": "./dist/react.js"
38
+ },
39
+ "./chat": {
40
+ "types": "./dist/chat.d.ts",
41
+ "default": "./dist/chat.js"
30
42
  },
31
43
  "./package.json": "./package.json"
32
44
  },
@@ -37,8 +49,20 @@
37
49
  "LICENSE"
38
50
  ],
39
51
  "dependencies": {
40
- "@agentshouse/mdmodel": "0.1.0-cf72583e19192",
52
+ "@agentshouse/mdmodel": "0.1.0-cad192ab63d5f",
53
+ "@assistant-ui/react-markdown": "0.14.20",
41
54
  "@tanstack/db": "0.9.2",
42
- "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"
62
+ },
63
+ "peerDependencies": {
64
+ "@assistant-ui/react": "^0.15.22",
65
+ "react": ">=18",
66
+ "react-dom": ">=18"
43
67
  }
44
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
- }