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