evaengine 1.0.12 → 1.0.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evaengine",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "EvaEngine for Node.js, a micro service development engine",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -48,7 +48,7 @@
48
48
  "express-session": "^1.19.0",
49
49
  "ioredis": "^5.11.1",
50
50
  "joi": "^18.2.3",
51
- "js-yaml": "^5.2.2",
51
+ "js-yaml": "^5.4.2",
52
52
  "jwt-simple": "^0.5.6",
53
53
  "lodash": "^4.18.1",
54
54
  "moment-timezone": "^0.6.3",
@@ -75,6 +75,8 @@
75
75
  "semantic-release": "^25.0.8"
76
76
  },
77
77
  "overrides": {
78
- "uuid": "^11.1.1"
78
+ "uuid": "^11.1.1",
79
+ "undici@^6.0.0": "^6.29.0",
80
+ "undici@^7.0.0": "^7.29.1"
79
81
  }
80
82
  }
@@ -1,47 +0,0 @@
1
- # AI 编码行为
2
-
3
- Version: 1.0
4
- 每个 session 加载。约束行为,不写项目业务。
5
-
6
- ## 角色
7
- 维护已有代码库的高级工程师。保架构、质量、可维护性与长期演进。
8
-
9
- ## 改动哲学
10
- 优先:最小改动、现有模式、可本地推理的简单代码。
11
- 禁止:无关重构、重写能跑的代码、未讨论的架构/接口变更、提前抽象。
12
-
13
- 优先级:正确 > 可维护 > 简单 > 速度。
14
-
15
- ## 编码前
16
- 1. 弄清需求与完成标准 2. 读相关 docs 与代码 3. 认影响面与既有模式
17
- 不清就问,不靠猜。
18
-
19
- ## 上下文
20
- 入口:AGENTS → defaults → memory → 任务相关 docs → 相关代码。
21
- 只加载任务需要的模块文档。禁止无目的整仓读。上下文大则先总结。
22
-
23
- ## 实现
24
- 显式、平控流、清晰命名。避免聪明写法、隐藏魔法、模式堆砌。
25
- 不改无关文件;不静默改公共接口;不擅自升级依赖。
26
- 必须扩大范围时:说明原因、影响、风险、替代方案。
27
-
28
- ## 抽象
29
- 仅当职责清晰、重复真实、维护收益明显时才抽。
30
- 「以后可能用」「更优雅」「常见模式」不是理由。
31
-
32
- ## 测试
33
- 每次改动考虑行为与回归。不删测试装通过;不忽略失败。
34
-
35
- ## 文档
36
- 架构/职责/接口/重要行为/开发运维方式变了 → 更新 docs。
37
- 琐碎实现与临时调试不写 docs。需要时走 sync。
38
-
39
- ## 禁止
40
- - 不读现有实现就生成
41
- - 为未来加框架或层
42
- - 用假设掩盖不确定
43
- - 让 memory/docs 与代码冲突而不处理
44
-
45
- ## 交卷前
46
- 需求满足;模式一致;测试考虑;docs/memory 按规模处理;无多余 diff。
47
- 简报:改了什么 / 怎么测 / 文档影响 / 遗留问题。
@@ -1,45 +0,0 @@
1
- # 工程偏好
2
-
3
- Version: 1.0
4
- 本文件为可替换偏好包的一部分。精简;每个 session 加载。
5
-
6
- ## 核心
7
- - 用能解决问题的最简方案;不为假想规模、好奇心或炫技加复杂度
8
- - 架构渐进:能用简单实现就别上独立服务;停在当前需要的最简形态
9
- - 先解决问题,出现真实重复再抽能力;禁止提前抽象
10
- - 代码为人读:可读、可维护、意图清晰优先于短或炫
11
-
12
- ## 引入新技术/依赖前自问
13
- 解决什么真实问题?现有为何不够?增加多少实现/运维/学习成本?谁长期维护?
14
-
15
- ## 组件
16
- 单一职责、稳定接口、明确数据所有权。可演进但不预拆。避免万能 utils 黑洞。
17
-
18
- ## 所有权
19
- 谁写谁负责:实现、测试、排障、运维意识。commit 不是责任终点。
20
-
21
- ## 依赖
22
- 越少越好。选成熟、在维护、可替换的。谨慎小工具包与无必要包装层。
23
-
24
- ## 运行时(本仓)
25
- - Node ≥24;ESM(`"type": "module"`)
26
- - 包管理:npm(仓库含 package-lock;CI 用 npm install)
27
- - 测试:Node 内置 `node:test` + `node:assert/strict`
28
- - Lint:ESLint 9 flat config
29
- - 无业务要求不做 Node 历史版本兼容
30
-
31
- ## 发布与 Git
32
- - SemVer;Conventional Commits(feat/fix/docs/refactor/chore…)
33
- - 主干为 `main`;semantic-release 自动发版 npm
34
- - 一次只完成一个功能;不混杂无关重构与依赖大升级
35
-
36
- ## 可靠性
37
- 假定会失败:隔离、显式错误处理、可恢复、优雅降级。可观测补充而非替代设计。
38
-
39
- ## AI 时代
40
- AI 降低手写成本,不降低系统复杂度。目标是更好的系统与可积累知识,不是更多代码。AI 代码与人写同一标准。
41
-
42
- ## 模型协作(偏好)
43
- - 架构/文档/bootstrap:强模型
44
- - 日常编码:性价比模型
45
- - 具体型号可按环境覆盖,不写死进业务仓逻辑
package/.ai/memory.md DELETED
@@ -1,38 +0,0 @@
1
- # Project Memory
2
-
3
- 限高:全文建议 ≤150 行。超限先删 Assumed/过时/已升格进 docs 的条目。
4
- 只记:代码与 docs 都表达不好、且影响未来开发的信息。
5
- 不记:架构复述、API 说明、流水账、临时调试、git 能看到的变更列表。
6
- 置信:Confirmed(代码/测试/人确认)| Assumed(待验证,用完升格或删)。
7
-
8
- 更新:2026-08-10
9
-
10
- ## 当前焦点
11
- - 进行中:无
12
- - 下一步:无
13
-
14
- ## 雷区与禁忌
15
- - 全局 DI + 模块级 `app`:多 Engine 并存隔离未保证(Confirmed;ADR-0002)
16
- - 包入口只有 default/`core`:`import { EvaEngine } from 'evaengine'` **不可用**;须 `import eva from 'evaengine'` 再解构(Confirmed,`index.js` re-export)
17
- - 测前 `DI.reset()` / `test/bootstrap.js`;`--test-concurrency=1`(Confirmed)
18
- - `bootstrap()` ≠ CLI providers;CLI 在 `getCLI`/`runCrontab` 内注册(Confirmed)
19
- - JWT/Auth 双实现:`token.provider === 'kong'`(Confirmed)
20
- - ESM 相对路径要 `.js`;entity 扫描用 `createRequire`(Confirmed)
21
- - 默认 TZ:`process.env.TZ || 'Asia/Shanghai'`(Confirmed)
22
- - EventManager ≠ MQ(Confirmed;ADR-0005)
23
- - npm 发布物看 `.npmignore`;消费方契约在 README(Confirmed;ADR-0006)
24
- - session 中间件读取 `_config.get().cookie`,默认配置 cookie 在 `session.cookie` 下——键路径不一致,改 session 配置时对照源码(Confirmed)
25
-
26
- ## 调试手册
27
- - 测试需 Redis `127.0.0.1:6379`;bootstrap 用 `test/_demo_project/config`
28
- - Spring Config 仅 `bin/engine` + `SPRING_CONFIG_ENDPOINT`
29
- - 配置合并:内置 ← default.cjs ← `<env>.cjs ← local.<env>.cjs`
30
-
31
- ## 待验证
32
- - (空)
33
-
34
- ## 协作偏好(项目级)
35
- - 对外 README 英文;维护 docs/memory 中文
36
- - 改 Public 行为:测试 + README
37
- - 锁文件:提交 package-lock.json(ADR-0007)
38
- - 架构大改:design-review + ADR
@@ -1,38 +0,0 @@
1
- # 架构改动自检
2
-
3
- 定位:架构级改动的强制清单(非正式审批流)。个人 vibe coding 默认清单过完可开工;用户要求确认时再等。
4
-
5
- ## 何时必须
6
- - 新架构模式、系统/模块边界变化、拆并模块
7
- - 新基础设施、跨切面能力、框架级抽象
8
- - 主技术栈/持久化/通信机制替换
9
- - 核心实体、数据所有权、一致性模型变化
10
-
11
- ## 何时不必
12
- bug、小 feature、局部重构、测试与文档、无行为清理。
13
-
14
- ## 清单(按序写短答)
15
- 1. **现状**:现在怎么做
16
- 2. **问题**:真实限制/需求是什么(不是「以后可能」)
17
- 3. **影响面**:谁受影响
18
- 4. **现有能力**:为何不够,能否扩展而非新建
19
- 5. **方案**:至少两个选项 + 推荐 + 理由
20
- 6. **复杂度**:实现/运维/学习/维护成本是否值得
21
- 7. **演进**:是否跳级(简单→模块→服务→分布式)
22
- 8. **责任边界**:是否清晰,会否制造万能依赖
23
- 9. **失败**:如何失败、降级、恢复、怎么观测
24
- 10. **文档**:要改哪些 docs;是否需要 ADR
25
-
26
- ## ADR(重要决策时)
27
- 写入 `docs/architecture/adr/`:上下文 / 决策 / 弃选 / 后果。
28
-
29
- ## 输出模板
30
- 问题:
31
- 现状:
32
- 影响组件:
33
- 选项:
34
- 推荐:
35
- 理由:
36
- 风险:
37
- 迁移:
38
- 文档更新:
@@ -1,34 +0,0 @@
1
- # Session 收工
2
-
3
- 按任务规模执行;微可极简,中/大走全量。不自动 git commit。
4
-
5
- ## 规模
6
- | 规模 | 动作 |
7
- |---|---|
8
- | 微 | 确认改动符合预期即可 |
9
- | 小 | 核对 diff;有行为/接口影响则更新 docs;更新 memory「当前焦点」 |
10
- | 中 | 下文 1–6 |
11
- | 大 | 下文 1–6 + 确认 design-review 结论已落入 docs/ADR |
12
-
13
- ## 1. 回顾
14
- 改了什么、为何、结果;看 git status。
15
-
16
- ## 2. 验收
17
- - 实现匹配需求;无无关 diff;符合约定
18
- - 测试:该加的加了;已知失败已说明
19
- - 无临时文件残留
20
-
21
- ## 3. 文档
22
- 按 sync 的影响表更新 docs;无影响则明确说「文档无更新」。
23
-
24
- ## 4. Memory
25
- 更新「当前焦点」(完成则清空或改下一步)。有新雷区/调试结论则写入并标置信。不写流水账。超限先删 Assumed/过时条。
26
-
27
- ## 5. 一致性
28
- 代码 → docs → memory。冲突按优先级修正。
29
-
30
- ## 6. 交接摘要
31
- 完成 / 改动文件 / 关键决策 / 已知问题 / 建议下一步。
32
-
33
- ## Git
34
- 可报告 status;除非用户要求,不 commit。
@@ -1,34 +0,0 @@
1
- # Session 启动
2
-
3
- 目标:用最小上下文恢复到可开工状态。
4
-
5
- ## 1. 固定加载
6
- 1. `AGENTS.md`
7
- 2. `.ai/defaults/preferences.md`
8
- 3. `.ai/defaults/ai-coding.md`
9
- 4. `.ai/memory.md`(限高;若超限先裁剪/总结再继续)
10
-
11
- ## 2. 理解任务
12
- 用四句话内搞清:目标 / 范围 / 不改什么 / 完成标准。
13
-
14
- ## 3. 定规模
15
- 微 | 小 | 中 | 大(见 AGENTS 分级)。大 → 先读 `design-review.md`。
16
-
17
- ## 4. 按需加载
18
- - 查 `docs/index.md` 或 AGENTS 加载表
19
- - 只读相关 `docs/components/<module>/`
20
- - 跨模块才读 `docs/architecture/`
21
- - 跑通/测试读 `docs/development/`
22
- - 部署运维读 `docs/operations/`
23
- 然后读相关代码与测试。禁止整仓扫描。
24
-
25
- ## 5. Context Budget
26
- 优先:最小文档集 → 组件 docs → 再代码。上下文膨胀则先总结。
27
-
28
- ## 6. 确认(按规模)
29
- - 微/小:可直接干
30
- - 中:三五行说明影响面、做法、风险
31
- - 大:完成 design-review 清单;需求不清或多方案时等人确认
32
-
33
- ## 7. 开工
34
- 最小改动;遵循现有约定与 defaults;不碰无关区域。
@@ -1,24 +0,0 @@
1
- # 同步
2
-
3
- 何时:人改了代码、AI 改了代码、外部合并、怀疑文档过期。微改动且无行为变化可跳过。
4
-
5
- ## 1. 先看变化
6
- git diff / 近期提交 / 改动文件。先理解再改文档。
7
-
8
- ## 2. 文档影响
9
- | 影响 | 更新 |
10
- |---|---|
11
- | 边界/数据流/结构 | `docs/architecture/`,必要时 ADR |
12
- | 模块职责/接口/行为 | `docs/components/<module>/` |
13
- | 命令/环境/测试方式 | `docs/development/` |
14
- | 部署/配置/运行 | `docs/operations/` |
15
- | 加载路径变化 | `docs/index.md`、必要时 AGENTS 加载表 |
16
-
17
- ## 3. Memory
18
- 仅写入影响未来开发、且代码/docs 看不出来的信息。见 memory 文首规则。稳定事实应升格进 docs 并删除 memory 对应条。
19
-
20
- ## 4. 置信与清理
21
- 条目标记 Confirmed / Assumed。删除过时、矛盾内容。冲突时:代码 > 测试 > 决策 > docs > memory。
22
-
23
- ## 5. 报告
24
- 代码变化 / 文档更新 / memory 更新 / 残留疑点。