- 08 Jun, 2026 1 commit
-
-
Admin authored
-
- 04 Jun, 2026 2 commits
- 01 Jun, 2026 6 commits
-
-
Admin authored
All 6 completion criteria confirmed: - grep canifa (source .py) = 0 - blueprint_id wired into POST /pipelines/run - reports_to validator active - 2-company DB constraint OK - 5/5 blueprint E2E tests pass - frontend build 0 errors Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Admin authored
Transforms Canifa-specific codebase into a generic AI Company platform that can instantiate any business type from a YAML Company Blueprint. Core additions: - backend/schemas/blueprint.py: CompanyBlueprint, BlueprintRole, BlueprintPipelineNode, BlueprintSummary Pydantic models with reports_to cross-validation via @model_validator(mode='after') - backend/services/blueprint_service.py: load/list/validate blueprints, deploy_company_from_blueprint() with 2-pass agent seeding for FK safety - backend/blueprints/: 4 YAML blueprints (fashion-retail, software-studio, ecommerce-brand, marketing-agency) with roles, pipeline DAGs, nocobase_collections - backend/tests/test_blueprint_e2e.py: 5 E2E tests — all pass API changes: - GET /companies/blueprints → List[BlueprintSummary] (with role_count) - GET /companies/blueprints/{name} → full blueprint detail - POST /companies/from-blueprint → deploy company from blueprint - POST /pipelines/run accepts blueprint_id to drive orchestrator DAG Orchestrator: - ProjectOrchestrator now accepts pipeline_spec: list[dict] | None - topological_sort_stages() (Kahn's BFS) derives parallel stages from blueprint DAG - Falls back to PIPELINE_STAGES if no spec provided De-branded: - Removed all "Canifa" strings from models/services/api/tasks source files - run_logs.py demo data → generic "Demo Brand/Server/Landing Page" - agents.py demo HTML → "Demo Company" - seed_db.py → uses deploy_company_from_blueprint("fashion-retail") NocoBase: - NocoBaseConnector: params-based init + from_company() classmethod - company_secrets: UniqueConstraint('company_id', 'key') instead of global unique Frontend: - OnboardingWizard: blueprint picker with org-chart preview + DAG layer render - blueprints.ts API client - Companies.tsx: blueprint badge on company cards Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Admin authored
-
Admin authored
-
Admin authored
-
Admin authored
-
- 30 May, 2026 1 commit
-
-
Admin authored
-
- 29 May, 2026 1 commit
-
-
Admin authored
-
- 28 May, 2026 4 commits
- 26 May, 2026 5 commits
-
-
Admin authored
-
Admin authored
- services/agent_log_writer.py: Writes ExecutionRunLog rows via AIAgent callbacks (tool_start, tool_complete, step, status). Errors swallowed to never block agent execution. - services/workspace_manager.py: Creates isolated workspace directories per agent run (workspaces/{company_id}/{run_id}/) with src/, .agent_output/, README.md structure. - services/path_security.py: Path validation to prevent directory traversal, blocks dangerous paths (C:\Windows, /etc, .env, .git). - api/routes/run_logs.py: Added company-scoped runs_router with: GET /companies/{id}/runs/{runId} — run detail with all logs GET /companies/{id}/runs/{runId}/stream — SSE real-time log stream - api/routes/agents.py: run_agent_in_background now creates workspace, instantiates AgentLogWriter, passes callbacks to AIAgent, and cleans up workspace in finally block. - tests/test_agent_flow.py: Updated to mock WorkspaceManager and AgentLogWriter, relaxed AIAgent assertion to check core kwargs only. All 3 tests pass. Dashboard verified 0 JS errors via Playwright. -
Admin authored
Frontend calls (g ?? []).slice(0,10) on activity data, which crashes when API returns {total, offset, limit, items} instead of ActivityEvent[]. Changed response_model from PaginatedResponse to List[ActivityLogResponse]. Also fixed .mcp.json Playwright package name. Verified via Playwright MCP: 0 console errors on dashboard. -
Admin authored
- Fix run_conversation sync/async boundary in 5 files: - run_agent.py main(): use _run_conversation_sync - batch_runner.py: use _run_conversation_sync - background_review.py: use _run_conversation_sync - curator.py: use _run_conversation_sync - acp_adapter/server.py: use _run_conversation_sync - Fix classic Python closure late-binding bug in get_tools.py (is_async captured by reference, not value) - Add missing deps to requirements.txt: openai, langchain-core, pyyaml, fire - Fix missing HTTPException import in environment_config.py - Fix missing List import in org_chart_svg.py
-
Admin authored
-
- 25 May, 2026 4 commits
-
-
Admin authored
-
Vũ Hoàng Anh authored
fix(api): change list_company_skills to return flat List[CompanySkillResponse] to fix frontend crash
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
feat: redesign UI to premium shadcn/ui with Canifa warm red/orange accents and translate company terms to Vietnamese departments (Phòng ban)
-
- 23 May, 2026 3 commits
-
-
Vũ Hoàng Anh authored
chore: Integrate Paperclip with FastAPI and resolve API case discrepancies, custom endpoints, and route issues
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
feat: migrate python backend, fix relative imports, fix adapter capabilities crash, and update README.md
-
- 21 May, 2026 3 commits
-
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
-
- 20 May, 2026 2 commits
-
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
-
- 19 May, 2026 1 commit
-
-
Vũ Hoàng Anh authored
-
- 14 May, 2026 1 commit
-
-
Vũ Hoàng Anh authored
-
- 13 May, 2026 4 commits
-
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
-
Vũ Hoàng Anh authored
- Add jsdiff v7.0.0 via CDN for Myers diff algorithm - Side-by-Side view: dual pane with synced scrolling, line numbers - Unified view: single pane with dual line number columns - Color coded: green=added, red=removed, white=same, striped=empty - Summary stats bar: identical/added/removed counts + char counts - View mode toggle: switch between side-by-side and unified - Replace old raw text dump with real diff computation
-
Vũ Hoàng Anh authored
- Rewrite manage_prompt.css: larger fonts (14-16px), premium card layout, better spacing - Cookbook sidebar: replace emoji with color-coded SVG Lucide icons per group - Cookbook CSS: add proper pre/code/blockquote/heading styling for markdown content - Support separator groups (no recipes) in sidebar navigation - Add mermaid diagram container styles - Light theme support for code blocks
-
- 12 May, 2026 2 commits
-
-
Hoanganhvu123 authored
-
Vũ Hoàng Anh authored
-