@aigne/xai 0.7.63-beta.1 → 1.74.0-beta
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/README.md +11 -11
- package/dist/index.cjs +3 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.mjs +3 -0
- package/dist/xai-chat-model.cjs +35 -0
- package/{lib/cjs/xai-chat-model.d.ts → dist/xai-chat-model.d.cts} +10 -5
- package/dist/xai-chat-model.d.cts.map +1 -0
- package/{lib/dts/xai-chat-model.d.ts → dist/xai-chat-model.d.mts} +10 -5
- package/dist/xai-chat-model.d.mts.map +1 -0
- package/dist/xai-chat-model.mjs +36 -0
- package/dist/xai-chat-model.mjs.map +1 -0
- package/package.json +29 -30
- package/CHANGELOG.md +0 -2446
- package/lib/cjs/index.d.ts +0 -1
- package/lib/cjs/index.js +0 -17
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/xai-chat-model.js +0 -34
- package/lib/dts/index.d.ts +0 -1
- package/lib/esm/index.d.ts +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/package.json +0 -3
- package/lib/esm/xai-chat-model.d.ts +0 -22
- package/lib/esm/xai-chat-model.js +0 -30
package/README.md
CHANGED
|
@@ -2,28 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<picture>
|
|
5
|
-
<source srcset="https://raw.githubusercontent.com/
|
|
6
|
-
<source srcset="https://raw.githubusercontent.com/
|
|
7
|
-
<img src="https://raw.githubusercontent.com/
|
|
5
|
+
<source srcset="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/logo-dark.svg" media="(prefers-color-scheme: dark)">
|
|
6
|
+
<source srcset="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/logo.svg" media="(prefers-color-scheme: light)">
|
|
7
|
+
<img src="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/logo.svg" alt="AIGNE Logo" width="400" />
|
|
8
8
|
</picture>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
[](https://star-history.com/#ArcBlock/aigne-framework)
|
|
12
|
+
[](https://github.com/ArcBlock/aigne-framework/issues)
|
|
13
|
+
[](https://codecov.io/gh/ArcBlock/aigne-framework)
|
|
14
14
|
[](https://www.npmjs.com/package/@aigne/xai)
|
|
15
|
-
[](https://github.com/
|
|
15
|
+
[](https://github.com/ArcBlock/aigne-framework/blob/main/LICENSE.md)
|
|
16
16
|
|
|
17
|
-
AIGNE XAI SDK for integrating with XAI language models and API services within the [AIGNE Framework](https://github.com/
|
|
17
|
+
AIGNE XAI SDK for integrating with XAI language models and API services within the [AIGNE Framework](https://github.com/ArcBlock/aigne-framework).
|
|
18
18
|
|
|
19
19
|
## Introduction
|
|
20
20
|
|
|
21
21
|
`@aigne/xai` provides a seamless integration between the AIGNE Framework and XAI's language models and API services. This package enables developers to easily leverage XAI's models in their AIGNE applications, providing a consistent interface across the framework while taking advantage of XAI's advanced AI capabilities.
|
|
22
22
|
|
|
23
23
|
<picture>
|
|
24
|
-
<source srcset="https://raw.githubusercontent.com/
|
|
25
|
-
<source srcset="https://raw.githubusercontent.com/
|
|
26
|
-
<img src="https://raw.githubusercontent.com/
|
|
24
|
+
<source srcset="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/assets/aigne-xai-dark.png" media="(prefers-color-scheme: dark)">
|
|
25
|
+
<source srcset="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/assets/aigne-xai.png" media="(prefers-color-scheme: light)">
|
|
26
|
+
<img src="https://raw.githubusercontent.com/ArcBlock/aigne-framework/main/aigne-xai.png" alt="AIGNE Arch" />
|
|
27
27
|
</picture>
|
|
28
28
|
|
|
29
29
|
## Features
|
package/dist/index.cjs
ADDED
package/dist/index.d.cts
ADDED
package/dist/index.d.mts
ADDED
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
let _aigne_openai = require("@aigne/openai");
|
|
2
|
+
|
|
3
|
+
//#region src/xai-chat-model.ts
|
|
4
|
+
const XAI_DEFAULT_CHAT_MODEL = "grok-4-latest";
|
|
5
|
+
const XAI_BASE_URL = "https://api.x.ai/v1";
|
|
6
|
+
/**
|
|
7
|
+
* Implementation of the ChatModel interface for X.AI's API (Grok)
|
|
8
|
+
*
|
|
9
|
+
* This model uses OpenAI-compatible API format to interact with X.AI models,
|
|
10
|
+
* providing access to models like Grok.
|
|
11
|
+
*
|
|
12
|
+
* Default model: 'grok-2-latest'
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* Here's how to create and use an X.AI chat model:
|
|
16
|
+
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* Here's an example with streaming response:
|
|
20
|
+
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model-streaming}
|
|
21
|
+
*/
|
|
22
|
+
var XAIChatModel = class extends _aigne_openai.OpenAIChatModel {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
super({
|
|
25
|
+
...options,
|
|
26
|
+
model: options?.model || XAI_DEFAULT_CHAT_MODEL,
|
|
27
|
+
baseURL: options?.baseURL || XAI_BASE_URL
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
apiKeyEnvName = "XAI_API_KEY";
|
|
31
|
+
supportsToolStreaming = false;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.XAIChatModel = XAIChatModel;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { OpenAIChatModel,
|
|
1
|
+
import { OpenAIChatModel, OpenAIChatModelOptions } from "@aigne/openai";
|
|
2
|
+
|
|
3
|
+
//#region src/xai-chat-model.d.ts
|
|
2
4
|
/**
|
|
3
5
|
* Implementation of the ChatModel interface for X.AI's API (Grok)
|
|
4
6
|
*
|
|
@@ -15,8 +17,11 @@ import { OpenAIChatModel, type OpenAIChatModelOptions } from "@aigne/openai";
|
|
|
15
17
|
* Here's an example with streaming response:
|
|
16
18
|
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model-streaming}
|
|
17
19
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
declare class XAIChatModel extends OpenAIChatModel {
|
|
21
|
+
constructor(options?: OpenAIChatModelOptions);
|
|
22
|
+
protected apiKeyEnvName: string;
|
|
23
|
+
protected supportsToolStreaming: boolean;
|
|
22
24
|
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { XAIChatModel };
|
|
27
|
+
//# sourceMappingURL=xai-chat-model.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai-chat-model.d.cts","names":[],"sources":["../src/xai-chat-model.ts"],"mappings":";;;;AAqBA;;;;;;;;;;;;;;;cAAa,YAAA,SAAqB,eAAA;EAAA,YAAA,OAAA,GACV,sBAAA;EAAA,UAAA,aAAA;EAAA,UAAA,qBAAA;AAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { OpenAIChatModel,
|
|
1
|
+
import { OpenAIChatModel, OpenAIChatModelOptions } from "@aigne/openai";
|
|
2
|
+
|
|
3
|
+
//#region src/xai-chat-model.d.ts
|
|
2
4
|
/**
|
|
3
5
|
* Implementation of the ChatModel interface for X.AI's API (Grok)
|
|
4
6
|
*
|
|
@@ -15,8 +17,11 @@ import { OpenAIChatModel, type OpenAIChatModelOptions } from "@aigne/openai";
|
|
|
15
17
|
* Here's an example with streaming response:
|
|
16
18
|
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model-streaming}
|
|
17
19
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
declare class XAIChatModel extends OpenAIChatModel {
|
|
21
|
+
constructor(options?: OpenAIChatModelOptions);
|
|
22
|
+
protected apiKeyEnvName: string;
|
|
23
|
+
protected supportsToolStreaming: boolean;
|
|
22
24
|
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { XAIChatModel };
|
|
27
|
+
//# sourceMappingURL=xai-chat-model.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai-chat-model.d.mts","names":[],"sources":["../src/xai-chat-model.ts"],"mappings":";;;;AAqBA;;;;;;;;;;;;;;;cAAa,YAAA,SAAqB,eAAA;EAAA,YAAA,OAAA,GACV,sBAAA;EAAA,UAAA,aAAA;EAAA,UAAA,qBAAA;AAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OpenAIChatModel } from "@aigne/openai";
|
|
2
|
+
|
|
3
|
+
//#region src/xai-chat-model.ts
|
|
4
|
+
const XAI_DEFAULT_CHAT_MODEL = "grok-4-latest";
|
|
5
|
+
const XAI_BASE_URL = "https://api.x.ai/v1";
|
|
6
|
+
/**
|
|
7
|
+
* Implementation of the ChatModel interface for X.AI's API (Grok)
|
|
8
|
+
*
|
|
9
|
+
* This model uses OpenAI-compatible API format to interact with X.AI models,
|
|
10
|
+
* providing access to models like Grok.
|
|
11
|
+
*
|
|
12
|
+
* Default model: 'grok-2-latest'
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* Here's how to create and use an X.AI chat model:
|
|
16
|
+
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* Here's an example with streaming response:
|
|
20
|
+
* {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model-streaming}
|
|
21
|
+
*/
|
|
22
|
+
var XAIChatModel = class extends OpenAIChatModel {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
super({
|
|
25
|
+
...options,
|
|
26
|
+
model: options?.model || XAI_DEFAULT_CHAT_MODEL,
|
|
27
|
+
baseURL: options?.baseURL || XAI_BASE_URL
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
apiKeyEnvName = "XAI_API_KEY";
|
|
31
|
+
supportsToolStreaming = false;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { XAIChatModel };
|
|
36
|
+
//# sourceMappingURL=xai-chat-model.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai-chat-model.mjs","names":[],"sources":["../src/xai-chat-model.ts"],"sourcesContent":["import { OpenAIChatModel, type OpenAIChatModelOptions } from \"@aigne/openai\";\n\nconst XAI_DEFAULT_CHAT_MODEL = \"grok-4-latest\";\nconst XAI_BASE_URL = \"https://api.x.ai/v1\";\n\n/**\n * Implementation of the ChatModel interface for X.AI's API (Grok)\n *\n * This model uses OpenAI-compatible API format to interact with X.AI models,\n * providing access to models like Grok.\n *\n * Default model: 'grok-2-latest'\n *\n * @example\n * Here's how to create and use an X.AI chat model:\n * {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model}\n *\n * @example\n * Here's an example with streaming response:\n * {@includeCode ../test/xai-chat-model.test.ts#example-xai-chat-model-streaming}\n */\nexport class XAIChatModel extends OpenAIChatModel {\n constructor(options?: OpenAIChatModelOptions) {\n super({\n ...options,\n model: options?.model || XAI_DEFAULT_CHAT_MODEL,\n baseURL: options?.baseURL || XAI_BASE_URL,\n });\n }\n\n protected override apiKeyEnvName = \"XAI_API_KEY\";\n\n protected override supportsToolStreaming = false;\n}\n"],"mappings":";;;AAEA,MAAM,yBAAyB;AAC/B,MAAM,eAAe;;;;;;;;;;;;;;;;;AAkBrB,IAAa,eAAb,cAAkC,gBAAgB;CAChD,YAAY,SAAkC;AAC5C,QAAM;GACJ,GAAG;GACH,OAAO,SAAS,SAAS;GACzB,SAAS,SAAS,WAAW;GAC9B,CAAC;;CAGJ,AAAmB,gBAAgB;CAEnC,AAAmB,wBAAwB"}
|
package/package.json
CHANGED
|
@@ -1,57 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aigne/xai",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.74.0-beta",
|
|
4
4
|
"description": "AIGNE XAI SDK for integrating with XAI language models and API services",
|
|
5
|
+
"license": "Elastic-2.0",
|
|
5
6
|
"publishConfig": {
|
|
6
7
|
"access": "public"
|
|
7
8
|
},
|
|
8
9
|
"author": "Arcblock <blocklet@arcblock.io> https://github.com/blocklet",
|
|
9
10
|
"homepage": "https://www.aigne.io/framework",
|
|
10
|
-
"license": "Elastic-2.0",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
13
|
+
"url": "git+https://github.com/ArcBlock/aigne-framework"
|
|
14
14
|
},
|
|
15
15
|
"bugs": {
|
|
16
|
-
"url": "https://github.com/
|
|
16
|
+
"url": "https://github.com/ArcBlock/aigne-framework/issues"
|
|
17
|
+
},
|
|
18
|
+
"type": "module",
|
|
19
|
+
"main": "./dist/index.cjs",
|
|
20
|
+
"module": "./dist/index.mjs",
|
|
21
|
+
"types": "./dist/index.d.cts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"require": "./dist/index.cjs",
|
|
25
|
+
"import": "./dist/index.mjs"
|
|
26
|
+
},
|
|
27
|
+
"./*": "./*"
|
|
17
28
|
},
|
|
18
29
|
"files": [
|
|
19
|
-
"
|
|
20
|
-
"lib/dts",
|
|
21
|
-
"lib/esm",
|
|
30
|
+
"dist",
|
|
22
31
|
"LICENSE",
|
|
23
32
|
"README.md",
|
|
24
33
|
"CHANGELOG.md"
|
|
25
34
|
],
|
|
26
|
-
"type": "module",
|
|
27
|
-
"main": "./lib/cjs/index.js",
|
|
28
|
-
"module": "./lib/esm/index.js",
|
|
29
|
-
"types": "./lib/dts/index.d.ts",
|
|
30
|
-
"exports": {
|
|
31
|
-
".": {
|
|
32
|
-
"import": "./lib/esm/index.js",
|
|
33
|
-
"require": "./lib/cjs/index.js",
|
|
34
|
-
"types": "./lib/dts/index.d.ts"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
35
|
"dependencies": {
|
|
38
|
-
"@aigne/openai": "^
|
|
36
|
+
"@aigne/openai": "^1.74.0-beta"
|
|
39
37
|
},
|
|
40
38
|
"devDependencies": {
|
|
41
|
-
"@types/bun": "^1.
|
|
42
|
-
"@types/node": "^24.5.1",
|
|
39
|
+
"@types/bun": "^1.3.6",
|
|
43
40
|
"npm-run-all": "^4.1.5",
|
|
44
|
-
"rimraf": "^6.
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"@aigne/
|
|
41
|
+
"rimraf": "^6.1.2",
|
|
42
|
+
"tsdown": "0.20.0-beta.3",
|
|
43
|
+
"typescript": "5.9.2",
|
|
44
|
+
"@aigne/core": "1.74.0-beta",
|
|
45
|
+
"@aigne/scripts": "0.0.0",
|
|
46
|
+
"@aigne/typescript-config": "0.0.0",
|
|
47
|
+
"@aigne/utils": "1.74.0-beta"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"clean": "rimraf
|
|
50
|
+
"build": "tsdown",
|
|
51
|
+
"check-types": "tsc --noEmit",
|
|
52
|
+
"clean": "rimraf dist coverage",
|
|
53
53
|
"test": "bun test",
|
|
54
|
-
"test:coverage": "bun test --coverage --coverage-reporter=lcov --coverage-reporter=text"
|
|
55
|
-
"postbuild": "node ../../scripts/post-build-lib.mjs"
|
|
54
|
+
"test:coverage": "bun test --coverage --coverage-reporter=lcov --coverage-reporter=text"
|
|
56
55
|
}
|
|
57
56
|
}
|