@dxos/assistant 0.8.2-main.fbd8ed0 → 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-B4HAWUFW.mjs → chunk-PND5VR6D.mjs} +286 -757
- package/dist/lib/browser/chunk-PND5VR6D.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +324 -7
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +102 -139
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node/{chunk-NOB7CIIC.cjs → chunk-IBOBRBDF.cjs} +303 -768
- package/dist/lib/node/chunk-IBOBRBDF.cjs.map +7 -0
- package/dist/lib/node/index.cjs +353 -36
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +93 -128
- package/dist/lib/node/testing/index.cjs.map +4 -4
- package/dist/lib/node-esm/{chunk-SAWYU3V5.mjs → chunk-DCQJOLSR.mjs} +286 -757
- package/dist/lib/node-esm/chunk-DCQJOLSR.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +324 -7
- 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 +102 -139
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- 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/stream.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/testing/test-stream.d.ts.map +1 -1
- package/dist/types/src/ai-service/types.d.ts +101 -144
- package/dist/types/src/ai-service/types.d.ts.map +1 -1
- package/dist/types/src/ai-service/util/sse.d.ts.map +1 -1
- package/dist/types/src/{experimental/conversation → conversation}/conversation.d.ts +21 -2
- package/dist/types/src/conversation/conversation.d.ts.map +1 -0
- package/dist/types/src/conversation/conversation.test.d.ts.map +1 -0
- package/dist/types/src/conversation/index.d.ts.map +1 -0
- package/dist/types/src/{experimental/conversation → conversation}/types.d.ts +12 -11
- package/dist/types/src/conversation/types.d.ts.map +1 -0
- package/dist/types/src/cypher/ast.d.ts.map +1 -0
- package/dist/types/src/cypher/combinators.d.ts.map +1 -0
- package/dist/types/src/cypher/combinators.test.d.ts.map +1 -0
- package/dist/types/src/cypher/echo-data-source.d.ts.map +1 -0
- package/dist/types/src/cypher/execution-plan.d.ts.map +1 -0
- package/dist/types/src/cypher/execution-plan.test.d.ts.map +1 -0
- package/dist/types/src/cypher/index.d.ts.map +1 -0
- package/dist/types/src/cypher/parjs.d.ts.map +1 -0
- package/dist/types/src/cypher/parser.d.ts.map +1 -0
- package/dist/types/src/cypher/query-executor.d.ts.map +1 -0
- package/dist/types/src/cypher/query-executor.test.d.ts.map +1 -0
- package/dist/types/src/cypher/schema.d.ts.map +1 -0
- package/dist/types/src/cypher/schema.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/session/index.d.ts +0 -2
- package/dist/types/src/session/index.d.ts.map +1 -1
- package/dist/types/src/session/session.d.ts +13 -33
- package/dist/types/src/session/session.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +0 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/logger.d.ts +1 -1
- package/dist/types/src/testing/logger.d.ts.map +1 -1
- package/dist/types/src/testing/ollama.d.ts.map +1 -1
- package/dist/types/src/testing/query-promts.d.ts +4 -4
- package/dist/types/src/testing/query-promts.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts +5 -5
- package/dist/types/src/testing/test-data.d.ts.map +1 -1
- package/dist/types/src/testing/test-schema.d.ts +23 -25
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/src/util/trim.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -20
- package/src/ai-service/client.test.ts +73 -55
- package/src/ai-service/edge-client.ts +20 -13
- package/src/ai-service/ollama-client.ts +10 -17
- 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 +15 -24
- package/src/bin/chat.ts +4 -4
- package/src/{experimental/conversation → conversation}/conversation.test.ts +5 -5
- package/src/{experimental/conversation → conversation}/conversation.ts +119 -4
- package/src/{experimental/conversation → conversation}/types.ts +14 -11
- package/src/{experimental/cypher → cypher}/combinators.test.ts +4 -4
- package/src/{experimental/cypher → cypher}/echo-data-source.ts +11 -11
- package/src/{experimental/cypher → cypher}/execution-plan.test.ts +1 -1
- package/src/{experimental/cypher → cypher}/query-executor.test.ts +2 -2
- package/src/{experimental/cypher → cypher}/schema.test.ts +3 -3
- package/src/{experimental/cypher → cypher}/schema.ts +1 -1
- package/src/index.ts +2 -3
- package/src/session/index.ts +0 -2
- package/src/session/session.test.ts +63 -35
- package/src/session/session.ts +151 -297
- package/src/testing/artifacts.test.ts +22 -22
- package/src/testing/index.ts +0 -1
- package/src/testing/logger.ts +1 -1
- package/src/testing/query-promts.ts +6 -6
- package/src/testing/query.test.ts +21 -18
- package/src/testing/test-data.ts +72 -79
- package/src/testing/test-schema.ts +29 -28
- package/dist/lib/browser/chunk-B4HAWUFW.mjs.map +0 -7
- package/dist/lib/node/chunk-NOB7CIIC.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-SAWYU3V5.mjs.map +0 -7
- package/dist/types/src/experimental/conversation/conversation.d.ts.map +0 -1
- package/dist/types/src/experimental/conversation/conversation.test.d.ts.map +0 -1
- package/dist/types/src/experimental/conversation/index.d.ts.map +0 -1
- package/dist/types/src/experimental/conversation/types.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/ast.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/combinators.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/combinators.test.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/echo-data-source.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/execution-plan.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/execution-plan.test.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/index.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/parjs.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/parser.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/query-executor.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/query-executor.test.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/schema.d.ts.map +0 -1
- package/dist/types/src/experimental/cypher/schema.test.d.ts.map +0 -1
- package/dist/types/src/experimental/index.d.ts +0 -3
- package/dist/types/src/experimental/index.d.ts.map +0 -1
- package/dist/types/src/experimental/ner/ner.test.d.ts +0 -2
- package/dist/types/src/experimental/ner/ner.test.d.ts.map +0 -1
- package/dist/types/src/experimental/research/exa.d.ts +0 -6
- package/dist/types/src/experimental/research/exa.d.ts.map +0 -1
- package/dist/types/src/experimental/research/research.test.d.ts +0 -2
- package/dist/types/src/experimental/research/research.test.d.ts.map +0 -1
- package/dist/types/src/session/tools.d.ts +0 -18
- package/dist/types/src/session/tools.d.ts.map +0 -1
- package/dist/types/src/session/version-pin.d.ts +0 -22
- 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/dist/types/src/testing/printer.d.ts +0 -6
- package/dist/types/src/testing/printer.d.ts.map +0 -1
- package/src/experimental/index.ts +0 -6
- package/src/experimental/ner/ner.test.ts +0 -163
- package/src/experimental/research/exa.ts +0 -38
- package/src/experimental/research/instructions.tpl +0 -64
- package/src/experimental/research/research.test.ts +0 -263
- package/src/session/tools.ts +0 -117
- package/src/session/version-pin.test.ts +0 -26
- package/src/session/version-pin.ts +0 -49
- package/src/testing/printer.ts +0 -41
- package/src/typedefs.d.ts +0 -8
- /package/dist/types/src/{experimental/conversation → conversation}/conversation.test.d.ts +0 -0
- /package/dist/types/src/{experimental/conversation → conversation}/index.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/ast.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/combinators.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/combinators.test.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/echo-data-source.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/execution-plan.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/execution-plan.test.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/index.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/parjs.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/parser.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/query-executor.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/query-executor.test.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/schema.d.ts +0 -0
- /package/dist/types/src/{experimental/cypher → cypher}/schema.test.d.ts +0 -0
- /package/src/{experimental/conversation → conversation}/index.ts +0 -0
- /package/src/{experimental/cypher → cypher}/ast.ts +0 -0
- /package/src/{experimental/cypher → cypher}/combinators.ts +0 -0
- /package/src/{experimental/cypher → cypher}/execution-plan.ts +0 -0
- /package/src/{experimental/cypher → cypher}/index.ts +0 -0
- /package/src/{experimental/cypher → cypher}/parjs-shims.d.ts +0 -0
- /package/src/{experimental/cypher → cypher}/parjs.ts +0 -0
- /package/src/{experimental/cypher → cypher}/parser.ts +0 -0
- /package/src/{experimental/cypher → cypher}/query-executor.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-executor.test.d.ts","sourceRoot":"","sources":["../../../../src/cypher/query-executor.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/cypher/schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIjF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBAAiB,cAAc,EAAE,KAAG,MAAM,EAK5E,CAAC;AAkDF,eAAO,MAAM,eAAe,aAAc,MAAM,WAE/C,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAAc,MAAM,YAAY,MAAM,WAGjF,CAAC;AAEF,eAAO,MAAM,WAAW,WAAY,cAAc,YAMD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../../../src/cypher/schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/session/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/session/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { Schema } from 'effect';
|
|
1
|
+
import { Schema as S } from 'effect';
|
|
2
2
|
import { Message, type ArtifactDefinition, type Tool } from '@dxos/artifact';
|
|
3
3
|
import { Event } from '@dxos/async';
|
|
4
|
-
import { ObjectVersion } from '@dxos/echo-db';
|
|
5
|
-
import { type ObjectId } from '@dxos/echo-schema';
|
|
6
4
|
import { type AIServiceClient, type GenerateRequest } from '../ai-service';
|
|
7
5
|
/**
|
|
8
6
|
* Contains message history, tools, current context.
|
|
@@ -14,19 +12,6 @@ import { type AIServiceClient, type GenerateRequest } from '../ai-service';
|
|
|
14
12
|
* Could be run locally in the app or remotely.
|
|
15
13
|
* Could be personal or shared.
|
|
16
14
|
*/
|
|
17
|
-
/**
|
|
18
|
-
* Resolves artifact ids to their versions.
|
|
19
|
-
* Used to give the model a sense of the changes to the artifacts made by users during the conversation.
|
|
20
|
-
* The artifacts versions are pinned in the history, and whenever the artifact changes in-between assistant's steps,
|
|
21
|
-
* a diff is inserted into the conversation.
|
|
22
|
-
*/
|
|
23
|
-
export type ArtifactDiffResolver = (artifacts: {
|
|
24
|
-
id: ObjectId;
|
|
25
|
-
lastVersion: ObjectVersion;
|
|
26
|
-
}[]) => Promise<Map<ObjectId, {
|
|
27
|
-
version: ObjectVersion;
|
|
28
|
-
diff?: string;
|
|
29
|
-
}>>;
|
|
30
15
|
export type SessionRunOptions = {
|
|
31
16
|
client: AIServiceClient;
|
|
32
17
|
artifacts: ArtifactDefinition[];
|
|
@@ -43,19 +28,13 @@ export type SessionRunOptions = {
|
|
|
43
28
|
* Pre-require artifacts.
|
|
44
29
|
*/
|
|
45
30
|
requiredArtifactIds?: string[];
|
|
46
|
-
/**
|
|
47
|
-
* @see ArtifactDiffResolver
|
|
48
|
-
*/
|
|
49
|
-
artifactDiffResolver?: ArtifactDiffResolver;
|
|
50
31
|
};
|
|
51
|
-
type OperationModel = 'planning' | '
|
|
32
|
+
type OperationModel = 'planning' | 'immediate';
|
|
52
33
|
export type AiSessionOptions = {
|
|
53
34
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* - `importing`: The model can query registry and only pull in the artifacts that are required to complete the task.
|
|
58
|
-
* - `configured`: The available artifacts are pre-selected and the model cannot select additional artifacts.
|
|
35
|
+
* In planning mode, the model will create a plan before executing the user's request.
|
|
36
|
+
* The plan will determine the artifacts that will be used to perform the actions.
|
|
37
|
+
* In require mode, the model will select the artifacts that will be used to perform the actions.
|
|
59
38
|
*/
|
|
60
39
|
operationModel: OperationModel;
|
|
61
40
|
};
|
|
@@ -74,6 +53,9 @@ export declare class AISession {
|
|
|
74
53
|
*/
|
|
75
54
|
readonly message: Event<{
|
|
76
55
|
readonly id: string;
|
|
56
|
+
spaceId?: import("@dxos/keys").SpaceId | undefined;
|
|
57
|
+
threadId?: string | undefined;
|
|
58
|
+
foreignId?: string | undefined;
|
|
77
59
|
role: "user" | "assistant";
|
|
78
60
|
content: ({
|
|
79
61
|
pending?: boolean | undefined;
|
|
@@ -184,6 +166,9 @@ export declare class AISession {
|
|
|
184
166
|
*/
|
|
185
167
|
readonly userMessage: Event<{
|
|
186
168
|
readonly id: string;
|
|
169
|
+
spaceId?: import("@dxos/keys").SpaceId | undefined;
|
|
170
|
+
threadId?: string | undefined;
|
|
171
|
+
foreignId?: string | undefined;
|
|
187
172
|
role: "user" | "assistant";
|
|
188
173
|
content: ({
|
|
189
174
|
pending?: boolean | undefined;
|
|
@@ -220,15 +205,10 @@ export declare class AISession {
|
|
|
220
205
|
}>;
|
|
221
206
|
constructor(_options: AiSessionOptions);
|
|
222
207
|
run(options: SessionRunOptions): Promise<Message[]>;
|
|
223
|
-
runStructured<S extends Schema.Schema.AnyNoContext>(schema: S, options: SessionRunOptions): Promise<Schema.Schema.Type<S>>;
|
|
224
|
-
private _formatUserPrompt;
|
|
225
|
-
private _createQueryArtifactsTool;
|
|
226
|
-
private _createRequireTool;
|
|
227
|
-
private _createPlanningTool;
|
|
228
208
|
abort(): void;
|
|
229
209
|
}
|
|
230
|
-
declare const AIServiecOverloadedError_base:
|
|
231
|
-
readonly _tag:
|
|
210
|
+
declare const AIServiecOverloadedError_base: S.TaggedErrorClass<AIServiecOverloadedError, "AIServiecOverloadedError", {
|
|
211
|
+
readonly _tag: S.tag<"AIServiecOverloadedError">;
|
|
232
212
|
}>;
|
|
233
213
|
export declare class AIServiecOverloadedError extends AIServiecOverloadedError_base {
|
|
234
214
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/session/session.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/session/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAc,OAAO,EAAc,KAAK,kBAAkB,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAKlD,OAAO,EAAqB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAyB,MAAM,eAAe,CAAC;AAErH;;;;;;;;;GASG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,eAAe,CAAC;IAExB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAEhC;;OAEG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEnD,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAEnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,KAAK,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,qBAAa,SAAS;IAmCR,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAlCrC,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAiB;IAEjC,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA+B;IAE9C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;OAEG;IACH,SAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAwB;IAE/C;;OAEG;IACH,SAAgB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAsB;IAE3C;;OAEG;IACH,SAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuB;IAE7C,SAAgB,WAAW,4CAA4B;IAEvD;;OAEG;IACH,SAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAwB;gBAEtB,QAAQ,EAAE,gBAAgB;IAQjD,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkOzD,KAAK;CAGN;;;;AAqCD,qBAAa,wBAAyB,SAAQ,6BAG7C;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageSource } from '@dxos/artifact';
|
|
2
|
-
import type { ConversationEvent } from '../
|
|
2
|
+
import type { ConversationEvent } from '../conversation';
|
|
3
3
|
export declare const createLogger: ({ stream, filter, onImage, }?: {
|
|
4
4
|
stream?: boolean;
|
|
5
5
|
filter?: (event: ConversationEvent) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/testing/logger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/testing/logger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,eAAO,MAAM,YAAY,kCAItB;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;CACpF,aAIgB,iBAAiB,SA4GjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../../src/testing/ollama.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../../src/testing/ollama.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,sBAAsB,aAAc,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAKjF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Schema } from 'effect';
|
|
2
|
-
import { type DataSource } from '../
|
|
3
|
-
export declare const createCypherTool: (dataSource: DataSource, schemaTypes?:
|
|
4
|
-
export declare const createSystemPrompt: (schemaTypes:
|
|
1
|
+
import { Schema as S } from 'effect';
|
|
2
|
+
import { type DataSource } from '../cypher';
|
|
3
|
+
export declare const createCypherTool: (dataSource: DataSource, schemaTypes?: S.Schema.Any[]) => import("@dxos/artifact").Tool;
|
|
4
|
+
export declare const createSystemPrompt: (schemaTypes: S.Schema.Any[]) => string;
|
|
5
5
|
//# sourceMappingURL=query-promts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-promts.d.ts","sourceRoot":"","sources":["../../../../src/testing/query-promts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"query-promts.d.ts","sourceRoot":"","sources":["../../../../src/testing/query-promts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGlF,eAAO,MAAM,gBAAgB,eAAgB,UAAU,gBAAe,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,kCA0ChF,CAAC;AAEL,eAAO,MAAM,kBAAkB,gBAAiB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,WAiB7D,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { type Schema } from 'effect';
|
|
1
|
+
import { type Schema as S } from 'effect';
|
|
2
2
|
import type { EchoDatabase } from '@dxos/echo-db';
|
|
3
3
|
import { type JsonSchemaType } from '@dxos/echo-schema';
|
|
4
|
-
import { type DataSource, type Node, type Relationship } from '../
|
|
4
|
+
import { type DataSource, type Node, type Relationship } from '../cypher';
|
|
5
5
|
export declare const seedTestData: (db: EchoDatabase) => void;
|
|
6
6
|
export declare const createTestData: () => MockDataSource;
|
|
7
7
|
export declare class MockDataSource implements DataSource {
|
|
8
8
|
objects: Record<string, {
|
|
9
|
-
schema:
|
|
9
|
+
schema: S.Schema.All;
|
|
10
10
|
typeDxn: string;
|
|
11
11
|
id: string;
|
|
12
12
|
data: unknown;
|
|
13
13
|
}>;
|
|
14
14
|
schema: Record<string, {
|
|
15
15
|
json: JsonSchemaType;
|
|
16
|
-
instance:
|
|
16
|
+
instance: S.Schema.All;
|
|
17
17
|
}>;
|
|
18
18
|
nodes: Node[];
|
|
19
19
|
relationships: Relationship[];
|
|
@@ -23,7 +23,7 @@ export declare class MockDataSource implements DataSource {
|
|
|
23
23
|
getRelationships({ label }: {
|
|
24
24
|
label?: string;
|
|
25
25
|
}): Promise<Relationship[]>;
|
|
26
|
-
add<S extends
|
|
26
|
+
add<S extends S.Schema.All>(schema: S, data: S.Schema.Type<S>): S.Schema.Type<S>;
|
|
27
27
|
computeGraph(): void;
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=test-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-data.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-data.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAmD,KAAK,cAAc,EAAY,MAAM,mBAAmB,CAAC;AAInH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,YAAY,EAGlB,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,YAAY,OAAQ,YAAY,SAoH5C,CAAC;AAGF,eAAO,MAAM,cAAc,QAAO,cAuGjC,CAAC;AAEF,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,EAAE,MAAM,CACb,MAAM,EACN;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC;KACf,CACF,CAAM;IAEP,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,IAAI,EAAE,cAAc,CAAC;QACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;KACxB,CACF,CAAM;IAEP,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,aAAa,EAAE,YAAY,EAAE,CAAM;IAE7B,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAItC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAIpD,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAsB7D,YAAY;CA0Eb"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { Schema } from 'effect';
|
|
2
|
-
|
|
3
|
-
export declare const Contact:
|
|
4
|
-
id:
|
|
5
|
-
name:
|
|
6
|
-
email:
|
|
1
|
+
import { Schema as S } from 'effect';
|
|
2
|
+
export declare const ObjectId: S.SchemaClass<string, string, never>;
|
|
3
|
+
export declare const Contact: S.mutable<S.Struct<{
|
|
4
|
+
id: S.SchemaClass<string, string, never>;
|
|
5
|
+
name: S.SchemaClass<string, string, never>;
|
|
6
|
+
email: S.optional<typeof S.String>;
|
|
7
7
|
}>>;
|
|
8
|
-
export interface Contact extends
|
|
8
|
+
export interface Contact extends S.Schema.Type<typeof Contact> {
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
description: Schema.optional<typeof Schema.String>;
|
|
10
|
+
export declare const Project: S.mutable<S.Struct<{
|
|
11
|
+
id: S.SchemaClass<string, string, never>;
|
|
12
|
+
name: S.SchemaClass<string, string, never>;
|
|
13
|
+
description: S.optional<typeof S.String>;
|
|
15
14
|
}>>;
|
|
16
|
-
export interface Project extends
|
|
15
|
+
export interface Project extends S.Schema.Type<typeof Project> {
|
|
17
16
|
}
|
|
18
|
-
export declare const Task:
|
|
19
|
-
id:
|
|
20
|
-
name:
|
|
21
|
-
description:
|
|
17
|
+
export declare const Task: S.mutable<S.Struct<{
|
|
18
|
+
id: S.SchemaClass<string, string, never>;
|
|
19
|
+
name: S.SchemaClass<string, string, never>;
|
|
20
|
+
description: S.optional<typeof S.String>;
|
|
22
21
|
project: import("@dxos/echo-schema").Ref$<{
|
|
23
22
|
name: string;
|
|
24
23
|
description?: string | undefined;
|
|
@@ -30,23 +29,22 @@ export declare const Task: Schema.mutable<Schema.Struct<{
|
|
|
30
29
|
email?: string | undefined;
|
|
31
30
|
}>;
|
|
32
31
|
}>>;
|
|
33
|
-
export interface Task extends
|
|
32
|
+
export interface Task extends S.Schema.Type<typeof Task> {
|
|
34
33
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
projects: Schema.Array$<import("@dxos/echo-schema").Ref$<{
|
|
34
|
+
export declare const Org: S.mutable<S.Struct<{
|
|
35
|
+
id: S.SchemaClass<string, string, never>;
|
|
36
|
+
name: S.SchemaClass<string, string, never>;
|
|
37
|
+
projects: S.Array$<import("@dxos/echo-schema").Ref$<{
|
|
40
38
|
name: string;
|
|
41
39
|
description?: string | undefined;
|
|
42
40
|
id: string;
|
|
43
41
|
}>>;
|
|
44
|
-
employees:
|
|
42
|
+
employees: S.Array$<import("@dxos/echo-schema").Ref$<{
|
|
45
43
|
name: string;
|
|
46
44
|
id: string;
|
|
47
45
|
email?: string | undefined;
|
|
48
46
|
}>>;
|
|
49
47
|
}>>;
|
|
50
|
-
export interface
|
|
48
|
+
export interface Org extends S.Schema.Type<typeof Org> {
|
|
51
49
|
}
|
|
52
50
|
//# sourceMappingURL=test-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-schema.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"test-schema.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQrC,eAAO,MAAM,QAAQ,sCAAyE,CAAC;AAE/F,eAAO,MAAM,OAAO;;;;GAahB,CAAC;AACL,MAAM,WAAW,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,OAAO;;;;GAahB,CAAC;AACL,MAAM,WAAW,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,IAAI;;;;;;;;;;;;;;GAeb,CAAC;AACL,MAAM,WAAW,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC;CAAG;AAE3D,eAAO,MAAM,GAAG;;;;;;;;;;;;;GAcZ,CAAC;AACL,MAAM,WAAW,GAAI,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../../../src/util/trim.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../../../src/util/trim.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,IAAI,YAAa,oBAAoB,aAAa,GAAG,EAAE,WAMnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"5.
|
|
1
|
+
{"version":"5.7.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/assistant",
|
|
3
|
-
"version": "0.8.2-
|
|
3
|
+
"version": "0.8.2-staging.7ac8446",
|
|
4
4
|
"description": "Natural language interface to DXOS",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -37,31 +37,25 @@
|
|
|
37
37
|
"src"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@xenova/transformers": "^2.17.2",
|
|
41
|
-
"exa-js": "^1.5.12",
|
|
42
40
|
"parjs": "^1.3.9",
|
|
43
41
|
"parsimmon": "^1.18.1",
|
|
44
42
|
"ulidx": "^2.3.0",
|
|
45
|
-
"@dxos/artifact": "0.8.2-
|
|
46
|
-
"@dxos/async": "0.8.2-
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/echo": "0.8.2-
|
|
50
|
-
"@dxos/echo-
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/invariant": "0.8.2-
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/log": "0.8.2-main.fbd8ed0",
|
|
58
|
-
"@dxos/node-std": "0.8.2-main.fbd8ed0",
|
|
59
|
-
"@dxos/schema": "0.8.2-main.fbd8ed0",
|
|
60
|
-
"@dxos/util": "0.8.2-main.fbd8ed0"
|
|
43
|
+
"@dxos/artifact": "0.8.2-staging.7ac8446",
|
|
44
|
+
"@dxos/async": "0.8.2-staging.7ac8446",
|
|
45
|
+
"@dxos/context": "0.8.2-staging.7ac8446",
|
|
46
|
+
"@dxos/debug": "0.8.2-staging.7ac8446",
|
|
47
|
+
"@dxos/echo-db": "0.8.2-staging.7ac8446",
|
|
48
|
+
"@dxos/echo-schema": "0.8.2-staging.7ac8446",
|
|
49
|
+
"@dxos/keys": "0.8.2-staging.7ac8446",
|
|
50
|
+
"@dxos/invariant": "0.8.2-staging.7ac8446",
|
|
51
|
+
"@dxos/live-object": "0.8.2-staging.7ac8446",
|
|
52
|
+
"@dxos/log": "0.8.2-staging.7ac8446",
|
|
53
|
+
"@dxos/node-std": "0.8.2-staging.7ac8446",
|
|
54
|
+
"@dxos/util": "0.8.2-staging.7ac8446"
|
|
61
55
|
},
|
|
62
56
|
"devDependencies": {
|
|
63
57
|
"@types/parsimmon": "^1.10.9",
|
|
64
|
-
"effect": "3.
|
|
58
|
+
"effect": "3.13.3",
|
|
65
59
|
"inquirer": "^12.0.0"
|
|
66
60
|
},
|
|
67
61
|
"peerDependencies": {
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Schema } from 'effect';
|
|
5
|
+
import { Schema as S } from 'effect';
|
|
6
6
|
import { test, describe } from 'vitest';
|
|
7
7
|
|
|
8
8
|
import { defineTool, Message, ToolResult, type Tool } from '@dxos/artifact';
|
|
9
|
-
import { toJsonSchema,
|
|
9
|
+
import { toJsonSchema, ObjectId, createStatic } from '@dxos/echo-schema';
|
|
10
10
|
import { invariant } from '@dxos/invariant';
|
|
11
|
+
import { SpaceId } from '@dxos/keys';
|
|
11
12
|
import { log } from '@dxos/log';
|
|
12
13
|
|
|
13
14
|
import { DEFAULT_EDGE_MODEL } from './defs';
|
|
@@ -25,18 +26,23 @@ describe.skip('AI Service Client', () => {
|
|
|
25
26
|
endpoint: AI_SERVICE_ENDPOINT.LOCAL,
|
|
26
27
|
});
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
const spaceId = SpaceId.random();
|
|
30
|
+
const threadId = ObjectId.random();
|
|
31
|
+
|
|
32
|
+
await client.appendMessages([
|
|
33
|
+
{
|
|
34
|
+
id: ObjectId.random(),
|
|
35
|
+
spaceId,
|
|
36
|
+
threadId,
|
|
37
|
+
role: 'user',
|
|
38
|
+
content: [{ type: 'text', text: 'Hello' }],
|
|
39
|
+
},
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
const stream = await client.exec({
|
|
39
43
|
model: DEFAULT_EDGE_MODEL,
|
|
44
|
+
spaceId,
|
|
45
|
+
threadId,
|
|
40
46
|
systemPrompt: 'You are a poet',
|
|
41
47
|
tools: [],
|
|
42
48
|
});
|
|
@@ -58,25 +64,30 @@ describe.skip('AI Service Client', () => {
|
|
|
58
64
|
name: 'custodian',
|
|
59
65
|
description: 'Custodian can tell you the password if you say the magic word',
|
|
60
66
|
parameters: toJsonSchema(
|
|
61
|
-
|
|
62
|
-
magicWord:
|
|
67
|
+
S.Struct({
|
|
68
|
+
magicWord: S.String.annotations({ description: 'The magic word. Should be exactly "pretty please"' }),
|
|
63
69
|
}),
|
|
64
70
|
),
|
|
65
71
|
};
|
|
66
72
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
const spaceId = SpaceId.random();
|
|
74
|
+
const threadId = ObjectId.random();
|
|
75
|
+
|
|
76
|
+
await client.appendMessages([
|
|
77
|
+
{
|
|
78
|
+
id: ObjectId.random(),
|
|
79
|
+
spaceId,
|
|
80
|
+
threadId,
|
|
81
|
+
role: 'user',
|
|
82
|
+
content: [{ type: 'text', text: 'What is the password? Ask the custodian' }],
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
76
85
|
|
|
77
86
|
{
|
|
78
|
-
const stream1 = await client.
|
|
87
|
+
const stream1 = await client.exec({
|
|
79
88
|
model: DEFAULT_EDGE_MODEL,
|
|
89
|
+
spaceId,
|
|
90
|
+
threadId,
|
|
80
91
|
systemPrompt: 'You are a helpful assistant.',
|
|
81
92
|
tools: [custodian],
|
|
82
93
|
});
|
|
@@ -91,24 +102,26 @@ describe.skip('AI Service Client', () => {
|
|
|
91
102
|
|
|
92
103
|
const [message1] = messages;
|
|
93
104
|
log('full message', { message: message1 });
|
|
94
|
-
|
|
105
|
+
await client.appendMessages([message1]);
|
|
95
106
|
|
|
96
107
|
const toolUse = message1.content.find(({ type }) => type === 'tool_use')!;
|
|
97
108
|
invariant(toolUse.type === 'tool_use');
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
await client.appendMessages([
|
|
110
|
+
{
|
|
111
|
+
id: ObjectId.random(),
|
|
112
|
+
spaceId,
|
|
113
|
+
threadId,
|
|
114
|
+
role: 'user',
|
|
115
|
+
content: [{ type: 'tool_result', toolUseId: toolUse.id, content: 'password="The sky is blue"' }],
|
|
116
|
+
},
|
|
117
|
+
]);
|
|
107
118
|
}
|
|
108
119
|
|
|
109
120
|
{
|
|
110
|
-
const stream2 = await client.
|
|
121
|
+
const stream2 = await client.exec({
|
|
111
122
|
model: DEFAULT_EDGE_MODEL,
|
|
123
|
+
spaceId,
|
|
124
|
+
threadId,
|
|
112
125
|
systemPrompt: 'You are a helpful assistant.',
|
|
113
126
|
tools: [custodian],
|
|
114
127
|
});
|
|
@@ -130,18 +143,23 @@ describe.skip('AI Service Client', () => {
|
|
|
130
143
|
endpoint: AI_SERVICE_ENDPOINT.LOCAL,
|
|
131
144
|
});
|
|
132
145
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
146
|
+
const spaceId = SpaceId.random();
|
|
147
|
+
const threadId = ObjectId.random();
|
|
148
|
+
|
|
149
|
+
await client.appendMessages([
|
|
150
|
+
{
|
|
151
|
+
id: ObjectId.random(),
|
|
152
|
+
spaceId,
|
|
153
|
+
threadId,
|
|
154
|
+
role: 'user',
|
|
155
|
+
content: [{ type: 'text', text: 'Generate an image of a cat' }],
|
|
156
|
+
},
|
|
157
|
+
]);
|
|
158
|
+
|
|
159
|
+
const stream = await client.exec({
|
|
144
160
|
model: DEFAULT_EDGE_MODEL,
|
|
161
|
+
spaceId,
|
|
162
|
+
threadId,
|
|
145
163
|
tools: [
|
|
146
164
|
{
|
|
147
165
|
name: 'text-to-image',
|
|
@@ -172,8 +190,8 @@ describe.skip('Ollama Client', () => {
|
|
|
172
190
|
const parser = new MixedStreamParser();
|
|
173
191
|
|
|
174
192
|
const messages = await parser.parse(
|
|
175
|
-
await client.
|
|
176
|
-
prompt:
|
|
193
|
+
await client.exec({
|
|
194
|
+
prompt: createStatic(Message, {
|
|
177
195
|
role: 'user',
|
|
178
196
|
content: [{ type: 'text', text: 'Hello, world!' }],
|
|
179
197
|
}),
|
|
@@ -194,8 +212,8 @@ describe.skip('Ollama Client', () => {
|
|
|
194
212
|
defineTool('test', {
|
|
195
213
|
name: 'encrypt',
|
|
196
214
|
description: 'Encrypt a message',
|
|
197
|
-
schema:
|
|
198
|
-
message:
|
|
215
|
+
schema: S.Struct({
|
|
216
|
+
message: S.String.annotations({ description: 'The message to encrypt' }),
|
|
199
217
|
}),
|
|
200
218
|
execute: async ({ message }) => ToolResult.Success(message.split('').reverse().join('')),
|
|
201
219
|
}),
|
|
@@ -207,8 +225,8 @@ describe.skip('Ollama Client', () => {
|
|
|
207
225
|
});
|
|
208
226
|
|
|
209
227
|
const messages = await parser.parse(
|
|
210
|
-
await client.
|
|
211
|
-
prompt:
|
|
228
|
+
await client.exec({
|
|
229
|
+
prompt: createStatic(Message, {
|
|
212
230
|
role: 'user',
|
|
213
231
|
content: [{ type: 'text', text: 'What is the encrypted message for "Hello, world!"' }],
|
|
214
232
|
}),
|
|
@@ -228,8 +246,8 @@ describe.skip('Ollama Client', () => {
|
|
|
228
246
|
const parser = new MixedStreamParser();
|
|
229
247
|
|
|
230
248
|
const messages = await parser.parse(
|
|
231
|
-
await client.
|
|
232
|
-
prompt:
|
|
249
|
+
await client.exec({
|
|
250
|
+
prompt: createStatic(Message, {
|
|
233
251
|
role: 'user',
|
|
234
252
|
content: [{ type: 'text', text: 'Generate an image of a cat' }],
|
|
235
253
|
}),
|