moai-adk 0.35.1__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +10 -0
- moai_adk/__main__.py +199 -0
- moai_adk/cli/__init__.py +6 -0
- moai_adk/cli/commands/__init__.py +17 -0
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +272 -0
- moai_adk/cli/commands/init.py +372 -0
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +104 -0
- moai_adk/cli/commands/update.py +2686 -0
- moai_adk/cli/main.py +13 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +219 -0
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +1 -0
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +244 -0
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/__init__.py +19 -0
- moai_adk/core/diagnostics/slash_commands.py +159 -0
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +31 -0
- moai_adk/core/git/branch.py +25 -0
- moai_adk/core/git/branch_manager.py +129 -0
- moai_adk/core/git/checkpoint.py +134 -0
- moai_adk/core/git/commit.py +67 -0
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +79 -0
- moai_adk/core/git/manager.py +216 -0
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +305 -0
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +572 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +605 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +1 -0
- moai_adk/core/project/backup_utils.py +70 -0
- moai_adk/core/project/checker.py +300 -0
- moai_adk/core/project/detector.py +293 -0
- moai_adk/core/project/initializer.py +387 -0
- moai_adk/core/project/phase_executor.py +716 -0
- moai_adk/core/project/validator.py +139 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +377 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +7 -0
- moai_adk/core/template/backup.py +174 -0
- moai_adk/core/template/config.py +191 -0
- moai_adk/core/template/languages.py +43 -0
- moai_adk/core/template/merger.py +233 -0
- moai_adk/core/template/processor.py +1200 -0
- moai_adk/core/template_engine.py +310 -0
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +365 -0
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
- moai_adk/templates/.gitignore +222 -0
- moai_adk/templates/.mcp.json +13 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +24 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +642 -0
- moai_adk/utils/__init__.py +30 -0
- moai_adk/utils/banner.py +38 -0
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +147 -0
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.35.1.dist-info/METADATA +3018 -0
- moai_adk-0.35.1.dist-info/RECORD +502 -0
- moai_adk-0.35.1.dist-info/WHEEL +4 -0
- moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
- moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
# Data Formats Reference
|
|
2
|
+
|
|
3
|
+
## API Reference
|
|
4
|
+
|
|
5
|
+
### TOONEncoder Class
|
|
6
|
+
|
|
7
|
+
Token-Optimized Object Notation encoder for LLM communication.
|
|
8
|
+
|
|
9
|
+
Initialization:
|
|
10
|
+
```python
|
|
11
|
+
from moai_formats_data import TOONEncoder
|
|
12
|
+
|
|
13
|
+
encoder = TOONEncoder(
|
|
14
|
+
use_type_markers=True, # Enable type prefix markers
|
|
15
|
+
compress_keys=False, # Enable key abbreviation
|
|
16
|
+
datetime_format='iso', # Datetime serialization format
|
|
17
|
+
decimal_places=2 # Float precision
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Methods:
|
|
22
|
+
|
|
23
|
+
encode(data):
|
|
24
|
+
- Parameters: data (dict, list, or primitive)
|
|
25
|
+
- Returns: str - TOON encoded string
|
|
26
|
+
- Achieves 40-60% token reduction vs JSON
|
|
27
|
+
|
|
28
|
+
decode(toon_string):
|
|
29
|
+
- Parameters: toon_string (str)
|
|
30
|
+
- Returns: dict/list/primitive - Original data
|
|
31
|
+
- Lossless round-trip decoding
|
|
32
|
+
|
|
33
|
+
encode_batch(data_list):
|
|
34
|
+
- Parameters: data_list (list of dicts)
|
|
35
|
+
- Returns: list of TOON encoded strings
|
|
36
|
+
- Optimized for batch processing
|
|
37
|
+
|
|
38
|
+
Type Markers:
|
|
39
|
+
```
|
|
40
|
+
# - Number (integer or float)
|
|
41
|
+
! - Boolean
|
|
42
|
+
@ - Timestamp/datetime
|
|
43
|
+
~ - Null value
|
|
44
|
+
$ - UUID (custom extension)
|
|
45
|
+
& - Decimal (custom extension)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Example:
|
|
49
|
+
```python
|
|
50
|
+
encoder = TOONEncoder()
|
|
51
|
+
|
|
52
|
+
# Original data
|
|
53
|
+
data = {
|
|
54
|
+
"user_id": 12345,
|
|
55
|
+
"active": True,
|
|
56
|
+
"balance": 99.50,
|
|
57
|
+
"created_at": datetime(2025, 1, 1),
|
|
58
|
+
"metadata": None
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
# Encoded TOON
|
|
62
|
+
encoded = encoder.encode(data)
|
|
63
|
+
# Result: "user_id:#12345|active:!1|balance:#99.5|created_at:@2025-01-01T00:00:00|metadata:~"
|
|
64
|
+
|
|
65
|
+
# Decode back
|
|
66
|
+
decoded = encoder.decode(encoded)
|
|
67
|
+
# Returns original data structure
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### JSONOptimizer Class
|
|
71
|
+
|
|
72
|
+
High-performance JSON processing with orjson.
|
|
73
|
+
|
|
74
|
+
Initialization:
|
|
75
|
+
```python
|
|
76
|
+
from moai_formats_data import JSONOptimizer
|
|
77
|
+
|
|
78
|
+
optimizer = JSONOptimizer(
|
|
79
|
+
use_orjson=True, # Use orjson for performance
|
|
80
|
+
sort_keys=False, # Sort dictionary keys
|
|
81
|
+
indent=None, # Pretty print indentation
|
|
82
|
+
default_handler=None # Custom type handler
|
|
83
|
+
)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Methods:
|
|
87
|
+
|
|
88
|
+
serialize_fast(data):
|
|
89
|
+
- Parameters: data (any serializable object)
|
|
90
|
+
- Returns: bytes - JSON encoded bytes
|
|
91
|
+
- 2-5x faster than standard json module
|
|
92
|
+
|
|
93
|
+
deserialize_fast(json_bytes):
|
|
94
|
+
- Parameters: json_bytes (bytes or str)
|
|
95
|
+
- Returns: dict/list - Parsed data
|
|
96
|
+
|
|
97
|
+
compress_schema(schema):
|
|
98
|
+
- Parameters: schema (dict) - JSON Schema
|
|
99
|
+
- Returns: bytes - Compressed schema for reuse
|
|
100
|
+
|
|
101
|
+
stream_parse(file_path, item_callback):
|
|
102
|
+
- Parameters: file_path (str), item_callback (callable)
|
|
103
|
+
- Returns: int - Number of items processed
|
|
104
|
+
- Memory-efficient streaming for large files
|
|
105
|
+
|
|
106
|
+
Example:
|
|
107
|
+
```python
|
|
108
|
+
optimizer = JSONOptimizer()
|
|
109
|
+
|
|
110
|
+
# Fast serialization
|
|
111
|
+
data = {"users": [{"id": i, "name": f"user_{i}"} for i in range(10000)]}
|
|
112
|
+
json_bytes = optimizer.serialize_fast(data)
|
|
113
|
+
|
|
114
|
+
# Fast deserialization
|
|
115
|
+
parsed = optimizer.deserialize_fast(json_bytes)
|
|
116
|
+
|
|
117
|
+
# Streaming large files
|
|
118
|
+
def process_user(user):
|
|
119
|
+
print(f"Processing: {user['id']}")
|
|
120
|
+
|
|
121
|
+
count = optimizer.stream_parse("large_users.json", process_user)
|
|
122
|
+
print(f"Processed {count} users")
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### DataValidator Class
|
|
126
|
+
|
|
127
|
+
Schema validation with custom rules.
|
|
128
|
+
|
|
129
|
+
Initialization:
|
|
130
|
+
```python
|
|
131
|
+
from moai_formats_data import DataValidator
|
|
132
|
+
|
|
133
|
+
validator = DataValidator(
|
|
134
|
+
strict_mode=False, # Fail on unknown fields
|
|
135
|
+
coerce_types=True, # Auto-convert compatible types
|
|
136
|
+
error_limit=10 # Max errors to collect
|
|
137
|
+
)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Methods:
|
|
141
|
+
|
|
142
|
+
create_schema(rules):
|
|
143
|
+
- Parameters: rules (dict) - Field validation rules
|
|
144
|
+
- Returns: Schema object for validation
|
|
145
|
+
|
|
146
|
+
validate(data, schema):
|
|
147
|
+
- Parameters: data (dict), schema (Schema object)
|
|
148
|
+
- Returns: dict with keys: valid, errors, sanitized_data
|
|
149
|
+
|
|
150
|
+
add_custom_validator(name, validator_func):
|
|
151
|
+
- Parameters: name (str), validator_func (callable)
|
|
152
|
+
- Registers custom validation function
|
|
153
|
+
|
|
154
|
+
Rule Types:
|
|
155
|
+
```python
|
|
156
|
+
schema = validator.create_schema({
|
|
157
|
+
# String validation
|
|
158
|
+
"username": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"required": True,
|
|
161
|
+
"min_length": 3,
|
|
162
|
+
"max_length": 50,
|
|
163
|
+
"pattern": r"^[a-zA-Z0-9_]+$"
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
# Email validation
|
|
167
|
+
"email": {
|
|
168
|
+
"type": "email",
|
|
169
|
+
"required": True
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
# Number validation
|
|
173
|
+
"age": {
|
|
174
|
+
"type": "integer",
|
|
175
|
+
"required": False,
|
|
176
|
+
"min_value": 13,
|
|
177
|
+
"max_value": 120
|
|
178
|
+
},
|
|
179
|
+
|
|
180
|
+
# Enum validation
|
|
181
|
+
"role": {
|
|
182
|
+
"type": "enum",
|
|
183
|
+
"values": ["admin", "user", "guest"],
|
|
184
|
+
"default": "user"
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
# Nested object
|
|
188
|
+
"profile": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"schema": {
|
|
191
|
+
"bio": {"type": "string", "max_length": 500},
|
|
192
|
+
"avatar_url": {"type": "url"}
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
# Array validation
|
|
197
|
+
"tags": {
|
|
198
|
+
"type": "array",
|
|
199
|
+
"items": {"type": "string"},
|
|
200
|
+
"min_items": 1,
|
|
201
|
+
"max_items": 10,
|
|
202
|
+
"unique": True
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### YAMLOptimizer Class
|
|
208
|
+
|
|
209
|
+
Optimized YAML processing.
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
from moai_formats_data import YAMLOptimizer
|
|
213
|
+
|
|
214
|
+
yaml_optimizer = YAMLOptimizer(
|
|
215
|
+
use_c_loader=True, # Use LibYAML C extension
|
|
216
|
+
preserve_order=True, # Maintain key order
|
|
217
|
+
default_flow_style=False # Block style output
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Load YAML file
|
|
221
|
+
config = yaml_optimizer.load_fast("config.yaml")
|
|
222
|
+
|
|
223
|
+
# Merge multiple configs
|
|
224
|
+
merged = yaml_optimizer.merge_configs(
|
|
225
|
+
base_config,
|
|
226
|
+
env_config,
|
|
227
|
+
override_config
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
# Dump to YAML
|
|
231
|
+
yaml_str = yaml_optimizer.dump_fast(data)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### StreamProcessor Class
|
|
235
|
+
|
|
236
|
+
Memory-efficient large file processing.
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
from moai_formats_data import StreamProcessor
|
|
240
|
+
|
|
241
|
+
processor = StreamProcessor(
|
|
242
|
+
chunk_size=8192, # Read buffer size
|
|
243
|
+
max_memory_mb=100 # Memory limit for buffering
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Process JSON array stream
|
|
247
|
+
def handle_item(item):
|
|
248
|
+
# Process each item
|
|
249
|
+
pass
|
|
250
|
+
|
|
251
|
+
processor.process_json_stream("large_file.json", handle_item)
|
|
252
|
+
|
|
253
|
+
# Process NDJSON (newline-delimited JSON)
|
|
254
|
+
processor.process_ndjson_stream("events.ndjson", handle_item)
|
|
255
|
+
|
|
256
|
+
# Process CSV with type inference
|
|
257
|
+
processor.process_csv_stream("data.csv", handle_item, infer_types=True)
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Configuration Options
|
|
263
|
+
|
|
264
|
+
### TOON Configuration
|
|
265
|
+
|
|
266
|
+
```yaml
|
|
267
|
+
# config/toon.yaml
|
|
268
|
+
encoding:
|
|
269
|
+
use_type_markers: true
|
|
270
|
+
compress_keys: false
|
|
271
|
+
key_separator: ":"
|
|
272
|
+
field_separator: "|"
|
|
273
|
+
array_separator: ","
|
|
274
|
+
|
|
275
|
+
types:
|
|
276
|
+
number_marker: "#"
|
|
277
|
+
boolean_marker: "!"
|
|
278
|
+
timestamp_marker: "@"
|
|
279
|
+
null_marker: "~"
|
|
280
|
+
uuid_marker: "$"
|
|
281
|
+
decimal_marker: "&"
|
|
282
|
+
|
|
283
|
+
datetime:
|
|
284
|
+
format: "iso" # iso, unix, custom
|
|
285
|
+
timezone: "UTC"
|
|
286
|
+
custom_format: "%Y-%m-%dT%H:%M:%S%z"
|
|
287
|
+
|
|
288
|
+
performance:
|
|
289
|
+
batch_size: 1000
|
|
290
|
+
use_string_builder: true
|
|
291
|
+
cache_patterns: true
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### JSON Configuration
|
|
295
|
+
|
|
296
|
+
```yaml
|
|
297
|
+
# config/json.yaml
|
|
298
|
+
serialization:
|
|
299
|
+
library: "orjson" # orjson, ujson, standard
|
|
300
|
+
sort_keys: false
|
|
301
|
+
ensure_ascii: false
|
|
302
|
+
indent: null
|
|
303
|
+
|
|
304
|
+
deserialization:
|
|
305
|
+
parse_float: "float" # float, decimal
|
|
306
|
+
parse_int: "int" # int, str
|
|
307
|
+
strict: false
|
|
308
|
+
|
|
309
|
+
streaming:
|
|
310
|
+
chunk_size: 8192
|
|
311
|
+
buffer_size: 65536
|
|
312
|
+
use_mmap: true # Memory-mapped file reading
|
|
313
|
+
|
|
314
|
+
caching:
|
|
315
|
+
enabled: true
|
|
316
|
+
max_size_mb: 50
|
|
317
|
+
ttl_seconds: 3600
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Validation Configuration
|
|
321
|
+
|
|
322
|
+
```yaml
|
|
323
|
+
# config/validation.yaml
|
|
324
|
+
behavior:
|
|
325
|
+
strict_mode: false
|
|
326
|
+
coerce_types: true
|
|
327
|
+
strip_unknown: false
|
|
328
|
+
error_limit: 50
|
|
329
|
+
|
|
330
|
+
defaults:
|
|
331
|
+
string_max_length: 10000
|
|
332
|
+
array_max_items: 1000
|
|
333
|
+
object_max_depth: 10
|
|
334
|
+
|
|
335
|
+
custom_types:
|
|
336
|
+
phone:
|
|
337
|
+
pattern: "^\\+?[1-9]\\d{1,14}$"
|
|
338
|
+
message: "Invalid phone number format"
|
|
339
|
+
postal_code:
|
|
340
|
+
pattern: "^[0-9]{5}(-[0-9]{4})?$"
|
|
341
|
+
message: "Invalid postal code"
|
|
342
|
+
|
|
343
|
+
performance:
|
|
344
|
+
compile_patterns: true
|
|
345
|
+
cache_schemas: true
|
|
346
|
+
parallel_validation: false
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Integration Patterns
|
|
352
|
+
|
|
353
|
+
### LLM Data Optimization
|
|
354
|
+
|
|
355
|
+
```python
|
|
356
|
+
from moai_formats_data import TOONEncoder, DataValidator
|
|
357
|
+
|
|
358
|
+
class LLMDataPreparer:
|
|
359
|
+
def __init__(self, max_tokens: int = 4000):
|
|
360
|
+
self.encoder = TOONEncoder()
|
|
361
|
+
self.validator = DataValidator()
|
|
362
|
+
self.max_tokens = max_tokens
|
|
363
|
+
|
|
364
|
+
def prepare_for_llm(self, data: dict) -> str:
|
|
365
|
+
# Validate data structure
|
|
366
|
+
validation_result = self.validator.validate(data, self.schema)
|
|
367
|
+
if not validation_result['valid']:
|
|
368
|
+
raise ValueError(f"Invalid data: {validation_result['errors']}")
|
|
369
|
+
|
|
370
|
+
# Encode to TOON format
|
|
371
|
+
encoded = self.encoder.encode(data)
|
|
372
|
+
|
|
373
|
+
# Check token budget
|
|
374
|
+
estimated_tokens = len(encoded.split())
|
|
375
|
+
if estimated_tokens > self.max_tokens:
|
|
376
|
+
# Reduce data complexity
|
|
377
|
+
reduced = self._reduce_complexity(data)
|
|
378
|
+
encoded = self.encoder.encode(reduced)
|
|
379
|
+
|
|
380
|
+
return encoded
|
|
381
|
+
|
|
382
|
+
def _reduce_complexity(self, data: dict) -> dict:
|
|
383
|
+
"""Remove low-priority fields to fit token budget."""
|
|
384
|
+
priority_fields = ['id', 'name', 'type', 'status']
|
|
385
|
+
return {k: v for k, v in data.items() if k in priority_fields}
|
|
386
|
+
|
|
387
|
+
def parse_llm_response(self, response: str) -> dict:
|
|
388
|
+
"""Parse TOON-encoded LLM response."""
|
|
389
|
+
return self.encoder.decode(response)
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### API Response Optimization
|
|
393
|
+
|
|
394
|
+
```python
|
|
395
|
+
from fastapi import FastAPI
|
|
396
|
+
from moai_formats_data import TOONEncoder, JSONOptimizer
|
|
397
|
+
|
|
398
|
+
app = FastAPI()
|
|
399
|
+
encoder = TOONEncoder()
|
|
400
|
+
optimizer = JSONOptimizer()
|
|
401
|
+
|
|
402
|
+
@app.get("/api/users/{user_id}")
|
|
403
|
+
async def get_user(user_id: int, format: str = "json"):
|
|
404
|
+
user = await fetch_user(user_id)
|
|
405
|
+
|
|
406
|
+
if format == "toon":
|
|
407
|
+
# Return TOON format for LLM clients
|
|
408
|
+
return Response(
|
|
409
|
+
content=encoder.encode(user),
|
|
410
|
+
media_type="application/x-toon"
|
|
411
|
+
)
|
|
412
|
+
else:
|
|
413
|
+
# Return optimized JSON
|
|
414
|
+
return Response(
|
|
415
|
+
content=optimizer.serialize_fast(user),
|
|
416
|
+
media_type="application/json"
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
@app.post("/api/users/batch")
|
|
420
|
+
async def process_users(request: Request):
|
|
421
|
+
# Stream process large request body
|
|
422
|
+
users = []
|
|
423
|
+
|
|
424
|
+
async for chunk in request.stream():
|
|
425
|
+
data = optimizer.deserialize_fast(chunk)
|
|
426
|
+
users.extend(data.get('users', []))
|
|
427
|
+
|
|
428
|
+
# Process in batches
|
|
429
|
+
results = await process_users_batch(users)
|
|
430
|
+
return {"processed": len(results)}
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Database Integration
|
|
434
|
+
|
|
435
|
+
```python
|
|
436
|
+
from moai_formats_data import JSONOptimizer, DataValidator
|
|
437
|
+
|
|
438
|
+
class DatabaseCache:
|
|
439
|
+
def __init__(self, redis_client):
|
|
440
|
+
self.redis = redis_client
|
|
441
|
+
self.optimizer = JSONOptimizer()
|
|
442
|
+
self.validator = DataValidator()
|
|
443
|
+
|
|
444
|
+
async def get_cached(self, key: str, schema=None):
|
|
445
|
+
"""Get cached data with optional validation."""
|
|
446
|
+
cached = await self.redis.get(key)
|
|
447
|
+
if not cached:
|
|
448
|
+
return None
|
|
449
|
+
|
|
450
|
+
data = self.optimizer.deserialize_fast(cached)
|
|
451
|
+
|
|
452
|
+
if schema:
|
|
453
|
+
result = self.validator.validate(data, schema)
|
|
454
|
+
if not result['valid']:
|
|
455
|
+
# Invalid cached data, delete and return None
|
|
456
|
+
await self.redis.delete(key)
|
|
457
|
+
return None
|
|
458
|
+
return result['sanitized_data']
|
|
459
|
+
|
|
460
|
+
return data
|
|
461
|
+
|
|
462
|
+
async def set_cached(self, key: str, data: dict, ttl: int = 3600):
|
|
463
|
+
"""Cache data with fast serialization."""
|
|
464
|
+
serialized = self.optimizer.serialize_fast(data)
|
|
465
|
+
await self.redis.setex(key, ttl, serialized)
|
|
466
|
+
|
|
467
|
+
async def cache_query_result(self, query_key: str, query_func, ttl: int = 3600):
|
|
468
|
+
"""Cache database query results."""
|
|
469
|
+
cached = await self.get_cached(query_key)
|
|
470
|
+
if cached:
|
|
471
|
+
return cached
|
|
472
|
+
|
|
473
|
+
result = await query_func()
|
|
474
|
+
await self.set_cached(query_key, result, ttl)
|
|
475
|
+
return result
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## Troubleshooting
|
|
481
|
+
|
|
482
|
+
### TOON Encoding Issues
|
|
483
|
+
|
|
484
|
+
Issue: Decode fails with "Invalid type marker"
|
|
485
|
+
Symptoms: ValueError during decode
|
|
486
|
+
Solution:
|
|
487
|
+
- Check for unsupported data types in input
|
|
488
|
+
- Ensure encode/decode use same TOONEncoder configuration
|
|
489
|
+
- Verify no data corruption during transmission
|
|
490
|
+
- Use try/except with fallback to JSON
|
|
491
|
+
|
|
492
|
+
Issue: Large token savings not achieved
|
|
493
|
+
Symptoms: Only 10-20% reduction instead of 40-60%
|
|
494
|
+
Solution:
|
|
495
|
+
- Check data structure (nested objects benefit most)
|
|
496
|
+
- Enable key compression for repeated keys
|
|
497
|
+
- Remove redundant whitespace in string values
|
|
498
|
+
- Consider data structure optimization
|
|
499
|
+
|
|
500
|
+
### JSON Performance Issues
|
|
501
|
+
|
|
502
|
+
Issue: Serialization slower than expected
|
|
503
|
+
Symptoms: High CPU usage, slow response times
|
|
504
|
+
Solution:
|
|
505
|
+
- Verify orjson is installed: pip install orjson
|
|
506
|
+
- Check for non-serializable types requiring fallback
|
|
507
|
+
- Use bytes output instead of string when possible
|
|
508
|
+
- Batch small objects for single serialization call
|
|
509
|
+
|
|
510
|
+
Issue: Memory exhaustion with large files
|
|
511
|
+
Symptoms: MemoryError, system slowdown
|
|
512
|
+
Solution:
|
|
513
|
+
- Use streaming parser (ijson) for large files
|
|
514
|
+
- Process in chunks with StreamProcessor
|
|
515
|
+
- Enable memory-mapped file reading
|
|
516
|
+
- Implement pagination for large datasets
|
|
517
|
+
|
|
518
|
+
### Validation Issues
|
|
519
|
+
|
|
520
|
+
Issue: Custom validator not triggered
|
|
521
|
+
Symptoms: Custom rules ignored during validation
|
|
522
|
+
Solution:
|
|
523
|
+
- Verify validator registered before schema creation
|
|
524
|
+
- Check validator function signature (must accept value, return bool)
|
|
525
|
+
- Ensure field type matches custom validator name
|
|
526
|
+
- Debug with validator.get_registered_validators()
|
|
527
|
+
|
|
528
|
+
Issue: Schema evolution breaks existing data
|
|
529
|
+
Symptoms: Validation failures after schema update
|
|
530
|
+
Solution:
|
|
531
|
+
- Use SchemaEvolution for versioned migrations
|
|
532
|
+
- Implement data migration functions between versions
|
|
533
|
+
- Add backwards-compatible default values
|
|
534
|
+
- Test migration paths with production data samples
|
|
535
|
+
|
|
536
|
+
### Performance Optimization
|
|
537
|
+
|
|
538
|
+
Large Dataset Processing:
|
|
539
|
+
- Use NDJSON format for line-by-line processing
|
|
540
|
+
- Enable parallel processing for independent items
|
|
541
|
+
- Implement early termination for search operations
|
|
542
|
+
- Cache compiled regex patterns and schemas
|
|
543
|
+
|
|
544
|
+
Memory Management:
|
|
545
|
+
- Use generators instead of lists for streaming
|
|
546
|
+
- Clear cache periodically with cache.clear()
|
|
547
|
+
- Monitor memory with process.memory_info()
|
|
548
|
+
- Set explicit memory limits in configuration
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
## External Resources
|
|
553
|
+
|
|
554
|
+
### Core Libraries
|
|
555
|
+
- orjson: https://github.com/ijl/orjson
|
|
556
|
+
- ujson: https://github.com/ultrajson/ultrajson
|
|
557
|
+
- ijson: https://github.com/ICRAR/ijson
|
|
558
|
+
- PyYAML: https://pyyaml.org/wiki/PyYAMLDocumentation
|
|
559
|
+
|
|
560
|
+
### Validation Libraries
|
|
561
|
+
- Pydantic: https://docs.pydantic.dev/
|
|
562
|
+
- Cerberus: https://docs.python-cerberus.org/
|
|
563
|
+
- Marshmallow: https://marshmallow.readthedocs.io/
|
|
564
|
+
- JSON Schema: https://json-schema.org/
|
|
565
|
+
|
|
566
|
+
### Performance Tools
|
|
567
|
+
- memory_profiler: https://pypi.org/project/memory-profiler/
|
|
568
|
+
- line_profiler: https://github.com/pyutils/line_profiler
|
|
569
|
+
- py-spy: https://github.com/benfred/py-spy
|
|
570
|
+
|
|
571
|
+
### Serialization Standards
|
|
572
|
+
- JSON Specification: https://www.json.org/
|
|
573
|
+
- YAML Specification: https://yaml.org/spec/
|
|
574
|
+
- MessagePack: https://msgpack.org/
|
|
575
|
+
- Protocol Buffers: https://protobuf.dev/
|
|
576
|
+
|
|
577
|
+
### Best Practices
|
|
578
|
+
- Google JSON Style Guide: https://google.github.io/styleguide/jsoncstyleguide.xml
|
|
579
|
+
- JSON API Specification: https://jsonapi.org/
|
|
580
|
+
- OpenAPI Data Types: https://swagger.io/docs/specification/data-models/
|
|
581
|
+
|
|
582
|
+
---
|
|
583
|
+
|
|
584
|
+
Version: 1.0.0
|
|
585
|
+
Last Updated: 2025-12-06
|