@ax-llm/ax 9.0.23 → 9.0.25
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/ai/anthropic/api.d.ts +1 -1
- package/ai/azure-openai/api.d.ts +1 -1
- package/ai/cohere/api.d.ts +1 -1
- package/ai/cohere/types.d.ts +1 -1
- package/ai/deepseek/api.d.ts +1 -1
- package/ai/google-gemini/api.d.ts +1 -1
- package/ai/google-gemini/types.d.ts +1 -1
- package/ai/groq/api.d.ts +1 -1
- package/ai/huggingface/api.d.ts +1 -1
- package/ai/mistral/api.d.ts +1 -1
- package/ai/ollama/api.d.ts +1 -1
- package/ai/openai/api.d.ts +1 -1
- package/ai/together/api.d.ts +1 -1
- package/cjs/ai/anthropic/api.d.ts +1 -1
- package/cjs/ai/azure-openai/api.d.ts +1 -1
- package/cjs/ai/cohere/api.d.ts +1 -1
- package/cjs/ai/cohere/types.d.ts +1 -1
- package/cjs/ai/deepseek/api.d.ts +1 -1
- package/cjs/ai/google-gemini/api.d.ts +1 -1
- package/cjs/ai/google-gemini/types.d.ts +1 -1
- package/cjs/ai/groq/api.d.ts +1 -1
- package/cjs/ai/huggingface/api.d.ts +1 -1
- package/cjs/ai/mistral/api.d.ts +1 -1
- package/cjs/ai/ollama/api.d.ts +1 -1
- package/cjs/ai/openai/api.d.ts +1 -1
- package/cjs/ai/together/api.d.ts +1 -1
- package/cjs/dsp/functions.js.map +1 -0
- package/cjs/dsp/generate.d.ts +8 -4
- package/cjs/dsp/generate.js +16 -7
- package/cjs/dsp/generate.js.map +1 -1
- package/cjs/dsp/jsonschema.js.map +1 -0
- package/cjs/dsp/program.d.ts +18 -4
- package/cjs/dsp/program.js +77 -6
- package/cjs/dsp/program.js.map +1 -1
- package/cjs/funcs/code.d.ts +10 -3
- package/cjs/funcs/code.js +50 -54
- package/cjs/funcs/code.js.map +1 -1
- package/cjs/funcs/docker.d.ts +26 -0
- package/cjs/funcs/docker.js +144 -0
- package/cjs/funcs/docker.js.map +1 -0
- package/cjs/funcs/embed.d.ts +16 -5
- package/cjs/funcs/embed.js +38 -29
- package/cjs/funcs/embed.js.map +1 -1
- package/cjs/funcs/index.d.ts +1 -1
- package/cjs/funcs/index.js +1 -1
- package/cjs/funcs/index.js.map +1 -1
- package/cjs/prompts/agent.d.ts +1 -1
- package/cjs/prompts/agent.js +8 -8
- package/cjs/prompts/agent.js.map +1 -1
- package/cjs/prompts/react.js +7 -2
- package/cjs/prompts/react.js.map +1 -1
- package/dsp/functions.js.map +1 -0
- package/dsp/generate.d.ts +8 -4
- package/dsp/generate.js +17 -8
- package/dsp/generate.js.map +1 -1
- package/dsp/jsonschema.js.map +1 -0
- package/dsp/program.d.ts +18 -4
- package/dsp/program.js +75 -5
- package/dsp/program.js.map +1 -1
- package/funcs/code.d.ts +10 -3
- package/funcs/code.js +48 -52
- package/funcs/code.js.map +1 -1
- package/funcs/docker.d.ts +26 -0
- package/funcs/docker.js +140 -0
- package/funcs/docker.js.map +1 -0
- package/funcs/embed.d.ts +16 -5
- package/funcs/embed.js +36 -27
- package/funcs/embed.js.map +1 -1
- package/funcs/index.d.ts +1 -1
- package/funcs/index.js +1 -1
- package/funcs/index.js.map +1 -1
- package/package.json +1 -1
- package/prompts/agent.d.ts +1 -1
- package/prompts/agent.js +6 -7
- package/prompts/agent.js.map +1 -1
- package/prompts/react.js +7 -2
- package/prompts/react.js.map +1 -1
- package/cjs/funcs/functions.js.map +0 -1
- package/cjs/funcs/jsonschema.js.map +0 -1
- package/funcs/functions.js.map +0 -1
- package/funcs/jsonschema.js.map +0 -1
- /package/cjs/{funcs → dsp}/functions.d.ts +0 -0
- /package/cjs/{funcs → dsp}/functions.js +0 -0
- /package/cjs/{funcs → dsp}/jsonschema.d.ts +0 -0
- /package/cjs/{funcs → dsp}/jsonschema.js +0 -0
- /package/{funcs → dsp}/functions.d.ts +0 -0
- /package/{funcs → dsp}/functions.js +0 -0
- /package/{funcs → dsp}/jsonschema.d.ts +0 -0
- /package/{funcs → dsp}/jsonschema.js +0 -0
package/cjs/funcs/code.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.AxJSInterpreter = exports.AxJSInterpreterPermission = void 0;
|
|
27
27
|
const _crypto = __importStar(require("crypto"));
|
|
28
28
|
const _http = __importStar(require("http"));
|
|
29
29
|
const _https = __importStar(require("https"));
|
|
@@ -31,60 +31,56 @@ const _fs = __importStar(require("node:fs"));
|
|
|
31
31
|
const _os = __importStar(require("os"));
|
|
32
32
|
const _process = __importStar(require("process"));
|
|
33
33
|
const vm_1 = require("vm");
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
-
func: ({ code }) => {
|
|
49
|
-
return new Promise((resolve) => {
|
|
50
|
-
resolve(codeInterpreterJavascript(code, permissions));
|
|
51
|
-
});
|
|
34
|
+
var AxJSInterpreterPermission;
|
|
35
|
+
(function (AxJSInterpreterPermission) {
|
|
36
|
+
AxJSInterpreterPermission["FS"] = "node:fs";
|
|
37
|
+
AxJSInterpreterPermission["NET"] = "net";
|
|
38
|
+
AxJSInterpreterPermission["OS"] = "os";
|
|
39
|
+
AxJSInterpreterPermission["CRYPTO"] = "crypto";
|
|
40
|
+
AxJSInterpreterPermission["PROCESS"] = "process";
|
|
41
|
+
})(AxJSInterpreterPermission || (exports.AxJSInterpreterPermission = AxJSInterpreterPermission = {}));
|
|
42
|
+
class AxJSInterpreter {
|
|
43
|
+
permissions;
|
|
44
|
+
constructor({ permissions = [] } = {}) {
|
|
45
|
+
this.permissions = permissions ?? [];
|
|
52
46
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
context.fs = _fs;
|
|
73
|
-
}
|
|
74
|
-
if (permissions.includes(AxCodeInterpreterPermission.NET)) {
|
|
75
|
-
context.http = _http;
|
|
76
|
-
context.https = _https;
|
|
77
|
-
}
|
|
78
|
-
if (permissions.includes(AxCodeInterpreterPermission.OS)) {
|
|
79
|
-
context.os = _os;
|
|
47
|
+
codeInterpreterJavascript(code) {
|
|
48
|
+
const context = { console };
|
|
49
|
+
if (this.permissions.includes(AxJSInterpreterPermission.FS)) {
|
|
50
|
+
context.fs = _fs;
|
|
51
|
+
}
|
|
52
|
+
if (this.permissions.includes(AxJSInterpreterPermission.NET)) {
|
|
53
|
+
context.http = _http;
|
|
54
|
+
context.https = _https;
|
|
55
|
+
}
|
|
56
|
+
if (this.permissions.includes(AxJSInterpreterPermission.OS)) {
|
|
57
|
+
context.os = _os;
|
|
58
|
+
}
|
|
59
|
+
if (this.permissions.includes(AxJSInterpreterPermission.CRYPTO)) {
|
|
60
|
+
context.crypto = _crypto;
|
|
61
|
+
}
|
|
62
|
+
if (this.permissions.includes(AxJSInterpreterPermission.PROCESS)) {
|
|
63
|
+
context.process = _process;
|
|
64
|
+
}
|
|
65
|
+
return (0, vm_1.runInNewContext)(`(function() { ${code} })()`, context);
|
|
80
66
|
}
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
toFunction() {
|
|
68
|
+
return {
|
|
69
|
+
name: 'javascriptInterpreter',
|
|
70
|
+
description: 'Use this function to run Javascript code and get any expected return value.',
|
|
71
|
+
parameters: {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: {
|
|
74
|
+
code: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
description: 'JS code with a return value in the end.'
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
required: ['code']
|
|
80
|
+
},
|
|
81
|
+
func: this.codeInterpreterJavascript
|
|
82
|
+
};
|
|
83
83
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
// executing code within the sandbox
|
|
88
|
-
return (0, vm_1.runInNewContext)(`(function() { ${code} })()`, context);
|
|
89
|
-
};
|
|
84
|
+
}
|
|
85
|
+
exports.AxJSInterpreter = AxJSInterpreter;
|
|
90
86
|
//# sourceMappingURL=code.js.map
|
package/cjs/funcs/code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../../funcs/code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,4CAA8B;AAC9B,8CAAgC;AAChC,6CAA+B;AAC/B,wCAA0B;AAC1B,kDAAoC;AACpC,2BAAqC;
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../../funcs/code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,4CAA8B;AAC9B,8CAAgC;AAChC,6CAA+B;AAC/B,wCAA0B;AAC1B,kDAAoC;AACpC,2BAAqC;AAIrC,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,2CAAc,CAAA;IACd,wCAAW,CAAA;IACX,sCAAS,CAAA;IACT,8CAAiB,CAAA;IACjB,gDAAmB,CAAA;AACrB,CAAC,EANW,yBAAyB,yCAAzB,yBAAyB,QAMpC;AAED,MAAa,eAAe;IAClB,WAAW,CAAuC;IAE1D,YAAY,EACV,WAAW,GAAG,EAAE,KAGF,EAAE;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;IACvC,CAAC;IAEO,yBAAyB,CAAC,IAAY;QAC5C,MAAM,OAAO,GAA+B,EAAE,OAAO,EAAE,CAAC;QAExD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YACrB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,OAAO,IAAA,oBAAe,EAAC,iBAAiB,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU;QACf,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EACT,6EAA6E;YAC/E,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yCAAyC;qBACvD;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;YAED,IAAI,EAAE,IAAI,CAAC,yBAAyB;SACrC,CAAC;IACJ,CAAC;CACF;AAzDD,0CAyDC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AxFunction } from '../ai/types.js';
|
|
2
|
+
export declare class AxDockerSession {
|
|
3
|
+
private readonly apiUrl;
|
|
4
|
+
private containerId;
|
|
5
|
+
constructor(apiUrl?: string);
|
|
6
|
+
pullImage(imageName: string): Promise<void>;
|
|
7
|
+
createContainer({ imageName, volumes, // Example format: [{ hostPath: '/host/path', containerPath: '/container/path' }]
|
|
8
|
+
doNotPullImage }: Readonly<{
|
|
9
|
+
imageName: string;
|
|
10
|
+
volumes?: Array<{
|
|
11
|
+
hostPath: string;
|
|
12
|
+
containerPath: string;
|
|
13
|
+
}>;
|
|
14
|
+
doNotPullImage?: boolean;
|
|
15
|
+
}>): Promise<{
|
|
16
|
+
Id: string;
|
|
17
|
+
}>;
|
|
18
|
+
startContainer(): Promise<void>;
|
|
19
|
+
connectToContainer(containerId: string): Promise<void>;
|
|
20
|
+
executeCommand(command: string): Promise<string>;
|
|
21
|
+
stopContainer(): Promise<void>;
|
|
22
|
+
listContainers(all?: boolean): Promise<unknown>;
|
|
23
|
+
getContainerLogs(): Promise<string>;
|
|
24
|
+
private fetchDockerAPI;
|
|
25
|
+
toFunction(): AxFunction;
|
|
26
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AxDockerSession = void 0;
|
|
4
|
+
class AxDockerSession {
|
|
5
|
+
apiUrl;
|
|
6
|
+
containerId = null;
|
|
7
|
+
constructor(apiUrl = 'http://localhost:2375') {
|
|
8
|
+
this.apiUrl = apiUrl;
|
|
9
|
+
}
|
|
10
|
+
async pullImage(imageName) {
|
|
11
|
+
const response = await this.fetchDockerAPI(`/images/create?fromImage=${encodeURIComponent(imageName)}`, {
|
|
12
|
+
method: 'POST'
|
|
13
|
+
});
|
|
14
|
+
if (!response.ok) {
|
|
15
|
+
throw new Error(`Failed to pull image: ${response.statusText}`);
|
|
16
|
+
}
|
|
17
|
+
// Wait for the pull to complete
|
|
18
|
+
await response.text();
|
|
19
|
+
}
|
|
20
|
+
async createContainer({ imageName, volumes = [], // Example format: [{ hostPath: '/host/path', containerPath: '/container/path' }]
|
|
21
|
+
doNotPullImage }) {
|
|
22
|
+
const binds = volumes.map((v) => `${v.hostPath}:${v.containerPath}`);
|
|
23
|
+
if (!doNotPullImage) {
|
|
24
|
+
await this.pullImage(imageName);
|
|
25
|
+
}
|
|
26
|
+
const response = await this.fetchDockerAPI(`/containers/create`, {
|
|
27
|
+
method: 'POST',
|
|
28
|
+
headers: { 'Content-Type': 'application/json' },
|
|
29
|
+
body: JSON.stringify({
|
|
30
|
+
Image: imageName,
|
|
31
|
+
Tty: true,
|
|
32
|
+
OpenStdin: false,
|
|
33
|
+
AttachStdin: false,
|
|
34
|
+
AttachStdout: false,
|
|
35
|
+
AttachStderr: false,
|
|
36
|
+
HostConfig: { Binds: binds }
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
throw new Error(`Failed to create container: ${response.statusText}`);
|
|
41
|
+
}
|
|
42
|
+
const data = (await response.json());
|
|
43
|
+
this.containerId = data.Id;
|
|
44
|
+
return data;
|
|
45
|
+
}
|
|
46
|
+
async startContainer() {
|
|
47
|
+
if (!this.containerId) {
|
|
48
|
+
throw new Error('No container created or connected');
|
|
49
|
+
}
|
|
50
|
+
const response = await this.fetchDockerAPI(`/containers/${this.containerId}/start`, {
|
|
51
|
+
method: 'POST'
|
|
52
|
+
});
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
throw new Error(`Failed to start container: ${response.statusText}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async connectToContainer(containerId) {
|
|
58
|
+
const response = await this.fetchDockerAPI(`/containers/${containerId}/json`);
|
|
59
|
+
if (!response.ok) {
|
|
60
|
+
throw new Error(`Failed to connect to container: ${response.statusText}`);
|
|
61
|
+
}
|
|
62
|
+
this.containerId = containerId;
|
|
63
|
+
}
|
|
64
|
+
async executeCommand(command) {
|
|
65
|
+
if (!this.containerId) {
|
|
66
|
+
throw new Error('No container created or connected');
|
|
67
|
+
}
|
|
68
|
+
// Create exec instance
|
|
69
|
+
const createResponse = await this.fetchDockerAPI(`/containers/${this.containerId}/exec`, {
|
|
70
|
+
method: 'POST',
|
|
71
|
+
headers: { 'Content-Type': 'application/json' },
|
|
72
|
+
body: JSON.stringify({
|
|
73
|
+
Cmd: ['sh', '-c', command],
|
|
74
|
+
AttachStdout: true,
|
|
75
|
+
AttachStderr: true
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
if (!createResponse.ok) {
|
|
79
|
+
throw new Error(`Failed to create exec instance: ${createResponse.statusText}`);
|
|
80
|
+
}
|
|
81
|
+
const execData = (await createResponse.json());
|
|
82
|
+
// Start exec instance
|
|
83
|
+
const startResponse = await this.fetchDockerAPI(`/exec/${execData.Id}/start`, {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
headers: { 'Content-Type': 'application/json' },
|
|
86
|
+
body: JSON.stringify({
|
|
87
|
+
Detach: false,
|
|
88
|
+
Tty: false
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
if (!startResponse.ok) {
|
|
92
|
+
throw new Error(`Failed to start exec instance: ${startResponse.statusText}`);
|
|
93
|
+
}
|
|
94
|
+
// Return the output
|
|
95
|
+
return await startResponse.text();
|
|
96
|
+
}
|
|
97
|
+
async stopContainer() {
|
|
98
|
+
if (!this.containerId) {
|
|
99
|
+
throw new Error('No container created or connected');
|
|
100
|
+
}
|
|
101
|
+
const response = await this.fetchDockerAPI(`/containers/${this.containerId}/stop`, {
|
|
102
|
+
method: 'POST'
|
|
103
|
+
});
|
|
104
|
+
if (!response.ok) {
|
|
105
|
+
throw new Error(`Failed to stop container: ${response.statusText}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async listContainers(all = false) {
|
|
109
|
+
const response = await this.fetchDockerAPI(`/containers/json?all=${all}`, {
|
|
110
|
+
method: 'GET'
|
|
111
|
+
});
|
|
112
|
+
return response.json();
|
|
113
|
+
}
|
|
114
|
+
async getContainerLogs() {
|
|
115
|
+
if (!this.containerId) {
|
|
116
|
+
throw new Error('No container created or connected');
|
|
117
|
+
}
|
|
118
|
+
const response = await this.fetchDockerAPI(`/containers/${this.containerId}/logs?stdout=true&stderr=true`, { method: 'GET' });
|
|
119
|
+
return response.text();
|
|
120
|
+
}
|
|
121
|
+
async fetchDockerAPI(endpoint, options) {
|
|
122
|
+
const url = new URL(endpoint, this.apiUrl).toString();
|
|
123
|
+
return await fetch(url, options);
|
|
124
|
+
}
|
|
125
|
+
toFunction() {
|
|
126
|
+
return {
|
|
127
|
+
name: 'commandExecution',
|
|
128
|
+
description: 'Use this function to execute shell commands, scripts, and programs. This function enables interaction with the file system, running system utilities, and performing tasks that require a shell interface.',
|
|
129
|
+
parameters: {
|
|
130
|
+
type: 'object',
|
|
131
|
+
properties: {
|
|
132
|
+
command: {
|
|
133
|
+
type: 'string',
|
|
134
|
+
description: 'Shell command to execute. eg. `ls -l` or `echo "Hello, World!"`.'
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
required: ['command']
|
|
138
|
+
},
|
|
139
|
+
func: this.executeCommand
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.AxDockerSession = AxDockerSession;
|
|
144
|
+
//# sourceMappingURL=docker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../funcs/docker.ts"],"names":[],"mappings":"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"}
|
package/cjs/funcs/embed.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { AxAIService, AxAIServiceActionOptions, AxFunction } from '../ai/index.js';
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export declare class AxEmbeddingAdapter {
|
|
3
|
+
private aiService;
|
|
4
|
+
private info;
|
|
5
|
+
private func;
|
|
6
|
+
constructor({ ai, info, func }: Readonly<{
|
|
7
|
+
ai: AxAIService;
|
|
8
|
+
info: Readonly<{
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
argumentDescription: string;
|
|
12
|
+
}>;
|
|
13
|
+
func: (args: readonly number[], extra?: Readonly<AxAIServiceActionOptions>) => Promise<unknown>;
|
|
14
|
+
}>);
|
|
15
|
+
private embedAdapter;
|
|
16
|
+
toFunction(): AxFunction;
|
|
17
|
+
}
|
package/cjs/funcs/embed.js
CHANGED
|
@@ -1,33 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: info.argumentDescription
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
required: ['text']
|
|
16
|
-
},
|
|
17
|
-
func: ({ text }, extra
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
-
) => {
|
|
20
|
-
return new Promise((resolve) => {
|
|
21
|
-
resolve(embedAdapter(ai, text, func, extra));
|
|
22
|
-
});
|
|
3
|
+
exports.AxEmbeddingAdapter = void 0;
|
|
4
|
+
class AxEmbeddingAdapter {
|
|
5
|
+
aiService;
|
|
6
|
+
info;
|
|
7
|
+
func;
|
|
8
|
+
constructor({ ai, info, func }) {
|
|
9
|
+
this.aiService = ai;
|
|
10
|
+
this.info = info;
|
|
11
|
+
this.func = func;
|
|
23
12
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
13
|
+
async embedAdapter(text, extra) {
|
|
14
|
+
const embedRes = await this.aiService.embed({ texts: [text] }, { sessionId: extra?.sessionId });
|
|
15
|
+
const embeds = embedRes.embeddings.at(0);
|
|
16
|
+
if (!embeds) {
|
|
17
|
+
throw new Error('Failed to embed text');
|
|
18
|
+
}
|
|
19
|
+
return this.func.length === 2
|
|
20
|
+
? this.func(embeds, extra)
|
|
21
|
+
: this.func(embeds);
|
|
22
|
+
}
|
|
23
|
+
toFunction() {
|
|
24
|
+
return {
|
|
25
|
+
name: this.info.name,
|
|
26
|
+
description: this.info.description,
|
|
27
|
+
parameters: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
text: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: this.info.argumentDescription
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
required: ['text']
|
|
36
|
+
},
|
|
37
|
+
func: this.embedAdapter
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.AxEmbeddingAdapter = AxEmbeddingAdapter;
|
|
33
42
|
//# sourceMappingURL=embed.js.map
|
package/cjs/funcs/embed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../funcs/embed.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../funcs/embed.ts"],"names":[],"mappings":";;;AAMA,MAAa,kBAAkB;IACrB,SAAS,CAAc;IACvB,IAAI,CAIV;IACM,IAAI,CAGU;IAEtB,YAAY,EACV,EAAE,EACF,IAAI,EACJ,IAAI,EAYJ;QACA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,IAAY,EACZ,KAA0C;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CACzC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EACjB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAChC,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAEM,UAAU;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB;qBAC3C;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;YACD,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB,CAAC;IACJ,CAAC;CACF;AArED,gDAqEC"}
|
package/cjs/funcs/index.d.ts
CHANGED
package/cjs/funcs/index.js
CHANGED
|
@@ -16,5 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./code.js"), exports);
|
|
18
18
|
__exportStar(require("./embed.js"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
19
|
+
__exportStar(require("./docker.js"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/cjs/funcs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../funcs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../funcs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B"}
|
package/cjs/prompts/agent.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface AxAgentic extends AxTunable, AxUsable {
|
|
|
6
6
|
}
|
|
7
7
|
export type AxAgentOptions = Omit<AxGenerateOptions, 'functions' | 'functionCall'>;
|
|
8
8
|
export declare class AxAgent<IN extends AxGenIn, OUT extends AxGenOut> implements AxAgentic {
|
|
9
|
+
private signature;
|
|
9
10
|
private program;
|
|
10
11
|
private name;
|
|
11
12
|
private description;
|
|
@@ -18,7 +19,6 @@ export declare class AxAgent<IN extends AxGenIn, OUT extends AxGenOut> implement
|
|
|
18
19
|
agents?: AxAgentic[];
|
|
19
20
|
functions?: AxFunction[];
|
|
20
21
|
}>, options?: Readonly<AxAgentOptions>);
|
|
21
|
-
getSignature(): AxSignature;
|
|
22
22
|
setExamples(examples: Readonly<AxProgramExamples>): void;
|
|
23
23
|
setId(id: string): void;
|
|
24
24
|
setParentId(parentId: string): void;
|
package/cjs/prompts/agent.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AxAgent = void 0;
|
|
4
|
-
const index_js_1 = require("../
|
|
4
|
+
const index_js_1 = require("../dsp/index.js");
|
|
5
|
+
const index_js_2 = require("../trace/index.js");
|
|
5
6
|
const cot_js_1 = require("./cot.js");
|
|
6
7
|
const react_js_1 = require("./react.js");
|
|
7
8
|
class AxAgent {
|
|
9
|
+
signature;
|
|
8
10
|
program;
|
|
9
11
|
name;
|
|
10
12
|
description;
|
|
11
13
|
subAgentList;
|
|
12
14
|
func;
|
|
13
15
|
constructor(ai, { name, description, signature, agents, functions }, options) {
|
|
16
|
+
this.signature = new index_js_1.AxSignature(signature);
|
|
14
17
|
const funcs = [
|
|
15
18
|
...(functions ?? []),
|
|
16
19
|
...(agents?.map((a) => a.getFunction()) ?? [])
|
|
@@ -21,8 +24,8 @@ class AxAgent {
|
|
|
21
24
|
};
|
|
22
25
|
this.program =
|
|
23
26
|
funcs.length > 0
|
|
24
|
-
? new react_js_1.AxReAct(ai, signature, opt)
|
|
25
|
-
: new cot_js_1.AxChainOfThought(ai, signature, opt);
|
|
27
|
+
? new react_js_1.AxReAct(ai, this.signature, opt)
|
|
28
|
+
: new cot_js_1.AxChainOfThought(ai, this.signature, opt);
|
|
26
29
|
if (!name || name.length < 5) {
|
|
27
30
|
throw new Error('Agent name must be at least 10 characters (more descriptive): ' + name);
|
|
28
31
|
}
|
|
@@ -36,16 +39,13 @@ class AxAgent {
|
|
|
36
39
|
this.func = {
|
|
37
40
|
name: toCamelCase(this.name),
|
|
38
41
|
description: this.description,
|
|
39
|
-
parameters: this.
|
|
42
|
+
parameters: this.signature.toJSONSchema(),
|
|
40
43
|
func: () => this.forward
|
|
41
44
|
};
|
|
42
45
|
for (const agent of agents ?? []) {
|
|
43
46
|
this.program.register(agent);
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
|
-
getSignature() {
|
|
47
|
-
return this.program.getSignature();
|
|
48
|
-
}
|
|
49
49
|
setExamples(examples) {
|
|
50
50
|
this.program.setExamples(examples);
|
|
51
51
|
}
|
|
@@ -80,7 +80,7 @@ class AxAgent {
|
|
|
80
80
|
['agent.subAgents']: this.subAgentList ?? 'none'
|
|
81
81
|
};
|
|
82
82
|
return await options?.tracer.startActiveSpan('Agent', {
|
|
83
|
-
kind:
|
|
83
|
+
kind: index_js_2.AxSpanKind.SERVER,
|
|
84
84
|
attributes
|
|
85
85
|
}, async (span) => {
|
|
86
86
|
const res = await this.program.forward(values, options);
|
package/cjs/prompts/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../prompts/agent.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../prompts/agent.ts"],"names":[],"mappings":"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"}
|
package/cjs/prompts/react.js
CHANGED
|
@@ -8,8 +8,13 @@ class AxReAct extends cot_js_1.AxChainOfThought {
|
|
|
8
8
|
if (!options?.functions || options.functions.length === 0) {
|
|
9
9
|
throw new Error('No functions provided');
|
|
10
10
|
}
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const fnNames = options.functions.map((f) => {
|
|
12
|
+
if ('toFunction' in f) {
|
|
13
|
+
return f.toFunction().name;
|
|
14
|
+
}
|
|
15
|
+
return f.name;
|
|
16
|
+
});
|
|
17
|
+
const funcList = fnNames.map((fname) => `'${fname}'`).join(', ');
|
|
13
18
|
const sig = new sig_js_1.AxSignature(signature);
|
|
14
19
|
sig.setDescription(`Use the provided functions ${funcList} to complete the task and return the result if any.`);
|
|
15
20
|
// sig.addInputField({
|
package/cjs/prompts/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../prompts/react.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAE5C,qCAA4C;AAE5C,MAAa,OAGX,SAAQ,yBAAyB;IACjC,YACE,EAAe,EACf,SAAyC,EACzC,OAAoC;QAEpC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../prompts/react.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAE5C,qCAA4C;AAE5C,MAAa,OAGX,SAAQ,yBAAyB;IACjC,YACE,EAAe,EACf,SAAyC,EACzC,OAAoC;QAEpC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,MAAM,GAAG,GAAG,IAAI,oBAAW,CAAC,SAAS,CAAC,CAAC;QACvC,GAAG,CAAC,cAAc,CAChB,8BAA8B,QAAQ,qDAAqD,CAC5F,CAAC;QAEF,sBAAsB;QACtB,yBAAyB;QACzB,wDAAwD;QACxD,sBAAsB;QACtB,4CAA4C;QAC5C,MAAM;QAEN,GAAG,CAAC,eAAe,CACjB,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/D,CAAC;QAEF,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAxCD,0BAwCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../dsp/functions.ts"],"names":[],"mappings":"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"}
|
package/dsp/generate.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AxAIService, AxChatRequest, AxFunction, AxRateLimiterFunction } from '../ai/types.js';
|
|
2
|
-
import { type AxChatResponseFunctionCall } from '../funcs/functions.js';
|
|
3
2
|
import { type AxAIMemory, AxMemory } from '../mem/index.js';
|
|
4
3
|
import { type AxTracer } from '../trace/index.js';
|
|
5
4
|
import { type AxAssertion, type AxStreamingAssertion } from './asserts.js';
|
|
6
|
-
import { type
|
|
5
|
+
import { type AxChatResponseFunctionCall } from './functions.js';
|
|
6
|
+
import { type AxGenIn, type AxGenOut, type AxProgramForwardOptions, AxProgramWithSignature } from './program.js';
|
|
7
7
|
import { AxPromptTemplate } from './prompt.js';
|
|
8
8
|
import { AxSignature } from './sig.js';
|
|
9
9
|
export interface AxGenerateOptions {
|
|
@@ -15,7 +15,9 @@ export interface AxGenerateOptions {
|
|
|
15
15
|
rateLimiter?: AxRateLimiterFunction;
|
|
16
16
|
stream?: boolean;
|
|
17
17
|
debug?: boolean;
|
|
18
|
-
functions?: AxFunction[]
|
|
18
|
+
functions?: AxFunction[] | {
|
|
19
|
+
toFunction: () => AxFunction;
|
|
20
|
+
}[];
|
|
19
21
|
functionCall?: AxChatRequest['functionCall'];
|
|
20
22
|
promptTemplate?: typeof AxPromptTemplate;
|
|
21
23
|
asserts?: AxAssertion[];
|
|
@@ -34,11 +36,13 @@ export interface AxResponseHandlerArgs<T> {
|
|
|
34
36
|
sessionId?: string;
|
|
35
37
|
traceId?: string;
|
|
36
38
|
}
|
|
37
|
-
export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGenerateResult<AxGenOut> = AxGenerateResult<AxGenOut>> extends
|
|
39
|
+
export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGenerateResult<AxGenOut> = AxGenerateResult<AxGenOut>> extends AxProgramWithSignature<IN, OUT> {
|
|
40
|
+
private ai;
|
|
38
41
|
private pt;
|
|
39
42
|
private asserts;
|
|
40
43
|
private streamingAsserts;
|
|
41
44
|
private options?;
|
|
45
|
+
private functions?;
|
|
42
46
|
private funcProc?;
|
|
43
47
|
private functionList?;
|
|
44
48
|
constructor(ai: AxAIService, signature: Readonly<AxSignature | string>, options?: Readonly<AxGenerateOptions>);
|