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.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +140 -0
  3. package/README.md +17 -0
  4. package/README.zh-CN.md +140 -0
  5. package/bin/openfeel.js +13 -0
  6. package/dist/cli/index.d.ts +11 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +119 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/cli/repl.d.ts +10 -0
  11. package/dist/cli/repl.d.ts.map +1 -0
  12. package/dist/cli/repl.js +74 -0
  13. package/dist/cli/repl.js.map +1 -0
  14. package/dist/commands/archive.d.ts +7 -0
  15. package/dist/commands/archive.d.ts.map +1 -0
  16. package/dist/commands/archive.js +38 -0
  17. package/dist/commands/archive.js.map +1 -0
  18. package/dist/commands/config.d.ts +15 -0
  19. package/dist/commands/config.d.ts.map +1 -0
  20. package/dist/commands/config.js +208 -0
  21. package/dist/commands/config.js.map +1 -0
  22. package/dist/commands/flow.d.ts +24 -0
  23. package/dist/commands/flow.d.ts.map +1 -0
  24. package/dist/commands/flow.js +1024 -0
  25. package/dist/commands/flow.js.map +1 -0
  26. package/dist/commands/init.d.ts +9 -0
  27. package/dist/commands/init.d.ts.map +1 -0
  28. package/dist/commands/init.js +62 -0
  29. package/dist/commands/init.js.map +1 -0
  30. package/dist/commands/instructions.d.ts +7 -0
  31. package/dist/commands/instructions.d.ts.map +1 -0
  32. package/dist/commands/instructions.js +36 -0
  33. package/dist/commands/instructions.js.map +1 -0
  34. package/dist/commands/knowledge.d.ts +7 -0
  35. package/dist/commands/knowledge.d.ts.map +1 -0
  36. package/dist/commands/knowledge.js +174 -0
  37. package/dist/commands/knowledge.js.map +1 -0
  38. package/dist/commands/lint.d.ts +12 -0
  39. package/dist/commands/lint.d.ts.map +1 -0
  40. package/dist/commands/lint.js +192 -0
  41. package/dist/commands/lint.js.map +1 -0
  42. package/dist/commands/plan.d.ts +7 -0
  43. package/dist/commands/plan.d.ts.map +1 -0
  44. package/dist/commands/plan.js +73 -0
  45. package/dist/commands/plan.js.map +1 -0
  46. package/dist/commands/project.d.ts +7 -0
  47. package/dist/commands/project.d.ts.map +1 -0
  48. package/dist/commands/project.js +189 -0
  49. package/dist/commands/project.js.map +1 -0
  50. package/dist/commands/roadmap.d.ts +7 -0
  51. package/dist/commands/roadmap.d.ts.map +1 -0
  52. package/dist/commands/roadmap.js +26 -0
  53. package/dist/commands/roadmap.js.map +1 -0
  54. package/dist/commands/stage.d.ts +17 -0
  55. package/dist/commands/stage.d.ts.map +1 -0
  56. package/dist/commands/stage.js +291 -0
  57. package/dist/commands/stage.js.map +1 -0
  58. package/dist/commands/update.d.ts +8 -0
  59. package/dist/commands/update.d.ts.map +1 -0
  60. package/dist/commands/update.js +87 -0
  61. package/dist/commands/update.js.map +1 -0
  62. package/dist/commands/view.d.ts +7 -0
  63. package/dist/commands/view.d.ts.map +1 -0
  64. package/dist/commands/view.js +77 -0
  65. package/dist/commands/view.js.map +1 -0
  66. package/dist/core/archive/merge.d.ts +20 -0
  67. package/dist/core/archive/merge.d.ts.map +1 -0
  68. package/dist/core/archive/merge.js +118 -0
  69. package/dist/core/archive/merge.js.map +1 -0
  70. package/dist/core/artifact-graph/graph.d.ts +62 -0
  71. package/dist/core/artifact-graph/graph.d.ts.map +1 -0
  72. package/dist/core/artifact-graph/graph.js +184 -0
  73. package/dist/core/artifact-graph/graph.js.map +1 -0
  74. package/dist/core/artifact-graph/index.d.ts +10 -0
  75. package/dist/core/artifact-graph/index.d.ts.map +1 -0
  76. package/dist/core/artifact-graph/index.js +8 -0
  77. package/dist/core/artifact-graph/index.js.map +1 -0
  78. package/dist/core/artifact-graph/instruction-loader.d.ts +35 -0
  79. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -0
  80. package/dist/core/artifact-graph/instruction-loader.js +358 -0
  81. package/dist/core/artifact-graph/instruction-loader.js.map +1 -0
  82. package/dist/core/artifact-graph/resolver.d.ts +10 -0
  83. package/dist/core/artifact-graph/resolver.d.ts.map +1 -0
  84. package/dist/core/artifact-graph/resolver.js +32 -0
  85. package/dist/core/artifact-graph/resolver.js.map +1 -0
  86. package/dist/core/artifact-graph/state.d.ts +9 -0
  87. package/dist/core/artifact-graph/state.d.ts.map +1 -0
  88. package/dist/core/artifact-graph/state.js +24 -0
  89. package/dist/core/artifact-graph/state.js.map +1 -0
  90. package/dist/core/artifact-graph/types.d.ts +22 -0
  91. package/dist/core/artifact-graph/types.d.ts.map +1 -0
  92. package/dist/core/artifact-graph/types.js +2 -0
  93. package/dist/core/artifact-graph/types.js.map +1 -0
  94. package/dist/core/config.d.ts +256 -0
  95. package/dist/core/config.d.ts.map +1 -0
  96. package/dist/core/config.js +393 -0
  97. package/dist/core/config.js.map +1 -0
  98. package/dist/core/flow-manager.d.ts +492 -0
  99. package/dist/core/flow-manager.d.ts.map +1 -0
  100. package/dist/core/flow-manager.js +2379 -0
  101. package/dist/core/flow-manager.js.map +1 -0
  102. package/dist/core/i18n-data/en.d.ts +26 -0
  103. package/dist/core/i18n-data/en.d.ts.map +1 -0
  104. package/dist/core/i18n-data/en.js +492 -0
  105. package/dist/core/i18n-data/en.js.map +1 -0
  106. package/dist/core/i18n-data/types.d.ts +18 -0
  107. package/dist/core/i18n-data/types.d.ts.map +1 -0
  108. package/dist/core/i18n-data/types.js +8 -0
  109. package/dist/core/i18n-data/types.js.map +1 -0
  110. package/dist/core/i18n-data/zh-CN.d.ts +28 -0
  111. package/dist/core/i18n-data/zh-CN.d.ts.map +1 -0
  112. package/dist/core/i18n-data/zh-CN.js +524 -0
  113. package/dist/core/i18n-data/zh-CN.js.map +1 -0
  114. package/dist/core/i18n.d.ts +40 -0
  115. package/dist/core/i18n.d.ts.map +1 -0
  116. package/dist/core/i18n.js +135 -0
  117. package/dist/core/i18n.js.map +1 -0
  118. package/dist/core/init.d.ts +22 -0
  119. package/dist/core/init.d.ts.map +1 -0
  120. package/dist/core/init.js +292 -0
  121. package/dist/core/init.js.map +1 -0
  122. package/dist/core/metrics.d.ts +60 -0
  123. package/dist/core/metrics.d.ts.map +1 -0
  124. package/dist/core/metrics.js +137 -0
  125. package/dist/core/metrics.js.map +1 -0
  126. package/dist/core/pipeline-schema.d.ts +78 -0
  127. package/dist/core/pipeline-schema.d.ts.map +1 -0
  128. package/dist/core/pipeline-schema.js +57 -0
  129. package/dist/core/pipeline-schema.js.map +1 -0
  130. package/dist/core/plan/roadmap.d.ts +17 -0
  131. package/dist/core/plan/roadmap.d.ts.map +1 -0
  132. package/dist/core/plan/roadmap.js +71 -0
  133. package/dist/core/plan/roadmap.js.map +1 -0
  134. package/dist/core/plan/scheme.d.ts +34 -0
  135. package/dist/core/plan/scheme.d.ts.map +1 -0
  136. package/dist/core/plan/scheme.js +262 -0
  137. package/dist/core/plan/scheme.js.map +1 -0
  138. package/dist/core/plan/stage.d.ts +20 -0
  139. package/dist/core/plan/stage.d.ts.map +1 -0
  140. package/dist/core/plan/stage.js +120 -0
  141. package/dist/core/plan/stage.js.map +1 -0
  142. package/dist/core/public-logger.d.ts +84 -0
  143. package/dist/core/public-logger.d.ts.map +1 -0
  144. package/dist/core/public-logger.js +344 -0
  145. package/dist/core/public-logger.js.map +1 -0
  146. package/dist/core/schema.d.ts +70 -0
  147. package/dist/core/schema.d.ts.map +1 -0
  148. package/dist/core/schema.js +61 -0
  149. package/dist/core/schema.js.map +1 -0
  150. package/dist/core/template-loader.d.ts +22 -0
  151. package/dist/core/template-loader.d.ts.map +1 -0
  152. package/dist/core/template-loader.js +2848 -0
  153. package/dist/core/template-loader.js.map +1 -0
  154. package/dist/core/templates.d.ts +18 -0
  155. package/dist/core/templates.d.ts.map +1 -0
  156. package/dist/core/templates.js +50 -0
  157. package/dist/core/templates.js.map +1 -0
  158. package/dist/core/update.d.ts +40 -0
  159. package/dist/core/update.d.ts.map +1 -0
  160. package/dist/core/update.js +1569 -0
  161. package/dist/core/update.js.map +1 -0
  162. package/dist/core/view/entry.d.ts +37 -0
  163. package/dist/core/view/entry.d.ts.map +1 -0
  164. package/dist/core/view/entry.js +108 -0
  165. package/dist/core/view/entry.js.map +1 -0
  166. package/dist/core/workspace/identity.d.ts +60 -0
  167. package/dist/core/workspace/identity.d.ts.map +1 -0
  168. package/dist/core/workspace/identity.js +169 -0
  169. package/dist/core/workspace/identity.js.map +1 -0
  170. package/dist/core/workspace/knowledge.d.ts +55 -0
  171. package/dist/core/workspace/knowledge.d.ts.map +1 -0
  172. package/dist/core/workspace/knowledge.js +230 -0
  173. package/dist/core/workspace/knowledge.js.map +1 -0
  174. package/dist/core/workspace/structure.d.ts +9 -0
  175. package/dist/core/workspace/structure.d.ts.map +1 -0
  176. package/dist/core/workspace/structure.js +59 -0
  177. package/dist/core/workspace/structure.js.map +1 -0
  178. package/dist/index.d.ts +7 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +7 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/utils/kb-dedup.d.ts +46 -0
  183. package/dist/utils/kb-dedup.d.ts.map +1 -0
  184. package/dist/utils/kb-dedup.js +169 -0
  185. package/dist/utils/kb-dedup.js.map +1 -0
  186. package/dist/utils/path.d.ts +22 -0
  187. package/dist/utils/path.d.ts.map +1 -0
  188. package/dist/utils/path.js +37 -0
  189. package/dist/utils/path.js.map +1 -0
  190. package/package.json +61 -0
  191. package/schemas/spec-driven/schema.yaml +50 -0
  192. package/schemas/spec-driven/templates/design.md +43 -0
  193. package/schemas/spec-driven/templates/plan.md +46 -0
  194. package/schemas/spec-driven/templates/proposal.md +35 -0
  195. package/schemas/spec-driven/templates/tasks.md +39 -0
  196. package/scripts/patch-inquirer.js +70 -0
@@ -0,0 +1,208 @@
1
+ import { getGlobalConfig, setGlobalConfig } from '../core/workspace/identity.js';
2
+ import { getConfigValue, setConfigValue, readProfile, writeProfile, ProfileSchema } from '../core/config.js';
3
+ import { t, getCliLang } from '../core/i18n.js';
4
+ /** 全局配置 key 白名单:key → 合法值列表(null 表示任意 string) */
5
+ const GLOBAL_ALLOWED_KEYS = {
6
+ 'user.name': null,
7
+ 'user.lang': ['zh-CN', 'en'],
8
+ 'preferences.auto_advance': ['enabled', 'disabled'],
9
+ 'preferences.review_mode': ['full', 'skip_small_changes'],
10
+ 'preferences.communication': ['concise', 'detailed'],
11
+ 'preferences.confirm_threshold': ['low', 'medium', 'high'],
12
+ };
13
+ /**
14
+ * 从对象中按点分隔路径深层取值
15
+ * @param obj 目标对象
16
+ * @param path 点分隔路径,如 'user.name'
17
+ * @returns 路径对应的值;路径不存在时返回 undefined
18
+ */
19
+ function getNestedValue(obj, path) {
20
+ const keys = path.split('.');
21
+ let current = obj;
22
+ for (const key of keys) {
23
+ if (current === null || current === undefined || typeof current !== 'object') {
24
+ return undefined;
25
+ }
26
+ current = current[key];
27
+ }
28
+ return current;
29
+ }
30
+ /**
31
+ * 向对象按点分隔路径写入值,中间层级不存在时自动创建
32
+ * @param obj 目标对象(原地修改)
33
+ * @param path 点分隔路径,如 'user.lang'
34
+ * @param value 要写入的值
35
+ */
36
+ function setNestedValue(obj, path, value) {
37
+ const keys = path.split('.');
38
+ let current = obj;
39
+ for (let i = 0; i < keys.length - 1; i++) {
40
+ const key = keys[i];
41
+ // 中间层级缺失或类型错误时创建空对象
42
+ if (typeof current[key] !== 'object' || current[key] === null) {
43
+ current[key] = {};
44
+ }
45
+ current = current[key];
46
+ }
47
+ // 设置末层值
48
+ current[keys[keys.length - 1]] = value;
49
+ }
50
+ /**
51
+ * 注册 config 命令组到主程序
52
+ * @param program Commander 主程序实例
53
+ */
54
+ export function registerConfigCommand(program) {
55
+ const configCmd = program.command('config');
56
+ // openfeel config get-lang — 显示全局默认语言
57
+ configCmd
58
+ .command('get-lang')
59
+ .description(t('config.get.lang'))
60
+ .action(() => {
61
+ const lang = getCliLang(process.cwd());
62
+ const config = getGlobalConfig();
63
+ console.log(t('config.get.lang', lang, { lang: config.lang }));
64
+ });
65
+ // openfeel config set-lang <lang> — 修改全局默认语言
66
+ configCmd
67
+ .command('set-lang <lang>')
68
+ .description('修改全局默认语言 (zh-CN 或 en)')
69
+ .action((lang) => {
70
+ const cliLang = getCliLang(process.cwd());
71
+ if (lang !== 'zh-CN' && lang !== 'en') {
72
+ console.error(t('config.set.invalidLang', cliLang, { val: lang }));
73
+ process.exit(1);
74
+ }
75
+ const config = getGlobalConfig();
76
+ config.lang = lang;
77
+ setGlobalConfig(config);
78
+ console.log(t('config.set.ok', cliLang, { lang }));
79
+ });
80
+ // openfeel config list-projects — 列出项目路径→语言映射
81
+ configCmd
82
+ .command('list-projects')
83
+ .description('列出所有已记录的项目路径→语言映射')
84
+ .action(() => {
85
+ const lang = getCliLang(process.cwd());
86
+ const config = getGlobalConfig();
87
+ const entries = Object.entries(config.projects);
88
+ console.log(t('config.list.title', lang));
89
+ if (entries.length === 0) {
90
+ console.log(t('config.list.empty', lang));
91
+ return;
92
+ }
93
+ for (const [path, projLang] of entries) {
94
+ console.log(t('config.list.item', lang, { path, lang: projLang }));
95
+ }
96
+ });
97
+ // openfeel config get <key> — 读取项目配置项;--global 时操作全局 profile
98
+ configCmd
99
+ .command('get [key]')
100
+ .description(t('help.config.get'))
101
+ .option('-g, --global', '操作全局 profile(~/.config/openfeel/profile.yaml)')
102
+ .action(function (key) {
103
+ const opts = this.opts();
104
+ const lang = getCliLang(process.cwd());
105
+ // 全局模式:操作 ~/.config/openfeel/profile.yaml
106
+ if (opts.global) {
107
+ const profile = readProfile();
108
+ // 无 key:输出完整 Profile
109
+ if (!key) {
110
+ console.log(t('config.get.globalResult', lang, { key: 'user.name', value: String(getNestedValue(profile, 'user.name') ?? '') }));
111
+ console.log(t('config.get.globalResult', lang, { key: 'user.lang', value: String(getNestedValue(profile, 'user.lang') ?? '') }));
112
+ console.log(t('config.get.globalResult', lang, { key: 'preferences.auto_advance', value: String(getNestedValue(profile, 'preferences.auto_advance') ?? '') }));
113
+ console.log(t('config.get.globalResult', lang, { key: 'preferences.review_mode', value: String(getNestedValue(profile, 'preferences.review_mode') ?? '') }));
114
+ console.log(t('config.get.globalResult', lang, { key: 'preferences.communication', value: String(getNestedValue(profile, 'preferences.communication') ?? '') }));
115
+ console.log(t('config.get.globalResult', lang, { key: 'preferences.confirm_threshold', value: String(getNestedValue(profile, 'preferences.confirm_threshold') ?? '') }));
116
+ return;
117
+ }
118
+ // 有 key:深层取值
119
+ const value = getNestedValue(profile, key);
120
+ if (value === undefined) {
121
+ console.log(t('config.get.globalKeyNotFound', lang, { key }));
122
+ }
123
+ else {
124
+ console.log(t('config.get.globalResult', lang, { key, value: String(value) }));
125
+ }
126
+ return;
127
+ }
128
+ // 项目模式(原行为):key 必填
129
+ if (!key) {
130
+ console.error(t('config.get.noProject', lang, { err: 'key 未指定(项目模式下必须提供 key)' }));
131
+ process.exit(1);
132
+ }
133
+ try {
134
+ const value = getConfigValue(process.cwd(), key);
135
+ if (value === null) {
136
+ console.log(t('config.get.result', lang, { key, value: t('common.noConfig', lang) }));
137
+ }
138
+ else {
139
+ console.log(t('config.get.result', lang, { key, value }));
140
+ }
141
+ }
142
+ catch (err) {
143
+ // 读取 config.yaml 失败(YAML 语法错误、权限问题等),输出实际错误原因
144
+ console.error(t('config.get.noProject', lang, { err: err.message }));
145
+ process.exit(1);
146
+ }
147
+ });
148
+ // openfeel config set <key> <value> — 写入项目配置项;--global 时操作全局 profile
149
+ configCmd
150
+ .command('set <key> <value>')
151
+ .description(t('help.config.set'))
152
+ .option('-g, --global', '操作全局 profile(~/.config/openfeel/profile.yaml)')
153
+ .action(function (key, value) {
154
+ const opts = this.opts();
155
+ const lang = getCliLang(process.cwd());
156
+ // 全局模式:操作 ~/.config/openfeel/profile.yaml
157
+ if (opts.global) {
158
+ // key 白名单校验
159
+ if (!(key in GLOBAL_ALLOWED_KEYS)) {
160
+ console.error(t('config.set.globalInvalidKey', lang, { val: key }));
161
+ console.error(t('config.set.globalAllowedKeys', lang, { keys: Object.keys(GLOBAL_ALLOWED_KEYS).join(', ') }));
162
+ process.exit(1);
163
+ }
164
+ // value 合法性校验
165
+ const allowedValues = GLOBAL_ALLOWED_KEYS[key];
166
+ if (allowedValues && !allowedValues.includes(value)) {
167
+ console.error(t('config.set.globalInvalidValue', lang, { val: value, key, values: allowedValues.join(', ') }));
168
+ process.exit(1);
169
+ }
170
+ try {
171
+ // 读取 → 修改 → Zod 全量校验 → 写回
172
+ const profile = readProfile();
173
+ const profileObj = profile;
174
+ setNestedValue(profileObj, key, value);
175
+ const validated = ProfileSchema.parse(profileObj);
176
+ writeProfile(validated);
177
+ console.log(t('config.set.globalValueOk', lang, { key, value }));
178
+ }
179
+ catch (err) {
180
+ // 写入 profile.yaml 失败(YAML 语法错误、权限问题等),输出实际错误原因
181
+ console.error(t('config.set.error', lang, { err: err.message }));
182
+ process.exit(1);
183
+ }
184
+ return;
185
+ }
186
+ // 项目模式(原行为)
187
+ const allowedKeys = ['auto_advance'];
188
+ if (!allowedKeys.includes(key)) {
189
+ console.error(t('config.set.invalidKey', lang, { val: key, keys: allowedKeys.join(', ') }));
190
+ process.exit(1);
191
+ }
192
+ // value 白名单校验
193
+ if (key === 'auto_advance' && !['enabled', 'disabled'].includes(value)) {
194
+ console.error(t('config.set.invalidValue', lang, { val: value, key, values: 'enabled, disabled' }));
195
+ process.exit(1);
196
+ }
197
+ try {
198
+ setConfigValue(process.cwd(), key, value);
199
+ console.log(t('config.set.valueOk', lang, { key, value }));
200
+ }
201
+ catch (err) {
202
+ // 写入 config.yaml 失败(YAML 语法错误、权限问题等),输出实际错误原因
203
+ console.error(t('config.set.error', lang, { err: err.message }));
204
+ process.exit(1);
205
+ }
206
+ });
207
+ }
208
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * flow 命令组注册
3
+ * openfeel flow status|current|metrics|advance|attempt|log|review|retry|repair|health|wizard
4
+ *
5
+ * 变更摘要 (stage-01: flow.json 鲁棒性加固):
6
+ * - 新增 flow repair 子命令,自动检测并修复 flow.json 常见问题
7
+ * - 所有 flow.json 操作通过 FlowManager 实例完成
8
+ *
9
+ * 变更摘要 (stage-03: 效率优化):
10
+ * - flow review add 新增 --auto-fix 标志,支持轻量修正路径
11
+ * - 新增 flow health 子命令,全面健康检查
12
+ *
13
+ * 变更摘要 (stage-03: 流水线可视化):
14
+ * - 新增 flow overview 子命令,实现 /opfx:status 全状态可视化
15
+ *
16
+ * 变更摘要 (stage-04: 体验补全):
17
+ * - 新增 flow wizard 子命令,交互式推进流水线阶段
18
+ *
19
+ * 变更摘要 (stage-04: 性能指标):
20
+ * - 新增 flow metrics 子命令,展示 Agent 性能指标
21
+ */
22
+ import { Command } from 'commander';
23
+ export declare function registerFlowCommand(program: Command): void;
24
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAskC1D"}