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.
@@ -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 fetch(resource.url);
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}`);
@@ -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 fetch(`${baseUrl}/chat/completions`, {
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
- while (true) {
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.8",
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",