openfeel 1.1.0 → 1.1.1
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.en.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +2 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +10 -1
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/setup.d.ts +7 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +31 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +1 -10
- package/dist/commands/update.js.map +1 -1
- package/dist/core/config.js +2 -2
- package/dist/core/global-paths.d.ts +3 -1
- package/dist/core/global-paths.d.ts.map +1 -1
- package/dist/core/global-paths.js +5 -1
- package/dist/core/global-paths.js.map +1 -1
- package/dist/core/i18n-data/en.d.ts +1 -0
- package/dist/core/i18n-data/en.d.ts.map +1 -1
- package/dist/core/i18n-data/en.js +17 -0
- package/dist/core/i18n-data/en.js.map +1 -1
- package/dist/core/i18n-data/zh-CN.d.ts +1 -0
- package/dist/core/i18n-data/zh-CN.d.ts.map +1 -1
- package/dist/core/i18n-data/zh-CN.js +18 -0
- package/dist/core/i18n-data/zh-CN.js.map +1 -1
- package/dist/core/i18n.js +4 -4
- package/dist/core/i18n.js.map +1 -1
- package/dist/core/init.d.ts +10 -15
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +57 -139
- package/dist/core/init.js.map +1 -1
- package/dist/core/migrate.d.ts +12 -0
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +36 -11
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/opencode-config.d.ts +2 -2
- package/dist/core/opencode-config.d.ts.map +1 -1
- package/dist/core/opencode-config.js +16 -4
- package/dist/core/opencode-config.js.map +1 -1
- package/dist/core/setup.d.ts +10 -0
- package/dist/core/setup.d.ts.map +1 -0
- package/dist/core/setup.js +75 -0
- package/dist/core/setup.js.map +1 -0
- package/dist/core/template-loader.d.ts +4 -5
- package/dist/core/template-loader.d.ts.map +1 -1
- package/dist/core/template-loader.js +741 -62
- package/dist/core/template-loader.js.map +1 -1
- package/dist/core/templates.d.ts +2 -2
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +2 -2
- package/dist/core/templates.js.map +1 -1
- package/dist/core/update.d.ts +0 -6
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +92 -95
- package/dist/core/update.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,17 +8,17 @@ import { getGlobalCoreMdPath } from './global-paths.js';
|
|
|
8
8
|
function isPlainObject(v) {
|
|
9
9
|
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
10
10
|
}
|
|
11
|
-
/** 框架级全局 opencode.jsonc 内容对象(N7
|
|
11
|
+
/** 框架级全局 opencode.jsonc 内容对象(N7;全局 AGENTS.md 由约定自动加载承载约束,故不写 instructions) */
|
|
12
12
|
export function buildGlobalOpencodeFrameworkObj() {
|
|
13
13
|
return {
|
|
14
14
|
$schema: 'https://opencode.ai/config.json',
|
|
15
15
|
default_agent: 'feel',
|
|
16
|
-
instructions: [getGlobalCoreMdPath()],
|
|
17
16
|
agent: {
|
|
18
17
|
'openfeel-vision': { model: 'deepseek/deepseek-flash' },
|
|
19
|
-
'openfeel-reviewer': { model: 'zhipuai/glm-5.
|
|
18
|
+
'openfeel-reviewer': { model: 'zhipuai/glm-5.3-flash' },
|
|
20
19
|
},
|
|
21
20
|
// N3:experimental.agent_manager_tool 已被移除(op-000 实测 schema 未定义 + 静默丢弃),故不写
|
|
21
|
+
// v1.1.1:instructions 已移除——op-000 实测全局 AGENTS.md 自动加载(YES),约束无需显式 instructions 引用
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
/** 项目 opencode.jsonc 最小覆盖内容(N7:仅 $schema,不写 instructions/skills/default_agent) */
|
|
@@ -114,10 +114,22 @@ export function deepMergeJsonc(base, overlay) {
|
|
|
114
114
|
}
|
|
115
115
|
return result;
|
|
116
116
|
}
|
|
117
|
-
/** 合并全局 opencode.jsonc
|
|
117
|
+
/** 合并全局 opencode.jsonc:解析→深度合并→清理废弃 core.md 引用→序列化(保留用户字段,注释不保留) */
|
|
118
118
|
export function mergeGlobalOpencodeJsonc(raw) {
|
|
119
119
|
const base = parseJsonc(raw);
|
|
120
120
|
const merged = deepMergeJsonc(base, buildGlobalOpencodeFrameworkObj());
|
|
121
|
+
// 移除已废弃的 core.md instructions 引用(v1.1.1:core.md 已并入全局 AGENTS.md)
|
|
122
|
+
const instr = merged.instructions;
|
|
123
|
+
if (Array.isArray(instr)) {
|
|
124
|
+
const stale = getGlobalCoreMdPath();
|
|
125
|
+
const filtered = instr.filter((p) => p !== stale);
|
|
126
|
+
if (filtered.length === 0) {
|
|
127
|
+
delete merged.instructions;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
merged.instructions = filtered;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
121
133
|
return JSON.stringify(merged, null, 2) + '\n';
|
|
122
134
|
}
|
|
123
135
|
//# sourceMappingURL=opencode-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-config.js","sourceRoot":"","sources":["../../src/core/opencode-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,0BAA0B;AAC1B,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"opencode-config.js","sourceRoot":"","sources":["../../src/core/opencode-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** setup 部署结果 */
|
|
2
|
+
export interface SetupResult {
|
|
3
|
+
created: string[];
|
|
4
|
+
updated: string[];
|
|
5
|
+
skipped: string[];
|
|
6
|
+
appended: string[];
|
|
7
|
+
}
|
|
8
|
+
/** 纯全局部署(首次全量,幂等);不建立项目 .openfeel/ */
|
|
9
|
+
export declare function setupGlobalFramework(lang?: 'zh-CN' | 'en'): SetupResult;
|
|
10
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"AAeA,iBAAiB;AACjB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,OAAO,GAAG,IAAc,GAAG,WAAW,CA2DhF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* setup 命令核心模块(v1.1.1)
|
|
3
|
+
* 纯全局部署:全局 AGENTS.md + 9 agent + 16 skill + 全局 opencode.jsonc。
|
|
4
|
+
* 不建立项目 .openfeel/;复用 deployGlobalAsset(受管区三态,幂等可重跑)。
|
|
5
|
+
*/
|
|
6
|
+
import { mkdirSync, existsSync, readFileSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { listAgentIds, loadAgentTemplate, loadTemplate } from './template-loader.js';
|
|
9
|
+
import { loadGlobalUpdateState, saveGlobalUpdateState, createGlobalUpdateState, updateFileHash } from './update-state.js';
|
|
10
|
+
import { deployGlobalAsset, SKILL_DEFINITIONS } from './update.js';
|
|
11
|
+
import { mergeGlobalOpencodeJsonc } from './opencode-config.js';
|
|
12
|
+
import { getGlobalAgentsMdPath, getGlobalAgentsDir, getGlobalSkillsDir, getGlobalOpencodeJsoncPath } from './global-paths.js';
|
|
13
|
+
import { atomicWriteFileSync } from './fs/atomic-write.js';
|
|
14
|
+
import { withFileLock, globalLockPath } from './fs/file-lock.js';
|
|
15
|
+
/** 纯全局部署(首次全量,幂等);不建立项目 .openfeel/ */
|
|
16
|
+
export function setupGlobalFramework(lang = 'zh-CN') {
|
|
17
|
+
const created = [];
|
|
18
|
+
const updated = [];
|
|
19
|
+
const skipped = [];
|
|
20
|
+
const appended = [];
|
|
21
|
+
const push = (action, path) => {
|
|
22
|
+
if (action === 'created')
|
|
23
|
+
created.push(path);
|
|
24
|
+
else if (action === 'updated')
|
|
25
|
+
updated.push(path);
|
|
26
|
+
else if (action === 'skipped')
|
|
27
|
+
skipped.push(path);
|
|
28
|
+
else
|
|
29
|
+
appended.push(path);
|
|
30
|
+
};
|
|
31
|
+
const globalState = loadGlobalUpdateState() ?? createGlobalUpdateState({});
|
|
32
|
+
// 1. 全局 AGENTS.md(框架约束唯一权威)
|
|
33
|
+
push(deployGlobalAsset(getGlobalAgentsMdPath(), loadTemplate(lang, 'agents-md'), globalState), getGlobalAgentsMdPath());
|
|
34
|
+
// 2. 9 agent → 全局 agents 目录
|
|
35
|
+
const agentsDir = getGlobalAgentsDir();
|
|
36
|
+
mkdirSync(agentsDir, { recursive: true });
|
|
37
|
+
for (const id of listAgentIds(lang)) {
|
|
38
|
+
const p = join(agentsDir, `${id}.md`);
|
|
39
|
+
push(deployGlobalAsset(p, loadAgentTemplate(lang, id), globalState), p);
|
|
40
|
+
}
|
|
41
|
+
// 3. 16 skill → 全局 skills 目录
|
|
42
|
+
const skillsDir = getGlobalSkillsDir();
|
|
43
|
+
mkdirSync(skillsDir, { recursive: true });
|
|
44
|
+
for (const [name, content] of Object.entries(SKILL_DEFINITIONS)) {
|
|
45
|
+
mkdirSync(join(skillsDir, name), { recursive: true });
|
|
46
|
+
const p = join(skillsDir, name, 'SKILL.md');
|
|
47
|
+
push(deployGlobalAsset(p, content, globalState), p);
|
|
48
|
+
}
|
|
49
|
+
// 4. 全局 opencode.jsonc:深度合并(保留用户字段),加全局锁 + 原子写
|
|
50
|
+
const jsoncPath = getGlobalOpencodeJsoncPath();
|
|
51
|
+
const merged = withFileLock(globalLockPath('global-opencode-jsonc'), () => {
|
|
52
|
+
const current = existsSync(jsoncPath) ? readFileSync(jsoncPath, 'utf-8') : '{}\n';
|
|
53
|
+
let out;
|
|
54
|
+
try {
|
|
55
|
+
out = mergeGlobalOpencodeJsonc(current);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
// 解析失败时保留原文件,避免破坏用户配置
|
|
59
|
+
console.warn(`[setup] 全局 opencode.jsonc 解析失败,跳过合并保留原文件: ${err.message}`);
|
|
60
|
+
out = current;
|
|
61
|
+
}
|
|
62
|
+
atomicWriteFileSync(jsoncPath, out);
|
|
63
|
+
return out;
|
|
64
|
+
});
|
|
65
|
+
updateFileHash(globalState, jsoncPath, merged);
|
|
66
|
+
// 5. 写盘全局 state + 记录已部署 hash
|
|
67
|
+
for (const p of [...created, ...updated, ...appended]) {
|
|
68
|
+
if (existsSync(p))
|
|
69
|
+
updateFileHash(globalState, p, readFileSync(p, 'utf-8'));
|
|
70
|
+
}
|
|
71
|
+
globalState.last_update = new Date().toISOString();
|
|
72
|
+
saveGlobalUpdateState(globalState);
|
|
73
|
+
return { created, updated, skipped, appended };
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,10 @@ export declare function loadAgentTemplate(lang: string, agentId: string): string
|
|
|
14
14
|
* 指定语言不存在时回退到 zh-CN。
|
|
15
15
|
*/
|
|
16
16
|
export declare function listAgentIds(lang: string): string[];
|
|
17
|
-
/** 加载通用模板(
|
|
18
|
-
export type TemplateName = '
|
|
17
|
+
/** 加载通用模板(agents-md,即全局 AGENTS.md 内容) */
|
|
18
|
+
export type TemplateName = 'agents-md';
|
|
19
19
|
export declare function loadTemplate(lang: string, templateName: TemplateName): string;
|
|
20
20
|
export declare const AGENTS_MD_TEMPLATE: string;
|
|
21
|
-
export declare const CORE_INSTRUCTIONS_TEMPLATE_B64: string;
|
|
22
21
|
/**
|
|
23
22
|
* 加载 opencode Agent 模板(用于部署 .opencode/agents/)
|
|
24
23
|
* 指定语言不存在时回退到 zh-CN
|
|
@@ -29,8 +28,8 @@ export declare function loadOpencodeAgentTemplate(lang: string, agentId: string)
|
|
|
29
28
|
*/
|
|
30
29
|
export declare function loadOpencodeSkillTemplate(skillName: string): string;
|
|
31
30
|
/**
|
|
32
|
-
* 加载 opencode 配置类模板(
|
|
33
|
-
*
|
|
31
|
+
* 加载 opencode 配置类模板(adapter)
|
|
32
|
+
* adapter 以 Base64 存储(与旧 instructions 一致),加载时解码
|
|
34
33
|
* 指定语言不存在时回退到 zh-CN
|
|
35
34
|
*/
|
|
36
35
|
export declare function loadOpencodeConfigTemplate(lang: string, configName: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../src/core/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../src/core/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA69GH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGnD;AAED,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,CAS7E;AA6wHD,eAAO,MAAM,kBAAkB,EAAE,MAAqC,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWnF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD"}
|