czon 0.6.8 → 0.6.9
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/process/template.js +5 -1
- package/dist/services/openai.js +14 -10
- package/package.json +3 -1
package/dist/process/template.js
CHANGED
|
@@ -32,9 +32,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.downloadCDNResources = exports.spiderStaticSiteGenerator = void 0;
|
|
37
40
|
const fs = __importStar(require("fs/promises"));
|
|
41
|
+
const make_fetch_happen_1 = __importDefault(require("make-fetch-happen"));
|
|
38
42
|
const path = __importStar(require("path"));
|
|
39
43
|
const sitemap_1 = require("../build/sitemap");
|
|
40
44
|
const metadata_1 = require("../metadata");
|
|
@@ -147,7 +151,7 @@ const downloadCDNResources = async () => {
|
|
|
147
151
|
for (const resource of resourceMap_1.EXTERNAL_RESOURCES) {
|
|
148
152
|
const targetFilePath = path.join(paths_1.CZON_DIST_DIR, 'assets', resource.name);
|
|
149
153
|
console.info(`⬇️ Downloading resource: ${resource.url} -> ${targetFilePath}`);
|
|
150
|
-
const response = await
|
|
154
|
+
const response = await (0, make_fetch_happen_1.default)(resource.url);
|
|
151
155
|
if (!response.ok) {
|
|
152
156
|
console.error(`❌ Failed to download resource: ${resource.url}, status: ${response.status}`);
|
|
153
157
|
throw new Error(`Failed to download resource: ${resource.url}`);
|
package/dist/services/openai.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.completeMessages = void 0;
|
|
7
|
+
// 使用 make-fetch-happen 以支持代理选项 (支持环境变量 HTTP_PROXY, HTTPS_PROXY, PROXY, NO_PROXY)
|
|
8
|
+
const make_fetch_happen_1 = __importDefault(require("make-fetch-happen"));
|
|
4
9
|
const startTime = Date.now();
|
|
5
10
|
let totalContentGenerated = 0;
|
|
6
11
|
const processingTaskIds = new Set();
|
|
@@ -70,7 +75,7 @@ const completeMessages = async (messages, options) => {
|
|
|
70
75
|
// for (const msg of messages) {
|
|
71
76
|
// console.info(`💬 [${msg.role}] ${msg.content}`);
|
|
72
77
|
// }
|
|
73
|
-
const response = await
|
|
78
|
+
const response = await (0, make_fetch_happen_1.default)(`${baseUrl}/chat/completions`, {
|
|
74
79
|
method: 'POST',
|
|
75
80
|
headers: {
|
|
76
81
|
'Content-Type': 'application/json',
|
|
@@ -83,17 +88,10 @@ const completeMessages = async (messages, options) => {
|
|
|
83
88
|
throw new Error(`OpenAI API error (${response.status}): ${errorText}`);
|
|
84
89
|
}
|
|
85
90
|
// 处理流式响应
|
|
86
|
-
const reader = response.body?.getReader();
|
|
87
|
-
if (!reader) {
|
|
88
|
-
throw new Error('No response body reader available');
|
|
89
|
-
}
|
|
90
91
|
const decoder = new TextDecoder();
|
|
91
92
|
let buffer = '';
|
|
92
93
|
let content = '';
|
|
93
|
-
|
|
94
|
-
const { done, value } = await reader.read();
|
|
95
|
-
if (done)
|
|
96
|
-
break;
|
|
94
|
+
const handleData = (value) => {
|
|
97
95
|
buffer += decoder.decode(value, { stream: true });
|
|
98
96
|
const lines = buffer.split('\n');
|
|
99
97
|
buffer = lines.pop() || ''; // 保留未完成的行
|
|
@@ -134,7 +132,13 @@ const completeMessages = async (messages, options) => {
|
|
|
134
132
|
}
|
|
135
133
|
}
|
|
136
134
|
}
|
|
137
|
-
}
|
|
135
|
+
};
|
|
136
|
+
//
|
|
137
|
+
await new Promise((resolve, reject) => {
|
|
138
|
+
response.body.on('data', handleData);
|
|
139
|
+
response.body.on('end', () => resolve());
|
|
140
|
+
response.body.on('error', err => reject(err));
|
|
141
|
+
});
|
|
138
142
|
// 确保所有剩余数据被解码
|
|
139
143
|
if (buffer) {
|
|
140
144
|
buffer += decoder.decode();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "czon",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.9",
|
|
4
4
|
"description": "CZone - AI enhanced Markdown content engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/chokidar": "^1.7.5",
|
|
44
44
|
"@types/express": "^5.0.6",
|
|
45
|
+
"@types/make-fetch-happen": "^10.0.4",
|
|
45
46
|
"@types/node": "^25.0.3",
|
|
46
47
|
"@types/yaml": "^1.9.6",
|
|
47
48
|
"husky": "^9.1.7",
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
"dotenv": "^16.4.7",
|
|
60
61
|
"express": "^4.21.2",
|
|
61
62
|
"highlight.js": "^11.11.1",
|
|
63
|
+
"make-fetch-happen": "^15.0.3",
|
|
62
64
|
"marked": "^17.0.1",
|
|
63
65
|
"marked-footnote": "^1.4.0",
|
|
64
66
|
"marked-katex-extension": "^5.1.6",
|