19 Commits

Author SHA1 Message Date
9aad52347b refactor(tracers): 统一命令字段名并重构数组追踪器创建逻辑
- 将所有命令的 `params` 字段重命名为 `payload`,以保持命名一致性
- 将 `ArrayTracerCreateOptions` 从联合类型简化为单一接口,移除 `array` 参数,新增 `initial` 和 `walker` 参数
- 引入 `buildInitial` 函数集中处理初始数组的构建逻辑
- 使用 `metadata` 对象管理数组长度状态,替代独立的 `arrayLength` 变量
- 更新错误消息格式,移除方括号前缀
- 调整泛型参数,使 `createArrayTracer` 更通用
2026-03-04 02:34:12 +08:00
2dfc4ced67 docs: 优化开发规则与项目介绍文档的表述
- 移除关于禁止修改源代码的临时限制说明,该限制已不再适用
- 统一并优化多处中文标点与空格的格式,使文档更整洁
- 调整项目介绍中关于协议设计的表述,使其更清晰准确
- 合并`tracer-type.md`中的分隔线,使列表结构更紧凑
2026-03-02 21:06:36 +08:00
19d4b97669 fix(tracer): 修复异步scope中异常处理后的状态设置问题
发生ScopeError时不执行flush,否则即便抛出异常也会执行flush
2026-02-24 20:33:59 +08:00
8a2399e890 docs(tracer-context): 添加详细的中文注释说明scope的设计原理和实现细节。 2026-02-23 13:03:22 +08:00
9f08c34225 refactor(tracer-context): 引入ScopeError类并优化错误处理逻辑
- 新增ScopeError自定义错误类,用于区分范围相关错误
- 将error字段重命名为exception以更准确描述其用途
- 优化flush方法,仅在有必要时输出指令序列
- 简化错误处理逻辑,移除冗余的console.error调用
- 确保ScopeError能正确向上抛出而不被捕获
2026-02-23 03:20:13 +08:00
134d4e2b19 refactor(tracer-context): 改进 scope 状态管理以支持嵌套检测
- 引入 SCOPE_STATE 枚举明确区分初始、执行中和已完成状态
- 将 scoping 布尔标志替换为 state 枚举,支持检测嵌套调用
- 分离同步和异步错误处理流程,确保状态正确更新
- 修复 flush 方法中 commands 和 error 的清理逻辑
2026-02-23 02:05:58 +08:00
8894458f4c feat(tracer-context): 添加scope方法以支持追踪异步错误
新增scope方法用于包裹异步或同步代码块,自动捕获错误并记录到上下文中。同时将dump方法重命名为flush以更准确描述其行为(清空并输出指令序列)。重构内部数据结构,将commands和error统一管理在scopeResult对象中。
2026-02-22 22:37:06 +08:00
0e61e4f5b9 docs: 新增并更新产品战略、技术设计与商业化规划文档
- 新增 AI 时代下的 StructRail 战略定位与发展路线图,明确 AI 集成方向
- 更新前端可视化库设计方案,细化架构、技术挑战与商业化结合点
- 重构商业化策略文档为 Q&A 形式,深入探讨市场、产品与增长策略
2026-02-22 22:36:48 +08:00
a9eaaa6023 docs: 新增项目文档并更新开发规则
- 新增品牌命名、商业化策略、SDK视觉噪音处理、可视化库设计和系统架构文档
- 更新开发规则,明确禁止主动修改项目源代码文件
- 所有文档均为中文编写,用于记录项目设计讨论和决策
2026-02-18 00:18:35 +08:00
4929ca496b feat: 新增 GraphTracer 并重构 ArrayTracer 的初始化方式
- 新增 GraphTracer 及其类型定义,支持图的创建和操作命令
- 重构 ArrayTracer 的 create 函数,使用 walker/commit 模式替代直接的 array 参数,提高灵活性
- 更新类型导出和命令联合类型以包含 GraphTracer
- 调整示例代码以使用新的初始化方式
2026-02-14 01:30:30 +08:00
9d5a46129e refactor(tracer-context): 移除自动输出指令序列的逻辑
移除 process.on('exit') 中的自动输出逻辑,改为通过 dump 方法手动获取指令序列。
2026-02-13 20:57:27 +08:00
305a9c7dc3 docs: 添加开发规则文档
- 新增开发规则文档,明确代码修改前的讨论流程
- 规范API设计时的多语言兼容性考虑范围
- 文档包含C、C++、Java等主流编程语言支持要求
2026-02-10 09:23:32 +08:00
a3328b8617 fix(array-tracer): 修正创建命令中数组参数的必填性
将 `ArrayTracerCreateCommand.params.array` 从可选参数改为必填参数,以匹配实际实现逻辑。
同时更新 `createArrayTracer` 函数,确保在未提供 `array` 时使用空数组作为默认值,保持向后兼容性。
2026-02-08 23:29:24 +08:00
5cc4f96b46 docs: 新增设计决策文档并实现数组追踪器校验
- 新增决策文档:移除 preset 指令,将其合并到 create 指令中,以简化生命周期和系统复杂度
- 新增决策文档:确立 SDK 侧影子状态校验机制,实现快速失败和最小必要状态原则
- 在 ArrayTracer 中实现影子状态校验,维护数组长度并进行索引边界检查
2026-02-06 01:56:52 +08:00
7b1c87f2a4 feat: 在退出前输出指令序列 2026-02-06 01:56:17 +08:00
fea1fe84bf docs: 统一Markdown文档的列表和分隔线格式
将无序列表的“-”符号统一为“*”,并将分隔线从“---”统一为“***”。
2026-02-06 01:54:49 +08:00
a3bbd5638a refactor: 重构项目结构,将 tracer 模块提取为独立子包
- 将 tracer 相关代码移动到 tracers.ts 子目录中
- 新增类型定义文件,统一管理命令类型
- 实现上下文管理机制,集中处理 tracer 命令
- 更新构建配置和依赖管理
- 移除旧的根目录文件,保持代码结构清晰
2026-02-04 13:45:17 +08:00
c90f4a0244 docs: 添加项目设计文档与跨语言SDK实现指南
- 新增 tracer-type.md 说明 Tracer 类型及其设计理念
- 新增 project-introduction.md 介绍项目背景与目标
- 新增 cross-language-sdk-guide.md 详细说明跨语言数据传递与序列化方案
- 新增 sdk-initialization-patterns.md 提供多语言 SDK 初始化设计规范
2026-02-04 13:44:51 +08:00
dbaa8a7785 first commit 2025-10-21 17:04:37 +08:00