@dxos/agent-runtime 0.0.0

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 (66) hide show
  1. package/LICENSE +105 -0
  2. package/dist/lib/neutral/chunk-EZKG2ZGG.mjs +754 -0
  3. package/dist/lib/neutral/chunk-EZKG2ZGG.mjs.map +7 -0
  4. package/dist/lib/neutral/index.mjs +9 -0
  5. package/dist/lib/neutral/index.mjs.map +7 -0
  6. package/dist/lib/neutral/meta.json +1 -0
  7. package/dist/lib/neutral/testing/index.mjs +285 -0
  8. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  9. package/dist/types/src/agent-service/AgentService.d.ts +45 -0
  10. package/dist/types/src/agent-service/AgentService.d.ts.map +1 -0
  11. package/dist/types/src/agent-service/AgentService.test.d.ts +2 -0
  12. package/dist/types/src/agent-service/AgentService.test.d.ts.map +1 -0
  13. package/dist/types/src/agent-service/agent-process.d.ts +457 -0
  14. package/dist/types/src/agent-service/agent-process.d.ts.map +1 -0
  15. package/dist/types/src/agent-service/agent-process.test.d.ts +2 -0
  16. package/dist/types/src/agent-service/agent-process.test.d.ts.map +1 -0
  17. package/dist/types/src/agent-service/delegation-strategy.d.ts +47 -0
  18. package/dist/types/src/agent-service/delegation-strategy.d.ts.map +1 -0
  19. package/dist/types/src/agent-service/index.d.ts +4 -0
  20. package/dist/types/src/agent-service/index.d.ts.map +1 -0
  21. package/dist/types/src/assistant-session-tests/format.test.d.ts +2 -0
  22. package/dist/types/src/assistant-session-tests/format.test.d.ts.map +1 -0
  23. package/dist/types/src/assistant-session-tests/request.test.d.ts +2 -0
  24. package/dist/types/src/assistant-session-tests/request.test.d.ts.map +1 -0
  25. package/dist/types/src/assistant-session-tests/session-ollama.test.d.ts +2 -0
  26. package/dist/types/src/assistant-session-tests/session-ollama.test.d.ts.map +1 -0
  27. package/dist/types/src/assistant-session-tests/session.test.d.ts +2 -0
  28. package/dist/types/src/assistant-session-tests/session.test.d.ts.map +1 -0
  29. package/dist/types/src/assistant-session-tests/xml-response.test.d.ts +2 -0
  30. package/dist/types/src/assistant-session-tests/xml-response.test.d.ts.map +1 -0
  31. package/dist/types/src/functions.test.d.ts +2 -0
  32. package/dist/types/src/functions.test.d.ts.map +1 -0
  33. package/dist/types/src/index.d.ts +2 -0
  34. package/dist/types/src/index.d.ts.map +1 -0
  35. package/dist/types/src/testing/ResearchService.d.ts +28 -0
  36. package/dist/types/src/testing/ResearchService.d.ts.map +1 -0
  37. package/dist/types/src/testing/assistant-test-layer.d.ts +70 -0
  38. package/dist/types/src/testing/assistant-test-layer.d.ts.map +1 -0
  39. package/dist/types/src/testing/index.d.ts +4 -0
  40. package/dist/types/src/testing/index.d.ts.map +1 -0
  41. package/dist/types/src/testing/trace-pretty-print.d.ts +16 -0
  42. package/dist/types/src/testing/trace-pretty-print.d.ts.map +1 -0
  43. package/dist/types/tsconfig.tsbuildinfo +1 -0
  44. package/package.json +70 -0
  45. package/src/agent-service/AgentService.conversations.json +1 -0
  46. package/src/agent-service/AgentService.test.ts +523 -0
  47. package/src/agent-service/AgentService.ts +239 -0
  48. package/src/agent-service/README.md +91 -0
  49. package/src/agent-service/agent-process.test.ts +206 -0
  50. package/src/agent-service/agent-process.ts +793 -0
  51. package/src/agent-service/delegation-strategy.ts +63 -0
  52. package/src/agent-service/index.ts +7 -0
  53. package/src/assistant-session-tests/format.test.ts +131 -0
  54. package/src/assistant-session-tests/request.conversations.json +1 -0
  55. package/src/assistant-session-tests/request.test.ts +190 -0
  56. package/src/assistant-session-tests/session-ollama.test.ts +80 -0
  57. package/src/assistant-session-tests/session.test.ts +56 -0
  58. package/src/assistant-session-tests/xml-response.conversations.json +1 -0
  59. package/src/assistant-session-tests/xml-response.test.ts +65 -0
  60. package/src/functions.conversations.json +1 -0
  61. package/src/functions.test.ts +87 -0
  62. package/src/index.ts +7 -0
  63. package/src/testing/ResearchService.ts +144 -0
  64. package/src/testing/assistant-test-layer.ts +299 -0
  65. package/src/testing/index.ts +7 -0
  66. package/src/testing/trace-pretty-print.ts +55 -0
@@ -0,0 +1,45 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import * as Layer from 'effect/Layer';
3
+ import { McpServer, Skill } from '@dxos/compute';
4
+ import { ProcessManager } from '@dxos/compute-runtime';
5
+ import { AgentService, type Session } from '@dxos/compute/AgentService';
6
+ import { Database, Obj, Ref, Registry } from '@dxos/echo';
7
+ import { DXN } from '@dxos/keys';
8
+ import { type DelegationStrategy } from './delegation-strategy';
9
+ export interface CreateSessionOptions {
10
+ readonly skills?: Skill.Skill[];
11
+ readonly context?: Ref.Ref<Obj.Unknown>[];
12
+ readonly model?: DXN.DXN;
13
+ readonly provider?: DXN.DXN;
14
+ readonly systemPrompt?: string;
15
+ }
16
+ export declare const createSession: (opts?: CreateSessionOptions) => Effect.Effect<Session, Skill.NotFoundError, Database.Service | Registry.Service | AgentService>;
17
+ export interface AgentServiceOptions {
18
+ systemPrompt?: string;
19
+ /**
20
+ * Default model used by sessions that don't specify one explicitly.
21
+ */
22
+ model?: DXN.DXN;
23
+ /**
24
+ * Default provider used to resolve the model for sessions that don't specify one explicitly.
25
+ */
26
+ provider?: DXN.DXN;
27
+ /**
28
+ * Provider for space-level MCP server configs.
29
+ */
30
+ getMcpServers?: () => McpServer.McpServer[];
31
+ /**
32
+ * If true, long-running tool calls are moved to the background and the agent is notified
33
+ * asynchronously when they complete. Currently unstable — disabled by default.
34
+ *
35
+ * @default false
36
+ */
37
+ enableToolBackgrounding?: boolean;
38
+ /**
39
+ * When provided, sessions act as supervisors: the agent delegates outstanding work to sub-agent
40
+ * child processes and folds their results back into the conversation. Absent — a plain agent.
41
+ */
42
+ delegationStrategy?: DelegationStrategy;
43
+ }
44
+ export declare const layer: (opts?: AgentServiceOptions) => Layer.Layer<AgentService, never, ProcessManager.Service>;
45
+ //# sourceMappingURL=AgentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentService.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/AgentService.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,YAAY,EAGZ,KAAK,OAAO,EAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAc,QAAQ,EAAQ,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAO,MAAM,YAAY,CAAC;AAItC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAWhE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,aAAa,EAAE,CAC1B,IAAI,CAAC,EAAE,oBAAoB,KACxB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,YAAY,CAmBlF,CAAC;AAElB,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;IAE5C;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,eAAO,MAAM,KAAK,UAAW,mBAAmB,KAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CA+GvG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AgentService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentService.test.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/AgentService.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,457 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import * as Schema from 'effect/Schema';
3
+ import { AiService, OpaqueToolkit } from '@dxos/ai';
4
+ import { Credential, McpServer, Operation } from '@dxos/compute';
5
+ import { Process } from '@dxos/compute';
6
+ import { ProcessManager } from '@dxos/compute-runtime';
7
+ import * as StorageService from '@dxos/compute/StorageService';
8
+ import { Database, Obj, Ref, Registry } from '@dxos/echo';
9
+ import { DXN } from '@dxos/keys';
10
+ import { type DelegationStrategy } from './delegation-strategy';
11
+ interface AgentProcessOptions {
12
+ systemPrompt?: string;
13
+ model?: DXN.DXN;
14
+ provider?: DXN.DXN;
15
+ /**
16
+ * Provider for space-level MCP server configs, called on each turn.
17
+ */
18
+ getMcpServers?: () => McpServer.McpServer[];
19
+ /**
20
+ * If true, long-running tool calls are moved to the background after `backgroundThreshold`
21
+ * and the agent is notified asynchronously when they complete.
22
+ *
23
+ * Currently unstable — disabled by default.
24
+ *
25
+ * @default false
26
+ */
27
+ enableToolBackgrounding?: boolean;
28
+ /**
29
+ * When provided, the agent acts as a supervisor: after each turn it delegates outstanding work to
30
+ * linked child processes and folds their results back into the conversation on completion. Absent
31
+ * (the default) the process behaves as a plain conversational agent.
32
+ */
33
+ delegationStrategy?: DelegationStrategy;
34
+ }
35
+ export declare const AGENT_PROCESS_KEY = "org.dxos.testing.process.agent";
36
+ /**
37
+ * Hosts a persistent, suspendible AiAgent that can process a number of prompts.
38
+ * The process target is a queue DXN string.
39
+ */
40
+ export declare const AgentProcess: (options: AgentProcessOptions) => Process.Process<string, void, AiService.AiService | Credential.CredentialsService | OpaqueToolkit.OpaqueToolkitProvider | Registry.Service | Database.Service | Operation.Service | ProcessManager.ProcessOperationInvoker.Service | StorageService.StorageService, import("@effect/rpc/Rpc").Rpc<"enqueueMessage", Schema.Struct<{
41
+ content: Schema.Array$<Schema.Union<[Schema.TaggedStruct<"anchor", {
42
+ pending: Schema.optional<typeof Schema.Boolean>;
43
+ objectId: import("@dxos/keys").EntityIdClass;
44
+ version: typeof Schema.Unknown;
45
+ }>, Schema.TaggedStruct<"file", {
46
+ pending: Schema.optional<typeof Schema.Boolean>;
47
+ url: typeof Schema.String;
48
+ name: Schema.optional<typeof Schema.String>;
49
+ mediaType: Schema.optional<typeof Schema.String>;
50
+ }>, Schema.TaggedStruct<"image", {
51
+ pending: Schema.optional<typeof Schema.Boolean>;
52
+ id: Schema.optional<typeof Schema.String>;
53
+ source: Schema.optional<Schema.Union<[Schema.Struct<{
54
+ type: Schema.Literal<["base64"]>;
55
+ mediaType: typeof Schema.String;
56
+ data: typeof Schema.String;
57
+ }>, Schema.Struct<{
58
+ type: Schema.Literal<["http"]>;
59
+ url: typeof Schema.String;
60
+ }>]>>;
61
+ }>, Schema.TaggedStruct<"json", {
62
+ pending: Schema.optional<typeof Schema.Boolean>;
63
+ disposition: Schema.optional<Schema.Literal<["user", "synthetic", "cot", "version-pin"]>>;
64
+ data: typeof Schema.String;
65
+ }>, Schema.TaggedStruct<"proposal", {
66
+ pending: Schema.optional<typeof Schema.Boolean>;
67
+ text: typeof Schema.String;
68
+ }>, Schema.TaggedStruct<"reasoning", {
69
+ pending: Schema.optional<typeof Schema.Boolean>;
70
+ reasoningText: Schema.optional<typeof Schema.String>;
71
+ redactedText: Schema.optional<typeof Schema.String>;
72
+ signature: Schema.optional<typeof Schema.String>;
73
+ }>, Schema.TaggedStruct<"reference", {
74
+ pending: Schema.optional<typeof Schema.Boolean>;
75
+ reference: import("@dxos/echo/Ref").RefSchema<import("@dxos/echo/Obj").Unknown>;
76
+ }>, Schema.TaggedStruct<"select", {
77
+ pending: Schema.optional<typeof Schema.Boolean>;
78
+ options: Schema.mutable<Schema.Array$<typeof Schema.String>>;
79
+ }>, Schema.TaggedStruct<"status", {
80
+ pending: Schema.optional<typeof Schema.Boolean>;
81
+ statusText: typeof Schema.String;
82
+ }>, Schema.TaggedStruct<"suggestion", {
83
+ pending: Schema.optional<typeof Schema.Boolean>;
84
+ text: typeof Schema.String;
85
+ }>, Schema.TaggedStruct<"stats", {
86
+ pending: Schema.optional<typeof Schema.Boolean>;
87
+ mimeType: Schema.optional<typeof Schema.String>;
88
+ message: Schema.optional<typeof Schema.String>;
89
+ model: Schema.optional<typeof Schema.String>;
90
+ usage: Schema.optional<Schema.Struct<{
91
+ inputTokens: Schema.optional<typeof Schema.Number>;
92
+ outputTokens: Schema.optional<typeof Schema.Number>;
93
+ totalTokens: Schema.optional<typeof Schema.Number>;
94
+ }>>;
95
+ toolCalls: Schema.optional<typeof Schema.Number>;
96
+ errors: Schema.optional<typeof Schema.Number>;
97
+ duration: Schema.optional<typeof Schema.Number>;
98
+ finishReason: Schema.optional<Schema.Literal<["stop", "length", "content-filter", "tool-calls", "error", "pause", "other", "unknown"]>>;
99
+ }>, Schema.TaggedStruct<"surface", {
100
+ pending: Schema.optional<typeof Schema.Boolean>;
101
+ role: typeof Schema.String;
102
+ data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
103
+ }>, Schema.TaggedStruct<"text", {
104
+ pending: Schema.optional<typeof Schema.Boolean>;
105
+ mimeType: Schema.optional<typeof Schema.String>;
106
+ text: typeof Schema.String;
107
+ disposition: Schema.optional<Schema.Literal<["user", "synthetic", "cot", "version-pin"]>>;
108
+ }>, Schema.TaggedStruct<"summary", {
109
+ pending: Schema.optional<typeof Schema.Boolean>;
110
+ content: typeof Schema.String;
111
+ }>, Schema.TaggedStruct<"toolkit", {
112
+ pending: Schema.optional<typeof Schema.Boolean>;
113
+ }>, Schema.TaggedStruct<"toolCall", {
114
+ pending: Schema.optional<typeof Schema.Boolean>;
115
+ toolCallId: typeof Schema.String;
116
+ name: typeof Schema.String;
117
+ input: typeof Schema.String;
118
+ providerExecuted: typeof Schema.Boolean;
119
+ operationKey: Schema.optional<typeof Schema.String>;
120
+ operationName: Schema.optional<typeof Schema.String>;
121
+ operationIcon: Schema.optional<typeof Schema.String>;
122
+ }>, Schema.TaggedStruct<"toolResult", {
123
+ pending: Schema.optional<typeof Schema.Boolean>;
124
+ toolCallId: typeof Schema.String;
125
+ name: typeof Schema.String;
126
+ result: Schema.optional<Schema.Union<[typeof Schema.String, Schema.suspend<{
127
+ readonly _tag: "~@dxos/types/ContentBlock.ContentBlockResult";
128
+ readonly content: readonly ({
129
+ readonly _tag: "text";
130
+ readonly pending?: boolean | undefined;
131
+ readonly mimeType?: string | undefined;
132
+ readonly text: string;
133
+ readonly disposition?: "cot" | "synthetic" | "user" | "version-pin" | undefined;
134
+ } | {
135
+ readonly _tag: "image";
136
+ readonly pending?: boolean | undefined;
137
+ readonly id?: string | undefined;
138
+ readonly source?: {
139
+ readonly type: "base64";
140
+ readonly mediaType: string;
141
+ readonly data: string;
142
+ } | {
143
+ readonly type: "http";
144
+ readonly url: string;
145
+ } | undefined;
146
+ } | {
147
+ readonly _tag: "file";
148
+ readonly pending?: boolean | undefined;
149
+ readonly url: string;
150
+ readonly name?: string | undefined;
151
+ readonly mediaType?: string | undefined;
152
+ })[];
153
+ }, {
154
+ readonly _tag: "~@dxos/types/ContentBlock.ContentBlockResult";
155
+ readonly content: readonly ({
156
+ readonly _tag: "text";
157
+ readonly disposition?: "cot" | "synthetic" | "user" | "version-pin" | undefined;
158
+ readonly mimeType?: string | undefined;
159
+ readonly pending?: boolean | undefined;
160
+ readonly text: string;
161
+ } | {
162
+ readonly _tag: "image";
163
+ readonly id?: string | undefined;
164
+ readonly pending?: boolean | undefined;
165
+ readonly source?: {
166
+ readonly data: string;
167
+ readonly mediaType: string;
168
+ readonly type: "base64";
169
+ } | {
170
+ readonly type: "http";
171
+ readonly url: string;
172
+ } | undefined;
173
+ } | {
174
+ readonly _tag: "file";
175
+ readonly mediaType?: string | undefined;
176
+ readonly name?: string | undefined;
177
+ readonly pending?: boolean | undefined;
178
+ readonly url: string;
179
+ })[];
180
+ }, never>]>>;
181
+ error: Schema.optional<typeof Schema.String>;
182
+ providerExecuted: typeof Schema.Boolean;
183
+ }>, Schema.TaggedStruct<"transcript", {
184
+ pending: Schema.optional<typeof Schema.Boolean>;
185
+ started: typeof Schema.String;
186
+ text: typeof Schema.String;
187
+ corrected: Schema.optional<typeof Schema.String>;
188
+ references: Schema.optional<Schema.mutable<Schema.Array$<import("@dxos/echo/Ref").RefSchema<import("@dxos/echo/Obj").Unknown>>>>;
189
+ candidates: Schema.optional<Schema.mutable<Schema.Array$<Schema.Struct<{
190
+ text: typeof Schema.String;
191
+ kind: Schema.Literal<["noun", "proper-noun"]>;
192
+ start: typeof Schema.Number;
193
+ end: typeof Schema.Number;
194
+ suggested: Schema.optional<Schema.Struct<{
195
+ typename: typeof Schema.String;
196
+ }>>;
197
+ }>>>>;
198
+ translation: Schema.optional<typeof Schema.String>;
199
+ }>]>>;
200
+ }>, typeof Schema.Void, typeof Schema.Never, never> | import("@effect/rpc/Rpc").Rpc<"setAlarm", Schema.Struct<{
201
+ at: typeof Schema.DateTimeUtc;
202
+ message: Schema.NullOr<typeof Schema.String>;
203
+ }>, typeof Schema.Void, typeof Schema.Never, never>>;
204
+ declare const AgentEvent: Schema.Union<[Schema.TaggedStruct<"prompt", {
205
+ content: Schema.Array$<Schema.Union<[Schema.TaggedStruct<"anchor", {
206
+ pending: Schema.optional<typeof Schema.Boolean>;
207
+ objectId: import("@dxos/keys").EntityIdClass;
208
+ version: typeof Schema.Unknown;
209
+ }>, Schema.TaggedStruct<"file", {
210
+ pending: Schema.optional<typeof Schema.Boolean>;
211
+ url: typeof Schema.String;
212
+ name: Schema.optional<typeof Schema.String>;
213
+ mediaType: Schema.optional<typeof Schema.String>;
214
+ }>, Schema.TaggedStruct<"image", {
215
+ pending: Schema.optional<typeof Schema.Boolean>;
216
+ id: Schema.optional<typeof Schema.String>;
217
+ source: Schema.optional<Schema.Union<[Schema.Struct<{
218
+ type: Schema.Literal<["base64"]>;
219
+ mediaType: typeof Schema.String;
220
+ data: typeof Schema.String;
221
+ }>, Schema.Struct<{
222
+ type: Schema.Literal<["http"]>;
223
+ url: typeof Schema.String;
224
+ }>]>>;
225
+ }>, Schema.TaggedStruct<"json", {
226
+ pending: Schema.optional<typeof Schema.Boolean>;
227
+ disposition: Schema.optional<Schema.Literal<["user", "synthetic", "cot", "version-pin"]>>;
228
+ data: typeof Schema.String;
229
+ }>, Schema.TaggedStruct<"proposal", {
230
+ pending: Schema.optional<typeof Schema.Boolean>;
231
+ text: typeof Schema.String;
232
+ }>, Schema.TaggedStruct<"reasoning", {
233
+ pending: Schema.optional<typeof Schema.Boolean>;
234
+ reasoningText: Schema.optional<typeof Schema.String>;
235
+ redactedText: Schema.optional<typeof Schema.String>;
236
+ signature: Schema.optional<typeof Schema.String>;
237
+ }>, Schema.TaggedStruct<"reference", {
238
+ pending: Schema.optional<typeof Schema.Boolean>;
239
+ reference: Ref.RefSchema<Obj.Unknown>;
240
+ }>, Schema.TaggedStruct<"select", {
241
+ pending: Schema.optional<typeof Schema.Boolean>;
242
+ options: Schema.mutable<Schema.Array$<typeof Schema.String>>;
243
+ }>, Schema.TaggedStruct<"status", {
244
+ pending: Schema.optional<typeof Schema.Boolean>;
245
+ statusText: typeof Schema.String;
246
+ }>, Schema.TaggedStruct<"suggestion", {
247
+ pending: Schema.optional<typeof Schema.Boolean>;
248
+ text: typeof Schema.String;
249
+ }>, Schema.TaggedStruct<"stats", {
250
+ pending: Schema.optional<typeof Schema.Boolean>;
251
+ mimeType: Schema.optional<typeof Schema.String>;
252
+ message: Schema.optional<typeof Schema.String>;
253
+ model: Schema.optional<typeof Schema.String>;
254
+ usage: Schema.optional<Schema.Struct<{
255
+ inputTokens: Schema.optional<typeof Schema.Number>;
256
+ outputTokens: Schema.optional<typeof Schema.Number>;
257
+ totalTokens: Schema.optional<typeof Schema.Number>;
258
+ }>>;
259
+ toolCalls: Schema.optional<typeof Schema.Number>;
260
+ errors: Schema.optional<typeof Schema.Number>;
261
+ duration: Schema.optional<typeof Schema.Number>;
262
+ finishReason: Schema.optional<Schema.Literal<["stop", "length", "content-filter", "tool-calls", "error", "pause", "other", "unknown"]>>;
263
+ }>, Schema.TaggedStruct<"surface", {
264
+ pending: Schema.optional<typeof Schema.Boolean>;
265
+ role: typeof Schema.String;
266
+ data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
267
+ }>, Schema.TaggedStruct<"text", {
268
+ pending: Schema.optional<typeof Schema.Boolean>;
269
+ mimeType: Schema.optional<typeof Schema.String>;
270
+ text: typeof Schema.String;
271
+ disposition: Schema.optional<Schema.Literal<["user", "synthetic", "cot", "version-pin"]>>;
272
+ }>, Schema.TaggedStruct<"summary", {
273
+ pending: Schema.optional<typeof Schema.Boolean>;
274
+ content: typeof Schema.String;
275
+ }>, Schema.TaggedStruct<"toolkit", {
276
+ pending: Schema.optional<typeof Schema.Boolean>;
277
+ }>, Schema.TaggedStruct<"toolCall", {
278
+ pending: Schema.optional<typeof Schema.Boolean>;
279
+ toolCallId: typeof Schema.String;
280
+ name: typeof Schema.String;
281
+ input: typeof Schema.String;
282
+ providerExecuted: typeof Schema.Boolean;
283
+ operationKey: Schema.optional<typeof Schema.String>;
284
+ operationName: Schema.optional<typeof Schema.String>;
285
+ operationIcon: Schema.optional<typeof Schema.String>;
286
+ }>, Schema.TaggedStruct<"toolResult", {
287
+ pending: Schema.optional<typeof Schema.Boolean>;
288
+ toolCallId: typeof Schema.String;
289
+ name: typeof Schema.String;
290
+ result: Schema.optional<Schema.Union<[typeof Schema.String, Schema.suspend<{
291
+ readonly _tag: "~@dxos/types/ContentBlock.ContentBlockResult";
292
+ readonly content: readonly ({
293
+ readonly _tag: "text";
294
+ readonly pending?: boolean | undefined;
295
+ readonly mimeType?: string | undefined;
296
+ readonly text: string;
297
+ readonly disposition?: "cot" | "synthetic" | "user" | "version-pin" | undefined;
298
+ } | {
299
+ readonly _tag: "image";
300
+ readonly pending?: boolean | undefined;
301
+ readonly id?: string | undefined;
302
+ readonly source?: {
303
+ readonly type: "base64";
304
+ readonly mediaType: string;
305
+ readonly data: string;
306
+ } | {
307
+ readonly type: "http";
308
+ readonly url: string;
309
+ } | undefined;
310
+ } | {
311
+ readonly _tag: "file";
312
+ readonly pending?: boolean | undefined;
313
+ readonly url: string;
314
+ readonly name?: string | undefined;
315
+ readonly mediaType?: string | undefined;
316
+ })[];
317
+ }, {
318
+ readonly _tag: "~@dxos/types/ContentBlock.ContentBlockResult";
319
+ readonly content: readonly ({
320
+ readonly _tag: "text";
321
+ readonly disposition?: "cot" | "synthetic" | "user" | "version-pin" | undefined;
322
+ readonly mimeType?: string | undefined;
323
+ readonly pending?: boolean | undefined;
324
+ readonly text: string;
325
+ } | {
326
+ readonly _tag: "image";
327
+ readonly id?: string | undefined;
328
+ readonly pending?: boolean | undefined;
329
+ readonly source?: {
330
+ readonly data: string;
331
+ readonly mediaType: string;
332
+ readonly type: "base64";
333
+ } | {
334
+ readonly type: "http";
335
+ readonly url: string;
336
+ } | undefined;
337
+ } | {
338
+ readonly _tag: "file";
339
+ readonly mediaType?: string | undefined;
340
+ readonly name?: string | undefined;
341
+ readonly pending?: boolean | undefined;
342
+ readonly url: string;
343
+ })[];
344
+ }, never>]>>;
345
+ error: Schema.optional<typeof Schema.String>;
346
+ providerExecuted: typeof Schema.Boolean;
347
+ }>, Schema.TaggedStruct<"transcript", {
348
+ pending: Schema.optional<typeof Schema.Boolean>;
349
+ started: typeof Schema.String;
350
+ text: typeof Schema.String;
351
+ corrected: Schema.optional<typeof Schema.String>;
352
+ references: Schema.optional<Schema.mutable<Schema.Array$<Ref.RefSchema<Obj.Unknown>>>>;
353
+ candidates: Schema.optional<Schema.mutable<Schema.Array$<Schema.Struct<{
354
+ text: typeof Schema.String;
355
+ kind: Schema.Literal<["noun", "proper-noun"]>;
356
+ start: typeof Schema.Number;
357
+ end: typeof Schema.Number;
358
+ suggested: Schema.optional<Schema.Struct<{
359
+ typename: typeof Schema.String;
360
+ }>>;
361
+ }>>>>;
362
+ translation: Schema.optional<typeof Schema.String>;
363
+ }>]>>;
364
+ }>, Schema.TaggedStruct<"tool_result", {
365
+ pid: Schema.brand<typeof Schema.String, "ProcessId">;
366
+ result: typeof Schema.Unknown;
367
+ isError: typeof Schema.Boolean;
368
+ }>, Schema.TaggedStruct<"alarm", {
369
+ firedAt: typeof Schema.Number;
370
+ message: Schema.NullOr<typeof Schema.String>;
371
+ }>]>;
372
+ type AgentEvent = Schema.Schema.Type<typeof AgentEvent>;
373
+ /**
374
+ * Tracks delegated sub-agent child processes (pid -> correlation id) so that, after a hibernation,
375
+ * a delegated child's exit can be matched back to the work it was fulfilling.
376
+ */
377
+ declare const Delegation: Schema.mutable<Schema.Struct<{
378
+ pid: Schema.brand<typeof Schema.String, "ProcessId">;
379
+ id: typeof Schema.String;
380
+ }>>;
381
+ type Delegation = Schema.Schema.Type<typeof Delegation>;
382
+ declare class ToolCallManager {
383
+ #private;
384
+ constructor(storageService: StorageService.Service);
385
+ load(): Effect.Effect<void, never, never>;
386
+ beginCall(pid: Process.ID): Effect.Effect<void, never, never>;
387
+ markAsReported(pid: Process.ID): Effect.Effect<void, never, never>;
388
+ isToolCall(pid: Process.ID): boolean;
389
+ isReported(pid: Process.ID): boolean;
390
+ /** True while a tool-call result has not yet been delivered back to the agent turn. */
391
+ hasPendingToolResults(): boolean;
392
+ /**
393
+ * Clears reported flags for tool calls that still have a pending queue entry.
394
+ * After reload the in-flight createRequest is gone, so those results must be redelivered via onAlarm.
395
+ */
396
+ reconcileWithInputQueue(queue: readonly AgentEvent[]): Effect.Effect<void, never, never>;
397
+ }
398
+ export type AgentIdleSnapshot = {
399
+ inputQueue: readonly AgentEvent[];
400
+ alarmManager: AlarmManager;
401
+ delegations: readonly Delegation[];
402
+ toolCallManager: Pick<ToolCallManager, 'hasPendingToolResults'>;
403
+ };
404
+ /** True while the agent still has queued work, a self-wake, subprocesses, or undelivered tool results. */
405
+ export declare const isAgentWorkPending: ({ inputQueue, alarmManager, delegations, toolCallManager, }: AgentIdleSnapshot) => boolean;
406
+ /**
407
+ * Computes the timeout to pass to `ctx.setAlarm`, reconciling pending queue work with the agent's
408
+ * self-wake alarm. Returns `null` when no alarm should be scheduled (process can go idle).
409
+ */
410
+ export declare const computeAlarmDelay: ({ hasPendingWork, wakeAt, now, }: {
411
+ hasPendingWork: boolean;
412
+ wakeAt: number | null;
413
+ now: number;
414
+ }) => number | null;
415
+ interface AlarmManagerOptions {
416
+ storageService: StorageService.Service;
417
+ setAlarm: (timeout?: number) => void;
418
+ /**
419
+ * Source of the current time. Injectable for deterministic tests.
420
+ * @default () => Date.now()
421
+ */
422
+ now?: () => number;
423
+ }
424
+ /**
425
+ * Tracks the next agent-scheduled self-wake and keeps it in sync with the process alarm
426
+ * (`ctx.setAlarm`). The agent sets alarms via the alarm blueprint, which dispatches to this manager
427
+ * through the `HarnessControl` RPC surface; the process reconciles the underlying single-shot alarm
428
+ * timer to fire at the earliest of pending work or the self-wake.
429
+ */
430
+ export declare class AlarmManager {
431
+ #private;
432
+ constructor({ storageService, setAlarm, now }: AlarmManagerOptions);
433
+ /** Currently scheduled self-wake timestamp (ms), or `null` when none is set. */
434
+ get wakeAt(): number | null;
435
+ /** Reminder message delivered when the current self-wake fires, or `null` when none is set. */
436
+ get message(): string | null;
437
+ now(): number;
438
+ /** Restores the persisted alarm state. */
439
+ load(): Effect.Effect<void>;
440
+ /** Records a new self-wake target (with an optional reminder message) and persists it. */
441
+ setWakeAt(wakeAt: number, message?: string | null): Effect.Effect<void>;
442
+ /**
443
+ * Clears the self-wake alarm if it is due, returning the timestamp it was scheduled for and the
444
+ * reminder message it carried (or `null` if no alarm was due).
445
+ */
446
+ takeFiredAlarm(): Effect.Effect<{
447
+ firedAt: number;
448
+ message: string | null;
449
+ } | null>;
450
+ /**
451
+ * Reconciles the process alarm timer with pending work and the tracked self-wake, scheduling the
452
+ * earliest of the two. Does nothing when there is neither pending work nor a self-wake.
453
+ */
454
+ reconcile(hasPendingWork: boolean): void;
455
+ }
456
+ export {};
457
+ //# sourceMappingURL=agent-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-process.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/agent-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-process.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-process.test.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/agent-process.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import type * as Effect from 'effect/Effect';
2
+ import type * as Exit from 'effect/Exit';
3
+ import { type Process } from '@dxos/compute';
4
+ import { type ProcessManager } from '@dxos/compute-runtime';
5
+ import { type Database, type Feed } from '@dxos/echo';
6
+ /**
7
+ * A unit of work the supervisor delegates to a linked child process. `spawn` is an existential over
8
+ * the child operation's input/output types: the strategy constructs it (e.g. via `invokeFiber`)
9
+ * so {@link AgentProcess} can remain agnostic to the operation type and just track the returned pid.
10
+ */
11
+ export interface Delegation {
12
+ /**
13
+ * Stable id correlating this delegation with its completion (e.g. a plan task id).
14
+ */
15
+ readonly id: string;
16
+ /**
17
+ * Spawns the child for this delegation and returns its process id. Must be linked (non-blocking)
18
+ * so the child's exit wakes the supervisor's `onChildEvent` — i.e. `ProcessOperationInvoker.invokeFiber`.
19
+ */
20
+ readonly spawn: Effect.Effect<Process.ID, never, ProcessManager.ProcessOperationInvoker.Service>;
21
+ }
22
+ /**
23
+ * Services the strategy callbacks may use. The hosting {@link AgentProcess} provides these.
24
+ */
25
+ export type StrategyServices = Database.Service;
26
+ /**
27
+ * Turns a conversational agent process into a supervisor: after each turn it reconciles outstanding
28
+ * work into linked child processes, and folds their results back into the conversation on completion.
29
+ *
30
+ * Implemented outside `@dxos/functions-runtime` (which cannot depend on the agent/plan types)
31
+ * and passed to {@link AgentService.layer} so {@link AgentProcess} stays generic.
32
+ * Absent by default — a plain conversational agent.
33
+ */
34
+ export interface DelegationStrategy {
35
+ /**
36
+ * Called after each agent turn. Returns delegations for outstanding work not already in flight.
37
+ * @param feed - The conversation feed (identifies which agent/plan to reconcile).
38
+ * @param activeIds - Ids of delegations already running, so reconcile does not double-spawn.
39
+ */
40
+ readonly reconcile: (feed: Feed.Feed, activeIds: ReadonlySet<string>) => Effect.Effect<readonly Delegation[], never, StrategyServices>;
41
+ /**
42
+ * Called when a delegated child completes. Use to record the result and notify the user (e.g.
43
+ * update the plan task status and append a message to the conversation feed).
44
+ */
45
+ readonly onComplete: (feed: Feed.Feed, id: string, exit: Exit.Exit<unknown>) => Effect.Effect<void, never, StrategyServices>;
46
+ }
47
+ //# sourceMappingURL=delegation-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-strategy.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/delegation-strategy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAClG;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEnE;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,CACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;CACnD"}
@@ -0,0 +1,4 @@
1
+ export * as AgentService from './AgentService';
2
+ export { AGENT_PROCESS_KEY } from './agent-process';
3
+ export { type Delegation, type DelegationStrategy } from './delegation-strategy';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agent-service/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=format.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../../../src/assistant-session-tests/format.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.test.d.ts","sourceRoot":"","sources":["../../../../src/assistant-session-tests/request.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-ollama.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-ollama.test.d.ts","sourceRoot":"","sources":["../../../../src/assistant-session-tests/session-ollama.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.test.d.ts","sourceRoot":"","sources":["../../../../src/assistant-session-tests/session.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xml-response.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-response.test.d.ts","sourceRoot":"","sources":["../../../../src/assistant-session-tests/xml-response.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=functions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.test.d.ts","sourceRoot":"","sources":["../../../src/functions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './agent-service';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC"}