bc-code-intelligence-mcp 1.5.9 → 1.6.0
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/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -211
- package/dist/index.js.map +1 -1
- package/dist/layers/base-layer.d.ts +6 -6
- package/dist/layers/base-layer.d.ts.map +1 -1
- package/dist/layers/base-layer.js +15 -15
- package/dist/layers/base-layer.js.map +1 -1
- package/dist/layers/embedded-layer.d.ts +2 -2
- package/dist/layers/embedded-layer.d.ts.map +1 -1
- package/dist/layers/embedded-layer.js +32 -16
- package/dist/layers/embedded-layer.js.map +1 -1
- package/dist/layers/git-layer.d.ts +2 -2
- package/dist/layers/git-layer.d.ts.map +1 -1
- package/dist/layers/git-layer.js +23 -9
- package/dist/layers/git-layer.js.map +1 -1
- package/dist/layers/project-layer.d.ts +2 -2
- package/dist/layers/project-layer.d.ts.map +1 -1
- package/dist/layers/project-layer.js +25 -11
- package/dist/layers/project-layer.js.map +1 -1
- package/dist/services/code-analysis-service.d.ts +100 -2
- package/dist/services/code-analysis-service.d.ts.map +1 -1
- package/dist/services/code-analysis-service.js +274 -8
- package/dist/services/code-analysis-service.js.map +1 -1
- package/dist/services/knowledge-service.d.ts.map +1 -1
- package/dist/services/knowledge-service.js.map +1 -1
- package/dist/services/methodology-service.d.ts +34 -2
- package/dist/services/methodology-service.d.ts.map +1 -1
- package/dist/services/methodology-service.js +279 -24
- package/dist/services/methodology-service.js.map +1 -1
- package/dist/services/multi-content-layer-service.d.ts.map +1 -1
- package/dist/services/multi-content-layer-service.js +26 -9
- package/dist/services/multi-content-layer-service.js.map +1 -1
- package/dist/services/relevance-index-service.d.ts +95 -0
- package/dist/services/relevance-index-service.d.ts.map +1 -0
- package/dist/services/relevance-index-service.js +321 -0
- package/dist/services/relevance-index-service.js.map +1 -0
- package/dist/services/roleplay-engine.d.ts +8 -0
- package/dist/services/roleplay-engine.d.ts.map +1 -1
- package/dist/services/roleplay-engine.js +35 -3
- package/dist/services/roleplay-engine.js.map +1 -1
- package/dist/services/specialist-loader.d.ts +1 -0
- package/dist/services/specialist-loader.d.ts.map +1 -1
- package/dist/services/specialist-loader.js +1 -0
- package/dist/services/specialist-loader.js.map +1 -1
- package/dist/services/workflow-service.d.ts +12 -0
- package/dist/services/workflow-service.d.ts.map +1 -1
- package/dist/services/workflow-service.js +30 -0
- package/dist/services/workflow-service.js.map +1 -1
- package/dist/services/{enhanced-prompt-service.d.ts → workflow-specialist-router.d.ts} +41 -4
- package/dist/services/workflow-specialist-router.d.ts.map +1 -0
- package/dist/services/{enhanced-prompt-service.js → workflow-specialist-router.js} +150 -24
- package/dist/services/workflow-specialist-router.js.map +1 -0
- package/dist/services/workflow-v2/index.d.ts +6 -0
- package/dist/services/workflow-v2/index.d.ts.map +1 -0
- package/dist/services/workflow-v2/index.js +6 -0
- package/dist/services/workflow-v2/index.js.map +1 -0
- package/dist/services/workflow-v2/workflow-definitions.d.ts +53 -0
- package/dist/services/workflow-v2/workflow-definitions.d.ts.map +1 -0
- package/dist/services/workflow-v2/workflow-definitions.js +722 -0
- package/dist/services/workflow-v2/workflow-definitions.js.map +1 -0
- package/dist/services/workflow-v2/workflow-session-manager.d.ts +140 -0
- package/dist/services/workflow-v2/workflow-session-manager.d.ts.map +1 -0
- package/dist/services/workflow-v2/workflow-session-manager.js +820 -0
- package/dist/services/workflow-v2/workflow-session-manager.js.map +1 -0
- package/dist/streamlined-handlers.d.ts +7 -86
- package/dist/streamlined-handlers.d.ts.map +1 -1
- package/dist/streamlined-handlers.js +23 -679
- package/dist/streamlined-handlers.js.map +1 -1
- package/dist/tools/_shared/workspace-constants.d.ts +49 -0
- package/dist/tools/_shared/workspace-constants.d.ts.map +1 -0
- package/dist/tools/_shared/workspace-constants.js +53 -0
- package/dist/tools/_shared/workspace-constants.js.map +1 -0
- package/dist/tools/advance_workflow/handler.d.ts +21 -0
- package/dist/tools/advance_workflow/handler.d.ts.map +1 -0
- package/dist/tools/advance_workflow/handler.js +58 -0
- package/dist/tools/advance_workflow/handler.js.map +1 -0
- package/dist/tools/advance_workflow/schema.d.ts +8 -0
- package/dist/tools/advance_workflow/schema.d.ts.map +1 -0
- package/dist/tools/advance_workflow/schema.js +28 -0
- package/dist/tools/advance_workflow/schema.js.map +1 -0
- package/dist/tools/analyze_al_code/handler.d.ts +12 -0
- package/dist/tools/analyze_al_code/handler.d.ts.map +1 -0
- package/dist/tools/analyze_al_code/handler.js +312 -0
- package/dist/tools/analyze_al_code/handler.js.map +1 -0
- package/dist/tools/analyze_al_code/schema.d.ts +8 -0
- package/dist/tools/analyze_al_code/schema.d.ts.map +1 -0
- package/dist/tools/analyze_al_code/schema.js +54 -0
- package/dist/tools/analyze_al_code/schema.js.map +1 -0
- package/dist/tools/ask_bc_expert/handler.d.ts +21 -0
- package/dist/tools/ask_bc_expert/handler.d.ts.map +1 -0
- package/dist/tools/ask_bc_expert/handler.js +118 -0
- package/dist/tools/ask_bc_expert/handler.js.map +1 -0
- package/dist/tools/ask_bc_expert/schema.d.ts +8 -0
- package/dist/tools/ask_bc_expert/schema.d.ts.map +1 -0
- package/dist/tools/ask_bc_expert/schema.js +33 -0
- package/dist/tools/ask_bc_expert/schema.js.map +1 -0
- package/dist/tools/context-snapshot/handler.d.ts +14 -0
- package/dist/tools/context-snapshot/handler.d.ts.map +1 -0
- package/dist/tools/context-snapshot/handler.js +143 -0
- package/dist/tools/context-snapshot/handler.js.map +1 -0
- package/dist/tools/context-snapshot/schema.d.ts +11 -0
- package/dist/tools/context-snapshot/schema.d.ts.map +1 -0
- package/dist/tools/context-snapshot/schema.js +46 -0
- package/dist/tools/context-snapshot/schema.js.map +1 -0
- package/dist/tools/core-tools.d.ts +1 -1
- package/dist/tools/core-tools.d.ts.map +1 -1
- package/dist/tools/core-tools.js +26 -9
- package/dist/tools/core-tools.js.map +1 -1
- package/dist/tools/create_layer_content/handler.d.ts +17 -0
- package/dist/tools/create_layer_content/handler.d.ts.map +1 -0
- package/dist/tools/create_layer_content/handler.js +248 -0
- package/dist/tools/create_layer_content/handler.js.map +1 -0
- package/dist/tools/create_layer_content/schema.d.ts +9 -0
- package/dist/tools/create_layer_content/schema.d.ts.map +1 -0
- package/dist/tools/create_layer_content/schema.js +42 -0
- package/dist/tools/create_layer_content/schema.js.map +1 -0
- package/dist/tools/debug/diagnose_git_layer/handler.d.ts +6 -0
- package/dist/tools/debug/diagnose_git_layer/handler.d.ts.map +1 -0
- package/dist/tools/debug/diagnose_git_layer/handler.js +286 -0
- package/dist/tools/debug/diagnose_git_layer/handler.js.map +1 -0
- package/dist/tools/debug/diagnose_git_layer/schema.d.ts +6 -0
- package/dist/tools/debug/diagnose_git_layer/schema.d.ts.map +1 -0
- package/dist/tools/debug/diagnose_git_layer/schema.js +35 -0
- package/dist/tools/debug/diagnose_git_layer/schema.js.map +1 -0
- package/dist/tools/debug/diagnose_local_layer/handler.d.ts +6 -0
- package/dist/tools/debug/diagnose_local_layer/handler.d.ts.map +1 -0
- package/dist/tools/debug/diagnose_local_layer/handler.js +285 -0
- package/dist/tools/debug/diagnose_local_layer/handler.js.map +1 -0
- package/dist/tools/debug/diagnose_local_layer/schema.d.ts +6 -0
- package/dist/tools/debug/diagnose_local_layer/schema.d.ts.map +1 -0
- package/dist/tools/debug/diagnose_local_layer/schema.js +16 -0
- package/dist/tools/debug/diagnose_local_layer/schema.js.map +1 -0
- package/dist/tools/debug/get_layer_diagnostics/handler.d.ts +7 -0
- package/dist/tools/debug/get_layer_diagnostics/handler.d.ts.map +1 -0
- package/dist/tools/debug/get_layer_diagnostics/handler.js +46 -0
- package/dist/tools/debug/get_layer_diagnostics/handler.js.map +1 -0
- package/dist/tools/debug/get_layer_diagnostics/schema.d.ts +6 -0
- package/dist/tools/debug/get_layer_diagnostics/schema.d.ts.map +1 -0
- package/dist/tools/debug/get_layer_diagnostics/schema.js +20 -0
- package/dist/tools/debug/get_layer_diagnostics/schema.js.map +1 -0
- package/dist/tools/debug/reload_layers/handler.d.ts +8 -0
- package/dist/tools/debug/reload_layers/handler.d.ts.map +1 -0
- package/dist/tools/debug/reload_layers/handler.js +83 -0
- package/dist/tools/debug/reload_layers/handler.js.map +1 -0
- package/dist/tools/debug/reload_layers/schema.d.ts +6 -0
- package/dist/tools/debug/reload_layers/schema.d.ts.map +1 -0
- package/dist/tools/debug/reload_layers/schema.js +20 -0
- package/dist/tools/debug/reload_layers/schema.js.map +1 -0
- package/dist/tools/debug/test_azure_devops_pat/handler.d.ts +6 -0
- package/dist/tools/debug/test_azure_devops_pat/handler.d.ts.map +1 -0
- package/dist/tools/debug/test_azure_devops_pat/handler.js +16 -0
- package/dist/tools/debug/test_azure_devops_pat/handler.js.map +1 -0
- package/dist/tools/debug/test_azure_devops_pat/schema.d.ts +6 -0
- package/dist/tools/debug/test_azure_devops_pat/schema.d.ts.map +1 -0
- package/dist/tools/debug/test_azure_devops_pat/schema.js +27 -0
- package/dist/tools/debug/test_azure_devops_pat/schema.js.map +1 -0
- package/dist/tools/debug/validate_layer_config/handler.d.ts +6 -0
- package/dist/tools/debug/validate_layer_config/handler.d.ts.map +1 -0
- package/dist/tools/debug/validate_layer_config/handler.js +17 -0
- package/dist/tools/debug/validate_layer_config/handler.js.map +1 -0
- package/dist/tools/debug/validate_layer_config/schema.d.ts +6 -0
- package/dist/tools/debug/validate_layer_config/schema.d.ts.map +1 -0
- package/dist/tools/debug/validate_layer_config/schema.js +21 -0
- package/dist/tools/debug/validate_layer_config/schema.js.map +1 -0
- package/dist/tools/find_bc_knowledge/handler.d.ts +21 -0
- package/dist/tools/find_bc_knowledge/handler.d.ts.map +1 -0
- package/dist/tools/find_bc_knowledge/handler.js +71 -0
- package/dist/tools/find_bc_knowledge/handler.js.map +1 -0
- package/dist/tools/find_bc_knowledge/schema.d.ts +8 -0
- package/dist/tools/find_bc_knowledge/schema.d.ts.map +1 -0
- package/dist/tools/find_bc_knowledge/schema.js +35 -0
- package/dist/tools/find_bc_knowledge/schema.js.map +1 -0
- package/dist/tools/get_bc_topic/handler.d.ts +12 -0
- package/dist/tools/get_bc_topic/handler.d.ts.map +1 -0
- package/dist/tools/get_bc_topic/handler.js +35 -0
- package/dist/tools/get_bc_topic/handler.js.map +1 -0
- package/dist/tools/get_bc_topic/schema.d.ts +8 -0
- package/dist/tools/get_bc_topic/schema.d.ts.map +1 -0
- package/dist/tools/get_bc_topic/schema.js +29 -0
- package/dist/tools/get_bc_topic/schema.js.map +1 -0
- package/dist/tools/get_codelens_mappings/handler.d.ts +8 -0
- package/dist/tools/get_codelens_mappings/handler.d.ts.map +1 -0
- package/dist/tools/get_codelens_mappings/handler.js +79 -0
- package/dist/tools/get_codelens_mappings/handler.js.map +1 -0
- package/dist/tools/get_codelens_mappings/schema.d.ts +9 -0
- package/dist/tools/get_codelens_mappings/schema.d.ts.map +1 -0
- package/dist/tools/get_codelens_mappings/schema.js +16 -0
- package/dist/tools/get_codelens_mappings/schema.js.map +1 -0
- package/dist/tools/get_workflow_help/handler.d.ts +12 -0
- package/dist/tools/get_workflow_help/handler.d.ts.map +1 -0
- package/dist/tools/get_workflow_help/handler.js +54 -0
- package/dist/tools/get_workflow_help/handler.js.map +1 -0
- package/dist/tools/get_workflow_help/schema.d.ts +8 -0
- package/dist/tools/get_workflow_help/schema.d.ts.map +1 -0
- package/dist/tools/get_workflow_help/schema.js +25 -0
- package/dist/tools/get_workflow_help/schema.js.map +1 -0
- package/dist/tools/get_workspace_info/handler.d.ts +16 -0
- package/dist/tools/get_workspace_info/handler.d.ts.map +1 -0
- package/dist/tools/get_workspace_info/handler.js +36 -0
- package/dist/tools/get_workspace_info/handler.js.map +1 -0
- package/dist/tools/get_workspace_info/schema.d.ts +8 -0
- package/dist/tools/get_workspace_info/schema.d.ts.map +1 -0
- package/dist/tools/get_workspace_info/schema.js +15 -0
- package/dist/tools/get_workspace_info/schema.js.map +1 -0
- package/dist/tools/handlers.d.ts +48 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +81 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/index.d.ts +132 -38
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +184 -52
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/knowledge-query/handler.d.ts +29 -0
- package/dist/tools/knowledge-query/handler.d.ts.map +1 -0
- package/dist/tools/knowledge-query/handler.js +85 -0
- package/dist/tools/knowledge-query/handler.js.map +1 -0
- package/dist/tools/knowledge-query/schema.d.ts +12 -0
- package/dist/tools/knowledge-query/schema.d.ts.map +1 -0
- package/dist/tools/knowledge-query/schema.js +64 -0
- package/dist/tools/knowledge-query/schema.js.map +1 -0
- package/dist/tools/list_prompts/handler.d.ts +11 -0
- package/dist/tools/list_prompts/handler.d.ts.map +1 -0
- package/dist/tools/list_prompts/handler.js +102 -0
- package/dist/tools/list_prompts/handler.js.map +1 -0
- package/dist/tools/list_prompts/schema.d.ts +9 -0
- package/dist/tools/list_prompts/schema.d.ts.map +1 -0
- package/dist/tools/list_prompts/schema.js +28 -0
- package/dist/tools/list_prompts/schema.js.map +1 -0
- package/dist/tools/list_specialists/handler.d.ts +12 -0
- package/dist/tools/list_specialists/handler.d.ts.map +1 -0
- package/dist/tools/list_specialists/handler.js +68 -0
- package/dist/tools/list_specialists/handler.js.map +1 -0
- package/dist/tools/list_specialists/schema.d.ts +8 -0
- package/dist/tools/list_specialists/schema.d.ts.map +1 -0
- package/dist/tools/list_specialists/schema.js +24 -0
- package/dist/tools/list_specialists/schema.js.map +1 -0
- package/dist/tools/scaffold_layer_repo/handler.d.ts +15 -0
- package/dist/tools/scaffold_layer_repo/handler.d.ts.map +1 -0
- package/dist/tools/scaffold_layer_repo/handler.js +410 -0
- package/dist/tools/scaffold_layer_repo/handler.js.map +1 -0
- package/dist/tools/scaffold_layer_repo/schema.d.ts +9 -0
- package/dist/tools/scaffold_layer_repo/schema.d.ts.map +1 -0
- package/dist/tools/scaffold_layer_repo/schema.js +35 -0
- package/dist/tools/scaffold_layer_repo/schema.js.map +1 -0
- package/dist/tools/set_workspace_info/handler.d.ts +22 -0
- package/dist/tools/set_workspace_info/handler.d.ts.map +1 -0
- package/dist/tools/set_workspace_info/handler.js +60 -0
- package/dist/tools/set_workspace_info/handler.js.map +1 -0
- package/dist/tools/set_workspace_info/schema.d.ts +8 -0
- package/dist/tools/set_workspace_info/schema.d.ts.map +1 -0
- package/dist/tools/set_workspace_info/schema.js +25 -0
- package/dist/tools/set_workspace_info/schema.js.map +1 -0
- package/dist/tools/specialist-consult/handler.d.ts +23 -0
- package/dist/tools/specialist-consult/handler.d.ts.map +1 -0
- package/dist/tools/specialist-consult/handler.js +120 -0
- package/dist/tools/specialist-consult/handler.js.map +1 -0
- package/dist/tools/specialist-consult/schema.d.ts +11 -0
- package/dist/tools/specialist-consult/schema.d.ts.map +1 -0
- package/dist/tools/specialist-consult/schema.js +47 -0
- package/dist/tools/specialist-consult/schema.js.map +1 -0
- package/dist/tools/specialist-list/handler.d.ts +14 -0
- package/dist/tools/specialist-list/handler.d.ts.map +1 -0
- package/dist/tools/specialist-list/handler.js +70 -0
- package/dist/tools/specialist-list/handler.js.map +1 -0
- package/dist/tools/specialist-list/schema.d.ts +11 -0
- package/dist/tools/specialist-list/schema.d.ts.map +1 -0
- package/dist/tools/specialist-list/schema.js +29 -0
- package/dist/tools/specialist-list/schema.js.map +1 -0
- package/dist/tools/start_bc_workflow/handler.d.ts +21 -0
- package/dist/tools/start_bc_workflow/handler.d.ts.map +1 -0
- package/dist/tools/start_bc_workflow/handler.js +237 -0
- package/dist/tools/start_bc_workflow/handler.js.map +1 -0
- package/dist/tools/start_bc_workflow/schema.d.ts +8 -0
- package/dist/tools/start_bc_workflow/schema.d.ts.map +1 -0
- package/dist/tools/start_bc_workflow/schema.js +43 -0
- package/dist/tools/start_bc_workflow/schema.js.map +1 -0
- package/dist/tools/validate_layer_repo/handler.d.ts +10 -0
- package/dist/tools/validate_layer_repo/handler.d.ts.map +1 -0
- package/dist/tools/validate_layer_repo/handler.js +148 -0
- package/dist/tools/validate_layer_repo/handler.js.map +1 -0
- package/dist/tools/validate_layer_repo/schema.d.ts +9 -0
- package/dist/tools/validate_layer_repo/schema.d.ts.map +1 -0
- package/dist/tools/validate_layer_repo/schema.js +21 -0
- package/dist/tools/validate_layer_repo/schema.js.map +1 -0
- package/dist/tools/workflow-execute/handler.d.ts +44 -0
- package/dist/tools/workflow-execute/handler.d.ts.map +1 -0
- package/dist/tools/workflow-execute/handler.js +333 -0
- package/dist/tools/workflow-execute/handler.js.map +1 -0
- package/dist/tools/workflow-execute/schema.d.ts +13 -0
- package/dist/tools/workflow-execute/schema.d.ts.map +1 -0
- package/dist/tools/workflow-execute/schema.js +108 -0
- package/dist/tools/workflow-execute/schema.js.map +1 -0
- package/dist/tools/workflow_batch/handler.d.ts +21 -0
- package/dist/tools/workflow_batch/handler.d.ts.map +1 -0
- package/dist/tools/workflow_batch/handler.js +304 -0
- package/dist/tools/workflow_batch/handler.js.map +1 -0
- package/dist/tools/workflow_batch/schema.d.ts +8 -0
- package/dist/tools/workflow_batch/schema.d.ts.map +1 -0
- package/dist/tools/workflow_batch/schema.js +76 -0
- package/dist/tools/workflow_batch/schema.js.map +1 -0
- package/dist/tools/workflow_cancel/handler.d.ts +21 -0
- package/dist/tools/workflow_cancel/handler.d.ts.map +1 -0
- package/dist/tools/workflow_cancel/handler.js +157 -0
- package/dist/tools/workflow_cancel/handler.js.map +1 -0
- package/dist/tools/workflow_cancel/schema.d.ts +8 -0
- package/dist/tools/workflow_cancel/schema.d.ts.map +1 -0
- package/dist/tools/workflow_cancel/schema.js +34 -0
- package/dist/tools/workflow_cancel/schema.js.map +1 -0
- package/dist/tools/workflow_complete/handler.d.ts +21 -0
- package/dist/tools/workflow_complete/handler.d.ts.map +1 -0
- package/dist/tools/workflow_complete/handler.js +124 -0
- package/dist/tools/workflow_complete/handler.js.map +1 -0
- package/dist/tools/workflow_complete/schema.d.ts +8 -0
- package/dist/tools/workflow_complete/schema.d.ts.map +1 -0
- package/dist/tools/workflow_complete/schema.js +45 -0
- package/dist/tools/workflow_complete/schema.js.map +1 -0
- package/dist/tools/workflow_list/handler.d.ts +19 -0
- package/dist/tools/workflow_list/handler.d.ts.map +1 -0
- package/dist/tools/workflow_list/handler.js +58 -0
- package/dist/tools/workflow_list/handler.js.map +1 -0
- package/dist/tools/workflow_list/schema.d.ts +8 -0
- package/dist/tools/workflow_list/schema.d.ts.map +1 -0
- package/dist/tools/workflow_list/schema.js +26 -0
- package/dist/tools/workflow_list/schema.js.map +1 -0
- package/dist/tools/workflow_next/handler.d.ts +21 -0
- package/dist/tools/workflow_next/handler.d.ts.map +1 -0
- package/dist/tools/workflow_next/handler.js +90 -0
- package/dist/tools/workflow_next/handler.js.map +1 -0
- package/dist/tools/workflow_next/schema.d.ts +8 -0
- package/dist/tools/workflow_next/schema.d.ts.map +1 -0
- package/dist/tools/workflow_next/schema.js +28 -0
- package/dist/tools/workflow_next/schema.js.map +1 -0
- package/dist/tools/workflow_progress/handler.d.ts +21 -0
- package/dist/tools/workflow_progress/handler.d.ts.map +1 -0
- package/dist/tools/workflow_progress/handler.js +147 -0
- package/dist/tools/workflow_progress/handler.js.map +1 -0
- package/dist/tools/workflow_progress/schema.d.ts +8 -0
- package/dist/tools/workflow_progress/schema.d.ts.map +1 -0
- package/dist/tools/workflow_progress/schema.js +111 -0
- package/dist/tools/workflow_progress/schema.js.map +1 -0
- package/dist/tools/workflow_start/handler.d.ts +21 -0
- package/dist/tools/workflow_start/handler.d.ts.map +1 -0
- package/dist/tools/workflow_start/handler.js +133 -0
- package/dist/tools/workflow_start/handler.js.map +1 -0
- package/dist/tools/workflow_start/schema.d.ts +8 -0
- package/dist/tools/workflow_start/schema.d.ts.map +1 -0
- package/dist/tools/workflow_start/schema.js +102 -0
- package/dist/tools/workflow_start/schema.js.map +1 -0
- package/dist/tools/workflow_start_v2/handler.d.ts +21 -0
- package/dist/tools/workflow_start_v2/handler.d.ts.map +1 -0
- package/dist/tools/workflow_start_v2/handler.js +133 -0
- package/dist/tools/workflow_start_v2/handler.js.map +1 -0
- package/dist/tools/workflow_start_v2/schema.d.ts +8 -0
- package/dist/tools/workflow_start_v2/schema.d.ts.map +1 -0
- package/dist/tools/workflow_start_v2/schema.js +102 -0
- package/dist/tools/workflow_start_v2/schema.js.map +1 -0
- package/dist/tools/workflow_status/handler.d.ts +21 -0
- package/dist/tools/workflow_status/handler.d.ts.map +1 -0
- package/dist/tools/workflow_status/handler.js +107 -0
- package/dist/tools/workflow_status/handler.js.map +1 -0
- package/dist/tools/workflow_status/schema.d.ts +8 -0
- package/dist/tools/workflow_status/schema.d.ts.map +1 -0
- package/dist/tools/workflow_status/schema.js +33 -0
- package/dist/tools/workflow_status/schema.js.map +1 -0
- package/dist/types/bc-knowledge.d.ts +64 -13
- package/dist/types/bc-knowledge.d.ts.map +1 -1
- package/dist/types/bc-knowledge.js +15 -0
- package/dist/types/bc-knowledge.js.map +1 -1
- package/dist/types/enhanced-layer-types.d.ts +3 -3
- package/dist/types/enhanced-layer-types.d.ts.map +1 -1
- package/dist/types/workflow-v2-types.d.ts +577 -0
- package/dist/types/workflow-v2-types.d.ts.map +1 -0
- package/dist/types/workflow-v2-types.js +10 -0
- package/dist/types/workflow-v2-types.js.map +1 -0
- package/embedded-knowledge/codelens-mappings.yaml +111 -0
- package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +10 -0
- package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +10 -0
- package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +10 -0
- package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +10 -0
- package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +10 -0
- package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +10 -0
- package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +10 -0
- package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +10 -0
- package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +10 -0
- package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +10 -0
- package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +12 -2
- package/embedded-knowledge/domains/alex-architect/systemid-integration.md +12 -2
- package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +10 -0
- package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +10 -0
- package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +10 -0
- package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +10 -0
- package/embedded-knowledge/domains/chris-config/content-types-structure.md +10 -0
- package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +10 -0
- package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +10 -0
- package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +10 -0
- package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +10 -0
- package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +10 -0
- package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +10 -0
- package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +12 -2
- package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +12 -2
- package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +12 -2
- package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +10 -0
- package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +12 -2
- package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +10 -0
- package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +12 -2
- package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +10 -0
- package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +10 -0
- package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +10 -0
- package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +10 -0
- package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +10 -0
- package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +12 -2
- package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +10 -0
- package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +12 -2
- package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +12 -2
- package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +10 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +10 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +12 -2
- package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +12 -2
- package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +12 -2
- package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +10 -0
- package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +12 -2
- package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +12 -2
- package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +12 -2
- package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +12 -2
- package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +12 -2
- package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +12 -2
- package/embedded-knowledge/domains/dean-debug/testfield-performance.md +12 -2
- package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +10 -0
- package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +12 -2
- package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +12 -2
- package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +12 -2
- package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +12 -2
- package/embedded-knowledge/domains/eva-errors/try-function-usage.md +10 -0
- package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +10 -0
- package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +12 -2
- package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +10 -0
- package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +12 -2
- package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +12 -2
- package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +12 -2
- package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +10 -0
- package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +12 -2
- package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +12 -2
- package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +12 -2
- package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +12 -2
- package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +12 -2
- package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +12 -2
- package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +10 -0
- package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +10 -0
- package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +10 -0
- package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +12 -2
- package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +10 -0
- package/embedded-knowledge/domains/quinn-tester/rule-execution.md +12 -2
- package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +12 -2
- package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +12 -2
- package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +12 -2
- package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +12 -2
- package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +12 -2
- package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +12 -2
- package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +10 -0
- package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +12 -2
- package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +10 -0
- package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +10 -0
- package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +10 -0
- package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +12 -2
- package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +10 -0
- package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +10 -0
- package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +10 -0
- package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +10 -0
- package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +10 -0
- package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +10 -0
- package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +10 -0
- package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +12 -2
- package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +10 -0
- package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +12 -2
- package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +10 -0
- package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +10 -0
- package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +10 -0
- package/embedded-knowledge/domains/seth-security/api-permission-model.md +12 -2
- package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +12 -2
- package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +10 -0
- package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +10 -0
- package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +12 -2
- package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +12 -2
- package/embedded-knowledge/scripts/frontmatter_validator.ps1 +330 -0
- package/embedded-knowledge/specialists/sam-coder.md +29 -20
- package/embedded-knowledge/workflows/bc-version-upgrade.yaml +160 -0
- package/embedded-knowledge/workflows/code-review.yaml +148 -0
- package/embedded-knowledge/workflows/error-to-errorinfo-migration.yaml +137 -0
- package/embedded-knowledge/workflows/onboarding.yaml +124 -0
- package/embedded-knowledge/workflows/performance-audit.yaml +148 -0
- package/embedded-knowledge/workflows/proposal-review.yaml +117 -0
- package/embedded-knowledge/workflows/security-audit.yaml +139 -0
- package/package.json +4 -2
- package/dist/cache/cache-manager.d.ts +0 -95
- package/dist/cache/cache-manager.d.ts.map +0 -1
- package/dist/cache/cache-manager.js +0 -328
- package/dist/cache/cache-manager.js.map +0 -1
- package/dist/cli/bc-code-intel-cli.d.ts +0 -9
- package/dist/cli/bc-code-intel-cli.d.ts.map +0 -1
- package/dist/cli/bc-code-intel-cli.js +0 -440
- package/dist/cli/bc-code-intel-cli.js.map +0 -1
- package/dist/config/test-config-loader.d.ts +0 -10
- package/dist/config/test-config-loader.d.ts.map +0 -1
- package/dist/config/test-config-loader.js +0 -135
- package/dist/config/test-config-loader.js.map +0 -1
- package/dist/config/test-enhanced-layer-service.d.ts +0 -7
- package/dist/config/test-enhanced-layer-service.d.ts.map +0 -1
- package/dist/config/test-enhanced-layer-service.js +0 -104
- package/dist/config/test-enhanced-layer-service.js.map +0 -1
- package/dist/config/test-git-layer.d.ts +0 -7
- package/dist/config/test-git-layer.d.ts.map +0 -1
- package/dist/config/test-git-layer.js +0 -68
- package/dist/config/test-git-layer.js.map +0 -1
- package/dist/dev/hot-reload.d.ts +0 -91
- package/dist/dev/hot-reload.d.ts.map +0 -1
- package/dist/dev/hot-reload.js +0 -358
- package/dist/dev/hot-reload.js.map +0 -1
- package/dist/layers/layer-service.d.ts +0 -135
- package/dist/layers/layer-service.d.ts.map +0 -1
- package/dist/layers/layer-service.js +0 -586
- package/dist/layers/layer-service.js.map +0 -1
- package/dist/monitoring/production-monitor.d.ts +0 -148
- package/dist/monitoring/production-monitor.d.ts.map +0 -1
- package/dist/monitoring/production-monitor.js +0 -463
- package/dist/monitoring/production-monitor.js.map +0 -1
- package/dist/performance/performance-monitor.d.ts +0 -99
- package/dist/performance/performance-monitor.d.ts.map +0 -1
- package/dist/performance/performance-monitor.js +0 -253
- package/dist/performance/performance-monitor.js.map +0 -1
- package/dist/sdk/bc-code-intel-client.d.ts +0 -175
- package/dist/sdk/bc-code-intel-client.d.ts.map +0 -1
- package/dist/sdk/bc-code-intel-client.js +0 -380
- package/dist/sdk/bc-code-intel-client.js.map +0 -1
- package/dist/search/intelligent-search.d.ts +0 -97
- package/dist/search/intelligent-search.d.ts.map +0 -1
- package/dist/search/intelligent-search.js +0 -358
- package/dist/search/intelligent-search.js.map +0 -1
- package/dist/security/access-control.d.ts +0 -110
- package/dist/security/access-control.d.ts.map +0 -1
- package/dist/security/access-control.js +0 -353
- package/dist/security/access-control.js.map +0 -1
- package/dist/services/enhanced-prompt-service.d.ts.map +0 -1
- package/dist/services/enhanced-prompt-service.js.map +0 -1
- package/dist/setup/post-install.d.ts +0 -12
- package/dist/setup/post-install.d.ts.map +0 -1
- package/dist/setup/post-install.js +0 -81
- package/dist/setup/post-install.js.map +0 -1
- package/dist/test-enhanced-mcp-server.d.ts +0 -7
- package/dist/test-enhanced-mcp-server.d.ts.map +0 -1
- package/dist/test-enhanced-mcp-server.js +0 -177
- package/dist/test-enhanced-mcp-server.js.map +0 -1
- package/dist/tools/specialist-tools.d.ts +0 -43
- package/dist/tools/specialist-tools.d.ts.map +0 -1
- package/dist/tools/specialist-tools.js +0 -378
- package/dist/tools/specialist-tools.js.map +0 -1
- package/dist/utils/path-utils.d.ts +0 -5
- package/dist/utils/path-utils.d.ts.map +0 -1
- package/dist/utils/path-utils.js +0 -14
- package/dist/utils/path-utils.js.map +0 -1
- package/embedded-knowledge/methodologies/index.json +0 -81
- package/embedded-knowledge/methodologies/phases/analysis-full.md +0 -208
- package/embedded-knowledge/methodologies/phases/analysis-quick.md +0 -44
- package/embedded-knowledge/methodologies/phases/analysis.md +0 -182
- package/embedded-knowledge/methodologies/phases/execution-validation-full.md +0 -174
- package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +0 -31
- package/embedded-knowledge/methodologies/phases/execution-validation.md +0 -174
- package/embedded-knowledge/methodologies/phases/performance-full.md +0 -211
- package/embedded-knowledge/methodologies/phases/performance-quick.md +0 -32
- package/embedded-knowledge/methodologies/phases/performance.md +0 -211
- package/embedded-knowledge/methodologies/phases/verification-full.md +0 -162
- package/embedded-knowledge/methodologies/phases/verification-quick.md +0 -48
- package/embedded-knowledge/methodologies/phases/verification.md +0 -146
- package/embedded-knowledge/methodologies/workflow-enforcement.md +0 -142
- package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +0 -99
- package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +0 -535
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "AL Code Spacing and Indentation Conventions"
|
|
3
3
|
domain: "roger-reviewer"
|
|
4
4
|
difficulty: "beginner"
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["formatting", "indentation", "code-style", "readability"]
|
|
7
7
|
prerequisites: ["al-syntax"]
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: ["var", "begin", "end", "procedure", "trigger", "if", "then", "else", "for", "while", "case"]
|
|
11
|
+
keywords: ["spacing", "indentation", "4-space", "white space", "code style", "formatting"]
|
|
12
|
+
anti_pattern_indicators: ["inconsistent indentation", "mixed tabs/spaces", "excessive blank lines", "cramped formatting"]
|
|
13
|
+
positive_pattern_indicators: ["consistent 4-space indentation", "logical grouping", "clear visual hierarchy"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.4
|
|
18
|
+
---
|
|
9
19
|
# AL Code Spacing and Indentation Conventions
|
|
10
20
|
|
|
11
21
|
## Overview
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Apply consistent spacing around AL comments to improve
|
|
|
14
14
|
implementation_steps: ["standardize-comment-spacing", "apply-consistent-patterns", "validate-readability"]
|
|
15
15
|
validation_criteria: ["consistent-comment-spacing", "clear-documentation-separation"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["//"]
|
|
20
|
+
keywords: ["comment spacing", "documentation", "inline comment", "block comment", "comment delimiter"]
|
|
21
|
+
anti_pattern_indicators: ["inconsistent spacing", "cramped comments", "poor indentation in comments"]
|
|
22
|
+
positive_pattern_indicators: ["blank line before comments", "single space after delimiter", "consistent comment formatting"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Comment Spacing Standards
|
|
@@ -13,6 +13,16 @@ improvement_suggestion: "Properly pair end statements with else clauses to maint
|
|
|
13
13
|
implementation_steps: ["identify-block-boundaries", "align-end-else-pairs", "validate-structure"]
|
|
14
14
|
validation_criteria: ["correct-end-else-pairing", "clear-block-boundaries"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
|
+
|
|
17
|
+
relevance_signals:
|
|
18
|
+
constructs: ["if", "then", "else", "begin", "end"]
|
|
19
|
+
keywords: ["end else", "block structure", "conditional pairing", "scope closure", "syntax correctness"]
|
|
20
|
+
anti_pattern_indicators: ["missing end statements", "improper block closure", "ambiguous pairing"]
|
|
21
|
+
positive_pattern_indicators: ["close blocks completely before else", "aligned end-else pairs", "consistent indentation"]
|
|
22
|
+
|
|
23
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
24
|
+
|
|
25
|
+
relevance_threshold: 0.5
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
# AL End Else Pairing
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Apply consistent indentation rules for AL keywords to c
|
|
|
14
14
|
implementation_steps: ["define-indentation-standards", "apply-keyword-rules", "validate-consistency"]
|
|
15
15
|
validation_criteria: ["consistent-keyword-indentation", "clear-code-hierarchy"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["if", "else", "while", "for", "case", "begin", "end", "var", "procedure", "trigger", "table", "page", "codeunit"]
|
|
20
|
+
keywords: ["keyword indentation", "indentation hierarchy", "nesting level", "visual hierarchy", "code structure"]
|
|
21
|
+
anti_pattern_indicators: ["inconsistent indentation increments", "misaligned begin/end pairs", "random keyword positioning"]
|
|
22
|
+
positive_pattern_indicators: ["consistent increment size", "aligned block keywords", "scope reflection through indentation"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Keyword Indentation Rules
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Position AL keywords at line start with consistent alig
|
|
|
14
14
|
implementation_steps: ["identify-keyword-patterns", "apply-positioning-rules", "validate-alignment"]
|
|
15
15
|
validation_criteria: ["consistent-keyword-positioning", "clear-structure-indication"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["if", "else", "begin", "end", "var", "procedure", "while", "for", "case"]
|
|
20
|
+
keywords: ["line start", "keyword positioning", "keyword anchoring", "structure markers", "visual structure"]
|
|
21
|
+
anti_pattern_indicators: ["inconsistent keyword alignment", "mid-line keyword placement", "random positioning"]
|
|
22
|
+
positive_pattern_indicators: ["line start positioning", "consistent alignment", "clear structure indication"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Line Start Keyword Positioning
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Format if-else statements with clear separation to show
|
|
|
14
14
|
implementation_steps: ["separate-conditional-blocks", "align-if-else-keywords", "validate-readability"]
|
|
15
15
|
validation_criteria: ["clear-conditional-separation", "consistent-alignment"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["if", "then", "else", "begin", "end"]
|
|
20
|
+
keywords: ["if-else formatting", "conditional logic", "branch separation", "decision structure"]
|
|
21
|
+
anti_pattern_indicators: ["cramped if-else formatting", "inconsistent keyword alignment", "unclear branch boundaries"]
|
|
22
|
+
positive_pattern_indicators: ["clear keyword positioning", "appropriate spacing", "aligned block structures"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Separate If Else Formatting
|
|
@@ -13,6 +13,16 @@ improvement_suggestion: "Use only Microsoft-approved abbreviations to maintain c
|
|
|
13
13
|
implementation_steps: ["verify-platform-abbreviations", "apply-standard-patterns", "validate-consistency"]
|
|
14
14
|
validation_criteria: ["platform-compliant-abbreviations", "consistent-usage"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
|
+
|
|
17
|
+
relevance_signals:
|
|
18
|
+
constructs: []
|
|
19
|
+
keywords: ["abbreviation", "No.", "Qty", "Amt", "Desc", "LCY", "FCY", "G/L", "VAT", "UOM", "BOM", "SKU", "Whse", "Invt", "Prod"]
|
|
20
|
+
anti_pattern_indicators: ["custom abbreviations", "inconsistent abbreviation forms", "ambiguous terms", "platform conflicts"]
|
|
21
|
+
positive_pattern_indicators: ["platform-compliant abbreviations", "consistent usage", "standard BC abbreviations"]
|
|
22
|
+
|
|
23
|
+
applicable_object_types: ["table", "tableextension", "page", "pageextension", "codeunit", "report", "query"]
|
|
24
|
+
|
|
25
|
+
relevance_threshold: 0.5
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
# AL Standard Abbreviations
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Write one AL statement per line to improve readability
|
|
|
14
14
|
implementation_steps: ["separate-multiple-statements", "format-single-statements", "validate-clarity"]
|
|
15
15
|
validation_criteria: ["one-statement-per-line", "improved-readability"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: [";"]
|
|
20
|
+
keywords: ["statement per line", "single statement", "line organization", "debugging", "readability"]
|
|
21
|
+
anti_pattern_indicators: ["multiple statements per line", "cramped code formatting", "complex compound statements"]
|
|
22
|
+
positive_pattern_indicators: ["single statement per line", "appropriate indentation", "clear statement separation"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Statement Per Line Rule
|
|
@@ -14,6 +14,16 @@ implementation_steps: ["identify-redundant-else", "apply-early-exit-patterns", "
|
|
|
14
14
|
validation_criteria: ["reduced-complexity", "improved-readability"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
16
|
samples: "samples/al-unnecessary-else-elimination.md"
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["if", "then", "else", "exit", "Error"]
|
|
20
|
+
keywords: ["unnecessary else", "early return", "guard clause", "early exit", "reduced nesting"]
|
|
21
|
+
anti_pattern_indicators: ["else after exit", "else after Error", "redundant else block", "deep nesting"]
|
|
22
|
+
positive_pattern_indicators: ["early exit pattern", "guard clause", "linear flow", "reduced nesting"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.5
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Unnecessary Else Elimination
|
|
@@ -14,6 +14,16 @@ implementation_steps: ["establish-declaration-order", "group-related-variables",
|
|
|
14
14
|
validation_criteria: ["consistent-declaration-order", "improved-organization"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
16
|
samples: "samples/al-variable-declaration-order.md"
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["var", "Record", "Codeunit", "Page", "Report", "Text", "Integer", "Decimal", "Boolean", "Dialog", "File"]
|
|
20
|
+
keywords: ["variable declaration", "declaration order", "variable grouping", "scope organization", "type ordering"]
|
|
21
|
+
anti_pattern_indicators: ["random ordering", "mixed types", "no grouping", "inconsistent patterns"]
|
|
22
|
+
positive_pattern_indicators: ["logical grouping", "related variables together", "consistent declaration order"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Variable Declaration Order
|
|
@@ -13,6 +13,16 @@ improvement_suggestion: "Apply consistent variable naming conventions to enhance
|
|
|
13
13
|
implementation_steps: ["establish-naming-standards", "apply-consistent-patterns", "validate-conventions"]
|
|
14
14
|
validation_criteria: ["consistent-naming-application", "improved-readability"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
|
+
|
|
17
|
+
relevance_signals:
|
|
18
|
+
constructs: ["var", "Record", "Codeunit", "Page", "Report", "Boolean", "Text", "Integer", "Decimal"]
|
|
19
|
+
keywords: ["variable naming", "naming convention", "CamelCase", "Temp prefix", "Is/Has/Can prefix", "Mgt suffix"]
|
|
20
|
+
anti_pattern_indicators: ["generic names", "misleading abbreviations", "type prefixes", "inconsistent casing", "Hungarian notation"]
|
|
21
|
+
positive_pattern_indicators: ["descriptive names", "consistent naming pattern", "business terms", "clear intent"]
|
|
22
|
+
|
|
23
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
24
|
+
|
|
25
|
+
relevance_threshold: 0.5
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
# AL Variable Naming Conventions
|
|
@@ -5,6 +5,16 @@ difficulty: "beginner"
|
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["user-experience", "code-clarity", "begin-blocks", "developer-productivity", "code-comprehension"]
|
|
7
7
|
prerequisites: ["al-syntax", "code-style"]
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: ["begin", "end", "if", "then", "else", "while", "for", "repeat"]
|
|
11
|
+
keywords: ["begin block", "code clarity", "visual boundaries", "logical grouping", "scope clarity"]
|
|
12
|
+
anti_pattern_indicators: ["inconsistent block usage", "unclear boundaries", "unnecessary complexity", "missing logical grouping"]
|
|
13
|
+
positive_pattern_indicators: ["consistent application", "visual hierarchy", "purposeful grouping", "maintenance support"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.4
|
|
8
18
|
---
|
|
9
19
|
# Begin Block Statement Clarity for Developer Experience
|
|
10
20
|
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Use consistent begin/end positioning for improved code
|
|
|
14
14
|
implementation_steps: ["establish-team-standards", "configure-formatting-tools", "apply-consistently"]
|
|
15
15
|
validation_criteria: ["consistent-positioning", "improved-readability", "team-adoption"]
|
|
16
16
|
technical_areas: ["al-code", "formatting"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["begin", "end", "procedure", "trigger"]
|
|
20
|
+
keywords: ["begin positioning", "end positioning", "block boundaries", "visual structure", "nesting visualization"]
|
|
21
|
+
anti_pattern_indicators: ["mixed positioning", "context-dependent formatting", "excessive compaction", "unclear boundaries"]
|
|
22
|
+
positive_pattern_indicators: ["consistent positioning", "logical grouping", "debugging support", "team standards"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# Begin/End Positioning in AL Code
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "Binary Operator Line Positioning and Code Readability"
|
|
3
3
|
domain: "roger-reviewer"
|
|
4
4
|
difficulty: "beginner"
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["code-style", "operators", "readability", "formatting", "line-breaks"]
|
|
7
7
|
prerequisites: ["al-syntax", "code-formatting"]
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: ["and", "or", "+", "-", "*", "/", "=", "<>", "<", ">", "<=", ">="]
|
|
11
|
+
keywords: ["operator positioning", "line continuation", "leading operators", "multi-line expression", "visual alignment"]
|
|
12
|
+
anti_pattern_indicators: ["inconsistent positioning", "poor alignment", "trailing operators", "random line breaks"]
|
|
13
|
+
positive_pattern_indicators: ["leading operator pattern", "aligned continuation", "consistent indentation"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.4
|
|
18
|
+
---
|
|
9
19
|
# Binary Operator Line Positioning and Code Readability
|
|
10
20
|
|
|
11
21
|
## Overview
|
|
@@ -6,6 +6,16 @@ bc_versions: "14+"
|
|
|
6
6
|
tags: ["boolean-expressions", "code-simplification", "readability", "performance", "refactoring"]
|
|
7
7
|
prerequisites: ["al-syntax-basics", "conditional-logic"]
|
|
8
8
|
samples: "samples/boolean-simplification-examples.md"
|
|
9
|
+
|
|
10
|
+
relevance_signals:
|
|
11
|
+
constructs: ["and", "or", "not", "if", "then", "else", "=", "<>", "true", "false"]
|
|
12
|
+
keywords: ["boolean simplification", "De Morgan", "short-circuit evaluation", "double negative", "positive logic", "guard clause"]
|
|
13
|
+
anti_pattern_indicators: ["double negatives", "redundant conditions", "complex nested conditions", "not (not Condition)"]
|
|
14
|
+
positive_pattern_indicators: ["simplified boolean", "positive expression", "early exit", "guard clause"]
|
|
15
|
+
|
|
16
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "pageextension", "tableextension"]
|
|
17
|
+
|
|
18
|
+
relevance_threshold: 0.5
|
|
9
19
|
---
|
|
10
20
|
|
|
11
21
|
# Boolean Expression Simplification in AL
|
package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "Case Statement Error Handling and Troubleshooting"
|
|
3
3
|
domain: "roger-reviewer"
|
|
4
4
|
difficulty: "intermediate"
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["case", "error-handling", "troubleshooting", "debugging"]
|
|
7
7
|
samples: "samples/case-error-handling.md"
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: ["case", "of", "else", "end", "Error", "Message"]
|
|
11
|
+
keywords: ["case error handling", "unhandled values", "else clause", "error message", "defensive programming", "graceful degradation"]
|
|
12
|
+
anti_pattern_indicators: ["missing else clause", "silent failures", "generic error messages", "no input validation"]
|
|
13
|
+
positive_pattern_indicators: ["mandatory else clause", "informative error messages", "input validation before case", "graceful degradation"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "pageextension", "tableextension"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.6
|
|
18
|
+
---
|
|
9
19
|
# Case Statement Error Handling and Troubleshooting
|
|
10
20
|
|
|
11
21
|
## Overview
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "AL Compound Statement Readability Patterns"
|
|
3
3
|
domain: "roger-reviewer"
|
|
4
4
|
difficulty: "beginner"
|
|
@@ -6,7 +6,17 @@ bc_versions: "14+"
|
|
|
6
6
|
tags: ["readability", "compound-statements", "code-style", "maintainability"]
|
|
7
7
|
prerequisites: ["al-syntax-basics"]
|
|
8
8
|
samples: "samples/compound-statement-readability.md"
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
relevance_signals:
|
|
11
|
+
constructs: ["begin", "end", "if", "then", "else", "while", "for", "repeat", "until"]
|
|
12
|
+
keywords: ["compound statement", "begin-end block", "visual structure", "intent communication", "code consistency"]
|
|
13
|
+
anti_pattern_indicators: ["inconsistent block usage", "single statement without begin/end", "unclear scope"]
|
|
14
|
+
positive_pattern_indicators: ["consistent begin-end usage", "explicit block structure", "visual boundaries"]
|
|
15
|
+
|
|
16
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
17
|
+
|
|
18
|
+
relevance_threshold: 0.4
|
|
19
|
+
---
|
|
10
20
|
# AL Compound Statement Readability Patterns
|
|
11
21
|
|
|
12
22
|
## Overview
|
|
@@ -6,6 +6,16 @@ bc_versions: "14+"
|
|
|
6
6
|
tags: ["code-formatting", "repeat-statement", "readability", "code-standards"]
|
|
7
7
|
prerequisites: ["al-syntax-basics", "control-structures"]
|
|
8
8
|
samples: "samples/lonely-repeat-examples.md"
|
|
9
|
+
|
|
10
|
+
relevance_signals:
|
|
11
|
+
constructs: ["repeat", "until"]
|
|
12
|
+
keywords: ["lonely repeat", "repeat formatting", "until alignment", "loop structure", "visual connection"]
|
|
13
|
+
anti_pattern_indicators: ["isolated repeat", "misaligned until", "extra blank lines in repeat block"]
|
|
14
|
+
positive_pattern_indicators: ["connected repeat block", "aligned until keyword", "consistent indentation"]
|
|
15
|
+
|
|
16
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "pageextension", "tableextension"]
|
|
17
|
+
|
|
18
|
+
relevance_threshold: 0.4
|
|
9
19
|
---
|
|
10
20
|
|
|
11
21
|
# Lonely Repeat Statement Pattern
|
|
@@ -9,6 +9,16 @@ related_topics:
|
|
|
9
9
|
- "../alex-architect/testability-design-patterns.md"
|
|
10
10
|
- "../quinn-tester/isolation-testing-patterns.md"
|
|
11
11
|
source: "Adapted from Vjeko.com: Testing in isolation (Dec 2023)"
|
|
12
|
+
|
|
13
|
+
relevance_signals:
|
|
14
|
+
constructs: ["Record", "HttpClient", "Get", "FindSet", "DeleteAll", "case"]
|
|
15
|
+
keywords: ["testability", "code smell", "tight coupling", "test isolation", "dependency injection", "abstraction", "mock", "test double"]
|
|
16
|
+
anti_pattern_indicators: ["direct BC table access", "hardcoded service calls", "DeleteAll in test", "mixed data access and logic", "setup switch"]
|
|
17
|
+
positive_pattern_indicators: ["interface abstraction", "dependency injection", "isolated business logic", "test doubles"]
|
|
18
|
+
|
|
19
|
+
applicable_object_types: ["codeunit", "page", "table", "report"]
|
|
20
|
+
|
|
21
|
+
relevance_threshold: 0.6
|
|
12
22
|
---
|
|
13
23
|
# Testability Code Smells
|
|
14
24
|
|
|
@@ -13,6 +13,16 @@ improvement_suggestion: "Apply consistent formatting patterns across all AL code
|
|
|
13
13
|
implementation_steps: ["establish-formatting-standards", "apply-consistent-patterns", "validate-uniformity"]
|
|
14
14
|
validation_criteria: ["consistent-formatting-application", "improved-code-uniformity"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
|
+
|
|
17
|
+
relevance_signals:
|
|
18
|
+
constructs: []
|
|
19
|
+
keywords: ["formatting", "consistency", "indentation", "code-standards", "alignment", "keyword casing", "comment styles"]
|
|
20
|
+
anti_pattern_indicators: ["mixed formatting styles", "inconsistent indentation", "random keyword casing", "varied comment formatting"]
|
|
21
|
+
positive_pattern_indicators: ["consistent formatting", "uniform appearance", "standard patterns", "formatting standards"]
|
|
22
|
+
|
|
23
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "enum", "interface"]
|
|
24
|
+
|
|
25
|
+
relevance_threshold: 0.4
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
# AL Formatting Consistency Patterns
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "AL Line Comment Formatting and Placement Patterns"
|
|
3
3
|
domain: "sam-coder"
|
|
4
4
|
difficulty: "beginner"
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["comments", "code-quality", "readability", "maintainability"]
|
|
7
7
|
prerequisites: ["al-basics"]
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: []
|
|
11
|
+
keywords: ["comments", "documentation", "readability", "line comment", "inline comment", "code documentation"]
|
|
12
|
+
anti_pattern_indicators: ["commenting obvious code", "excessive commenting", "outdated information", "poor grammar"]
|
|
13
|
+
positive_pattern_indicators: ["explains why", "business context", "edge cases", "performance notes"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "enum", "interface"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.4
|
|
18
|
+
---
|
|
9
19
|
# AL Line Comment Formatting and Placement Patterns
|
|
10
20
|
|
|
11
21
|
## Overview
|
|
@@ -14,6 +14,16 @@ improvement_suggestion: "Avoid lonely repeat statements by ensuring proper until
|
|
|
14
14
|
implementation_steps: ["identify-repeat-patterns", "validate-until-conditions", "ensure-proper-structure"]
|
|
15
15
|
validation_criteria: ["complete-repeat-until-pairs", "proper-loop-structure"]
|
|
16
16
|
technical_areas: ["al-code"]
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["repeat", "until"]
|
|
20
|
+
keywords: ["repeat-until", "loop", "control flow", "infinite loop", "termination", "loop exit"]
|
|
21
|
+
anti_pattern_indicators: ["repeat without until", "unreachable until conditions", "no loop variable progression", "infinite loop"]
|
|
22
|
+
positive_pattern_indicators: ["proper until condition", "reliable termination", "loop variable progression", "exit condition"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.5
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Lonely Repeat Pattern
|
|
@@ -14,6 +14,16 @@ implementation_steps: ["identify-complex-calls", "create-descriptive-variables",
|
|
|
14
14
|
validation_criteria: ["improved-call-clarity", "reduced-parameter-errors"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
16
|
samples: "samples/al-named-parameter-pattern.md"
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: []
|
|
20
|
+
keywords: ["named parameters", "parameter object", "procedure calls", "descriptive variables", "self-documenting", "parameter ordering"]
|
|
21
|
+
anti_pattern_indicators: ["magic numbers", "parameter soup", "type confusion", "inconsistent ordering", "literal values without names"]
|
|
22
|
+
positive_pattern_indicators: ["descriptive variable names", "parameter object", "logical grouping", "clear parameter purpose"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.4
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Named Parameter Pattern
|
|
@@ -5,6 +5,16 @@ difficulty: "intermediate"
|
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["navigation", "al-objects", "workspace", "symbol-search", "dependencies"]
|
|
7
7
|
prerequisites: ["vs-code-al-shortcuts", "al-project-structure"]
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: []
|
|
11
|
+
keywords: ["navigation", "F12", "Go to Definition", "Find All References", "symbol search", "Peek Definition", "workspace", "object discovery"]
|
|
12
|
+
anti_pattern_indicators: []
|
|
13
|
+
positive_pattern_indicators: ["efficient navigation", "symbol-based navigation", "reference discovery", "dependency tracking"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "enum", "interface"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.3
|
|
8
18
|
---
|
|
9
19
|
|
|
10
20
|
# AL Object Navigation Shortcuts
|
|
@@ -13,6 +13,16 @@ improvement_suggestion: "Optimize AL code readability through strategic formatti
|
|
|
13
13
|
implementation_steps: ["analyze-readability-factors", "apply-optimization-techniques", "validate-improvement"]
|
|
14
14
|
validation_criteria: ["improved-code-readability", "reduced-cognitive-load"]
|
|
15
15
|
technical_areas: ["al-code"]
|
|
16
|
+
|
|
17
|
+
relevance_signals:
|
|
18
|
+
constructs: []
|
|
19
|
+
keywords: ["readability", "cognitive load", "code comprehension", "visual hierarchy", "naming clarity", "logical organization"]
|
|
20
|
+
anti_pattern_indicators: ["dense code blocks", "unclear naming", "random organization", "inconsistent patterns", "unnecessary complexity"]
|
|
21
|
+
positive_pattern_indicators: ["clear visual hierarchy", "logical grouping", "strategic white space", "meaningful naming", "progressive complexity"]
|
|
22
|
+
|
|
23
|
+
applicable_object_types: ["codeunit", "page", "table", "report", "query", "xmlport", "enum", "interface"]
|
|
24
|
+
|
|
25
|
+
relevance_threshold: 0.4
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
# AL Readability Optimization
|
|
@@ -14,6 +14,16 @@ implementation_steps: ["identify-record-operations", "apply-early-exit-patterns"
|
|
|
14
14
|
validation_criteria: ["improved-performance", "reduced-database-load"]
|
|
15
15
|
technical_areas: ["al-code", "database"]
|
|
16
16
|
samples: "samples/al-record-find-early-exit.md"
|
|
17
|
+
|
|
18
|
+
relevance_signals:
|
|
19
|
+
constructs: ["Find", "FindFirst", "FindLast", "FindSet", "Get", "IsEmpty", "exit"]
|
|
20
|
+
keywords: ["early exit", "guard clause", "record existence", "database query", "performance optimization"]
|
|
21
|
+
anti_pattern_indicators: ["assumed existence", "nested processing", "ignored return values", "processing without Find verification"]
|
|
22
|
+
positive_pattern_indicators: ["if not Find then exit", "guard clause", "early return", "existence check before processing"]
|
|
23
|
+
|
|
24
|
+
applicable_object_types: ["codeunit", "page", "table", "report"]
|
|
25
|
+
|
|
26
|
+
relevance_threshold: 0.6
|
|
17
27
|
---
|
|
18
28
|
|
|
19
29
|
# AL Record Find Early Exit
|
|
@@ -7,6 +7,16 @@ tags: ["command-queue", "async-processing", "message-patterns", "queue-managemen
|
|
|
7
7
|
prerequisites: ["queue-basics", "command-pattern", "async-programming"]
|
|
8
8
|
samples: "samples/command-queue-pattern.md"
|
|
9
9
|
related_topics: ["task-scheduler-pattern-implementation", "event-bridge-pattern-al"]
|
|
10
|
+
|
|
11
|
+
relevance_signals:
|
|
12
|
+
constructs: ["Codeunit.Run", "TaskScheduler", "JobQueue"]
|
|
13
|
+
keywords: ["command queue", "async processing", "queue management", "FIFO", "priority queue", "batch processing", "retry", "dead letter"]
|
|
14
|
+
anti_pattern_indicators: ["queue overflow", "command coupling", "processing bottlenecks", "unbounded queue"]
|
|
15
|
+
positive_pattern_indicators: ["idempotent commands", "queue health monitoring", "retry mechanism", "command encapsulation"]
|
|
16
|
+
|
|
17
|
+
applicable_object_types: ["codeunit", "table"]
|
|
18
|
+
|
|
19
|
+
relevance_threshold: 0.5
|
|
10
20
|
---
|
|
11
21
|
|
|
12
22
|
# Command Queue Pattern in AL
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
title: "DeleteAll Alternative Implementation"
|
|
3
3
|
domain: "sam-coder"
|
|
4
4
|
difficulty: "advanced"
|
|
5
5
|
bc_versions: "14+"
|
|
6
6
|
tags: ["deleteall", "alternatives", "implementation", "patterns"]
|
|
7
7
|
samples: "samples/deleteall-alternative-implementation.md"
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
relevance_signals:
|
|
10
|
+
constructs: ["DeleteAll", "Delete", "OnDelete"]
|
|
11
|
+
keywords: ["DeleteAll alternative", "bulk delete", "SQL DELETE", "performance optimization", "custom deletion", "batch processing"]
|
|
12
|
+
anti_pattern_indicators: ["business logic neglect", "premature optimization", "incomplete implementation", "bypassing triggers incorrectly"]
|
|
13
|
+
positive_pattern_indicators: ["controlled business logic", "batch record processing", "optimized transaction boundaries", "hybrid approach"]
|
|
14
|
+
|
|
15
|
+
applicable_object_types: ["codeunit", "table"]
|
|
16
|
+
|
|
17
|
+
relevance_threshold: 0.6
|
|
18
|
+
---
|
|
9
19
|
# DeleteAll Alternative Implementation
|
|
10
20
|
|
|
11
21
|
## Overview
|
|
@@ -6,6 +6,16 @@ bc_versions: "14+"
|
|
|
6
6
|
tags: ["deleteall", "data-manipulation", "triggers"]
|
|
7
7
|
prerequisites: ["table-basics", "record-management"]
|
|
8
8
|
samples: "samples/deleteall-usage.md"
|
|
9
|
+
|
|
10
|
+
relevance_signals:
|
|
11
|
+
constructs: ["DeleteAll", "OnDelete", "Delete"]
|
|
12
|
+
keywords: ["DeleteAll", "bulk deletion", "data manipulation", "trigger execution", "data integrity", "cascade delete"]
|
|
13
|
+
anti_pattern_indicators: ["DeleteAll for performance", "bypassing OnDelete", "insufficient error handling", "assumed trigger bypass"]
|
|
14
|
+
positive_pattern_indicators: ["proper OnDelete triggers", "transaction management", "validation before delete", "appropriate filters"]
|
|
15
|
+
|
|
16
|
+
applicable_object_types: ["codeunit", "table"]
|
|
17
|
+
|
|
18
|
+
relevance_threshold: 0.6
|
|
9
19
|
---
|
|
10
20
|
# DeleteAll Method Usage
|
|
11
21
|
|
|
@@ -6,6 +6,16 @@ bc_versions: "14+"
|
|
|
6
6
|
tags: ["deleteall", "triggers", "ondelete", "execution-flow"]
|
|
7
7
|
prerequisites: ["deleteall-method-usage", "table-triggers", "transaction-management"]
|
|
8
8
|
samples: "samples/deleteall-triggers.md"
|
|
9
|
+
|
|
10
|
+
relevance_signals:
|
|
11
|
+
constructs: ["DeleteAll", "OnDelete", "Delete", "trigger"]
|
|
12
|
+
keywords: ["OnDelete trigger", "trigger execution", "cascade delete", "audit trail", "validation", "transaction management"]
|
|
13
|
+
anti_pattern_indicators: ["performance-blind trigger design", "inadequate error handling", "external system dependencies in triggers", "complex trigger logic"]
|
|
14
|
+
positive_pattern_indicators: ["focused OnDelete triggers", "efficient cascade patterns", "proper error handling", "testable triggers"]
|
|
15
|
+
|
|
16
|
+
applicable_object_types: ["codeunit", "table"]
|
|
17
|
+
|
|
18
|
+
relevance_threshold: 0.6
|
|
9
19
|
---
|
|
10
20
|
# DeleteAll Trigger Execution
|
|
11
21
|
|
|
@@ -7,6 +7,16 @@ tags: ["event-bridge", "event-routing", "message-patterns", "loose-coupling"]
|
|
|
7
7
|
prerequisites: ["event-basics", "publisher-subscriber", "interface-implementation"]
|
|
8
8
|
samples: "samples/event-bridge-pattern.md"
|
|
9
9
|
related_topics: ["event-payload-design-patterns", "command-queue-pattern-al"]
|
|
10
|
+
|
|
11
|
+
relevance_signals:
|
|
12
|
+
constructs: ["IntegrationEvent", "BusinessEvent", "EventSubscriber"]
|
|
13
|
+
keywords: ["event bridge", "event routing", "loose coupling", "event transformation", "central event hub", "dynamic routing"]
|
|
14
|
+
anti_pattern_indicators: ["bridge complexity", "performance bottlenecks", "tight coupling through bridge"]
|
|
15
|
+
positive_pattern_indicators: ["flexible event routing", "event transformation", "dynamic routing rules", "asynchronous processing"]
|
|
16
|
+
|
|
17
|
+
applicable_object_types: ["codeunit"]
|
|
18
|
+
|
|
19
|
+
relevance_threshold: 0.5
|
|
10
20
|
---
|
|
11
21
|
|
|
12
22
|
# Event Bridge Pattern in AL
|
|
@@ -7,6 +7,16 @@ tags: ["event-payload", "message-design", "data-patterns", "serialization"]
|
|
|
7
7
|
prerequisites: ["event-fundamentals", "data-structures", "json-handling"]
|
|
8
8
|
samples: "samples/event-payload-design.md"
|
|
9
9
|
related_topics: ["event-bridge-pattern-al", "command-queue-pattern-al"]
|
|
10
|
+
|
|
11
|
+
relevance_signals:
|
|
12
|
+
constructs: ["IntegrationEvent", "BusinessEvent", "JsonObject", "JsonToken"]
|
|
13
|
+
keywords: ["event payload", "message design", "serialization", "versioning", "envelope pattern", "data completeness"]
|
|
14
|
+
anti_pattern_indicators: ["payload bloat", "breaking changes", "inconsistent structure", "unnecessary data"]
|
|
15
|
+
positive_pattern_indicators: ["standardized envelopes", "payload versioning", "backward compatibility", "clear field names"]
|
|
16
|
+
|
|
17
|
+
applicable_object_types: ["codeunit"]
|
|
18
|
+
|
|
19
|
+
relevance_threshold: 0.5
|
|
10
20
|
---
|
|
11
21
|
|
|
12
22
|
# Event Payload Design Patterns
|