@dxos/assistant 0.8.1-staging.9eaf14f → 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.
- package/dist/lib/browser/{chunk-PND5VR6D.mjs → chunk-DEIGOD4U.mjs} +91 -84
- package/dist/lib/browser/chunk-DEIGOD4U.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +6 -4
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +20 -20
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-IBOBRBDF.cjs → chunk-7VH7NMIM.cjs} +106 -98
- package/dist/lib/node/chunk-7VH7NMIM.cjs.map +7 -0
- package/dist/lib/node/index.cjs +37 -35
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +27 -27
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/lib/node-esm/{chunk-DCQJOLSR.mjs → chunk-7JI4MDGL.mjs} +91 -84
- package/dist/lib/node-esm/chunk-7JI4MDGL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +6 -4
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +20 -20
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/ai-service/edge-client.d.ts +4 -5
- package/dist/types/src/ai-service/edge-client.d.ts.map +1 -1
- package/dist/types/src/ai-service/message-collector.d.ts +0 -6
- package/dist/types/src/ai-service/message-collector.d.ts.map +1 -1
- package/dist/types/src/ai-service/ollama-client.d.ts +6 -2
- package/dist/types/src/ai-service/ollama-client.d.ts.map +1 -1
- package/dist/types/src/ai-service/parser.d.ts +0 -3
- package/dist/types/src/ai-service/parser.d.ts.map +1 -1
- package/dist/types/src/ai-service/service.d.ts +18 -2
- package/dist/types/src/ai-service/service.d.ts.map +1 -1
- package/dist/types/src/ai-service/testing/mock.d.ts +6 -2
- package/dist/types/src/ai-service/testing/mock.d.ts.map +1 -1
- package/dist/types/src/ai-service/types.d.ts +52 -9
- package/dist/types/src/ai-service/types.d.ts.map +1 -1
- package/dist/types/src/conversation/conversation.d.ts +0 -3
- package/dist/types/src/conversation/conversation.d.ts.map +1 -1
- package/dist/types/src/conversation/types.d.ts +2 -3
- package/dist/types/src/conversation/types.d.ts.map +1 -1
- package/dist/types/src/cypher/echo-data-source.d.ts.map +1 -1
- package/dist/types/src/session/session.d.ts +0 -6
- package/dist/types/src/session/session.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/ai-service/client.test.ts +50 -68
- package/src/ai-service/edge-client.ts +13 -20
- package/src/ai-service/ollama-client.ts +9 -2
- package/src/ai-service/parser.ts +13 -2
- package/src/ai-service/service.ts +19 -3
- package/src/ai-service/testing/mock.ts +9 -1
- package/src/ai-service/types.ts +15 -6
- package/src/bin/chat.ts +1 -1
- package/src/conversation/conversation.ts +5 -11
- package/src/conversation/types.ts +1 -4
- package/src/cypher/echo-data-source.ts +1 -2
- package/src/session/session.test.ts +6 -6
- package/src/session/session.ts +3 -3
- package/src/testing/query.test.ts +14 -16
- package/src/testing/test-data.ts +19 -19
- package/dist/lib/browser/chunk-PND5VR6D.mjs.map +0 -7
- package/dist/lib/node/chunk-IBOBRBDF.cjs.map +0 -7
- 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:
|
|
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
|
-
*
|
|
379
|
+
* Generate non-streaming response.
|
|
382
380
|
*/
|
|
383
|
-
|
|
384
|
-
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
506
|
-
import { Tool, Message
|
|
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 =
|
|
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 =
|
|
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:
|
|
509
|
+
model: S.optional(LLMModel),
|
|
522
510
|
/**
|
|
523
511
|
* Tools available for the LLM.
|
|
524
512
|
*/
|
|
525
|
-
tools:
|
|
513
|
+
tools: S.optional(S.Array(Tool).pipe(S.mutable)),
|
|
526
514
|
/**
|
|
527
515
|
* System instructions to the LLM.
|
|
528
516
|
*/
|
|
529
|
-
systemPrompt:
|
|
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:
|
|
522
|
+
history: S.optional(S.Array(Message)),
|
|
535
523
|
/**
|
|
536
524
|
* Current request.
|
|
537
525
|
*/
|
|
538
|
-
prompt:
|
|
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
|
|
543
|
-
import {
|
|
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.
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
635
|
+
L: 86,
|
|
643
636
|
S: void 0,
|
|
644
637
|
C: (f, a) => f(...a)
|
|
645
638
|
});
|
|
646
639
|
const resultMessage = {
|
|
647
|
-
id:
|
|
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:
|
|
663
|
+
L: 106,
|
|
673
664
|
S: void 0,
|
|
674
665
|
C: (f, a) => f(...a)
|
|
675
666
|
});
|
|
676
667
|
const resultMessage = {
|
|
677
|
-
id:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
782
|
+
L: 202,
|
|
794
783
|
S: void 0,
|
|
795
784
|
C: (f, a) => f(...a)
|
|
796
785
|
});
|
|
797
|
-
const resultMessage =
|
|
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:
|
|
807
|
+
L: 223,
|
|
819
808
|
S: void 0,
|
|
820
809
|
C: (f, a) => f(...a)
|
|
821
810
|
});
|
|
822
|
-
const resultMessage =
|
|
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:
|
|
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
|
|
845
|
+
import { Schema as S2 } from "effect";
|
|
857
846
|
import { defineTool, ToolResult as ToolResult2 } from "@dxos/artifact";
|
|
858
|
-
import { ObjectId as
|
|
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
|
|
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 =
|
|
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:
|
|
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:
|
|
1157
|
-
prompt:
|
|
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 =
|
|
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
|
|
1201
|
-
model:
|
|
1195
|
+
var ModelDoesNotSupportToolsError = class extends S2.TaggedError()("ModelDoesNotSupportToolsError", {
|
|
1196
|
+
model: S2.String
|
|
1202
1197
|
}) {
|
|
1203
1198
|
};
|
|
1204
|
-
var ModelNotFoundError = class extends
|
|
1205
|
-
model:
|
|
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
|
|
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
|
|
1320
|
+
import { Message as Message3 } from "@dxos/artifact";
|
|
1326
1321
|
import { Event } from "@dxos/async";
|
|
1327
|
-
import {
|
|
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 =
|
|
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:
|
|
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:
|
|
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-
|
|
2322
|
+
//# sourceMappingURL=chunk-DEIGOD4U.mjs.map
|