@dxos/assistant 0.8.1 → 0.8.2-main.12df754

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 (61) hide show
  1. package/dist/lib/browser/{chunk-PND5VR6D.mjs → chunk-DEIGOD4U.mjs} +91 -84
  2. package/dist/lib/browser/chunk-DEIGOD4U.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +6 -4
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +20 -20
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node/{chunk-IBOBRBDF.cjs → chunk-7VH7NMIM.cjs} +106 -98
  9. package/dist/lib/node/chunk-7VH7NMIM.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +37 -35
  11. package/dist/lib/node/index.cjs.map +3 -3
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +27 -27
  14. package/dist/lib/node/testing/index.cjs.map +3 -3
  15. package/dist/lib/node-esm/{chunk-DCQJOLSR.mjs → chunk-7JI4MDGL.mjs} +91 -84
  16. package/dist/lib/node-esm/chunk-7JI4MDGL.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +6 -4
  18. package/dist/lib/node-esm/index.mjs.map +3 -3
  19. package/dist/lib/node-esm/meta.json +1 -1
  20. package/dist/lib/node-esm/testing/index.mjs +20 -20
  21. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  22. package/dist/types/src/ai-service/edge-client.d.ts +4 -5
  23. package/dist/types/src/ai-service/edge-client.d.ts.map +1 -1
  24. package/dist/types/src/ai-service/message-collector.d.ts +0 -6
  25. package/dist/types/src/ai-service/message-collector.d.ts.map +1 -1
  26. package/dist/types/src/ai-service/ollama-client.d.ts +6 -2
  27. package/dist/types/src/ai-service/ollama-client.d.ts.map +1 -1
  28. package/dist/types/src/ai-service/parser.d.ts +0 -3
  29. package/dist/types/src/ai-service/parser.d.ts.map +1 -1
  30. package/dist/types/src/ai-service/service.d.ts +18 -2
  31. package/dist/types/src/ai-service/service.d.ts.map +1 -1
  32. package/dist/types/src/ai-service/testing/mock.d.ts +6 -2
  33. package/dist/types/src/ai-service/testing/mock.d.ts.map +1 -1
  34. package/dist/types/src/ai-service/types.d.ts +52 -9
  35. package/dist/types/src/ai-service/types.d.ts.map +1 -1
  36. package/dist/types/src/conversation/conversation.d.ts +0 -3
  37. package/dist/types/src/conversation/conversation.d.ts.map +1 -1
  38. package/dist/types/src/conversation/types.d.ts +2 -3
  39. package/dist/types/src/conversation/types.d.ts.map +1 -1
  40. package/dist/types/src/cypher/echo-data-source.d.ts.map +1 -1
  41. package/dist/types/src/session/session.d.ts +0 -6
  42. package/dist/types/src/session/session.d.ts.map +1 -1
  43. package/package.json +13 -13
  44. package/src/ai-service/client.test.ts +50 -68
  45. package/src/ai-service/edge-client.ts +13 -20
  46. package/src/ai-service/ollama-client.ts +9 -2
  47. package/src/ai-service/parser.ts +13 -2
  48. package/src/ai-service/service.ts +19 -3
  49. package/src/ai-service/testing/mock.ts +9 -1
  50. package/src/ai-service/types.ts +15 -6
  51. package/src/bin/chat.ts +1 -1
  52. package/src/conversation/conversation.ts +5 -11
  53. package/src/conversation/types.ts +1 -4
  54. package/src/cypher/echo-data-source.ts +1 -2
  55. package/src/session/session.test.ts +6 -6
  56. package/src/session/session.ts +3 -3
  57. package/src/testing/query.test.ts +14 -16
  58. package/src/testing/test-data.ts +19 -19
  59. package/dist/lib/browser/chunk-PND5VR6D.mjs.map +0 -7
  60. package/dist/lib/node/chunk-IBOBRBDF.cjs.map +0 -7
  61. package/dist/lib/node-esm/chunk-DCQJOLSR.mjs.map +0 -7
@@ -359,8 +359,6 @@ var GenerationStreamImpl = class {
359
359
  };
360
360
 
361
361
  // packages/experimental/assistant/src/ai-service/edge-client.ts
362
- import { Schema as S } from "effect";
363
- import { Message } from "@dxos/artifact";
364
362
  import { assertArgument, invariant } from "@dxos/invariant";
365
363
  import { log as log2 } from "@dxos/log";
366
364
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/experimental/assistant/src/ai-service/edge-client.ts";
@@ -368,7 +366,7 @@ var AIServiceEdgeClient = class {
368
366
  constructor({ endpoint }) {
369
367
  invariant(endpoint, "endpoint is required", {
370
368
  F: __dxlog_file2,
371
- L: 23,
369
+ L: 20,
372
370
  S: this,
373
371
  A: [
374
372
  "endpoint",
@@ -378,34 +376,21 @@ var AIServiceEdgeClient = class {
378
376
  this._endpoint = endpoint;
379
377
  }
380
378
  /**
381
- * @deprecated
379
+ * Generate non-streaming response.
382
380
  */
383
- // TODO(burdon): Remove.
384
- async appendMessages(messages) {
385
- const url = `${this._endpoint}/message`;
386
- const res = await fetch(url, {
387
- method: "POST",
388
- headers: {
389
- "Content-Type": "application/json"
390
- },
391
- body: JSON.stringify({
392
- messages: await S.encodePromise(S.Array(Message))(messages)
393
- })
394
- });
395
- if (!res.ok) {
396
- throw new Error(`${await res.text()} [${url}]`);
397
- }
381
+ async exec(request) {
382
+ throw new Error("Not implemented");
398
383
  }
399
384
  /**
400
385
  * Process request and open message stream.
401
386
  */
402
- async exec(request) {
387
+ async execStream(request) {
403
388
  assertArgument(typeof request.model === "string", "model is required");
404
389
  log2("requesting", {
405
390
  endpoint: this._endpoint
406
391
  }, {
407
392
  F: __dxlog_file2,
408
- L: 51,
393
+ L: 36,
409
394
  S: this,
410
395
  C: (f, a) => f(...a)
411
396
  });
@@ -422,9 +407,12 @@ var AIServiceEdgeClient = class {
422
407
  ...request
423
408
  })
424
409
  });
410
+ if (!response.ok) {
411
+ throw await parseErrorResponse(response);
412
+ }
425
413
  invariant(response.body instanceof ReadableStream, void 0, {
426
414
  F: __dxlog_file2,
427
- L: 64,
415
+ L: 53,
428
416
  S: this,
429
417
  A: [
430
418
  "response.body instanceof ReadableStream",
@@ -434,6 +422,9 @@ var AIServiceEdgeClient = class {
434
422
  return createGenerationStream(response, controller);
435
423
  }
436
424
  };
425
+ var parseErrorResponse = async (response) => {
426
+ throw new Error(`AI Service error: ${response.status} ${response.statusText} ${await response.text()}`);
427
+ };
437
428
 
438
429
  // packages/experimental/assistant/src/ai-service/message-collector.ts
439
430
  var MessageCollector = class {
@@ -502,45 +493,49 @@ function* emitMessageAsEvents(message) {
502
493
  }
503
494
 
504
495
  // packages/experimental/assistant/src/ai-service/types.ts
505
- import { Schema as S2 } from "effect";
506
- import { Tool, Message as Message2, SpaceIdSchema } from "@dxos/artifact";
507
- import { ObjectId } from "@dxos/echo-schema";
496
+ import { Schema as S } from "effect";
497
+ import { Tool, Message } from "@dxos/artifact";
508
498
  var createArtifactElement = (id) => `<artifact id=${id} />`;
509
- var LLMModel = S2.Literal(...DEFAULT_EDGE_MODELS, ...DEFAULT_OLLAMA_MODELS);
499
+ var LLMModel = S.Literal(...DEFAULT_EDGE_MODELS, ...DEFAULT_OLLAMA_MODELS);
510
500
  var ToolTypes = Object.freeze({
511
501
  // TODO(dmaretskyi): Not implemented yet.
512
502
  // DatabaseQuery: 'database_query',
513
503
  TextToImage: "text_to_image"
514
504
  });
515
- var GenerateRequest = S2.Struct({
516
- spaceId: S2.optional(SpaceIdSchema),
517
- threadId: S2.optional(ObjectId),
505
+ var GenerateRequest = S.Struct({
518
506
  /**
519
507
  * Preferred model or system default.
520
508
  */
521
- model: S2.optional(LLMModel),
509
+ model: S.optional(LLMModel),
522
510
  /**
523
511
  * Tools available for the LLM.
524
512
  */
525
- tools: S2.optional(S2.Array(Tool).pipe(S2.mutable)),
513
+ tools: S.optional(S.Array(Tool).pipe(S.mutable)),
526
514
  /**
527
515
  * System instructions to the LLM.
528
516
  */
529
- systemPrompt: S2.optional(S2.String),
517
+ systemPrompt: S.optional(S.String),
530
518
  /**
531
519
  * History of messages to include in the context window.
532
520
  */
533
521
  // TODO(burdon): Rename messages.
534
- history: S2.optional(S2.Array(Message2)),
522
+ history: S.optional(S.Array(Message)),
535
523
  /**
536
524
  * Current request.
537
525
  */
538
- prompt: S2.optional(Message2)
526
+ prompt: S.optional(Message)
527
+ });
528
+ var GenerateResponse = S.Struct({
529
+ messages: S.Array(Message),
530
+ /**
531
+ * Number of tokens used in the response.
532
+ */
533
+ tokenCount: S.optional(S.Number)
539
534
  });
540
535
 
541
536
  // packages/experimental/assistant/src/conversation/conversation.ts
542
- import { ToolResult, Message as Message3 } from "@dxos/artifact";
543
- import { createStatic, ObjectId as ObjectId2 } from "@dxos/echo-schema";
537
+ import { ToolResult, Message as Message2 } from "@dxos/artifact";
538
+ import { create, ObjectId } from "@dxos/echo-schema";
544
539
  import { invariant as invariant2 } from "@dxos/invariant";
545
540
  import { log as log3 } from "@dxos/log";
546
541
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/experimental/assistant/src/conversation/conversation.ts";
@@ -557,10 +552,8 @@ var runLLM = async (params) => {
557
552
  C: (f, a) => f(...a)
558
553
  });
559
554
  const beginTs = Date.now();
560
- const stream = await params.client.exec({
555
+ const stream = await params.client.execStream({
561
556
  model: params.model,
562
- spaceId: params.spaceId,
563
- threadId: params.threadId,
564
557
  history,
565
558
  systemPrompt: params.system,
566
559
  tools: params.tools
@@ -573,7 +566,7 @@ var runLLM = async (params) => {
573
566
  const message = messages.at(-1);
574
567
  invariant2(message, void 0, {
575
568
  F: __dxlog_file3,
576
- L: 63,
569
+ L: 61,
577
570
  S: void 0,
578
571
  A: [
579
572
  "message",
@@ -585,13 +578,13 @@ var runLLM = async (params) => {
585
578
  message
586
579
  }, {
587
580
  F: __dxlog_file3,
588
- L: 65,
581
+ L: 63,
589
582
  S: void 0,
590
583
  C: (f, a) => f(...a)
591
584
  });
592
585
  invariant2(message, void 0, {
593
586
  F: __dxlog_file3,
594
- L: 66,
587
+ L: 64,
595
588
  S: void 0,
596
589
  A: [
597
590
  "message",
@@ -611,7 +604,7 @@ var runLLM = async (params) => {
611
604
  const toolCalls = message.content.filter((block) => block.type === "tool_use");
612
605
  invariant2(toolCalls.length === 1, void 0, {
613
606
  F: __dxlog_file3,
614
- L: 77,
607
+ L: 75,
615
608
  S: void 0,
616
609
  A: [
617
610
  "toolCalls.length === 1",
@@ -625,7 +618,7 @@ var runLLM = async (params) => {
625
618
  }
626
619
  invariant2(tool.execute, void 0, {
627
620
  F: __dxlog_file3,
628
- L: 84,
621
+ L: 82,
629
622
  S: void 0,
630
623
  A: [
631
624
  "tool.execute",
@@ -639,14 +632,12 @@ var runLLM = async (params) => {
639
632
  message: toolResult.message
640
633
  }, {
641
634
  F: __dxlog_file3,
642
- L: 88,
635
+ L: 86,
643
636
  S: void 0,
644
637
  C: (f, a) => f(...a)
645
638
  });
646
639
  const resultMessage = {
647
- id: ObjectId2.random(),
648
- spaceId: params.spaceId,
649
- threadId: params.threadId,
640
+ id: ObjectId.random(),
650
641
  role: "user",
651
642
  content: [
652
643
  {
@@ -669,14 +660,12 @@ var runLLM = async (params) => {
669
660
  result: toolResult.result
670
661
  }, {
671
662
  F: __dxlog_file3,
672
- L: 110,
663
+ L: 106,
673
664
  S: void 0,
674
665
  C: (f, a) => f(...a)
675
666
  });
676
667
  const resultMessage = {
677
- id: ObjectId2.random(),
678
- spaceId: params.spaceId,
679
- threadId: params.threadId,
668
+ id: ObjectId.random(),
680
669
  role: "user",
681
670
  content: [
682
671
  {
@@ -698,7 +687,7 @@ var runLLM = async (params) => {
698
687
  result: toolResult.result
699
688
  }, {
700
689
  F: __dxlog_file3,
701
- L: 131,
690
+ L: 125,
702
691
  S: void 0,
703
692
  C: (f, a) => f(...a)
704
693
  });
@@ -720,7 +709,7 @@ var isToolUse = (message, { onlyToolNames } = {}) => {
720
709
  const block = message.content.at(-1);
721
710
  invariant2(block, void 0, {
722
711
  F: __dxlog_file3,
723
- L: 152,
712
+ L: 146,
724
713
  S: void 0,
725
714
  A: [
726
715
  "block",
@@ -733,7 +722,7 @@ var runTools = async ({ message, tools, extensions }) => {
733
722
  const toolCalls = message.content.filter((block) => block.type === "tool_use");
734
723
  invariant2(toolCalls.length === 1, void 0, {
735
724
  F: __dxlog_file3,
736
- L: 174,
725
+ L: 168,
737
726
  S: void 0,
738
727
  A: [
739
728
  "toolCalls.length === 1",
@@ -743,7 +732,7 @@ var runTools = async ({ message, tools, extensions }) => {
743
732
  const toolCall = toolCalls[0];
744
733
  const tool = tools.find((tool2) => tool2.name === toolCall.name);
745
734
  if (!tool) {
746
- const resultMessage = createStatic(Message3, {
735
+ const resultMessage = create(Message2, {
747
736
  role: "user",
748
737
  content: [
749
738
  {
@@ -763,7 +752,7 @@ var runTools = async ({ message, tools, extensions }) => {
763
752
  try {
764
753
  invariant2(tool.execute, void 0, {
765
754
  F: __dxlog_file3,
766
- L: 199,
755
+ L: 193,
767
756
  S: void 0,
768
757
  A: [
769
758
  "tool.execute",
@@ -778,7 +767,7 @@ var runTools = async ({ message, tools, extensions }) => {
778
767
  error
779
768
  }, {
780
769
  F: __dxlog_file3,
781
- L: 202,
770
+ L: 196,
782
771
  S: void 0,
783
772
  C: (f, a) => f(...a)
784
773
  });
@@ -790,11 +779,11 @@ var runTools = async ({ message, tools, extensions }) => {
790
779
  message: toolResult.message
791
780
  }, {
792
781
  F: __dxlog_file3,
793
- L: 208,
782
+ L: 202,
794
783
  S: void 0,
795
784
  C: (f, a) => f(...a)
796
785
  });
797
- const resultMessage = createStatic(Message3, {
786
+ const resultMessage = create(Message2, {
798
787
  role: "user",
799
788
  content: [
800
789
  {
@@ -815,11 +804,11 @@ var runTools = async ({ message, tools, extensions }) => {
815
804
  result: toolResult.result
816
805
  }, {
817
806
  F: __dxlog_file3,
818
- L: 229,
807
+ L: 223,
819
808
  S: void 0,
820
809
  C: (f, a) => f(...a)
821
810
  });
822
- const resultMessage = createStatic(Message3, {
811
+ const resultMessage = create(Message2, {
823
812
  role: "user",
824
813
  content: [
825
814
  {
@@ -840,7 +829,7 @@ var runTools = async ({ message, tools, extensions }) => {
840
829
  result: toolResult.result
841
830
  }, {
842
831
  F: __dxlog_file3,
843
- L: 250,
832
+ L: 244,
844
833
  S: void 0,
845
834
  C: (f, a) => f(...a)
846
835
  });
@@ -853,9 +842,9 @@ var runTools = async ({ message, tools, extensions }) => {
853
842
  };
854
843
 
855
844
  // packages/experimental/assistant/src/ai-service/ollama-client.ts
856
- import { Schema as S3 } from "effect";
845
+ import { Schema as S2 } from "effect";
857
846
  import { defineTool, ToolResult as ToolResult2 } from "@dxos/artifact";
858
- import { ObjectId as ObjectId3 } from "@dxos/echo-schema";
847
+ import { ObjectId as ObjectId2 } from "@dxos/echo-schema";
859
848
  import { invariant as invariant3 } from "@dxos/invariant";
860
849
  import { log as log4 } from "@dxos/log";
861
850
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/experimental/assistant/src/ai-service/ollama-client.ts";
@@ -1000,14 +989,14 @@ var OllamaClient = class {
1000
989
  signal
1001
990
  });
1002
991
  if (!response.ok) {
1003
- throw await parseErrorResponse(response);
992
+ throw await parseErrorResponse2(response);
1004
993
  }
1005
994
  if (!response.body) {
1006
995
  throw new Error("Ollama API returned no response body");
1007
996
  }
1008
997
  const reader = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new OllamaDecoderStream()).getReader();
1009
998
  try {
1010
- const messageId = ObjectId3.random();
999
+ const messageId = ObjectId2.random();
1011
1000
  yield {
1012
1001
  type: "message_start",
1013
1002
  message: {
@@ -1067,7 +1056,7 @@ var OllamaClient = class {
1067
1056
  index: currentBlockIndex,
1068
1057
  content: {
1069
1058
  type: "tool_use",
1070
- id: ObjectId3.random(),
1059
+ id: ObjectId2.random(),
1071
1060
  name: data.message.tool_calls[0].function.name,
1072
1061
  input: sanitizeToolArguments(data.message.tool_calls[0].function.arguments)
1073
1062
  }
@@ -1091,7 +1080,13 @@ var OllamaClient = class {
1091
1080
  reader.releaseLock();
1092
1081
  }
1093
1082
  }
1083
+ /**
1084
+ * Generate non-streaming response.
1085
+ */
1094
1086
  async exec(request) {
1087
+ throw new Error("Not implemented");
1088
+ }
1089
+ async execStream(request) {
1095
1090
  const controller = new AbortController();
1096
1091
  try {
1097
1092
  return new GenerationStreamImpl(controller, async function* () {
@@ -1153,15 +1148,15 @@ var WELL_KNOWN_TOOLS = {
1153
1148
  [ToolTypes.TextToImage]: defineTool("system", {
1154
1149
  name: "text-to-image",
1155
1150
  description: "Generate an image from a text prompt",
1156
- schema: S3.Struct({
1157
- prompt: S3.String.annotations({
1151
+ schema: S2.Struct({
1152
+ prompt: S2.String.annotations({
1158
1153
  description: "The text prompt describing the image to generate"
1159
1154
  })
1160
1155
  }),
1161
1156
  execute: async ({ prompt }) => {
1162
1157
  const image = await fetch(SAMPLE_IMAGE_URL).then(async (res) => Buffer.from(await res.arrayBuffer()));
1163
1158
  const imageBase64 = image.toString("base64");
1164
- const id = ObjectId3.random();
1159
+ const id = ObjectId2.random();
1165
1160
  return ToolResult2.Success(`The generation was successful. Image ID: ${id} Prompt: ${prompt}`, [
1166
1161
  {
1167
1162
  type: "image",
@@ -1197,12 +1192,12 @@ var OllamaDecoderStream = class extends TransformStream {
1197
1192
  this._buffer = "";
1198
1193
  }
1199
1194
  };
1200
- var ModelDoesNotSupportToolsError = class extends S3.TaggedError()("ModelDoesNotSupportToolsError", {
1201
- model: S3.String
1195
+ var ModelDoesNotSupportToolsError = class extends S2.TaggedError()("ModelDoesNotSupportToolsError", {
1196
+ model: S2.String
1202
1197
  }) {
1203
1198
  };
1204
- var ModelNotFoundError = class extends S3.TaggedError()("ModelNotFoundError", {
1205
- model: S3.String
1199
+ var ModelNotFoundError = class extends S2.TaggedError()("ModelNotFoundError", {
1200
+ model: S2.String
1206
1201
  }) {
1207
1202
  };
1208
1203
  var parseOllamaError = (error) => {
@@ -1224,7 +1219,7 @@ var parseOllamaError = (error) => {
1224
1219
  }
1225
1220
  throw new Error(`Ollama API error: ${error}`);
1226
1221
  };
1227
- var parseErrorResponse = async (response) => {
1222
+ var parseErrorResponse2 = async (response) => {
1228
1223
  if (response.headers.get("content-type")?.includes("application/json")) {
1229
1224
  const body = await response.json();
1230
1225
  return parseOllamaError(body.error);
@@ -1322,9 +1317,9 @@ var StreamTransform = class {
1322
1317
  };
1323
1318
 
1324
1319
  // packages/experimental/assistant/src/ai-service/parser.ts
1325
- import { Message as Message4 } from "@dxos/artifact";
1320
+ import { Message as Message3 } from "@dxos/artifact";
1326
1321
  import { Event } from "@dxos/async";
1327
- import { createStatic as createStatic2 } from "@dxos/echo-schema";
1322
+ import { create as create2 } from "@dxos/echo-schema";
1328
1323
  import { invariant as invariant4 } from "@dxos/invariant";
1329
1324
  import { log as log5 } from "@dxos/log";
1330
1325
  import { isNotFalsy, safeParseJson } from "@dxos/util";
@@ -1403,7 +1398,7 @@ var MixedStreamParser = class {
1403
1398
  C: (f, a) => f(...a)
1404
1399
  });
1405
1400
  }
1406
- this._message = createStatic2(Message4, {
1401
+ this._message = create2(Message3, {
1407
1402
  role: event.message.role,
1408
1403
  content: [
1409
1404
  ...event.message.content
@@ -1684,6 +1679,18 @@ var mergeMessageBlock = (contentBlock, streamBlock) => {
1684
1679
  }
1685
1680
  break;
1686
1681
  }
1682
+ case "proposal": {
1683
+ if (streamBlock.content.length === 1 && streamBlock.content[0].type === "text") {
1684
+ return {
1685
+ type: "json",
1686
+ disposition: "proposal",
1687
+ json: JSON.stringify({
1688
+ text: streamBlock.content[0].content
1689
+ })
1690
+ };
1691
+ }
1692
+ break;
1693
+ }
1687
1694
  case "select": {
1688
1695
  return {
1689
1696
  type: "json",
@@ -2181,8 +2188,7 @@ var isReference = (schema) => schema.$id === JSON_SCHEMA_ECHO_REF_ID || schema.t
2181
2188
  // packages/experimental/assistant/src/cypher/echo-data-source.ts
2182
2189
  import { raise as raise2 } from "@dxos/debug";
2183
2190
  import { Filter } from "@dxos/echo-db";
2184
- import { getSchemaTypename, StoredSchema, toJsonSchema } from "@dxos/echo-schema";
2185
- import { getSchema } from "@dxos/live-object";
2191
+ import { getSchema, getSchemaTypename, StoredSchema, toJsonSchema } from "@dxos/echo-schema";
2186
2192
  import { log as log8 } from "@dxos/log";
2187
2193
  function _ts_decorate(decorators, target, key, desc) {
2188
2194
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -2266,7 +2272,7 @@ var EchoDataSource = class {
2266
2272
  _ts_decorate([
2267
2273
  log8.method(void 0, void 0, {
2268
2274
  F: __dxlog_file8,
2269
- L: 17,
2275
+ L: 16,
2270
2276
  S: void 0,
2271
2277
  C: (f, a) => f(...a)
2272
2278
  })
@@ -2274,7 +2280,7 @@ _ts_decorate([
2274
2280
  _ts_decorate([
2275
2281
  log8.method(void 0, void 0, {
2276
2282
  F: __dxlog_file8,
2277
- L: 34,
2283
+ L: 33,
2278
2284
  S: void 0,
2279
2285
  C: (f, a) => f(...a)
2280
2286
  })
@@ -2295,6 +2301,7 @@ export {
2295
2301
  LLMModel,
2296
2302
  ToolTypes,
2297
2303
  GenerateRequest,
2304
+ GenerateResponse,
2298
2305
  runLLM,
2299
2306
  isToolUse,
2300
2307
  runTools,
@@ -2312,4 +2319,4 @@ export {
2312
2319
  isReference,
2313
2320
  EchoDataSource
2314
2321
  };
2315
- //# sourceMappingURL=chunk-PND5VR6D.mjs.map
2322
+ //# sourceMappingURL=chunk-DEIGOD4U.mjs.map