@zhhoceanfly/protoview 0.0.0-stage → 0.1.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.sourceCacheDir = sourceCacheDir;
37
+ exports.syncGitSource = syncGitSource;
38
+ exports.collectProtoFiles = collectProtoFiles;
39
+ exports.sourceSummary = sourceSummary;
40
+ const crypto_1 = require("crypto");
41
+ const child_process_1 = require("child_process");
42
+ const fs = __importStar(require("fs/promises"));
43
+ const os = __importStar(require("os"));
44
+ const path = __importStar(require("path"));
45
+ const util_1 = require("util");
46
+ const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
47
+ function sourceCacheDir(gitUrl) {
48
+ const hash = (0, crypto_1.createHash)("sha1").update(gitUrl.trim()).digest("hex").slice(0, 12);
49
+ return path.join(os.tmpdir(), "protoview-git", hash);
50
+ }
51
+ async function syncGitSource(config, log = () => undefined) {
52
+ const lines = [];
53
+ const write = (line) => {
54
+ const text = line.replace(/\s+$/g, "");
55
+ if (!text)
56
+ return;
57
+ lines.push(text);
58
+ log(text);
59
+ };
60
+ const url = config.gitUrl.trim();
61
+ const branch = config.gitBranch.trim() || "main";
62
+ const localPath = url ? sourceCacheDir(url) : "";
63
+ write("======== ProtoView Git 同步开始 ========");
64
+ write(`时间: ${new Date().toLocaleString()}`);
65
+ write(`地址: ${url || "(空)"}`);
66
+ write(`分支: ${branch}`);
67
+ write(`临时目录: ${localPath || "(未生成)"}`);
68
+ write(`系统临时根: ${os.tmpdir()}`);
69
+ if (!url) {
70
+ const lastError = "请先填写 Git 地址";
71
+ write(`错误: ${lastError}`);
72
+ return { ...config, lastError, localPath: "", lastLog: lines.join("\n"), lastSyncedAt: 0 };
73
+ }
74
+ if (!/^https?:\/\/|^git@|^ssh:\/\//i.test(url)) {
75
+ const lastError = "Git 地址格式不正确";
76
+ write(`错误: ${lastError}`);
77
+ return { ...config, lastError, localPath, lastLog: lines.join("\n"), lastSyncedAt: 0 };
78
+ }
79
+ await fs.mkdir(path.dirname(localPath), { recursive: true });
80
+ try {
81
+ const version = await ensureGitAvailable(write);
82
+ write(`Git 版本: ${version}`);
83
+ const exists = await pathExists(path.join(localPath, ".git"));
84
+ write(`本地仓库是否已存在: ${exists ? "是" : "否"}`);
85
+ if (!exists) {
86
+ write(`清理目录: ${localPath}`);
87
+ await fs.rm(localPath, { recursive: true, force: true });
88
+ await runGit(["clone", "--progress", "--depth", "1", "--branch", branch, url, localPath], path.dirname(localPath), write);
89
+ }
90
+ else {
91
+ await runGit(["remote", "set-url", "origin", url], localPath, write);
92
+ await runGit(["remote", "-v"], localPath, write);
93
+ await runGit(["fetch", "--progress", "--depth", "1", "origin", branch], localPath, write);
94
+ await runGit(["checkout", "-B", branch, `origin/${branch}`], localPath, write);
95
+ await runGit(["status", "-sb"], localPath, write);
96
+ await runGit(["rev-parse", "--short", "HEAD"], localPath, write);
97
+ }
98
+ write("同步成功");
99
+ write("======== ProtoView Git 同步结束 ========");
100
+ return {
101
+ ...config,
102
+ gitUrl: url,
103
+ gitBranch: branch,
104
+ localPath,
105
+ lastError: "",
106
+ lastLog: lines.join("\n"),
107
+ lastSyncedAt: Date.now(),
108
+ };
109
+ }
110
+ catch (error) {
111
+ const message = error instanceof Error ? error.message : String(error);
112
+ write(`错误: ${message}`);
113
+ write("提示: 私有仓库需本机 Git 已登录;HTTPS 可用凭证管理器,SSH 需配置密钥。");
114
+ write("提示: 也可在终端手动执行上面的 git 命令对照报错。");
115
+ write("======== ProtoView Git 同步结束(失败) ========");
116
+ return {
117
+ ...config,
118
+ gitUrl: url,
119
+ gitBranch: branch,
120
+ localPath,
121
+ lastError: truncate(message, 240),
122
+ lastLog: lines.join("\n"),
123
+ lastSyncedAt: config.lastSyncedAt,
124
+ };
125
+ }
126
+ }
127
+ async function collectProtoFiles(root) {
128
+ const out = [];
129
+ const skip = new Set(["node_modules", ".git", "out", "dist", ".vs", ".idea"]);
130
+ const walk = async (dir) => {
131
+ let entries;
132
+ try {
133
+ entries = await fs.readdir(dir, { withFileTypes: true });
134
+ }
135
+ catch {
136
+ return;
137
+ }
138
+ for (const entry of entries) {
139
+ if (entry.isDirectory()) {
140
+ if (skip.has(entry.name))
141
+ continue;
142
+ await walk(path.join(dir, entry.name));
143
+ continue;
144
+ }
145
+ if (entry.isFile() && entry.name.endsWith(".proto")) {
146
+ const full = path.join(dir, entry.name);
147
+ out.push({ path: full, relPath: path.relative(root, full) });
148
+ }
149
+ }
150
+ };
151
+ await walk(root);
152
+ out.sort((a, b) => a.relPath.localeCompare(b.relPath));
153
+ return out;
154
+ }
155
+ function sourceSummary(config) {
156
+ if (config.mode === "workspace") {
157
+ if (config.dirPath?.trim())
158
+ return "工作区 · 自定义目录";
159
+ return "工作区自动识别";
160
+ }
161
+ if (!config.gitUrl)
162
+ return "Git · 未配置";
163
+ const branch = config.gitBranch || "main";
164
+ if (config.lastError)
165
+ return `Git · ${branch} · 失败`;
166
+ if (config.localPath)
167
+ return `Git · ${branch}`;
168
+ return `Git · ${branch} · 待同步`;
169
+ }
170
+ function truncate(text, max) {
171
+ const oneLine = text.replace(/\s+/g, " ").trim();
172
+ return oneLine.length > max ? `${oneLine.slice(0, max - 1)}…` : oneLine;
173
+ }
174
+ async function ensureGitAvailable(log) {
175
+ try {
176
+ const { stdout } = await execFileAsync("git", ["--version"], { windowsHide: true });
177
+ return (stdout || "").trim();
178
+ }
179
+ catch {
180
+ log("错误: 未找到 git 命令");
181
+ throw new Error("未找到 git 命令,请先安装 Git 并确保已加入 PATH");
182
+ }
183
+ }
184
+ async function runGit(args, cwd, log) {
185
+ const command = `git ${args.map(shellQuote).join(" ")}`;
186
+ log(`$ ${command}`);
187
+ log(` cwd: ${cwd}`);
188
+ try {
189
+ const { stdout, stderr } = await execFileAsync("git", args, {
190
+ cwd,
191
+ windowsHide: true,
192
+ maxBuffer: 16 * 1024 * 1024,
193
+ env: {
194
+ ...process.env,
195
+ GIT_TERMINAL_PROMPT: "0",
196
+ GIT_TRACE: process.env.PROTOVIEW_GIT_TRACE || "",
197
+ },
198
+ });
199
+ const out = [stdout, stderr].filter(Boolean).join("\n").trim();
200
+ if (out) {
201
+ for (const line of out.split(/\r?\n/))
202
+ log(` ${line}`);
203
+ }
204
+ else {
205
+ log(" (无输出)");
206
+ }
207
+ return out;
208
+ }
209
+ catch (error) {
210
+ const err = error;
211
+ const detail = [err.stdout, err.stderr, err.message].filter(Boolean).join("\n").trim();
212
+ if (detail) {
213
+ for (const line of detail.split(/\r?\n/))
214
+ log(` ! ${line}`);
215
+ }
216
+ if (typeof err.code === "number")
217
+ log(` exit code: ${err.code}`);
218
+ throw new Error(detail || String(error));
219
+ }
220
+ }
221
+ function shellQuote(value) {
222
+ if (!/[\s"']/.test(value))
223
+ return value;
224
+ return `"${value.replace(/"/g, '\\"')}"`;
225
+ }
226
+ async function pathExists(filePath) {
227
+ try {
228
+ await fs.access(filePath);
229
+ return true;
230
+ }
231
+ catch {
232
+ return false;
233
+ }
234
+ }
235
+ //# sourceMappingURL=sourceCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceCore.js","sourceRoot":"","sources":["../src/sourceCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.invokeSse = invokeSse;
37
+ const http = __importStar(require("http"));
38
+ const https = __importStar(require("https"));
39
+ async function invokeSse(req) {
40
+ const started = Date.now();
41
+ const verb = (req.httpMethod || "GET").toUpperCase();
42
+ const hostRaw = (req.host || "").trim();
43
+ const label = `SSE ${verb} ${req.httpPath || "/"}`;
44
+ const base = {
45
+ id: req.id,
46
+ host: hostRaw,
47
+ method: label,
48
+ ms: 0,
49
+ };
50
+ if (!hostRaw) {
51
+ return { ...base, ok: false, status: "INVALID", error: "未配置地址" };
52
+ }
53
+ let url;
54
+ try {
55
+ url = buildUrl(hostRaw, req.httpPath || "/", Boolean(req.tls));
56
+ }
57
+ catch (error) {
58
+ return {
59
+ ...base,
60
+ ok: false,
61
+ status: "INVALID",
62
+ ms: Date.now() - started,
63
+ error: `地址无效:${error.message}`,
64
+ };
65
+ }
66
+ const noBody = verb === "GET" || verb === "HEAD";
67
+ if (noBody && req.body && typeof req.body === "object" && !Array.isArray(req.body)) {
68
+ for (const [key, value] of Object.entries(req.body)) {
69
+ if (value === undefined || value === null || value === "")
70
+ continue;
71
+ url.searchParams.set(key, typeof value === "object" ? JSON.stringify(value) : String(value));
72
+ }
73
+ }
74
+ const payload = noBody ? "" : JSON.stringify(req.body ?? {});
75
+ const headers = {
76
+ accept: "text/event-stream",
77
+ "cache-control": "no-cache",
78
+ };
79
+ if (!noBody) {
80
+ headers["content-type"] = "application/json";
81
+ headers["content-length"] = String(Buffer.byteLength(payload));
82
+ }
83
+ for (const [name, value] of Object.entries(req.metadata ?? {})) {
84
+ if (name.trim())
85
+ headers[name.trim().toLowerCase()] = String(value ?? "");
86
+ }
87
+ const maxEvents = Math.min(200, Math.max(1, Math.floor(req.maxEvents || 50)));
88
+ const timeoutMs = Math.min(60000, Math.max(1000, Math.floor(req.timeoutMs || 15000)));
89
+ try {
90
+ const { status, events, raw } = await readSse(url, verb, headers, payload, maxEvents, timeoutMs);
91
+ const ok = status >= 200 && status < 300;
92
+ return {
93
+ ...base,
94
+ ok,
95
+ status: String(status),
96
+ code: status,
97
+ ms: Date.now() - started,
98
+ host: url.host,
99
+ method: `SSE ${verb} ${url.pathname}${url.search}`,
100
+ body: {
101
+ events: events.map((ev) => ({
102
+ event: ev.event || "message",
103
+ id: ev.id,
104
+ data: tryParse(ev.data),
105
+ })),
106
+ count: events.length,
107
+ raw: raw.slice(0, 4000),
108
+ },
109
+ error: ok ? undefined : `HTTP ${status}`,
110
+ };
111
+ }
112
+ catch (error) {
113
+ return {
114
+ ...base,
115
+ ok: false,
116
+ status: "ERROR",
117
+ ms: Date.now() - started,
118
+ host: url.host,
119
+ error: error.message || String(error),
120
+ };
121
+ }
122
+ }
123
+ function buildUrl(hostRaw, path, tls) {
124
+ if (/^https?:\/\//i.test(path))
125
+ return new URL(path);
126
+ const origin = /^https?:\/\//i.test(hostRaw)
127
+ ? hostRaw
128
+ : `${tls ? "https" : "http"}://${hostRaw}`;
129
+ const base = new URL(origin.endsWith("/") ? origin : `${origin}/`);
130
+ const rel = path.startsWith("/") ? path : `/${path}`;
131
+ return new URL(rel, base);
132
+ }
133
+ function readSse(url, method, headers, payload, maxEvents, timeoutMs) {
134
+ return new Promise((resolve, reject) => {
135
+ const lib = url.protocol === "https:" ? https : http;
136
+ const events = [];
137
+ let raw = "";
138
+ let buffer = "";
139
+ let settled = false;
140
+ let current = { data: "" };
141
+ const finish = (status) => {
142
+ if (settled)
143
+ return;
144
+ settled = true;
145
+ flushEvent();
146
+ resolve({ status, events, raw });
147
+ };
148
+ const req = lib.request(url, { method, headers, timeout: timeoutMs }, (res) => {
149
+ const status = res.statusCode || 0;
150
+ const ctype = String(res.headers["content-type"] || "");
151
+ if (status >= 400) {
152
+ const chunks = [];
153
+ res.on("data", (c) => chunks.push(Buffer.from(c)));
154
+ res.on("end", () => {
155
+ raw = Buffer.concat(chunks).toString("utf8");
156
+ finish(status);
157
+ });
158
+ return;
159
+ }
160
+ if (ctype && !ctype.includes("text/event-stream") && !ctype.includes("text/plain")) {
161
+ // still try to parse as SSE if server mislabels
162
+ }
163
+ res.setEncoding("utf8");
164
+ res.on("data", (chunk) => {
165
+ raw += chunk;
166
+ buffer += chunk;
167
+ let idx;
168
+ while ((idx = buffer.indexOf("\n")) >= 0) {
169
+ let line = buffer.slice(0, idx);
170
+ buffer = buffer.slice(idx + 1);
171
+ if (line.endsWith("\r"))
172
+ line = line.slice(0, -1);
173
+ if (line === "") {
174
+ flushEvent();
175
+ if (events.length >= maxEvents) {
176
+ req.destroy();
177
+ finish(status);
178
+ return;
179
+ }
180
+ continue;
181
+ }
182
+ if (line.startsWith(":"))
183
+ continue;
184
+ const colon = line.indexOf(":");
185
+ const field = colon < 0 ? line : line.slice(0, colon);
186
+ let value = colon < 0 ? "" : line.slice(colon + 1);
187
+ if (value.startsWith(" "))
188
+ value = value.slice(1);
189
+ if (field === "data") {
190
+ current.data = current.data ? `${current.data}\n${value}` : value;
191
+ }
192
+ else if (field === "event") {
193
+ current.event = value;
194
+ }
195
+ else if (field === "id") {
196
+ current.id = value;
197
+ }
198
+ }
199
+ });
200
+ res.on("end", () => finish(status));
201
+ res.on("error", (err) => {
202
+ if (!settled) {
203
+ settled = true;
204
+ reject(err);
205
+ }
206
+ });
207
+ });
208
+ req.on("timeout", () => {
209
+ req.destroy();
210
+ if (!settled)
211
+ finish(200);
212
+ });
213
+ req.on("error", (err) => {
214
+ if (!settled) {
215
+ settled = true;
216
+ reject(err);
217
+ }
218
+ });
219
+ if (payload)
220
+ req.write(payload);
221
+ req.end();
222
+ function flushEvent() {
223
+ if (!current.data && !current.event && !current.id) {
224
+ current = { data: "" };
225
+ return;
226
+ }
227
+ events.push(current);
228
+ current = { data: "" };
229
+ }
230
+ });
231
+ }
232
+ function tryParse(text) {
233
+ const trimmed = text.trim();
234
+ if (!trimmed)
235
+ return "";
236
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
237
+ try {
238
+ return JSON.parse(trimmed);
239
+ }
240
+ catch { /* keep text */ }
241
+ }
242
+ return text;
243
+ }
244
+ //# sourceMappingURL=sseInvoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sseInvoke.js","sourceRoot":"","sources":["../src/sseInvoke.ts"],"names":[],"mappings":"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"}