症状(实测):宿主缓存布局是 <市场>/<插件>/<版本>/,deta-cli 原先用「自身目录名的上一级」推断产品名,于是 status 显示工作区 ~/.deta/0.3.3/workspace,doctor 会以 --profile 0.3.3 拉起服务并真的创建该目录。 修复:detectProfile 优先读 .codex-plugin/plugin.json 的 name(开发态与缓存态都对),DETA_PROFILE 仍可覆盖,清单不可读才回落目录名。studio 0.3.4 / writer 0.1.2。 验证:重装 0.3.4 后 status 显示 /Users/ringo/.deta/studio/workspace,doctor 以 --profile studio 握手成功 37 工具。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "studio",
|
||||
"version": "0.3.3",
|
||||
"version": "0.3.4",
|
||||
"description": "DETA Studio 插件:以 AML 为唯一事实源编辑建筑模型,编译为建筑模型并执行规则校验。",
|
||||
"author": {
|
||||
"name": "DETA",
|
||||
|
||||
@@ -23,8 +23,17 @@ import { fileURLToPath } from 'node:url';
|
||||
const HERE = dirname(fileURLToPath(import.meta.url));
|
||||
const HOME = homedir();
|
||||
const DETA_DIR = join(HOME, '.deta');
|
||||
/** 产品档位:由本文件所在插件目录名决定(studio / writer),DETA_PROFILE 可覆盖 */
|
||||
const PROFILE = process.env.DETA_PROFILE || basename(join(HERE, '..'));
|
||||
/** 产品档位:优先读插件清单的 name——开发态是 `plugins/studio`,而宿主缓存布局是
|
||||
* `<市场>/<插件>/<版本>/`,从路径取目录名会把版本号当成产品名(实测踩过)。 */
|
||||
function detectProfile() {
|
||||
if (process.env.DETA_PROFILE) return process.env.DETA_PROFILE;
|
||||
try {
|
||||
const manifest = JSON.parse(readFileSync(join(HERE, '..', '.codex-plugin', 'plugin.json'), 'utf8'));
|
||||
if (typeof manifest?.name === 'string' && manifest.name) return manifest.name;
|
||||
} catch { /* 清单不可读时回落目录名(仅开发态正确) */ }
|
||||
return basename(join(HERE, '..'));
|
||||
}
|
||||
const PROFILE = detectProfile();
|
||||
|
||||
function readToken() {
|
||||
if (process.env.DETA_TOKEN) return { source: '环境变量 DETA_TOKEN', token: process.env.DETA_TOKEN };
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "deta-studio-plugin",
|
||||
"version": "0.3.3",
|
||||
"version": "0.3.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "deta-studio-plugin",
|
||||
"version": "0.3.3",
|
||||
"version": "0.3.4",
|
||||
"license": "Proprietary"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "deta-studio-plugin",
|
||||
"version": "0.3.3",
|
||||
"version": "0.3.4",
|
||||
"description": "DETA Studio:AML 建筑模型读写与编译校验(Codex 插件 / dsh 组合包 双壳)",
|
||||
"type": "module",
|
||||
"license": "Proprietary",
|
||||
|
||||
Reference in New Issue
Block a user