@agentshouse/mdruntime 0.1.0-cb0eb0d87ff49 → 0.1.0-cb122f2ba154d

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 (230) hide show
  1. package/README.md +18 -15
  2. package/dist/adapter.d.ts +91 -34
  3. package/dist/adapter.d.ts.map +1 -1
  4. package/dist/attached-model.d.ts +5 -1
  5. package/dist/attached-model.d.ts.map +1 -1
  6. package/dist/attached-model.js +38 -4
  7. package/dist/binary.d.ts +0 -5
  8. package/dist/binary.d.ts.map +1 -1
  9. package/dist/binary.js +1 -1
  10. package/dist/bootstrap.d.ts +27 -8
  11. package/dist/bootstrap.d.ts.map +1 -1
  12. package/dist/bootstrap.js +174 -98
  13. package/dist/chain.d.ts +11 -0
  14. package/dist/chain.d.ts.map +1 -0
  15. package/dist/chain.js +64 -0
  16. package/dist/change-set.d.ts +9 -16
  17. package/dist/change-set.d.ts.map +1 -1
  18. package/dist/change-set.js +11 -88
  19. package/dist/change.d.ts +31 -1
  20. package/dist/change.d.ts.map +1 -1
  21. package/dist/change.js +10 -1
  22. package/dist/client.d.ts +18 -6
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +97 -10
  25. package/dist/collection.d.ts +11 -19
  26. package/dist/collection.d.ts.map +1 -1
  27. package/dist/collection.js +53 -289
  28. package/dist/compile.d.ts +16 -0
  29. package/dist/compile.d.ts.map +1 -0
  30. package/dist/compile.js +771 -0
  31. package/dist/connection.d.ts +38 -11
  32. package/dist/connection.d.ts.map +1 -1
  33. package/dist/connection.js +3134 -858
  34. package/dist/conversation.d.ts +22 -6
  35. package/dist/conversation.d.ts.map +1 -1
  36. package/dist/conversation.js +461 -131
  37. package/dist/digest.d.ts +7 -0
  38. package/dist/digest.d.ts.map +1 -0
  39. package/dist/digest.js +113 -0
  40. package/dist/durability.d.ts +5 -1
  41. package/dist/durability.d.ts.map +1 -1
  42. package/dist/durability.js +5 -0
  43. package/dist/entry.d.ts +4 -1
  44. package/dist/entry.d.ts.map +1 -1
  45. package/dist/entry.js +18 -23
  46. package/dist/file.d.ts +2 -19
  47. package/dist/file.d.ts.map +1 -1
  48. package/dist/file.js +7 -122
  49. package/dist/fulltext.d.ts +27 -0
  50. package/dist/fulltext.d.ts.map +1 -0
  51. package/dist/fulltext.js +370 -0
  52. package/dist/host.d.ts +12 -2
  53. package/dist/host.d.ts.map +1 -1
  54. package/dist/host.js +121 -13
  55. package/dist/identity.d.ts +0 -1
  56. package/dist/identity.d.ts.map +1 -1
  57. package/dist/identity.js +0 -3
  58. package/dist/index.d.ts +13 -9
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +5 -1
  61. package/dist/live.d.ts +22 -0
  62. package/dist/live.d.ts.map +1 -0
  63. package/dist/live.js +124 -0
  64. package/dist/media.d.ts +8 -0
  65. package/dist/media.d.ts.map +1 -0
  66. package/dist/media.js +208 -0
  67. package/dist/memory.d.ts +10 -4
  68. package/dist/memory.d.ts.map +1 -1
  69. package/dist/memory.js +88 -27
  70. package/dist/messages.d.ts +28 -0
  71. package/dist/messages.d.ts.map +1 -0
  72. package/dist/messages.js +90 -0
  73. package/dist/model.d.ts +9 -2
  74. package/dist/model.d.ts.map +1 -1
  75. package/dist/model.js +8 -2
  76. package/dist/name.d.ts +4 -0
  77. package/dist/name.d.ts.map +1 -0
  78. package/dist/name.js +122 -0
  79. package/dist/observation.d.ts +15 -0
  80. package/dist/observation.d.ts.map +1 -1
  81. package/dist/observation.js +93 -3
  82. package/dist/opened.d.ts +22 -0
  83. package/dist/opened.d.ts.map +1 -0
  84. package/dist/opened.js +107 -0
  85. package/dist/outcome.d.ts +45 -4
  86. package/dist/outcome.d.ts.map +1 -1
  87. package/dist/outcome.js +39 -0
  88. package/dist/overlay.d.ts +3 -5
  89. package/dist/overlay.d.ts.map +1 -1
  90. package/dist/overlay.js +95 -156
  91. package/dist/paths.d.ts +1 -0
  92. package/dist/paths.d.ts.map +1 -1
  93. package/dist/paths.js +4 -0
  94. package/dist/query.d.ts +39 -2
  95. package/dist/query.d.ts.map +1 -1
  96. package/dist/query.js +48 -7
  97. package/dist/reach.d.ts +18 -6
  98. package/dist/reach.d.ts.map +1 -1
  99. package/dist/reach.js +224 -70
  100. package/dist/react.d.ts +5 -3
  101. package/dist/react.d.ts.map +1 -1
  102. package/dist/react.js +7 -17
  103. package/dist/readiness.d.ts +63 -0
  104. package/dist/readiness.d.ts.map +1 -0
  105. package/dist/readiness.js +33 -0
  106. package/dist/reads.d.ts +11 -0
  107. package/dist/reads.d.ts.map +1 -0
  108. package/dist/reads.js +91 -0
  109. package/dist/recovery.d.ts +2 -2
  110. package/dist/recovery.d.ts.map +1 -1
  111. package/dist/recovery.js +8 -7
  112. package/dist/refresh.d.ts +16 -15
  113. package/dist/refresh.d.ts.map +1 -1
  114. package/dist/refresh.js +113 -50
  115. package/dist/replica.d.ts +56 -33
  116. package/dist/replica.d.ts.map +1 -1
  117. package/dist/replica.js +298 -179
  118. package/dist/room-draft.d.ts +34 -4
  119. package/dist/room-draft.d.ts.map +1 -1
  120. package/dist/room-draft.js +105 -31
  121. package/dist/rows.d.ts +38 -29
  122. package/dist/rows.d.ts.map +1 -1
  123. package/dist/rows.js +173 -94
  124. package/dist/save.d.ts +53 -14
  125. package/dist/save.d.ts.map +1 -1
  126. package/dist/save.js +529 -185
  127. package/dist/search.d.ts +32 -43
  128. package/dist/search.d.ts.map +1 -1
  129. package/dist/search.js +37 -170
  130. package/dist/seed.d.ts +16 -0
  131. package/dist/seed.d.ts.map +1 -0
  132. package/dist/seed.js +75 -0
  133. package/dist/shared.d.ts +8 -3
  134. package/dist/shared.d.ts.map +1 -1
  135. package/dist/shared.js +129 -66
  136. package/dist/status.d.ts +9 -0
  137. package/dist/status.d.ts.map +1 -1
  138. package/dist/status.js +3 -1
  139. package/dist/store.d.ts +100 -86
  140. package/dist/store.d.ts.map +1 -1
  141. package/dist/store.js +331 -632
  142. package/dist/stored.d.ts +135 -0
  143. package/dist/stored.d.ts.map +1 -0
  144. package/dist/stored.js +568 -0
  145. package/dist/tables.d.ts +352 -0
  146. package/dist/tables.d.ts.map +1 -0
  147. package/dist/tables.js +621 -0
  148. package/dist/turn.d.ts +5 -3
  149. package/dist/turn.d.ts.map +1 -1
  150. package/dist/turn.js +51 -21
  151. package/dist/validation.d.ts +30 -0
  152. package/dist/validation.d.ts.map +1 -0
  153. package/dist/validation.js +162 -0
  154. package/dist/windows.d.ts +22 -0
  155. package/dist/windows.d.ts.map +1 -0
  156. package/dist/windows.js +89 -0
  157. package/dist/wire.d.ts +168 -32
  158. package/dist/wire.d.ts.map +1 -1
  159. package/dist/wire.js +56 -31
  160. package/dist/words.d.ts +19 -0
  161. package/dist/words.d.ts.map +1 -0
  162. package/dist/words.js +156 -0
  163. package/package.json +18 -19
  164. package/AGENTS.md +0 -309
  165. package/dist/chat/acts.d.ts +0 -33
  166. package/dist/chat/acts.d.ts.map +0 -1
  167. package/dist/chat/acts.js +0 -36
  168. package/dist/chat/context.d.ts +0 -3
  169. package/dist/chat/context.d.ts.map +0 -1
  170. package/dist/chat/context.js +0 -10
  171. package/dist/chat/input.d.ts +0 -9
  172. package/dist/chat/input.d.ts.map +0 -1
  173. package/dist/chat/input.js +0 -99
  174. package/dist/chat/kit.d.ts +0 -60
  175. package/dist/chat/kit.d.ts.map +0 -1
  176. package/dist/chat/kit.js +0 -123
  177. package/dist/chat/lasting.d.ts +0 -6
  178. package/dist/chat/lasting.d.ts.map +0 -1
  179. package/dist/chat/lasting.js +0 -19
  180. package/dist/chat/list.d.ts +0 -26
  181. package/dist/chat/list.d.ts.map +0 -1
  182. package/dist/chat/list.js +0 -62
  183. package/dist/chat/markdown.d.ts +0 -20
  184. package/dist/chat/markdown.d.ts.map +0 -1
  185. package/dist/chat/markdown.js +0 -188
  186. package/dist/chat/message.d.ts +0 -6
  187. package/dist/chat/message.d.ts.map +0 -1
  188. package/dist/chat/message.js +0 -192
  189. package/dist/chat/messages.d.ts +0 -21
  190. package/dist/chat/messages.d.ts.map +0 -1
  191. package/dist/chat/messages.js +0 -151
  192. package/dist/chat/name.d.ts +0 -6
  193. package/dist/chat/name.d.ts.map +0 -1
  194. package/dist/chat/name.js +0 -37
  195. package/dist/chat/opened.d.ts +0 -11
  196. package/dist/chat/opened.d.ts.map +0 -1
  197. package/dist/chat/opened.js +0 -17
  198. package/dist/chat/overlay.d.ts +0 -31
  199. package/dist/chat/overlay.d.ts.map +0 -1
  200. package/dist/chat/overlay.js +0 -97
  201. package/dist/chat/parts.d.ts +0 -57
  202. package/dist/chat/parts.d.ts.map +0 -1
  203. package/dist/chat/parts.js +0 -119
  204. package/dist/chat/process.d.ts +0 -20
  205. package/dist/chat/process.d.ts.map +0 -1
  206. package/dist/chat/process.js +0 -32
  207. package/dist/chat/provider.d.ts +0 -63
  208. package/dist/chat/provider.d.ts.map +0 -1
  209. package/dist/chat/provider.js +0 -620
  210. package/dist/chat/question.d.ts +0 -9
  211. package/dist/chat/question.d.ts.map +0 -1
  212. package/dist/chat/question.js +0 -80
  213. package/dist/chat/questions.d.ts +0 -31
  214. package/dist/chat/questions.d.ts.map +0 -1
  215. package/dist/chat/questions.js +0 -111
  216. package/dist/chat/read.d.ts +0 -5
  217. package/dist/chat/read.d.ts.map +0 -1
  218. package/dist/chat/read.js +0 -13
  219. package/dist/chat/ready.d.ts +0 -33
  220. package/dist/chat/ready.d.ts.map +0 -1
  221. package/dist/chat/ready.js +0 -91
  222. package/dist/chat/style.d.ts +0 -4
  223. package/dist/chat/style.d.ts.map +0 -1
  224. package/dist/chat/style.js +0 -302
  225. package/dist/chat.d.ts +0 -14
  226. package/dist/chat.d.ts.map +0 -1
  227. package/dist/chat.js +0 -8
  228. package/dist/read-side.d.ts +0 -25
  229. package/dist/read-side.d.ts.map +0 -1
  230. package/dist/read-side.js +0 -639
@@ -1,119 +0,0 @@
1
- import { list, record, text } from './read.js';
2
- const MARKERS = ['mode', 'compaction', 'retry', 'model', 'job'];
3
- function partOf(raw) {
4
- const part = record(raw);
5
- switch (text(part, 'type')) {
6
- case 'text':
7
- case 'reasoning': {
8
- const said = text(part, 'text');
9
- return said === null ? null : { type: part.type, text: said };
10
- }
11
- case 'commands':
12
- return typeof part.count === 'number' ? { type: 'commands', count: part.count } : null;
13
- case 'subagent':
14
- return {
15
- type: 'subagent',
16
- description: text(part, 'description') ?? '',
17
- done: part.status === 'done',
18
- result: text(part, 'result'),
19
- };
20
- case 'message': {
21
- const command = text(part, 'command');
22
- return command === null ? null : { type: 'message', command, target: text(part, 'target') };
23
- }
24
- case 'image': {
25
- const name = text(part, 'name');
26
- return name === null
27
- ? null
28
- : { type: 'image', name, mediaType: text(part, 'media_type') ?? '' };
29
- }
30
- case 'marker': {
31
- const marker = text(part, 'marker');
32
- return marker === null || !MARKERS.includes(marker)
33
- ? null
34
- : { type: 'marker', marker: marker, text: text(part, 'text') ?? '' };
35
- }
36
- case 'plan':
37
- return {
38
- type: 'plan',
39
- steps: list(part, 'entries').flatMap((entry) => {
40
- const step = record(entry);
41
- const content = text(step, 'content');
42
- return content === null ? [] : [{ content, status: text(step, 'status') ?? '' }];
43
- }),
44
- };
45
- default:
46
- return null;
47
- }
48
- }
49
- export function partsOf(raw) {
50
- return raw.flatMap((one) => partOf(one) ?? []);
51
- }
52
- export function contextIn(raw) {
53
- const held = record(raw);
54
- return typeof held.used === 'number' && typeof held.window === 'number' && held.window > 0
55
- ? { used: held.used, window: held.window }
56
- : null;
57
- }
58
- const NEXT_RUN = 'next run ';
59
- export function jobOf(said) {
60
- const at = said.lastIndexOf(': ');
61
- const label = at === -1 ? said : said.slice(0, at);
62
- const state = at === -1 ? '' : said.slice(at + 2);
63
- if (state === 'running')
64
- return { label, kind: 'started', state, next: null };
65
- if (state === 'scheduled')
66
- return { label, kind: 'scheduled', state, next: null };
67
- return state.startsWith(NEXT_RUN)
68
- ? { label, kind: 'scheduled', state, next: state.slice(NEXT_RUN.length) }
69
- : { label, kind: 'ended', state, next: null };
70
- }
71
- export function stillRunning(turns) {
72
- const open = [];
73
- const close = (key) => {
74
- const at = open.map((one) => one.key).lastIndexOf(key);
75
- if (at !== -1)
76
- open.splice(at, 1);
77
- };
78
- for (const { turn, parts, ended } of turns) {
79
- for (const part of parts) {
80
- if (part.type === 'subagent') {
81
- const key = `subagent\u0000${part.description}`;
82
- if (part.done)
83
- close(key);
84
- else if (ended) {
85
- open.push({ turn, key, work: { kind: 'subagent', title: part.description, next: null } });
86
- }
87
- continue;
88
- }
89
- if (part.type !== 'marker' || part.marker !== 'job')
90
- continue;
91
- const job = jobOf(part.text);
92
- const started = `job\u0000${job.label}`;
93
- const schedule = `schedule\u0000${job.label}`;
94
- if (job.kind === 'scheduled') {
95
- close(schedule);
96
- if (ended) {
97
- open.push({
98
- turn,
99
- key: schedule,
100
- work: { kind: 'schedule', title: job.label, next: job.next },
101
- });
102
- }
103
- }
104
- else if (job.kind === 'started') {
105
- if (ended) {
106
- open.push({ turn, key: started, work: { kind: 'job', title: job.label, next: null } });
107
- }
108
- }
109
- else {
110
- close(started);
111
- close(schedule);
112
- }
113
- }
114
- }
115
- const under = new Map();
116
- for (const one of open)
117
- under.set(one.turn, [...(under.get(one.turn) ?? []), one.work]);
118
- return under;
119
- }
@@ -1,20 +0,0 @@
1
- import type { ConversationView } from '../conversation.js';
2
- export type ChatOptionValue = {
3
- readonly value: string;
4
- readonly name: string;
5
- };
6
- export type ChatOption = {
7
- readonly id: string;
8
- readonly name: string;
9
- readonly value: string;
10
- readonly values: readonly ChatOptionValue[];
11
- };
12
- export type ChatCommand = {
13
- readonly name: string;
14
- readonly description: string;
15
- };
16
- export declare function optionsOf(view: ConversationView | null): readonly ChatOption[];
17
- export declare function commandsOf(view: ConversationView | null): readonly ChatCommand[];
18
- export declare const COMMAND = "/";
19
- export declare function commandIn(said: string, commands: readonly ChatCommand[]): boolean;
20
- //# sourceMappingURL=process.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/chat/process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAWF,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,UAAU,EAAE,CAU9E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,WAAW,EAAE,CAMhF;AAED,eAAO,MAAM,OAAO,MAAM,CAAC;AAE3B,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAGjF"}
@@ -1,32 +0,0 @@
1
- import { list, record, text } from './read.js';
2
- function valuesOf(option) {
3
- return list(option, 'options').flatMap((entry) => {
4
- const choice = record(entry);
5
- const value = text(choice, 'value');
6
- const name = text(choice, 'name');
7
- return value === null || name === null ? [] : [{ value, name }];
8
- });
9
- }
10
- export function optionsOf(view) {
11
- return (view?.options ?? []).flatMap((entry) => {
12
- const option = record(entry);
13
- const id = text(option, 'id');
14
- const name = text(option, 'name');
15
- const value = text(option, 'currentValue');
16
- return id === null || name === null || value === null
17
- ? []
18
- : [{ id, name, value, values: valuesOf(option) }];
19
- });
20
- }
21
- export function commandsOf(view) {
22
- return (view?.commands ?? []).flatMap((entry) => {
23
- const command = record(entry);
24
- const name = text(command, 'name');
25
- return name === null ? [] : [{ name, description: text(command, 'description') ?? '' }];
26
- });
27
- }
28
- export const COMMAND = '/';
29
- export function commandIn(said, commands) {
30
- const [first] = said.split(/\s/);
31
- return commands.some((one) => first === `${COMMAND}${one.name}`);
32
- }
@@ -1,63 +0,0 @@
1
- import { type ReactElement, type ReactNode } from 'react';
2
- import type { TurnContext } from '../adapter.js';
3
- import type { MdRuntimeClient } from '../client.js';
4
- import type { ChatDraft, ConversationAgent, ConversationEntry, ConversationView } from '../conversation.js';
5
- import { type ChatOutcome } from './acts.js';
6
- import { type ChatCommand, type ChatOption } from './process.js';
7
- import { type ChatLone, type ChatQuestion } from './questions.js';
8
- export type ChatOpened = {
9
- readonly conversation: string | null;
10
- readonly agent: string | null;
11
- };
12
- export type ChatActing = {
13
- readonly busy: boolean;
14
- readonly outcome: ChatOutcome | null;
15
- };
16
- export type ChatQueued = {
17
- readonly id: string;
18
- readonly text: string;
19
- };
20
- export type ChatState = ChatOpened & {
21
- readonly conversations: readonly ConversationEntry[];
22
- readonly agents: readonly ConversationAgent[];
23
- readonly view: ConversationView | null;
24
- readonly running: boolean;
25
- readonly questions: readonly ChatQuestion[];
26
- readonly lone: ChatLone | null;
27
- readonly options: readonly ChatOption[];
28
- readonly commands: readonly ChatCommand[];
29
- readonly context: TurnContext | null;
30
- readonly queued: readonly ChatQueued[];
31
- readonly sending: ChatActing & {
32
- readonly again: (() => void) | null;
33
- };
34
- readonly acting: ChatActing;
35
- open(conversation: string): void;
36
- start(agent: string): void;
37
- send(draft: ChatDraft): void;
38
- answer(question: ChatQuestion, response: unknown): Promise<boolean>;
39
- choose(option: string, value: string): Promise<boolean>;
40
- stop(): Promise<boolean>;
41
- kill(): Promise<boolean>;
42
- done(): Promise<boolean>;
43
- rename(name: string): Promise<boolean>;
44
- remove(): Promise<boolean>;
45
- edit(queued: string): void;
46
- unqueue(queued: string): void;
47
- };
48
- export type ChatProviderProps = {
49
- readonly client: MdRuntimeClient;
50
- readonly conversation?: string | null;
51
- readonly agent?: string | null;
52
- readonly onOpen?: (opened: ChatOpened) => void;
53
- readonly children?: ReactNode;
54
- };
55
- type Scope = {
56
- readonly client: MdRuntimeClient;
57
- readonly known: boolean;
58
- };
59
- export declare function useChatScope(): Scope;
60
- export declare function useChat(): ChatState;
61
- export declare function ChatProvider({ client, conversation, agent, onOpen, children, }: ChatProviderProps): ReactElement;
62
- export {};
63
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/chat/provider.ts"],"names":[],"mappings":"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"}