@tessar/core 0.1.0-alpha.0 → 0.1.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 (147) hide show
  1. package/README.md +168 -31
  2. package/dist/agent.d.ts +37 -87
  3. package/dist/agent.js +101 -1116
  4. package/dist/agent.js.map +1 -1
  5. package/dist/controller.d.ts +13 -4
  6. package/dist/controller.js +184 -19
  7. package/dist/controller.js.map +1 -1
  8. package/dist/engine/call.d.ts +8 -0
  9. package/dist/engine/call.js +136 -0
  10. package/dist/engine/call.js.map +1 -0
  11. package/dist/engine/checkpoint.d.ts +11 -0
  12. package/dist/engine/checkpoint.js +187 -0
  13. package/dist/engine/checkpoint.js.map +1 -0
  14. package/dist/engine/delivery.js +6 -13
  15. package/dist/engine/delivery.js.map +1 -1
  16. package/dist/engine/execution.d.ts +5 -0
  17. package/dist/engine/execution.js +292 -0
  18. package/dist/engine/execution.js.map +1 -0
  19. package/dist/engine/frame.d.ts +77 -0
  20. package/dist/engine/frame.js +83 -0
  21. package/dist/engine/frame.js.map +1 -0
  22. package/dist/engine/hooks.d.ts +4 -0
  23. package/dist/engine/hooks.js +138 -0
  24. package/dist/engine/hooks.js.map +1 -0
  25. package/dist/engine/interrupt.d.ts +1 -1
  26. package/dist/engine/lineage.d.ts +1 -1
  27. package/dist/engine/recovery.d.ts +1 -2
  28. package/dist/engine/recovery.js +4 -2
  29. package/dist/engine/recovery.js.map +1 -1
  30. package/dist/engine/resume.d.ts +12 -1
  31. package/dist/engine/resume.js +189 -0
  32. package/dist/engine/resume.js.map +1 -1
  33. package/dist/engine/runtime.d.ts +16 -0
  34. package/dist/engine/runtime.js +29 -0
  35. package/dist/engine/runtime.js.map +1 -0
  36. package/dist/engine/services.d.ts +3 -0
  37. package/dist/engine/services.js +125 -0
  38. package/dist/engine/services.js.map +1 -0
  39. package/dist/engine/tool-executor.d.ts +8 -2
  40. package/dist/engine/tool-executor.js +266 -3
  41. package/dist/engine/tool-executor.js.map +1 -1
  42. package/dist/engine/tracked-effects.js +5 -6
  43. package/dist/engine/tracked-effects.js.map +1 -1
  44. package/dist/errors.js +24 -9
  45. package/dist/errors.js.map +1 -1
  46. package/dist/events/definition.d.ts +2 -0
  47. package/dist/events/definition.js +2 -0
  48. package/dist/events/definition.js.map +1 -1
  49. package/dist/events/dispatcher.d.ts +1 -1
  50. package/dist/events/dispatcher.js +35 -4
  51. package/dist/events/dispatcher.js.map +1 -1
  52. package/dist/events/observer.d.ts +3 -0
  53. package/dist/events/observer.js +13 -0
  54. package/dist/events/observer.js.map +1 -0
  55. package/dist/events/{catalog.d.ts → type.d.ts} +170 -47
  56. package/dist/events/type.js +175 -0
  57. package/dist/events/type.js.map +1 -0
  58. package/dist/identity.d.ts +1 -0
  59. package/dist/identity.js +23 -0
  60. package/dist/identity.js.map +1 -0
  61. package/dist/index.d.ts +4 -2
  62. package/dist/index.js +4 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/instructions/instruction.d.ts +2 -0
  65. package/dist/instructions/instruction.js +10 -3
  66. package/dist/instructions/instruction.js.map +1 -1
  67. package/dist/loop.d.ts +5 -5
  68. package/dist/loop.js +44 -204
  69. package/dist/loop.js.map +1 -1
  70. package/dist/messages/codec.js +4 -2
  71. package/dist/messages/codec.js.map +1 -1
  72. package/dist/messages/message.d.ts +2 -3
  73. package/dist/messages/message.js +3 -3
  74. package/dist/messages/message.js.map +1 -1
  75. package/dist/models/contract.d.ts +15 -0
  76. package/dist/models/options.d.ts +3 -0
  77. package/dist/models/options.js +13 -0
  78. package/dist/models/options.js.map +1 -0
  79. package/dist/models/registry.d.ts +2 -0
  80. package/dist/models/registry.js +18 -1
  81. package/dist/models/registry.js.map +1 -1
  82. package/dist/models/resolver.d.ts +4 -2
  83. package/dist/models/resolver.js +9 -4
  84. package/dist/models/resolver.js.map +1 -1
  85. package/dist/models/stream.d.ts +6 -0
  86. package/dist/models/stream.js +61 -2
  87. package/dist/models/stream.js.map +1 -1
  88. package/dist/plugins/context.d.ts +27 -2
  89. package/dist/plugins/host.d.ts +5 -1
  90. package/dist/plugins/host.js +33 -11
  91. package/dist/plugins/host.js.map +1 -1
  92. package/dist/plugins/registry.d.ts +1 -1
  93. package/dist/plugins/registry.js +18 -10
  94. package/dist/plugins/registry.js.map +1 -1
  95. package/dist/session.d.ts +16 -6
  96. package/dist/session.js +126 -55
  97. package/dist/session.js.map +1 -1
  98. package/dist/state/commit.d.ts +5 -0
  99. package/dist/state/commit.js +50 -5
  100. package/dist/state/commit.js.map +1 -1
  101. package/dist/state/fork.js +27 -6
  102. package/dist/state/fork.js.map +1 -1
  103. package/dist/state/memory-backend.js +307 -38
  104. package/dist/state/memory-backend.js.map +1 -1
  105. package/dist/state/plugin-state.js +73 -18
  106. package/dist/state/plugin-state.js.map +1 -1
  107. package/dist/state/queries.d.ts +14 -14
  108. package/dist/state/queries.js +150 -48
  109. package/dist/state/queries.js.map +1 -1
  110. package/dist/state/schema.d.ts +47 -6
  111. package/dist/state/schema.js +9 -1
  112. package/dist/state/schema.js.map +1 -1
  113. package/dist/state/scope.js +3 -2
  114. package/dist/state/scope.js.map +1 -1
  115. package/dist/state/sessions.d.ts +2 -0
  116. package/dist/state/sessions.js +21 -0
  117. package/dist/state/sessions.js.map +1 -0
  118. package/dist/state/storage-ports.d.ts +16 -2
  119. package/dist/state/threads.d.ts +1 -0
  120. package/dist/state/threads.js +77 -12
  121. package/dist/state/threads.js.map +1 -1
  122. package/dist/testing/harness.d.ts +2 -1
  123. package/dist/testing/harness.js +6 -4
  124. package/dist/testing/harness.js.map +1 -1
  125. package/dist/testing/scripted-provider.d.ts +1 -0
  126. package/dist/testing/scripted-provider.js +7 -0
  127. package/dist/testing/scripted-provider.js.map +1 -1
  128. package/dist/testing/storage-conformance.js +111 -0
  129. package/dist/testing/storage-conformance.js.map +1 -1
  130. package/dist/thread.d.ts +4 -2
  131. package/dist/thread.js +14 -6
  132. package/dist/thread.js.map +1 -1
  133. package/dist/tools/tool.d.ts +11 -12
  134. package/dist/tools/tool.js +27 -10
  135. package/dist/tools/tool.js.map +1 -1
  136. package/dist/trace/records.d.ts +11 -6
  137. package/dist/trace/records.js +28 -1
  138. package/dist/trace/records.js.map +1 -1
  139. package/package.json +7 -1
  140. package/dist/events/catalog.js +0 -89
  141. package/dist/events/catalog.js.map +0 -1
  142. package/dist/models/cache.d.ts +0 -12
  143. package/dist/models/cache.js +0 -17
  144. package/dist/models/cache.js.map +0 -1
  145. package/dist/session-events.d.ts +0 -60
  146. package/dist/session-events.js +0 -14
  147. package/dist/session-events.js.map +0 -1
package/dist/loop.js CHANGED
@@ -1,14 +1,12 @@
1
+ import { turn as turnHooks, model as modelHooks, tools as toolsHooks, context as contextHooks, message as messageHooks, } from "./events/type.js";
1
2
  import { TessarError, errorInfo, fail } from "./errors.js";
2
3
  import { immutable } from "./json.js";
3
- import { AgentEvents } from "./events/catalog.js";
4
- import { MessageCodec } from "./messages/codec.js";
5
- import { ToolMessage } from "./messages/message.js";
6
- import { aggregateUsage, normalizeUsage } from "./trace/usage.js";
7
- import { toolResult } from "./tools/tool.js";
4
+ import { createModelAttempt, } from "./trace/records.js";
5
+ import { aggregateUsage } from "./trace/usage.js";
8
6
  import { ContextAssembler } from "./engine/context.js";
9
- import { executeTool } from "./engine/tool-executor.js";
10
- import { Suspension } from "./engine/interrupt.js";
11
- import { providerCall, streamModel } from "./models/stream.js";
7
+ import { callTools } from "./engine/tool-executor.js";
8
+ import { providerCall, bindExecutionModel, streamModel, } from "./models/stream.js";
9
+ import { snapshotModelOptions } from "./models/options.js";
12
10
  // Shared by new input, resume and recovery; checkpoints retain the next phase.
13
11
  export async function loop(frame, context) {
14
12
  while (true) {
@@ -20,6 +18,7 @@ export async function loop(frame, context) {
20
18
  await context.finish(frame, "stopped", "MaxTurns");
21
19
  return;
22
20
  }
21
+ frame.turnStartedAt = performance.now();
23
22
  const turn = {
24
23
  id: context.ids.next("turn"),
25
24
  streamId: frame.stream.id,
@@ -39,7 +38,7 @@ export async function loop(frame, context) {
39
38
  position.turnId = turn.id;
40
39
  position.phase = "BeforeModel";
41
40
  await context.commit(frame, "ExecutionTransition");
42
- await context.hook(frame, AgentEvents.TurnStart, {
41
+ await context.hook(frame, turnHooks.start, {
43
42
  turnId: turn.id,
44
43
  index: turn.index,
45
44
  });
@@ -51,7 +50,7 @@ export async function loop(frame, context) {
51
50
  continue;
52
51
  }
53
52
  if (position.phase === "BeforeTool") {
54
- await callTool(frame, context);
53
+ await callTools(frame, context);
55
54
  if (frame.stream.endedAt)
56
55
  return;
57
56
  continue;
@@ -62,17 +61,20 @@ export async function loop(frame, context) {
62
61
  .find((t) => t.id === position.turnId);
63
62
  turn.status = "completed";
64
63
  turn.endedAt = context.clock.now();
65
- turn.durationMs = Date.parse(turn.endedAt) - Date.parse(turn.startedAt);
64
+ turn.durationMs =
65
+ frame.turnStartedAt === undefined
66
+ ? null
67
+ : Math.max(0, performance.now() - frame.turnStartedAt);
66
68
  await context.updateUsage(frame);
67
69
  await context.commit(frame, "ExecutionTransition");
68
- await context.hook(frame, AgentEvents.TurnEnd, {
70
+ await context.hook(frame, turnHooks.end, {
69
71
  turnId: turn.id,
70
72
  usage: turn.usage,
71
73
  });
72
74
  const hadTools = !!frame.cp.state.messages
73
75
  .find((m) => m.id === turn.assistantMessageId)
74
76
  ?.content.some((p) => p.type === "tool-call");
75
- const decision = await context.hook(frame, AgentEvents.TurnDecision, {
77
+ const decision = await context.hook(frame, turnHooks.decision, {
76
78
  turnId: turn.id,
77
79
  hadTools,
78
80
  });
@@ -97,55 +99,34 @@ async function callModel(frame, context) {
97
99
  await context.finish(frame, "stopped", "MaxModelAttempts");
98
100
  return false;
99
101
  }
100
- const selection = await context.hook(frame, AgentEvents.ModelSelect, {
102
+ const selection = await context.hook(frame, modelHooks.select, {
101
103
  model: position.modelRef,
102
104
  });
103
- if (selection?.decision === "select")
104
- position.modelRef = selection.model;
105
- const provider = frame.registry.find("provider", position.modelRef.providerId);
106
- if (!provider)
107
- fail("MissingProvider", "Model provider is not registered");
108
- const adapter = providerCall(position.modelRef, () => provider.create(position.modelRef.modelId));
105
+ const adapter = bindExecutionModel(frame.registry, position, frame.request.adapter, selection?.decision === "select" ? selection.model : undefined);
106
+ if (adapter.options || position.modelOptions)
107
+ position.modelOptions = snapshotModelOptions({
108
+ ...adapter.options,
109
+ ...position.modelOptions,
110
+ });
109
111
  const tools = frame.registry.list("tool"), descriptions = tools.map((t) => ({
110
112
  name: t.name,
111
113
  description: t.description,
112
- inputSchema: t.input.jsonSchema,
114
+ inputSchema: t.jsonSchema,
113
115
  }));
114
- const selected = await context.hook(frame, AgentEvents.ToolsSelect, immutable(descriptions));
116
+ const selected = await context.hook(frame, toolsHooks.select, immutable(descriptions));
115
117
  if (selected.some((t) => !tools.some((tool) => tool.name === t.name)))
116
118
  fail("UnknownTool", "Tool selection includes unregistered tool");
117
119
  let request = new ContextAssembler().build(frame.cp, position.baseInstructions, selected, position.modelRef);
118
- request = await context.hook(frame, AgentEvents.ContextPrepare, request);
119
- request = await context.hook(frame, AgentEvents.ModelRequest, immutable(request));
120
+ if (position.modelOptions)
121
+ request = { ...request, options: position.modelOptions };
122
+ request = await context.hook(frame, contextHooks.prepare, request);
123
+ request = await context.hook(frame, modelHooks.request, immutable(request));
120
124
  if (request.model.providerId !== position.modelRef.providerId ||
121
- request.model.modelId !== position.modelRef.modelId)
125
+ request.model.modelId !== position.modelRef.modelId ||
126
+ request.model.connectionId !== position.modelRef.connectionId)
122
127
  fail("ModelContextIncompatible", "Request transform must not bypass ModelSelect");
123
128
  providerCall(position.modelRef, () => adapter.validate(request));
124
- const attempt = {
125
- id: context.ids.next("attempt"),
126
- turnId: position.turnId,
127
- streamId: frame.stream.id,
128
- scope: frame.cp.state.scope,
129
- callId: context.ids.next("call"),
130
- attemptIndex: 0,
131
- purpose: "primary",
132
- parentToolExecutionId: null,
133
- providerId: position.modelRef.providerId,
134
- modelId: position.modelRef.modelId,
135
- providerRequestId: null,
136
- responseMessageId: null,
137
- contextRevision: frame.cp.revision,
138
- requestSnapshotRef: null,
139
- startedAt: context.clock.now(),
140
- firstOutputAt: null,
141
- endedAt: null,
142
- durationMs: null,
143
- timeToFirstOutputMs: null,
144
- status: "running",
145
- finishReason: null,
146
- error: null,
147
- usage: normalizeUsage({}),
148
- };
129
+ const attempt = createModelAttempt(context, frame.cp, position.modelRef, "primary");
149
130
  const priorAttempts = context
150
131
  .rows(frame, "model_attempts")
151
132
  .filter((a) => a.turnId === position.turnId && a.purpose === "primary");
@@ -157,26 +138,29 @@ async function callModel(frame, context) {
157
138
  budgets.modelAttempts++;
158
139
  position.phase = "ModelPending";
159
140
  await context.commit(frame, "ExecutionTransition");
160
- await context.hook(frame, AgentEvents.ModelStart, {
141
+ await context.hook(frame, modelHooks.start, {
161
142
  attemptId: attempt.id,
162
143
  model: position.modelRef,
163
144
  });
145
+ const attemptStartedAt = performance.now();
164
146
  let response;
165
147
  try {
166
148
  for await (const chunk of streamModel(adapter, immutable(request), {
167
149
  signal: frame.sink.controller.signal,
168
150
  })) {
169
151
  if (chunk.type === "message-delta") {
170
- if (!attempt.firstOutputAt)
152
+ if (!attempt.firstOutputAt) {
171
153
  attempt.firstOutputAt = context.clock.now();
172
- await context.hook(frame, AgentEvents.MessageDelta, {
154
+ attempt.timeToFirstOutputMs = Math.max(0, performance.now() - attemptStartedAt);
155
+ }
156
+ await context.hook(frame, messageHooks.delta, {
173
157
  ...chunk,
174
158
  attemptId: attempt.id,
175
159
  });
176
160
  }
177
161
  if (chunk.type === "usage") {
178
162
  attempt.usage = chunk.usage;
179
- await context.hook(frame, AgentEvents.ModelUsage, {
163
+ await context.hook(frame, modelHooks.usage, {
180
164
  attemptId: attempt.id,
181
165
  usage: chunk.usage,
182
166
  });
@@ -186,12 +170,13 @@ async function callModel(frame, context) {
186
170
  }
187
171
  if (!response)
188
172
  fail("ProviderError", "Model stream ended without complete response");
189
- response = await context.hook(frame, AgentEvents.ModelResponse, response);
173
+ response = await context.hook(frame, modelHooks.response, response);
190
174
  if (response.message.role !== "assistant")
191
175
  fail("InvalidMessage", "Model response must be assistant");
192
176
  attempt.usage = response.usage ?? attempt.usage;
193
177
  attempt.status = "succeeded";
194
178
  attempt.endedAt = context.clock.now();
179
+ attempt.durationMs = Math.max(0, performance.now() - attemptStartedAt);
195
180
  attempt.finishReason = response.finishReason ?? null;
196
181
  attempt.providerRequestId = response.providerRequestId ?? null;
197
182
  attempt.responseMessageId = response.message.id;
@@ -217,7 +202,6 @@ async function callModel(frame, context) {
217
202
  endedAt: null,
218
203
  durationMs: null,
219
204
  resultMessageId: null,
220
- resultRef: null,
221
205
  result: null,
222
206
  error: null,
223
207
  idempotencyKey: null,
@@ -227,7 +211,7 @@ async function callModel(frame, context) {
227
211
  frame.cp.execution.pendingToolExecutionIds = pending.map((t) => t.id);
228
212
  frame.cp.execution.phase = pending.length ? "BeforeTool" : "TurnBoundary";
229
213
  await context.appendMessage(frame, response.message);
230
- await context.hook(frame, AgentEvents.ModelEnd, {
214
+ await context.hook(frame, modelHooks.end, {
231
215
  attemptId: attempt.id,
232
216
  response,
233
217
  });
@@ -241,12 +225,13 @@ async function callModel(frame, context) {
241
225
  : "failed";
242
226
  attempt.error = errorInfo(error);
243
227
  attempt.endedAt = context.clock.now();
228
+ attempt.durationMs = Math.max(0, performance.now() - attemptStartedAt);
244
229
  await context.commit(frame, "ExecutionTransition");
245
- await context.hook(frame, AgentEvents.ModelError, {
230
+ await context.hook(frame, modelHooks.error, {
246
231
  attemptId: attempt.id,
247
232
  error: attempt.error,
248
233
  });
249
- const recovery = await context.hook(frame, AgentEvents.ModelRecover, {
234
+ const recovery = await context.hook(frame, modelHooks.recover, {
250
235
  attemptId: attempt.id,
251
236
  error: attempt.error,
252
237
  });
@@ -259,149 +244,4 @@ async function callModel(frame, context) {
259
244
  throw error;
260
245
  }
261
246
  }
262
- async function callTool(frame, context) {
263
- const position = frame.cp.execution, id = position.pendingToolExecutionIds[0];
264
- if (!id) {
265
- position.phase = "TurnBoundary";
266
- return;
267
- }
268
- const record = context
269
- .rows(frame, "tool_executions")
270
- .find((t) => t.id === id);
271
- if (position.budgets.toolCalls >= position.budgets.limits.maxToolCalls) {
272
- await context.finish(frame, "stopped", "MaxToolCalls");
273
- return;
274
- }
275
- const tool = frame.registry.find("tool", record.toolName);
276
- let result;
277
- try {
278
- if (!tool)
279
- fail("UnknownTool", "No registered tool executor");
280
- const saved = position.handlerCursor?.eventId === AgentEvents.BeforeTool
281
- ? position.handlerCursor.payload
282
- : null;
283
- const prepared = (saved ??
284
- (record.policyDecision?.decision === "allowed"
285
- ? {
286
- tool: {
287
- name: tool.name,
288
- description: tool.description,
289
- inputSchema: tool.input.jsonSchema,
290
- },
291
- toolExecutionId: id,
292
- toolCallId: record.toolCallId,
293
- arguments: record.arguments,
294
- }
295
- : await context.hook(frame, AgentEvents.ToolPrepare, {
296
- tool: {
297
- name: tool.name,
298
- description: tool.description,
299
- inputSchema: tool.input.jsonSchema,
300
- },
301
- toolExecutionId: id,
302
- toolCallId: record.toolCallId,
303
- arguments: record.arguments,
304
- })));
305
- record.arguments = immutable(prepared.arguments);
306
- tool.input.parse(record.arguments);
307
- const decision = record.policyDecision?.decision === "allowed"
308
- ? { decision: "allow" }
309
- : await context.hook(frame, AgentEvents.BeforeTool, immutable(prepared));
310
- if (decision?.decision === "stop") {
311
- await context.finish(frame, "stopped", decision.reason ?? "PolicyStopped");
312
- return;
313
- }
314
- record.policyDecision = {
315
- decision: decision?.decision === "deny" ? "denied" : "allowed",
316
- ...(decision?.decision === "deny" && decision.reason
317
- ? { reason: decision.reason }
318
- : {}),
319
- };
320
- if (decision?.decision === "deny") {
321
- record.status = "denied";
322
- result = toolResult(decision.reason ?? "Tool denied");
323
- }
324
- else {
325
- record.status = "running";
326
- record.startedAt = context.clock.now();
327
- record.idempotencyKey =
328
- tool.recovery?.idempotencyKey(tool.input.parse(record.arguments), {
329
- toolExecutionId: record.id,
330
- }) ?? null;
331
- position.budgets.toolCalls++;
332
- position.phase = "ToolPending";
333
- await context.commit(frame, "ExecutionTransition");
334
- await context.hook(frame, AgentEvents.ToolStart, {
335
- toolExecutionId: id,
336
- toolCallId: record.toolCallId,
337
- });
338
- frame.currentToolExecutionId = id;
339
- result = await executeTool(tool, record.arguments, {
340
- ...context.services(frame, id),
341
- signal: frame.sink.controller.signal,
342
- threadId: frame.cp.threadId,
343
- streamId: frame.stream.id,
344
- turnId: record.turnId,
345
- toolExecutionId: id,
346
- emit: (progress) => {
347
- void context.hook(frame, AgentEvents.ToolUpdate, {
348
- toolExecutionId: id,
349
- progress,
350
- });
351
- },
352
- });
353
- frame.currentToolExecutionId = undefined;
354
- record.status = "succeeded";
355
- }
356
- }
357
- catch (error) {
358
- if (error instanceof Suspension)
359
- throw error;
360
- if (errorInfo(error).code === "RecoveryRequired") {
361
- record.status = "interrupted";
362
- frame.stream.status = "interrupted";
363
- await context.commit(frame, "ExecutionTransition");
364
- throw error;
365
- }
366
- if ([
367
- "StorageUnavailable",
368
- "CommitConflict",
369
- "OwnershipLost",
370
- "PluginError",
371
- ].includes(errorInfo(error).code) ||
372
- ["plugin", "storage", "provider"].includes(errorInfo(error).source))
373
- throw error;
374
- record.status = "failed";
375
- record.error = errorInfo(error, {
376
- source: "tool",
377
- toolName: record.toolName,
378
- });
379
- result = toolResult("Tool failed: " + record.error.message);
380
- await context.hook(frame, AgentEvents.ToolError, {
381
- toolExecutionId: id,
382
- error: record.error,
383
- });
384
- }
385
- result = await context.hook(frame, AgentEvents.ToolResult, result);
386
- record.result = result;
387
- record.endedAt = context.clock.now();
388
- const message = MessageCodec.encode(new ToolMessage({
389
- toolCallId: record.toolCallId,
390
- content: result.content,
391
- metadata: result.metadata,
392
- }));
393
- record.resultMessageId = message.id;
394
- frame.cp.execution.pendingToolExecutionIds =
395
- frame.cp.execution.pendingToolExecutionIds.filter((value) => value !== id);
396
- frame.cp.execution.phase = frame.cp.execution.pendingToolExecutionIds.length
397
- ? "BeforeTool"
398
- : "TurnBoundary";
399
- await context.appendMessage(frame, message);
400
- await context.hook(frame, AgentEvents.ToolEnd, {
401
- toolExecutionId: id,
402
- toolCallId: record.toolCallId,
403
- result,
404
- status: record.status,
405
- });
406
- }
407
247
  //# sourceMappingURL=loop.js.map
package/dist/loop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { assertJson, immutable } from "../json.js";
3
3
  import { AssistantMessage, HumanMessage, Message, SystemMessage, ToolMessage, } from "./message.js";
4
4
  export const MessageCodec = {
5
5
  encode(message) {
6
+ if (message.role === "tool")
7
+ requireId(message.toolCallId, "toolCallId");
6
8
  const { schemaVersion, id, role, content, metadata, providerState, toolCallId, } = message;
7
9
  return immutable({
8
10
  schemaVersion,
@@ -35,9 +37,9 @@ export const MessageCodec = {
35
37
  case "assistant":
36
38
  return new AssistantMessage(value.content, options);
37
39
  case "tool":
38
- return new ToolMessage({
40
+ requireId(value.toolCallId, "toolCallId");
41
+ return new ToolMessage(value.content, {
39
42
  ...options,
40
- content: value.content,
41
43
  toolCallId: value.toolCallId,
42
44
  });
43
45
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/messages/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,aAAa,EACb,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAgB;QACrB,MAAM,EACJ,aAAa,EACb,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,GACX,GAAG,OAAO,CAAC;QACZ,OAAO,SAAS,CAAC;YACf,aAAa;YACb,EAAE;YACF,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAa;QAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAA8B,CAAC;QAC7C,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;QAC3D,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;QACF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,KAAK,QAAQ;gBACX,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,WAAW;gBACd,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,KAAK,MAAM;gBACT,OAAO,IAAI,WAAW,CAAC;oBACrB,GAAG,OAAO;oBACV,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAW;iBAC9B,CAAC,CAAC;YACL;gBACE,OAAO,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/messages/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,aAAa,EACb,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAgB;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS,CAAC,OAAO,CAAC,UAAW,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,EACJ,aAAa,EACb,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,GACX,GAAG,OAAO,CAAC;QACZ,OAAO,SAAS,CAAC;YACf,aAAa;YACb,EAAE;YACF,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAa;QAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAA8B,CAAC;QAC7C,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;QAC3D,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;QACF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,KAAK,QAAQ;gBACX,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,WAAW;gBACd,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,KAAK,MAAM;gBACT,SAAS,CAAC,KAAK,CAAC,UAAW,EAAE,YAAY,CAAC,CAAC;gBAC3C,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;oBACpC,GAAG,OAAO;oBACV,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;YACL;gBACE,OAAO,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -36,8 +36,7 @@ export declare class AssistantMessage extends Message {
36
36
  constructor(content: string | readonly ContentPart[], options?: MessageOptions);
37
37
  }
38
38
  export declare class ToolMessage extends Message {
39
- constructor(options: MessageOptions & {
40
- toolCallId: string;
41
- content: string | readonly ContentPart[];
39
+ constructor(content: string | readonly ContentPart[], options?: MessageOptions & {
40
+ toolCallId?: string;
42
41
  });
43
42
  }
@@ -57,7 +57,7 @@ export class Message {
57
57
  this.metadata = immutable(options.metadata);
58
58
  if (options.providerState !== undefined)
59
59
  this.providerState = immutable(options.providerState);
60
- if (role === "tool")
60
+ if (toolCallId !== undefined)
61
61
  this.toolCallId = requireId(toolCallId, "toolCallId");
62
62
  Object.freeze(this);
63
63
  }
@@ -78,8 +78,8 @@ export class AssistantMessage extends Message {
78
78
  }
79
79
  }
80
80
  export class ToolMessage extends Message {
81
- constructor(options) {
82
- super("tool", options.content, options, options.toolCallId);
81
+ constructor(content, options) {
82
+ super("tool", content, options, options?.toolCallId);
83
83
  }
84
84
  }
85
85
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/messages/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/messages/message.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ import type { MetadataResolver } from "./profile.js";
6
6
  export interface ModelRef {
7
7
  providerId: string;
8
8
  modelId: string;
9
+ /** Non-secret identity of a concrete connection, when supplied by an adapter. */
10
+ connectionId?: string;
11
+ }
12
+ export interface ModelConnectionDescriptor {
13
+ providerId: string;
14
+ connectionId: string;
15
+ protocol: string;
16
+ endpoint: string;
9
17
  }
10
18
  export interface ToolDescription {
11
19
  name: string;
@@ -43,9 +51,16 @@ export type ModelChunk = {
43
51
  };
44
52
  export interface ModelAdapter {
45
53
  readonly ref: ModelRef;
54
+ readonly connection?: ModelConnectionDescriptor;
55
+ readonly options?: object;
56
+ /** Select another model without changing credentials, endpoint or client. */
57
+ withModel?(modelId: string): ModelAdapter;
46
58
  validate(request: ModelRequest): void;
47
59
  stream(request: ModelRequest, context: ModelCallContext): AsyncIterable<ModelChunk>;
48
60
  }
61
+ export type ModelOptions<M> = M extends {
62
+ readonly options: infer O;
63
+ } ? Partial<O> : JsonObject;
49
64
  export interface ModelProviderRegistration {
50
65
  id: string;
51
66
  create(modelId: string): ModelAdapter;
@@ -0,0 +1,3 @@
1
+ import { type JsonObject } from "../json.js";
2
+ /** Snapshot JSON request options using SDK-compatible omission of undefined. */
3
+ export declare function snapshotModelOptions(value: object): JsonObject;
@@ -0,0 +1,13 @@
1
+ import { fail } from "../errors.js";
2
+ import { immutable } from "../json.js";
3
+ /** Snapshot JSON request options using SDK-compatible omission of undefined. */
4
+ export function snapshotModelOptions(value) {
5
+ const json = JSON.stringify(value, (_key, item) => {
6
+ if (["function", "symbol", "bigint"].includes(typeof item) ||
7
+ (typeof item === "number" && !Number.isFinite(item)))
8
+ fail("InvalidConfiguration", "Model options must be JSON data");
9
+ return item;
10
+ });
11
+ return immutable(JSON.parse(json));
12
+ }
13
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/models/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAExD,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAChD,IACE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC;YACtD,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAe,CAAC;AACnD,CAAC"}
@@ -15,6 +15,8 @@ export declare class ModelRegistry {
15
15
  registerProvider(provider: ModelProviderRegistration): () => void;
16
16
  private schedule;
17
17
  get(ref: ModelRef): Model;
18
+ /** Resolve executable code only for execution/selection, never catalog reads. */
19
+ resolve(ref: ModelRef): import("./contract.js").ModelAdapter;
18
20
  private obtain;
19
21
  list(): readonly Model[];
20
22
  refreshCatalog(fetcher?: typeof fetch): Promise<void>;
@@ -51,13 +51,30 @@ export class ModelRegistry {
51
51
  get(ref) {
52
52
  return this.obtain(ref, true);
53
53
  }
54
+ /** Resolve executable code only for execution/selection, never catalog reads. */
55
+ resolve(ref) {
56
+ const provider = this.providers.get(ref.providerId);
57
+ if (!provider)
58
+ fail("MissingProvider", "Provider is not registered");
59
+ const adapter = provider.create(ref.modelId);
60
+ if (adapter.ref.providerId !== ref.providerId ||
61
+ adapter.ref.modelId !== ref.modelId ||
62
+ (ref.connectionId !== undefined &&
63
+ adapter.ref.connectionId !== ref.connectionId))
64
+ fail("ModelContextIncompatible", "The selected connection is no longer available");
65
+ return adapter;
66
+ }
54
67
  obtain(ref, schedule) {
55
68
  if (this.shutdown.signal.aborted)
56
69
  fail("Disposed", "Model registry closed");
57
70
  const provider = this.providers.get(ref.providerId);
58
71
  if (!provider)
59
72
  fail("MissingProvider", "Provider is not registered");
60
- const key = JSON.stringify([ref.providerId, ref.modelId]);
73
+ const key = JSON.stringify([
74
+ ref.providerId,
75
+ ref.modelId,
76
+ ref.connectionId ?? null,
77
+ ]);
61
78
  const existing = this.handles.get(key);
62
79
  if (existing) {
63
80
  if (schedule && this.resolver.needsRefresh(ref, provider))
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}