openfeel 1.0.0
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/LICENSE +21 -0
- package/README.en.md +140 -0
- package/README.md +17 -0
- package/README.zh-CN.md +140 -0
- package/bin/openfeel.js +13 -0
- package/dist/cli/index.d.ts +11 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +119 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/repl.d.ts +10 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +74 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/commands/archive.d.ts +7 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +38 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/config.d.ts +15 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +208 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/flow.d.ts +24 -0
- package/dist/commands/flow.d.ts.map +1 -0
- package/dist/commands/flow.js +1024 -0
- package/dist/commands/flow.js.map +1 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +62 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/instructions.d.ts +7 -0
- package/dist/commands/instructions.d.ts.map +1 -0
- package/dist/commands/instructions.js +36 -0
- package/dist/commands/instructions.js.map +1 -0
- package/dist/commands/knowledge.d.ts +7 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +174 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/lint.d.ts +12 -0
- package/dist/commands/lint.d.ts.map +1 -0
- package/dist/commands/lint.js +192 -0
- package/dist/commands/lint.js.map +1 -0
- package/dist/commands/plan.d.ts +7 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +73 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/project.d.ts +7 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +189 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/roadmap.d.ts +7 -0
- package/dist/commands/roadmap.d.ts.map +1 -0
- package/dist/commands/roadmap.js +26 -0
- package/dist/commands/roadmap.js.map +1 -0
- package/dist/commands/stage.d.ts +17 -0
- package/dist/commands/stage.d.ts.map +1 -0
- package/dist/commands/stage.js +291 -0
- package/dist/commands/stage.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +87 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/view.d.ts +7 -0
- package/dist/commands/view.d.ts.map +1 -0
- package/dist/commands/view.js +77 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/core/archive/merge.d.ts +20 -0
- package/dist/core/archive/merge.d.ts.map +1 -0
- package/dist/core/archive/merge.js +118 -0
- package/dist/core/archive/merge.js.map +1 -0
- package/dist/core/artifact-graph/graph.d.ts +62 -0
- package/dist/core/artifact-graph/graph.d.ts.map +1 -0
- package/dist/core/artifact-graph/graph.js +184 -0
- package/dist/core/artifact-graph/graph.js.map +1 -0
- package/dist/core/artifact-graph/index.d.ts +10 -0
- package/dist/core/artifact-graph/index.d.ts.map +1 -0
- package/dist/core/artifact-graph/index.js +8 -0
- package/dist/core/artifact-graph/index.js.map +1 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +35 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -0
- package/dist/core/artifact-graph/instruction-loader.js +358 -0
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -0
- package/dist/core/artifact-graph/resolver.d.ts +10 -0
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -0
- package/dist/core/artifact-graph/resolver.js +32 -0
- package/dist/core/artifact-graph/resolver.js.map +1 -0
- package/dist/core/artifact-graph/state.d.ts +9 -0
- package/dist/core/artifact-graph/state.d.ts.map +1 -0
- package/dist/core/artifact-graph/state.js +24 -0
- package/dist/core/artifact-graph/state.js.map +1 -0
- package/dist/core/artifact-graph/types.d.ts +22 -0
- package/dist/core/artifact-graph/types.d.ts.map +1 -0
- package/dist/core/artifact-graph/types.js +2 -0
- package/dist/core/artifact-graph/types.js.map +1 -0
- package/dist/core/config.d.ts +256 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +393 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/flow-manager.d.ts +492 -0
- package/dist/core/flow-manager.d.ts.map +1 -0
- package/dist/core/flow-manager.js +2379 -0
- package/dist/core/flow-manager.js.map +1 -0
- package/dist/core/i18n-data/en.d.ts +26 -0
- package/dist/core/i18n-data/en.d.ts.map +1 -0
- package/dist/core/i18n-data/en.js +492 -0
- package/dist/core/i18n-data/en.js.map +1 -0
- package/dist/core/i18n-data/types.d.ts +18 -0
- package/dist/core/i18n-data/types.d.ts.map +1 -0
- package/dist/core/i18n-data/types.js +8 -0
- package/dist/core/i18n-data/types.js.map +1 -0
- package/dist/core/i18n-data/zh-CN.d.ts +28 -0
- package/dist/core/i18n-data/zh-CN.d.ts.map +1 -0
- package/dist/core/i18n-data/zh-CN.js +524 -0
- package/dist/core/i18n-data/zh-CN.js.map +1 -0
- package/dist/core/i18n.d.ts +40 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18n.js +135 -0
- package/dist/core/i18n.js.map +1 -0
- package/dist/core/init.d.ts +22 -0
- package/dist/core/init.d.ts.map +1 -0
- package/dist/core/init.js +292 -0
- package/dist/core/init.js.map +1 -0
- package/dist/core/metrics.d.ts +60 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +137 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/pipeline-schema.d.ts +78 -0
- package/dist/core/pipeline-schema.d.ts.map +1 -0
- package/dist/core/pipeline-schema.js +57 -0
- package/dist/core/pipeline-schema.js.map +1 -0
- package/dist/core/plan/roadmap.d.ts +17 -0
- package/dist/core/plan/roadmap.d.ts.map +1 -0
- package/dist/core/plan/roadmap.js +71 -0
- package/dist/core/plan/roadmap.js.map +1 -0
- package/dist/core/plan/scheme.d.ts +34 -0
- package/dist/core/plan/scheme.d.ts.map +1 -0
- package/dist/core/plan/scheme.js +262 -0
- package/dist/core/plan/scheme.js.map +1 -0
- package/dist/core/plan/stage.d.ts +20 -0
- package/dist/core/plan/stage.d.ts.map +1 -0
- package/dist/core/plan/stage.js +120 -0
- package/dist/core/plan/stage.js.map +1 -0
- package/dist/core/public-logger.d.ts +84 -0
- package/dist/core/public-logger.d.ts.map +1 -0
- package/dist/core/public-logger.js +344 -0
- package/dist/core/public-logger.js.map +1 -0
- package/dist/core/schema.d.ts +70 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +61 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/template-loader.d.ts +22 -0
- package/dist/core/template-loader.d.ts.map +1 -0
- package/dist/core/template-loader.js +2848 -0
- package/dist/core/template-loader.js.map +1 -0
- package/dist/core/templates.d.ts +18 -0
- package/dist/core/templates.d.ts.map +1 -0
- package/dist/core/templates.js +50 -0
- package/dist/core/templates.js.map +1 -0
- package/dist/core/update.d.ts +40 -0
- package/dist/core/update.d.ts.map +1 -0
- package/dist/core/update.js +1569 -0
- package/dist/core/update.js.map +1 -0
- package/dist/core/view/entry.d.ts +37 -0
- package/dist/core/view/entry.d.ts.map +1 -0
- package/dist/core/view/entry.js +108 -0
- package/dist/core/view/entry.js.map +1 -0
- package/dist/core/workspace/identity.d.ts +60 -0
- package/dist/core/workspace/identity.d.ts.map +1 -0
- package/dist/core/workspace/identity.js +169 -0
- package/dist/core/workspace/identity.js.map +1 -0
- package/dist/core/workspace/knowledge.d.ts +55 -0
- package/dist/core/workspace/knowledge.d.ts.map +1 -0
- package/dist/core/workspace/knowledge.js +230 -0
- package/dist/core/workspace/knowledge.js.map +1 -0
- package/dist/core/workspace/structure.d.ts +9 -0
- package/dist/core/workspace/structure.d.ts.map +1 -0
- package/dist/core/workspace/structure.js +59 -0
- package/dist/core/workspace/structure.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/kb-dedup.d.ts +46 -0
- package/dist/utils/kb-dedup.d.ts.map +1 -0
- package/dist/utils/kb-dedup.js +169 -0
- package/dist/utils/kb-dedup.js.map +1 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +37 -0
- package/dist/utils/path.js.map +1 -0
- package/package.json +61 -0
- package/schemas/spec-driven/schema.yaml +50 -0
- package/schemas/spec-driven/templates/design.md +43 -0
- package/schemas/spec-driven/templates/plan.md +46 -0
- package/schemas/spec-driven/templates/proposal.md +35 -0
- package/schemas/spec-driven/templates/tasks.md +39 -0
- package/scripts/patch-inquirer.js +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 审查条目核心操作
|
|
3
|
+
* 负责创建、查询、验收审查条目,通过 FlowManager 操作 flow.json
|
|
4
|
+
*/
|
|
5
|
+
import { type ReviewItem } from '../flow-manager.js';
|
|
6
|
+
export type { ReviewItem };
|
|
7
|
+
/**
|
|
8
|
+
* 辅助函数:基于已有审查条目数量,自动生成 REV-ID(如 REV-001)
|
|
9
|
+
* 无论 flow.json 是否加载,始终可生成 REV-001 作为起始 ID
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateReviewId(projectPath: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* 创建审查条目
|
|
14
|
+
* @param projectPath 项目路径
|
|
15
|
+
* @param opId 关联的操作 ID(如 stage-01.op-001)
|
|
16
|
+
* @param title 审查标题
|
|
17
|
+
* @param priority 优先级,默认 medium
|
|
18
|
+
* @returns 创建的 ReviewItem
|
|
19
|
+
* @throws 若 flow.json 未初始化则抛出异常
|
|
20
|
+
*/
|
|
21
|
+
export declare function createReviewEntry(projectPath: string, opId: string, title: string, priority?: 'high' | 'medium' | 'low'): ReviewItem;
|
|
22
|
+
/**
|
|
23
|
+
* 列出审查条目
|
|
24
|
+
* @param projectPath 项目路径
|
|
25
|
+
* @param opId 可选操作 ID 过滤
|
|
26
|
+
* @returns 审查条目数组,按 filed_at 降序排列;若未加载则返回空数组
|
|
27
|
+
*/
|
|
28
|
+
export declare function listReviews(projectPath: string, opId?: string): ReviewItem[];
|
|
29
|
+
/**
|
|
30
|
+
* 验收审查条目(open→closed)
|
|
31
|
+
* 通过 upsert 方式将指定审查条目标记为 closed
|
|
32
|
+
* @param projectPath 项目路径
|
|
33
|
+
* @param reviewId 审查条目 ID
|
|
34
|
+
* @returns 更新后的 ReviewItem,若 flow.json 未加载或条目不存在则返回 null
|
|
35
|
+
*/
|
|
36
|
+
export declare function acceptReview(projectPath: string, reviewId: string): ReviewItem | null;
|
|
37
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/core/view/entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGlE,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAM,GAAG,QAAQ,GAAG,KAAgB,GAC7C,UAAU,CAqCZ;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAe5E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmCrF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 审查条目核心操作
|
|
3
|
+
* 负责创建、查询、验收审查条目,通过 FlowManager 操作 flow.json
|
|
4
|
+
*/
|
|
5
|
+
import { FlowManager } from '../flow-manager.js';
|
|
6
|
+
/**
|
|
7
|
+
* 辅助函数:基于已有审查条目数量,自动生成 REV-ID(如 REV-001)
|
|
8
|
+
* 无论 flow.json 是否加载,始终可生成 REV-001 作为起始 ID
|
|
9
|
+
*/
|
|
10
|
+
export function generateReviewId(projectPath) {
|
|
11
|
+
const mgr = new FlowManager(projectPath);
|
|
12
|
+
const existingReviews = mgr.getReviewItems();
|
|
13
|
+
return `REV-${String(existingReviews.length + 1).padStart(3, '0')}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 创建审查条目
|
|
17
|
+
* @param projectPath 项目路径
|
|
18
|
+
* @param opId 关联的操作 ID(如 stage-01.op-001)
|
|
19
|
+
* @param title 审查标题
|
|
20
|
+
* @param priority 优先级,默认 medium
|
|
21
|
+
* @returns 创建的 ReviewItem
|
|
22
|
+
* @throws 若 flow.json 未初始化则抛出异常
|
|
23
|
+
*/
|
|
24
|
+
export function createReviewEntry(projectPath, opId, title, priority = 'medium') {
|
|
25
|
+
const mgr = new FlowManager(projectPath);
|
|
26
|
+
// 若 flow.json 未加载,直接抛出异常
|
|
27
|
+
if (!mgr.isLoaded()) {
|
|
28
|
+
throw new Error('flow.json 未初始化,请先运行 openfeel init');
|
|
29
|
+
}
|
|
30
|
+
// 自动生成 REV ID
|
|
31
|
+
const revId = generateReviewId(projectPath);
|
|
32
|
+
// 创建 ReviewItem(status='open', filed_by='reviewer', filed_at=当前 ISO 时间)
|
|
33
|
+
const review = {
|
|
34
|
+
id: revId,
|
|
35
|
+
op: opId,
|
|
36
|
+
status: 'open',
|
|
37
|
+
priority,
|
|
38
|
+
title,
|
|
39
|
+
filed_by: 'reviewer',
|
|
40
|
+
filed_at: new Date().toISOString(),
|
|
41
|
+
};
|
|
42
|
+
// 调用 mgr.addReview() 添加条目
|
|
43
|
+
mgr.addReview(review);
|
|
44
|
+
// 追加日志
|
|
45
|
+
mgr.appendLog({
|
|
46
|
+
time: '',
|
|
47
|
+
agent: 'reviewer',
|
|
48
|
+
action: 'review_add',
|
|
49
|
+
detail: { reviewId: revId, opId, title, priority },
|
|
50
|
+
});
|
|
51
|
+
// 持久化
|
|
52
|
+
mgr.save();
|
|
53
|
+
return review;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 列出审查条目
|
|
57
|
+
* @param projectPath 项目路径
|
|
58
|
+
* @param opId 可选操作 ID 过滤
|
|
59
|
+
* @returns 审查条目数组,按 filed_at 降序排列;若未加载则返回空数组
|
|
60
|
+
*/
|
|
61
|
+
export function listReviews(projectPath, opId) {
|
|
62
|
+
const mgr = new FlowManager(projectPath);
|
|
63
|
+
// 若 flow.json 未加载,返回空数组
|
|
64
|
+
if (!mgr.isLoaded()) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
// 获取审查条目(可选按 opId 过滤)
|
|
68
|
+
const items = mgr.getReviewItems(opId);
|
|
69
|
+
// 按 filed_at 降序排序
|
|
70
|
+
items.sort((a, b) => b.filed_at.localeCompare(a.filed_at));
|
|
71
|
+
return items;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 验收审查条目(open→closed)
|
|
75
|
+
* 通过 upsert 方式将指定审查条目标记为 closed
|
|
76
|
+
* @param projectPath 项目路径
|
|
77
|
+
* @param reviewId 审查条目 ID
|
|
78
|
+
* @returns 更新后的 ReviewItem,若 flow.json 未加载或条目不存在则返回 null
|
|
79
|
+
*/
|
|
80
|
+
export function acceptReview(projectPath, reviewId) {
|
|
81
|
+
const mgr = new FlowManager(projectPath);
|
|
82
|
+
// 若 flow.json 未加载,返回 null
|
|
83
|
+
if (!mgr.isLoaded()) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
// 查找指定 ID 的审查条目
|
|
87
|
+
const items = mgr.getReviewItems();
|
|
88
|
+
const review = items.find((r) => r.id === reviewId);
|
|
89
|
+
// 若不存在返回 null
|
|
90
|
+
if (!review) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
// 将 status 改为 'closed'
|
|
94
|
+
review.status = 'closed';
|
|
95
|
+
// 调用 mgr.addReview() upsert 更新
|
|
96
|
+
mgr.addReview(review);
|
|
97
|
+
// 追加验收日志
|
|
98
|
+
mgr.appendLog({
|
|
99
|
+
time: '',
|
|
100
|
+
agent: 'reviewer',
|
|
101
|
+
action: 'review_accept',
|
|
102
|
+
detail: { reviewId },
|
|
103
|
+
});
|
|
104
|
+
// 持久化
|
|
105
|
+
mgr.save();
|
|
106
|
+
return review;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/core/view/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** .info.json 的类型定义 */
|
|
2
|
+
export interface InfoJson {
|
|
3
|
+
user: string;
|
|
4
|
+
lang: 'zh-CN' | 'en';
|
|
5
|
+
}
|
|
6
|
+
/** 全局配置类型(~/.openfeel/config.json) */
|
|
7
|
+
export interface GlobalConfig {
|
|
8
|
+
/** 用户全局默认语言偏好 */
|
|
9
|
+
lang: 'zh-CN' | 'en';
|
|
10
|
+
/** 项目路径→使用语言的 KV 映射(由 openfeel update 自动记录) */
|
|
11
|
+
projects: Record<string, 'zh-CN' | 'en'>;
|
|
12
|
+
}
|
|
13
|
+
/** 全局配置默认值(首次使用时的初始配置) */
|
|
14
|
+
export declare const DEFAULT_GLOBAL_CONFIG: GlobalConfig;
|
|
15
|
+
/**
|
|
16
|
+
* 获取用户名
|
|
17
|
+
* 优先读取 .openfeel/.info.json,若不存在则尝试从 git config 获取,
|
|
18
|
+
* 均失败则返回默认值 'unknown'。
|
|
19
|
+
*/
|
|
20
|
+
export declare function getUserName(projectPath: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* 获取语言配置
|
|
23
|
+
* 读取 .openfeel/.info.json 中的 lang 字段。
|
|
24
|
+
* lang 不存在或非法值时回退返回 'zh-CN'。
|
|
25
|
+
* 本函数只读不写,补充写入在 ensureInfoJson 中完成。
|
|
26
|
+
*/
|
|
27
|
+
export declare function getLang(projectPath: string): 'zh-CN' | 'en';
|
|
28
|
+
/**
|
|
29
|
+
* 确保 .openfeel/.info.json 存在
|
|
30
|
+
* 若不存在则创建并写入当前用户名和默认语言。
|
|
31
|
+
* 若已存在则检查 lang 字段,不存在或为空时补充写入默认值 zh-CN。
|
|
32
|
+
* 不会覆盖已有的 user 和 lang 值。
|
|
33
|
+
*/
|
|
34
|
+
export declare function ensureInfoJson(projectPath: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* 读取全局配置文件(~/.openfeel/config.json)。
|
|
37
|
+
* 文件不存在时返回默认配置(DEFAULT_GLOBAL_CONFIG),不创建文件。
|
|
38
|
+
* JSON 解析失败时返回默认配置并 console.warn。
|
|
39
|
+
*/
|
|
40
|
+
export declare function getGlobalConfig(): GlobalConfig;
|
|
41
|
+
/**
|
|
42
|
+
* 写入全局配置文件(~/.openfeel/config.json)。
|
|
43
|
+
* 自动创建父目录(~/.openfeel/)。
|
|
44
|
+
* 写入失败时 throw Error。
|
|
45
|
+
*/
|
|
46
|
+
export declare function setGlobalConfig(config: GlobalConfig): void;
|
|
47
|
+
/**
|
|
48
|
+
* 检测是否为首次使用 OpenFeel(全局配置文件不存在)。
|
|
49
|
+
* @returns true 表示首次使用,需要语言选择提示
|
|
50
|
+
*/
|
|
51
|
+
export declare function isFirstUse(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 记录项目路径→语言映射到全局配置的 projects 表。
|
|
54
|
+
* 由 openfeel update 完成后自动调用。
|
|
55
|
+
* 若映射已存在且语言相同则跳过;语言不同则更新。
|
|
56
|
+
* @param projectPath 项目绝对路径
|
|
57
|
+
* @param lang 项目使用的语言
|
|
58
|
+
*/
|
|
59
|
+
export declare function recordProjectLang(projectPath: string, lang: 'zh-CN' | 'en'): void;
|
|
60
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/core/workspace/identity.ts"],"names":[],"mappings":"AAUA,uBAAuB;AACvB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACtB;AAKD,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1C;AAED,0BAA0B;AAC1B,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA8BvD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAe3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAsBxD;AAOD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAmB9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CASjF"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 用户身份识别
|
|
3
|
+
* 管理项目下的 .openfeel/.info.json 文件。
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
6
|
+
import { resolve, join, dirname } from 'node:path';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
|
+
import { homedir } from 'node:os';
|
|
9
|
+
import { VALID_LANGS } from '../i18n-data/types.js';
|
|
10
|
+
/** 默认语言 */
|
|
11
|
+
const DEFAULT_LANG = 'zh-CN';
|
|
12
|
+
/** 全局配置默认值(首次使用时的初始配置) */
|
|
13
|
+
export const DEFAULT_GLOBAL_CONFIG = {
|
|
14
|
+
lang: 'zh-CN',
|
|
15
|
+
projects: {},
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 获取用户名
|
|
19
|
+
* 优先读取 .openfeel/.info.json,若不存在则尝试从 git config 获取,
|
|
20
|
+
* 均失败则返回默认值 'unknown'。
|
|
21
|
+
*/
|
|
22
|
+
export function getUserName(projectPath) {
|
|
23
|
+
const infoPath = resolve(projectPath, '.openfeel', '.info.json');
|
|
24
|
+
// 尝试从 .info.json 读取
|
|
25
|
+
if (existsSync(infoPath)) {
|
|
26
|
+
try {
|
|
27
|
+
const content = readFileSync(infoPath, 'utf-8');
|
|
28
|
+
const info = JSON.parse(content);
|
|
29
|
+
if (info.user && info.user.length > 0) {
|
|
30
|
+
return info.user;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// JSON 解析失败,忽略,回退到 git config
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// 尝试从 git config 获取
|
|
38
|
+
try {
|
|
39
|
+
const name = execSync('git config user.name', {
|
|
40
|
+
encoding: 'utf-8',
|
|
41
|
+
cwd: projectPath,
|
|
42
|
+
}).trim();
|
|
43
|
+
if (name.length > 0) {
|
|
44
|
+
return name;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// git 命令执行失败,忽略
|
|
49
|
+
}
|
|
50
|
+
return 'unknown';
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 获取语言配置
|
|
54
|
+
* 读取 .openfeel/.info.json 中的 lang 字段。
|
|
55
|
+
* lang 不存在或非法值时回退返回 'zh-CN'。
|
|
56
|
+
* 本函数只读不写,补充写入在 ensureInfoJson 中完成。
|
|
57
|
+
*/
|
|
58
|
+
export function getLang(projectPath) {
|
|
59
|
+
const infoPath = resolve(projectPath, '.openfeel', '.info.json');
|
|
60
|
+
if (!existsSync(infoPath)) {
|
|
61
|
+
return DEFAULT_LANG;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const content = readFileSync(infoPath, 'utf-8');
|
|
65
|
+
const info = JSON.parse(content);
|
|
66
|
+
if (info.lang && VALID_LANGS.includes(info.lang)) {
|
|
67
|
+
return info.lang;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// JSON 解析失败,忽略
|
|
72
|
+
}
|
|
73
|
+
return DEFAULT_LANG;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 确保 .openfeel/.info.json 存在
|
|
77
|
+
* 若不存在则创建并写入当前用户名和默认语言。
|
|
78
|
+
* 若已存在则检查 lang 字段,不存在或为空时补充写入默认值 zh-CN。
|
|
79
|
+
* 不会覆盖已有的 user 和 lang 值。
|
|
80
|
+
*/
|
|
81
|
+
export function ensureInfoJson(projectPath) {
|
|
82
|
+
const infoPath = resolve(projectPath, '.openfeel', '.info.json');
|
|
83
|
+
if (!existsSync(infoPath)) {
|
|
84
|
+
const userName = getUserName(projectPath);
|
|
85
|
+
const content = JSON.stringify({ user: userName, lang: 'zh-CN' }, null, 2) + '\n';
|
|
86
|
+
writeFileSync(infoPath, content, 'utf-8');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// 文件已存在,检查 lang 字段
|
|
90
|
+
try {
|
|
91
|
+
const content = readFileSync(infoPath, 'utf-8');
|
|
92
|
+
const info = JSON.parse(content);
|
|
93
|
+
if (!info.lang || !VALID_LANGS.includes(info.lang)) {
|
|
94
|
+
info.lang = 'zh-CN';
|
|
95
|
+
writeFileSync(infoPath, JSON.stringify(info, null, 2) + '\n', 'utf-8');
|
|
96
|
+
}
|
|
97
|
+
// lang 已存在且有效,保留不变(向后兼容)
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// JSON 解析失败,不做修改
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** 获取全局配置文件路径(~/.openfeel/config.json,跨平台兼容) */
|
|
104
|
+
function getGlobalConfigPath() {
|
|
105
|
+
return join(homedir(), '.openfeel', 'config.json');
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 读取全局配置文件(~/.openfeel/config.json)。
|
|
109
|
+
* 文件不存在时返回默认配置(DEFAULT_GLOBAL_CONFIG),不创建文件。
|
|
110
|
+
* JSON 解析失败时返回默认配置并 console.warn。
|
|
111
|
+
*/
|
|
112
|
+
export function getGlobalConfig() {
|
|
113
|
+
const path = getGlobalConfigPath();
|
|
114
|
+
if (!existsSync(path)) {
|
|
115
|
+
// 文件不存在,返回默认配置(深拷贝)
|
|
116
|
+
return { ...DEFAULT_GLOBAL_CONFIG, projects: { ...DEFAULT_GLOBAL_CONFIG.projects } };
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const content = readFileSync(path, 'utf-8');
|
|
120
|
+
const config = JSON.parse(content);
|
|
121
|
+
// 合并默认值保证缺失字段兜底
|
|
122
|
+
return {
|
|
123
|
+
lang: config.lang && ['zh-CN', 'en'].includes(config.lang) ? config.lang : DEFAULT_GLOBAL_CONFIG.lang,
|
|
124
|
+
projects: config.projects ?? {},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// JSON 解析失败
|
|
129
|
+
console.warn('[i18n] 全局配置 JSON 解析失败,使用默认值');
|
|
130
|
+
return { ...DEFAULT_GLOBAL_CONFIG, projects: { ...DEFAULT_GLOBAL_CONFIG.projects } };
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 写入全局配置文件(~/.openfeel/config.json)。
|
|
135
|
+
* 自动创建父目录(~/.openfeel/)。
|
|
136
|
+
* 写入失败时 throw Error。
|
|
137
|
+
*/
|
|
138
|
+
export function setGlobalConfig(config) {
|
|
139
|
+
const path = getGlobalConfigPath();
|
|
140
|
+
// 确保父目录存在
|
|
141
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
142
|
+
// 写入文件
|
|
143
|
+
writeFileSync(path, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 检测是否为首次使用 OpenFeel(全局配置文件不存在)。
|
|
147
|
+
* @returns true 表示首次使用,需要语言选择提示
|
|
148
|
+
*/
|
|
149
|
+
export function isFirstUse() {
|
|
150
|
+
return !existsSync(getGlobalConfigPath());
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 记录项目路径→语言映射到全局配置的 projects 表。
|
|
154
|
+
* 由 openfeel update 完成后自动调用。
|
|
155
|
+
* 若映射已存在且语言相同则跳过;语言不同则更新。
|
|
156
|
+
* @param projectPath 项目绝对路径
|
|
157
|
+
* @param lang 项目使用的语言
|
|
158
|
+
*/
|
|
159
|
+
export function recordProjectLang(projectPath, lang) {
|
|
160
|
+
const config = getGlobalConfig();
|
|
161
|
+
const existing = config.projects[projectPath];
|
|
162
|
+
if (existing === lang) {
|
|
163
|
+
// 映射已存在且语言一致,跳过写入
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
config.projects[projectPath] = lang;
|
|
167
|
+
setGlobalConfig(config);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/core/workspace/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** 知识条目 */
|
|
2
|
+
export interface KnowledgeEntry {
|
|
3
|
+
title: string;
|
|
4
|
+
category: string;
|
|
5
|
+
date: string;
|
|
6
|
+
content: string;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
/** 知识库索引 */
|
|
10
|
+
export interface KnowledgeIndex {
|
|
11
|
+
categories: {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
}[];
|
|
15
|
+
recentUpdates: {
|
|
16
|
+
date: string;
|
|
17
|
+
category: string;
|
|
18
|
+
title: string;
|
|
19
|
+
}[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 初始化知识库目录结构
|
|
23
|
+
* 在 .openfeel/kb/ 下创建 index.md 和 4 个分类文件。
|
|
24
|
+
* 已存在的文件不覆盖(幂等)。
|
|
25
|
+
* @returns 创建的文件路径列表
|
|
26
|
+
*/
|
|
27
|
+
export declare function initKnowledgeBase(projectPath: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* 添加知识条目
|
|
30
|
+
* 向分类文件追加条目,并同步更新 index.md 的"最近更新"表格。
|
|
31
|
+
* 若 kb 目录不存在则自动初始化。
|
|
32
|
+
* @throws {Error} 传入无效分类时抛出
|
|
33
|
+
*/
|
|
34
|
+
export declare function addKnowledgeEntry(projectPath: string, category: string, title: string, content: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* 列出知识条目
|
|
37
|
+
* @param category 可选分类过滤;不传则返回所有分类的条目
|
|
38
|
+
*/
|
|
39
|
+
export declare function listKnowledge(projectPath: string, category?: string): KnowledgeEntry[];
|
|
40
|
+
/**
|
|
41
|
+
* 全文搜索知识条目
|
|
42
|
+
* 在 title 和 content 中进行不区分大小写的关键词搜索,并对匹配关键词用 ** 包裹高亮。
|
|
43
|
+
* @param projectPath 项目路径
|
|
44
|
+
* @param query 搜索关键词
|
|
45
|
+
* @param limit 返回结果数量上限(默认 10)
|
|
46
|
+
* @param offset 结果偏移量(默认 0)
|
|
47
|
+
*/
|
|
48
|
+
export declare function searchKnowledge(projectPath: string, query: string, limit?: number, offset?: number): KnowledgeEntry[];
|
|
49
|
+
/**
|
|
50
|
+
* 获取知识库索引
|
|
51
|
+
* 从 index.md 解析分类概览和最近更新信息。
|
|
52
|
+
* 若 kb 目录或 index.md 不存在,返回默认值(空结构)。
|
|
53
|
+
*/
|
|
54
|
+
export declare function getKnowledgeIndex(projectPath: string): KnowledgeIndex;
|
|
55
|
+
//# sourceMappingURL=knowledge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../../src/core/workspace/knowledge.ts"],"names":[],"mappings":"AAWA,WAAW;AACX,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,YAAY;AACZ,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpE;AAwCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,IAAI,CA+BN;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAqBtF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,EAClB,MAAM,GAAE,MAAU,GACjB,cAAc,EAAE,CAclB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAqBrE"}
|