fix(presentation): 修复 presentation 模块类型错误和语法问题
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- 创建 types.ts 定义完整的类型系统 - 重写 DocumentRenderer.tsx 修复语法错误 - 重写 QuizRenderer.tsx 修复语法错误 - 重写 PresentationContainer.tsx 添加类型守卫 - 重写 TypeSwitcher.tsx 修复类型引用 - 更新 index.ts 移除不存在的 ChartRenderer 导出 审计结果: - 类型检查: 通过 - 单元测试: 222 passed - 构建: 成功
This commit is contained in:
@@ -6,51 +6,76 @@
|
||||
//! # Architecture
|
||||
//!
|
||||
//! ```text
|
||||
//! Pipeline YAML → Parser → Pipeline struct → Executor → Output
|
||||
//! ↓
|
||||
//! ExecutionContext (state)
|
||||
//! User Input → Intent Router → Pipeline v2 → Executor → Presentation
|
||||
//! ↓ ↓
|
||||
//! Trigger Matching ExecutionContext
|
||||
//! ```
|
||||
//!
|
||||
//! # Example
|
||||
//!
|
||||
//! ```yaml
|
||||
//! apiVersion: zclaw/v1
|
||||
//! apiVersion: zclaw/v2
|
||||
//! kind: Pipeline
|
||||
//! metadata:
|
||||
//! name: classroom-generator
|
||||
//! displayName: 互动课堂生成器
|
||||
//! name: course-generator
|
||||
//! displayName: 课程生成器
|
||||
//! category: education
|
||||
//! spec:
|
||||
//! inputs:
|
||||
//! - name: topic
|
||||
//! type: string
|
||||
//! required: true
|
||||
//! steps:
|
||||
//! - id: parse
|
||||
//! action: llm.generate
|
||||
//! template: skills/classroom/parse.md
|
||||
//! output: parsed
|
||||
//! - id: render
|
||||
//! action: classroom.render
|
||||
//! input: ${steps.parse.output}
|
||||
//! output: result
|
||||
//! outputs:
|
||||
//! classroom_id: ${steps.render.output.id}
|
||||
//! trigger:
|
||||
//! keywords: [课程, 教程, 学习]
|
||||
//! patterns:
|
||||
//! - "帮我做*课程"
|
||||
//! - "生成{level}级别的{topic}教程"
|
||||
//! params:
|
||||
//! - name: topic
|
||||
//! type: string
|
||||
//! required: true
|
||||
//! label: 课程主题
|
||||
//! stages:
|
||||
//! - id: outline
|
||||
//! type: llm
|
||||
//! prompt: "为{params.topic}创建课程大纲"
|
||||
//! - id: content
|
||||
//! type: parallel
|
||||
//! each: "${stages.outline.sections}"
|
||||
//! stage:
|
||||
//! type: llm
|
||||
//! prompt: "为章节${item.title}生成内容"
|
||||
//! output:
|
||||
//! type: dynamic
|
||||
//! supported_types: [slideshow, quiz, document]
|
||||
//! ```
|
||||
|
||||
pub mod types;
|
||||
pub mod types_v2;
|
||||
pub mod parser;
|
||||
pub mod parser_v2;
|
||||
pub mod state;
|
||||
pub mod executor;
|
||||
pub mod actions;
|
||||
pub mod trigger;
|
||||
pub mod intent;
|
||||
pub mod engine;
|
||||
pub mod presentation;
|
||||
|
||||
pub use types::*;
|
||||
pub use types_v2::*;
|
||||
pub use parser::*;
|
||||
pub use parser_v2::*;
|
||||
pub use state::*;
|
||||
pub use executor::*;
|
||||
pub use trigger::*;
|
||||
pub use intent::*;
|
||||
pub use engine::*;
|
||||
pub use presentation::*;
|
||||
pub use actions::ActionRegistry;
|
||||
pub use actions::{LlmActionDriver, SkillActionDriver, HandActionDriver, OrchestrationActionDriver};
|
||||
|
||||
/// Convenience function to parse pipeline YAML
|
||||
/// Convenience function to parse pipeline YAML (v1)
|
||||
pub fn parse_pipeline_yaml(yaml: &str) -> Result<Pipeline, parser::ParseError> {
|
||||
parser::PipelineParser::parse(yaml)
|
||||
}
|
||||
|
||||
/// Convenience function to parse pipeline v2 YAML
|
||||
pub fn parse_pipeline_v2_yaml(yaml: &str) -> Result<PipelineV2, parser_v2::ParseErrorV2> {
|
||||
parser_v2::PipelineParserV2::parse(yaml)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user