@salesforce/afv-skills 1.27.0 → 1.29.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/LICENSE.txt +206 -329
- package/package.json +1 -1
- package/skills/agentforce-architecture-analyze/README.md +4 -5
- package/skills/agentforce-architecture-analyze/SKILL.md +1 -1
- package/skills/agentforce-architecture-analyze/{tools → scripts}/sanitize.py +1 -1
- package/skills/agentforce-architecture-analyze/scripts/tests/_bootstrap.py +1 -1
- package/skills/agentforce-architecture-analyze/scripts/tests/test_end_to_end_fixture.py +2 -2
- package/skills/agentforce-architecture-analyze/scripts/tests/test_write_emit_ctx.py +3 -3
- package/skills/agentforce-architecture-analyze/{tools → scripts}/write_emit_ctx.py +1 -1
- package/skills/agentforce-observe/references/stdm-queries.md +2 -2
- package/skills/automation-flow-generate/SKILL.md +1 -1
- package/skills/design-systems-slds-apply/SKILL.md +15 -15
- package/skills/design-systems-slds-apply/checklists.md +1 -1
- package/skills/design-systems-slds-apply/examples.md +3 -3
- package/skills/design-systems-slds-apply/references/component-selection.md +3 -3
- package/skills/design-systems-slds-apply/references/icons-decision-guide.md +3 -3
- package/skills/design-systems-slds-apply/{guidance → references}/slds-development-guide.md +2 -2
- package/skills/design-systems-slds-apply/references/styling-decision-guide.md +10 -10
- package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/index.md +2 -2
- package/skills/design-systems-slds-apply/references/utilities-quick-ref.md +3 -3
- package/skills/design-systems-slds-apply/scripts/search-blueprints.cjs +2 -2
- package/skills/design-systems-slds-apply/scripts/search-hooks.cjs +1 -1
- package/skills/design-systems-slds-apply/scripts/search-icons.cjs +1 -1
- package/skills/design-systems-slds-apply/scripts/search-utilities.cjs +3 -3
- package/skills/dx-code-analyzer-configure/SKILL.md +32 -14
- package/skills/dx-code-analyzer-custom-rule-create/SKILL.md +484 -0
- package/skills/dx-code-analyzer-custom-rule-create/assets/pmd-ruleset-template.xml +31 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-fields-api.md +87 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-flows.md +105 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-permissions.md +95 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-examples.md +84 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/regex-examples.md +127 -0
- package/skills/dx-code-analyzer-custom-rule-create/examples/xpath-examples.md +227 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/advanced-pmd-patterns.md +288 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/apex-ast-reference.md +127 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/eslint-custom-plugins.md +247 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/eslint-rules-discovery.md +188 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/eslint-tier2-configurable.md +114 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/eslint-tier3-custom-plugins.md +113 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/metadata-xml-rules.md +285 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/regex-rule-schema.md +174 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/troubleshooting.md +141 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-governor-limits.md +83 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-method-calls.md +108 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-security.md +45 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-structure.md +127 -0
- package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns.md +131 -0
- package/skills/dx-code-analyzer-custom-rule-create/scripts/create-pmd-rule.js +209 -0
- package/skills/dx-code-analyzer-custom-rule-create/scripts/create-regex-rule.js +220 -0
- package/skills/dx-code-analyzer-run/SKILL.md +44 -11
- package/skills/dx-code-analyzer-run/examples/command-variations.md +4 -4
- package/skills/dx-org-permission-set-assign/SKILL.md +1 -1
- package/skills/experience-lwc-generate/references/async-notification-patterns.md +2 -2
- package/skills/experience-lwc-generate/references/state-management.md +6 -6
- package/skills/experience-lwc-generate/references/template-anti-patterns.md +42 -42
- package/skills/experience-ui-bundle-agentforce-client-generate/references/constraints.md +8 -8
- package/skills/experience-ui-bundle-custom-app-generate/SKILL.md +2 -2
- package/skills/experience-ui-bundle-frontend-generate/SKILL.md +3 -3
- package/skills/experience-ui-bundle-metadata-generate/SKILL.md +1 -1
- package/skills/experience-ui-bundle-site-generate/SKILL.md +13 -13
- package/skills/integration-connectivity-generate/SKILL.md +2 -2
- package/skills/mobile-platform-native-capabilities-integrate/SKILL.md +3 -3
- package/skills/omnistudio-callable-apex-generate/SKILL.md +1 -1
- package/skills/platform-apex-logs-debug/references/benchmarking-guide.md +1 -1
- package/skills/platform-apex-test-run/SKILL.md +1 -1
- package/skills/platform-apex-test-run/references/testing-best-practices.md +3 -3
- package/skills/platform-custom-application-generate/SKILL.md +9 -9
- package/skills/platform-custom-field-generate/SKILL.md +95 -135
- package/skills/platform-custom-field-generate/references/advanced-picklists.md +590 -0
- package/skills/platform-custom-lightning-type-generate/references/widget-rendition.md +6 -6
- package/skills/platform-custom-tab-generate/SKILL.md +10 -10
- package/skills/platform-data-manage/references/orchestration.md +1 -1
- package/skills/platform-list-view-generate/SKILL.md +3 -3
- package/skills/platform-metadata-api-context-get/README.md +1 -1
- package/skills/platform-metadata-api-context-get/SKILL.md +12 -12
- package/skills/platform-metadata-api-context-get/examples/README.md +11 -11
- package/skills/platform-metadata-api-context-get/examples/bash_section_loading.sh +3 -3
- package/skills/platform-metadata-api-context-get/examples/javascript_section_loading.js +5 -5
- package/skills/platform-metadata-api-context-get/examples/python_section_loading.py +2 -2
- package/skills/platform-metadata-api-context-get/references/usage_guide.md +4 -4
- package/skills/platform-metadata-retrieve/SKILL.md +1 -1
- package/skills/platform-soql-query/references/field-coverage-rules.md +13 -13
- package/skills/platform-validation-rule-generate/SKILL.md +3 -3
- package/skills/platform-value-set-generate/SKILL.md +305 -0
- package/skills/omnistudio-epc-catalog-generate/examples/.gitkeep +0 -1
- /package/skills/agentforce-architecture-analyze/{tools → scripts}/emit_env.py +0 -0
- /package/skills/agentforce-architecture-analyze/{tools → scripts}/emit_result.py +0 -0
- /package/skills/agentforce-observe/{apex → assets/apex}/AgentforceOptimizeService.cls +0 -0
- /package/skills/agentforce-observe/{apex → assets/apex}/AgentforceOptimizeService.cls-meta.xml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/README.md +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/accordion.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/activity-timeline.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/alert.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/app-launcher.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/avatar-group.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/avatar.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/badges.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/brand-band.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/breadcrumbs.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/builder-header.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/button-groups.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/button-icons.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/buttons.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/cards.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/carousel.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/chat.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/checkbox-button-group.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/checkbox-button.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/checkbox-toggle.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/checkbox.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/color-picker.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/combobox.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/counter.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/data-tables.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/datepickers.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/datetime-picker.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/docked-composer.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/docked-form-footer.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/docked-utility-bar.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/drop-zone.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/dueling-picklist.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/dynamic-icons.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/dynamic-menu.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/expandable-section.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/expression.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/feeds.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/file-selector.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/files.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/form-element.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/global-header.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/global-navigation.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/icons.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/illustration.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/input.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/list-builder.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/lookups.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/map.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/menus.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/modals.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/notifications.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/page-headers.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/panels.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/path.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/picklist.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/pills.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/popovers.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/progress-bar.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/progress-indicator.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/progress-ring.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/prompt.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/publishers.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/radio-button-group.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/radio-group.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/rich-text-editor.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/scoped-notifications.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/scoped-tabs.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/select.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/setup-assistant.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/slider.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/spinners.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/split-view.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/summary-detail.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/tabs.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/textarea.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/tiles.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/timepicker.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/toast.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/tooltips.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/tree-grid.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/trees.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/trial-bar.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/vertical-navigation.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/vertical-tabs.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/visual-picker.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/blueprints/components/welcome-mat.yaml +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/hooks-index.json +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/icon-metadata.json +0 -0
- /package/skills/design-systems-slds-apply/{metadata → assets}/utilities-index.json +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/README.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/blueprints-index.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/icons-guidance.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/borders.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/color.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/display-density.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/icons.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/illustrations.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/shadows.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/spacing.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/typography.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/overviews/utilities.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/borders.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/expressive-palette-hooks.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/index.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/semantic/accent-hooks.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/semantic/feedback-hooks.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/semantic/surface-hooks.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/color/system-hooks.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/shadows.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/spacing.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/styling-hooks/typography.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/alignment.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/borders.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/box.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/color.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/dark-mode.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/description-list.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/floats.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/grid.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/horizontal-list.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/hyphenation.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/index.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/interactions.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/layout.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/line-clamp.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/margin.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/media-object.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/name-value-list.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/padding.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/position.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/print.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/scrollable.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/sizing.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/themes.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/truncate.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/typography.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/vertical-list.md +0 -0
- /package/skills/design-systems-slds-apply/{guidance → references}/utilities/visibility.md +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/lwc-lsp-validate.py +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/post-tool-validate.py +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/slds_data/deprecated_patterns.json +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/slds_data/styling_hooks.json +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/slds_data/valid_slds_classes.json +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/slds_linter_wrapper.py +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/slds_rules/__init__.py +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/template_validator.py +0 -0
- /package/skills/experience-lwc-generate/{hooks/scripts → scripts}/validate_slds.py +0 -0
- /package/skills/experience-ui-bundle-custom-app-generate/{docs → references}/configure-metadata-custom-application.md +0 -0
- /package/skills/experience-ui-bundle-frontend-generate/{implementation → references}/component.md +0 -0
- /package/skills/experience-ui-bundle-frontend-generate/{implementation → references}/header-footer.md +0 -0
- /package/skills/experience-ui-bundle-frontend-generate/{implementation → references}/page.md +0 -0
- /package/skills/experience-ui-bundle-metadata-generate/{implementation → references}/csp-metadata-format.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/configure-metadata-custom-site.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/configure-metadata-digital-experience-bundle.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/configure-metadata-digital-experience-config.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/configure-metadata-digital-experience.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/configure-metadata-network.md +0 -0
- /package/skills/experience-ui-bundle-site-generate/{docs → references}/update-site-urls.md +0 -0
- /package/skills/integration-connectivity-generate/{hooks/scripts → scripts}/suggest_credential_setup.py +0 -0
- /package/skills/integration-connectivity-generate/{hooks/scripts → scripts}/validate_integration.py +0 -0
- /package/skills/platform-apex-test-run/{hooks/scripts → scripts}/parse-test-results.py +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AIApplication.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AIApplicationConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AIReplyRecommendationsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AIScoringModelDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AIUsecaseDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountInsightsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountIntelligenceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountPlanObjMeasCalcDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountPlanSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountRelationshipShareRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountingFieldMapping.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountingModelConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AccountingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActionLinkGroupTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActionOverride.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActionPlanTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActionableListDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActionsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActivationPlatform.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActivationPlatformActvAttr.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActivationPlatformField.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActivitiesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActvPfrmDataConnectorS3.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActvPlatformAdncIdentifier.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ActvPlatformFieldValue.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AddressSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AdvAccountForecastSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AffinityScoreDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AgentPlatformSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AgentforceForDevelopersSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AiAuthoringBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AiEvaluationDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AiPluginUtteranceDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AllOrNoneHeader.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnalyticSnapshot.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnalyticsDashboard.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnalyticsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnalyticsVisualization.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnalyticsWorkspace.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AnimationRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexClass.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexComponent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexEmailNotifications.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexPage.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexTestSuite.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApexTrigger.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppAnalyticsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppExperienceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppFrameworkTemplateBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppMenu.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppointmentAssignmentPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AppointmentSchedulingPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ApprovalProcess.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ArticleType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ArticleType_CustomField.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ArticleType_Layout.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AssessmentQuestion.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AssessmentQuestionSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AssignmentRules.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AssociationEngineSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AsyncResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Audience.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AuraDefinitionBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AuthProvider.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AutoResponseRules.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/AutomatedContactsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BaseSharingRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BatchCalcJobDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BatchProcessJobDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BillingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BlacklistedConsumer.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Bot.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BotBlock.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BotSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BotTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BotVersion.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BranchManagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BrandingSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BriefcaseDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BusinessHoursSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BusinessProcess.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/BusinessProcessGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CMSConnectSource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CallCenter.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CallCenterRoutingMap.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CallCoachingMediaProvider.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CallOptions.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CampaignInfluenceModel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CampaignSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CancelDeployResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CareBenefitVerifySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CareLimitType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CareProviderSearchConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CareRequestConfiguration.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CareSystemFieldMapping.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CaseSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CaseSubjectParticle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CatalogedApi.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CatalogedApiArtifactVersionInfo.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CatalogedApiVersion.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Certificate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChannelLayout.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChatterAnswersSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChatterEmailsMDSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChatterExtension.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChatterSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ChoiceList.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ClaimFinancialSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ClauseCatgConfiguration.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CleanDataService.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CodeBuilderSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CollectionsDashboardSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CommerceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CommunitiesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Community.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CommunityTemplateDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CommunityThemeDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CompactLayout.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CompanySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConnectedApp.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConnectedAppSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ContentAsset.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ContentSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ContentTypeBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ContextDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ContractSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConvIntelligenceSignalRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConversationChannelDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConversationMessageDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConversationMessageDefinitionTranslation.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConversationVendorInfo.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ConversationalIntelligenceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CorsWhitelistOrigin.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CriteriaBasedSharingRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CspTrustedSite.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CurrencySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomAddressFieldSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomApplication.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomApplicationComponent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomFeedFilter.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomField.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomFieldDisplay.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomHelpMenuSection.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomIndex.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomLabels.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomMetadata.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomNotificationType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomObject.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomObjectTranslation.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomPageWebLink.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomPermission.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomSite.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomTab.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomValue.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/CustomerDataPlatformSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Dashboard.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataCategoryGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataConnector.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataConnectorIngestApi.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataConnectorS3.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataDotComSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataImportManagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataKitObjectDependency.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataKitObjectTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataObjectBuildOrgTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataObjectSearchIndexConf.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataPackageKitDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataPackageKitObject.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSourceBundleDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSourceField.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSourceObject.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSourceTenant.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataSrcDataModelFieldMap.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataStreamDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataStreamTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DataWeaveResource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DebuggingHeader.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DecisionMatrixDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DecisionTable.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DecisionTableDatasetLink.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DelegateGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DeleteResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DeployResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DeploymentSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DescribeMetadataResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DescribeValueTypeResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DevHubSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DgtAssetMgmtProvider.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DgtAssetMgmtPrvdLghtCpnt.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DigitalExperienceBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DigitalExperienceBundle_Marketing_Workspace_Bundle_and_Folders.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DigitalExperienceBundle_Site_Workspace_Bundle_and_Folders.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DigitalExperienceConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DisclosureDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DisclosureDefinitionVersion.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DisclosureType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DiscoveryAIModel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DiscoveryGoal.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DiscoveryStory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Document.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DocumentCategory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DocumentCategoryDocumentType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DocumentChecklistSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DocumentGenerationSetting.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DocumentType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DuplicateRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/DynamicFormsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EACSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EclairGeoData.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EinsteinAISettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EinsteinAgentSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EinsteinGptSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailAdministrationSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailAuthorizationSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailIntegrationSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailServicesFunction.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmailTemplateSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceBranding.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceFieldService.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceFlowConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceLiveAgent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmbeddedServiceMenuSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EmployeeUserSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EnablementMeasureDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EnablementProgramDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EnblProgramTaskSubCategory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EncryptionKeySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EnhancedNotesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EntitlementProcess.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EntitlementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EntitlementTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Error.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EscalationRules.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EventDelivery.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EventRelayConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EventSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/EventSubscription.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExperienceBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExperienceBundleSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExperiencePropertyTypeBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExplainabilityMsgTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExpressionSetDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExpressionSetMessageToken.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExpressionSetObjectAlias.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalAIModel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalAuthIdentityProvider.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalClientAppSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalClientApplication.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalCredential.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalDataConnector.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalDataSource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalDataTranObject.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalDataTransportFieldTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalDataTransportObjectTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalServiceRegistration.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExternalServicesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppCanvasSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppConfigurablePolicies.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppGlobalOauthSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppMobileConfigurablePolicies.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppMobileSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppNotificationSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppOauthConfigurablePolicies.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppOauthSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppPushConfigurablePolicies.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppPushSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ExtlClntAppSamlConfigurablePolicies.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FeatureParameterBoolean.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FeatureParameterDate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FeatureParameterInteger.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FieldMappingConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FieldRestrictionRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FieldServiceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FieldSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FieldSrcTrgtRelationship.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FileUploadAndDownloadSecuritySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FilesConnectSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlexiPage.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Flow.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlowCategory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlowDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlowSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlowTest.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FlowValueMap.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Folder.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FolderShare.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingFilter.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingFilterCondition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingObjectListSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingSourceDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ForecastingTypeSource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FuelType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FuelTypeSustnUom.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FunctionReference.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/FundraisingConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GatewayProviderPaymentMethodType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiFunction.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPlanner.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPlannerBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPlugin.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPluginInstructionDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPromptTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GenAiPromptTemplateActv.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GiftEntryGridTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GlobalPicklist.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GlobalPicklistValue.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GlobalValueSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GlobalValueSetTranslation.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/GoogleAppsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Group.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/HighVelocitySalesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/HistoryRetentionPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/HomePageComponent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/HomePageLayout.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IPAddressRange.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IdeasSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IdentityProviderSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IdentityVerificationProcDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IdentityVerificationProcDtl.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IdentityVerificationProcFld.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IframeWhiteListUrlSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InboundCertificate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InboundNetworkConnection.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IncidentMgmtSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Index.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesEinsteinFeatureSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesLoyaltySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesPricingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesRatingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IndustriesUnifiedInventorySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InsPlcyLimitConsumptionRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InstalledPackage.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IntegArtifactDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/IntegrationProviderDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InterestTaggingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InternalDataConnector.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InvLatePymntRiskCalcSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InventorySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InvocableActionExtension.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/InvocableActionSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/KeywordList.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/KnowledgeSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LanguageSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Layout.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LeadConfigSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LeadConvertSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LearningItemType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Letterhead.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningBolt.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningComponentBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningExperienceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningExperienceTheme.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningMessageChannel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningOnboardingConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LightningTypeBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ListMetadataQuery.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ListView.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveAgentSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveChatAgentConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveChatButton.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveChatDeployment.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveChatSensitiveDataRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LiveMessageSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/LoyaltyProgramSetup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MLDataDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MLPredictionDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MacroSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MailMergeSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ManagedContentType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ManagedEventSubscription.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ManagedTopics.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MapAndLocationSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MarketSegmentDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MarketingAppExtension.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MatchingRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MeetingsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MessagingChannel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MetadataWithContent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Metadata_Type_Limits.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MfgProgramTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MfgServiceConsoleSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MilestoneType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MktCalcInsightObjectDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MktDataTranObject.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MlDomain.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MobSecurityCertPinConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MobileApplicationDetail.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MobileSecurityAssignment.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MobileSecurityPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MobileSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ModerationRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MutingPermissionSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MyDomainDiscoverableLogin.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/MyDomainSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NameSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NamedCredential.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NamedFilter.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NavigationMenu.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Network.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NetworkBranding.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NotificationTypeConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/NotificationsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OauthCustomScope.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OauthOidcSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OauthTokenExchangeHandler.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ObjectHierarchyRelationship.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ObjectLinkingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ObjectSourceTargetMap.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OcrSampleDocument.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OcrTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniChannelSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniExtTrackingDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniInteractionAccessConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniInteractionConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniScript.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniSupervisorConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OmniTrackingGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OnboardingDataObjectGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OpportunityInsightsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OpportunityScoreSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OpportunitySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OrchestrationPlanCtxMapping.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OrderManagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OrderSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OrgPreferenceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OrgSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OutboundNetworkConnection.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/OwnerSharingRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Package.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PardotEinsteinSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PardotSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ParticipantRole.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PartyDataModelSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PathAssistant.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PathAssistantSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PaymentGatewayProvider.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PaymentsSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PermissionSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PermissionSetGroup.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PermissionSetLicenseDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PersonAccountOwnerPowerUser.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Picklist.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PicklistSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PipelineInspMetricConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformCachePartition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEncryptionSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEventChannel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEventChannelMember.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEventMigration.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEventSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PlatformEventSubscriberConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Portal.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PortalDelegablePermissionSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PostTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PredictionBuilderSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PresenceDeclineReason.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PresenceUserConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PricingActionParameters.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PricingRecipe.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PrivacySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProcessFlowMigration.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProductAttributeSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProductSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Profile.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProfileActionOverride.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProfilePasswordPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProfileSearchLayouts.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ProfileSessionSetting.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Prompt.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PublicKeyCertificate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/PublicKeyCertificateSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Queue.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/QueueRoutingConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/QuickAction.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/QuoteSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ReadResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RealTimeEventSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecommendationStrategy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecordActionDeployment.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecordAggregationDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecordAlertCategory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecordPageSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RecordType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RedirectWhitelistUrl.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ReferencedDashboard.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RegisteredExternalService.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RelatedRecordAssocCriteria.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RelationshipGraphDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RemoteSiteSetting.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Report.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ReportType.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RestrictionRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RetailExecutionSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RetrievalSummaryDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RetrieveRequest.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RetrieveResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Role.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/RoleOrTerritory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SalesAgreementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SalesWorkQueueSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SamlSsoConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SandboxSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SaveResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SchedulingObjective.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SchedulingRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SchemaSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Scontrol.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SearchCustomization.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SearchLayouts.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SearchOrgWideObjectConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SearchSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SecuritySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceAISetupDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceAISetupField.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceChannel.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceCloudVoiceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServicePresenceStatus.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceProcess.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ServiceSetupAssistantSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SessionHeader.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharedTo.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingBaseRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingReason.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingRecalculation.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingRules.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SharingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SiteDotCom.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SiteSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Skill.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SocialCustomerServiceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SocialProfileSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SourceTrackingSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StageAssignment.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StageDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StandardValueSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StandardValueSetTranslation.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StaticResource.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/StreamingAppDataConnector.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SubscriptionManagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SurveySettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SustainabilityUom.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SustnUomConversion.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SvcCatalogCategory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SvcCatalogFulfillmentFlow.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SvcCatalogItemDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/SynonymDictionary.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Tag.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TagSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory2.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory2Model.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory2Rule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory2Settings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Territory2Type.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TimeSheetTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TimelineObjectDefinition.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TopicsForObjects.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TrailheadSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TransactionSecurityPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Translations.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/TrialOrgSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UIBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UIObjectRelationConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UiFormatSpecificationSet.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UiPreviewMessageTabDef.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UpsertResult.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserAccessPolicy.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserAuthCertificate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserCriteria.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserEngagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserInterfaceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserManagementSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserProfileSearchScope.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/UserProvisioningConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/ValidationRule.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/VirtualVisitConfig.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/VoiceSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WarrantyLifeCycleMgmtSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveAnalyticAssetCollection.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveApplication.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveComponent.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveDashboard.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveDataflow.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveDataset.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveLens.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveRecipe.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveTemplateBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WaveXmd.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WebLink.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WebStoreBundle.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WebStoreTemplate.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WorkDotComSettings.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WorkSkillRouting.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/Workflow.json +0 -0
- /package/skills/platform-metadata-api-context-get/{data → assets}/metadata_api/WorkforceEngagementSettings.json +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# XPath Patterns for Apex Custom Rules
|
|
2
|
+
|
|
3
|
+
Pre-validated PMD XPath patterns for Salesforce Apex code. Every pattern below has been verified against actual `sf code-analyzer ast-dump` output. Use these directly — but still run `ast-dump` on YOUR code to confirm node names haven't changed in newer PMD versions.
|
|
4
|
+
|
|
5
|
+
## XPath Syntax Quick Reference
|
|
6
|
+
|
|
7
|
+
| Syntax | Meaning |
|
|
8
|
+
|--------|---------|
|
|
9
|
+
| `//Node` | Find Node anywhere in tree |
|
|
10
|
+
| `//Node[@attr='value']` | Node with specific string attribute value |
|
|
11
|
+
| `//Node[@attr = true()]` | Node with boolean attribute = true (**PMD 7 requirement**) |
|
|
12
|
+
| `//Parent//Child` | Child anywhere inside Parent (any descendant) |
|
|
13
|
+
| `//Parent/Child` | **Direct child only** — use this to avoid false positives |
|
|
14
|
+
| `//Node[not(...)]` | Node where condition is NOT true |
|
|
15
|
+
| `//Node[ancestor::Other]` | Node that has Other as an ancestor |
|
|
16
|
+
| `//Node[.//Other]` | Node that contains Other somewhere inside |
|
|
17
|
+
| `@Image` | The name/text of the node |
|
|
18
|
+
| `@FullMethodName` | Full qualified method name (e.g., 'System.debug') |
|
|
19
|
+
| `@LiteralType` | Type of literal: STRING, INTEGER, BOOLEAN, TRUE, FALSE, NULL |
|
|
20
|
+
|
|
21
|
+
### PMD 7 Boolean Attributes — MUST use `true()` / `false()`
|
|
22
|
+
|
|
23
|
+
In PMD 7, many node attributes are **boolean typed**, not strings — even though `ast-dump` renders them as `Nested='false'` or `Test='true'` in the XML output. String attributes (`@FullMethodName`, `@Name`, `@Image`, `@LiteralType`, etc.) are safe to copy from the AST dump as-is. But **attributes whose values are `true` or `false` in the dump are boolean-typed** — comparing them with string literals (`@Nested='false'`) causes the error: "Cannot compare xs:boolean to xs:string".
|
|
24
|
+
|
|
25
|
+
Known boolean attributes by node:
|
|
26
|
+
|
|
27
|
+
| Node | Boolean Attributes |
|
|
28
|
+
|------|--------------------|
|
|
29
|
+
| `ModifierNode` | `@Test`, `@Public`, `@Private`, `@Protected`, `@Static`, `@Abstract`, `@Final`, `@Global`, `@WithSharing`, `@WithoutSharing`, `@InheritedSharing` |
|
|
30
|
+
| `UserClass` | `@Nested` |
|
|
31
|
+
| `Method` | `@Constructor` |
|
|
32
|
+
|
|
33
|
+
| WRONG | CORRECT |
|
|
34
|
+
|-------|---------|
|
|
35
|
+
| `UserClass[@Nested='false']` | `UserClass[@Nested = false()]` |
|
|
36
|
+
| `UserClass[@Nested='true']` | `UserClass[@Nested = true()]` |
|
|
37
|
+
| `ModifierNode[@Test='true']` | `ModifierNode[@Test = true()]` |
|
|
38
|
+
| `ModifierNode[@Static='false']` | `ModifierNode[@Static = false()]` |
|
|
39
|
+
| `Method[@Constructor = false()]` | `Method[@Constructor = false()]` |
|
|
40
|
+
|
|
41
|
+
`true()` and `false()` are XPath boolean functions. If you see an attribute that looks boolean in the AST dump, assume it is typed as boolean and use `true()`/`false()`.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### `/` vs `//` — The Most Common Source of False Positives
|
|
46
|
+
|
|
47
|
+
| XPath | Meaning | Risk |
|
|
48
|
+
|-------|---------|------|
|
|
49
|
+
| `//ForEachStatement//SoqlExpression` | SOQL anywhere inside ForEachStatement | ❌ Matches iterable position too |
|
|
50
|
+
| `//ForEachStatement/BlockStatement//SoqlExpression` | SOQL inside loop **body** only | ✅ Correct |
|
|
51
|
+
|
|
52
|
+
**Rule of thumb:** When matching inside a structural node (loop, if, try), always scope to `/BlockStatement//` to target the body, not sibling children like iterables or conditions.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Pattern Categories (By Topic)
|
|
57
|
+
|
|
58
|
+
For detailed patterns in each category, see the dedicated files below:
|
|
59
|
+
|
|
60
|
+
| Category | File | Contents |
|
|
61
|
+
|----------|------|----------|
|
|
62
|
+
| Governor Limits | [xpath-patterns-governor-limits.md](xpath-patterns-governor-limits.md) | SOQL/DML in loops, Database methods in loops |
|
|
63
|
+
| Method Calls & Annotations | [xpath-patterns-method-calls.md](xpath-patterns-method-calls.md) | Ban specific methods, @AuraEnabled, @future, @IsTest, @SuppressWarnings patterns |
|
|
64
|
+
| Security | [xpath-patterns-security.md](xpath-patterns-security.md) | Sharing declarations, SOQL security modes, hardcoded IDs |
|
|
65
|
+
| Code Structure, Tests & Naming | [xpath-patterns-structure.md](xpath-patterns-structure.md) | DML error handling, empty catches, test assertions, naming conventions |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Key Apex AST Node Names
|
|
70
|
+
|
|
71
|
+
| Apex Construct | AST Node | Key Attributes |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| Class | `UserClass` | `Image`, `SuperClassName`, `InterfaceNames`, `Nested` |
|
|
74
|
+
| Interface | `UserInterface` | `Image`, `SuperInterfaceName` |
|
|
75
|
+
| Method | `Method` | `Image`, `Arity`, `ReturnType`, `Constructor` |
|
|
76
|
+
| Trigger | `UserTrigger` | `Image`, `TargetName` |
|
|
77
|
+
| SOQL query | `SoqlExpression` | `Query`, `CanonicalQuery` |
|
|
78
|
+
| DML insert | `DmlInsertStatement` | |
|
|
79
|
+
| DML update | `DmlUpdateStatement` | |
|
|
80
|
+
| DML delete | `DmlDeleteStatement` | |
|
|
81
|
+
| DML upsert | `DmlUpsertStatement` | |
|
|
82
|
+
| Method call | `MethodCallExpression` | `FullMethodName`, `MethodName`, `InputParametersSize` |
|
|
83
|
+
| For-each loop | `ForEachStatement` | children: VariableDeclarationStatements, VariableExpression, **BlockStatement** (body), iterable |
|
|
84
|
+
| For loop | `ForLoopStatement` | children: init, condition, update, **BlockStatement** (body) |
|
|
85
|
+
| While loop | `WhileLoopStatement` | children: condition, **BlockStatement** (body) |
|
|
86
|
+
| If/else | `IfElseBlockStatement` > `IfBlockStatement` | `ElseStatement` |
|
|
87
|
+
| Try-catch | `TryCatchFinallyBlockStatement` | |
|
|
88
|
+
| Catch block | `CatchBlockStatement` | `ExceptionType`, `VariableName` |
|
|
89
|
+
| RunAs | `RunAsBlockStatement` | |
|
|
90
|
+
| String literal | `LiteralExpression` | `@LiteralType='STRING'`, `@Image` (value without quotes) |
|
|
91
|
+
| Integer literal | `LiteralExpression` | `@LiteralType='INTEGER'`, `@Image` |
|
|
92
|
+
| Boolean true | `LiteralExpression` | `@LiteralType='TRUE'` |
|
|
93
|
+
| Boolean false | `LiteralExpression` | `@LiteralType='FALSE'` |
|
|
94
|
+
| Null | `LiteralExpression` | `@LiteralType='NULL'` |
|
|
95
|
+
| Variable | `VariableExpression` | `@Image` (name) |
|
|
96
|
+
| Assignment | `AssignmentExpression` | `@Op` (=, +=, etc.) |
|
|
97
|
+
| Binary expression | `BinaryExpression` | `@Op` (+, -, *, /) |
|
|
98
|
+
| Boolean expression | `BooleanExpression` | `@Op` (>, <, ==, !=, >=, <=) |
|
|
99
|
+
| New object | `NewKeyValueObjectExpression` | `@Type` |
|
|
100
|
+
| New object (no-arg) | `NewObjectExpression` | `@Type` |
|
|
101
|
+
| Return | `ReturnStatement` | |
|
|
102
|
+
| Annotation | `Annotation` | `@Name` (IsTest, AuraEnabled, Future, SuppressWarnings) |
|
|
103
|
+
| Annotation param | `AnnotationParameter` | `@Name`, `@Value` |
|
|
104
|
+
| Modifier | `ModifierNode` | `Public`, `Private`, `Static`, `Test`, `WithSharing`, `Global`, etc. |
|
|
105
|
+
| Parameter | `Parameter` | `@Image` (name), `@Type` |
|
|
106
|
+
| New list | `NewListInitExpression` | |
|
|
107
|
+
| New map | `NewMapInitExpression` | |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## XPath Best Practices
|
|
112
|
+
|
|
113
|
+
1. **ALWAYS run `ast-dump` first** — never guess node names, even for patterns listed here
|
|
114
|
+
2. **Use `/BlockStatement//` for loop/if body** — avoids matching iterables, conditions, etc.
|
|
115
|
+
3. **Use `@FullMethodName`** for method calls — not `@Image` or `@MethodName` alone
|
|
116
|
+
4. **Exclude test classes** with `[not(ancestor::UserClass[ModifierNode[@Test = true()]])]`
|
|
117
|
+
5. **Test with BOTH positive AND negative cases** — ensure no false positives
|
|
118
|
+
6. **Prefer `//Node` over absolute paths** — code structure varies
|
|
119
|
+
7. **Use `ancestor::` / `not(ancestor::)`** for structural exclusions (try-catch, test class)
|
|
120
|
+
8. **Keep XPath simple** — complex expressions are fragile and hard to maintain
|
|
121
|
+
|
|
122
|
+
## Common False Positive Traps
|
|
123
|
+
|
|
124
|
+
| Pattern | Trap | Fix |
|
|
125
|
+
|---------|------|-----|
|
|
126
|
+
| SOQL in loop | `//ForEachStatement//SoqlExpression` matches iterable | Use `/BlockStatement//` |
|
|
127
|
+
| DML in loop | Same as above | Use `/BlockStatement//` |
|
|
128
|
+
| Ban method in all code | Flags test code too | Add `[not(ancestor::UserClass[ModifierNode[@Test = true()]])]` |
|
|
129
|
+
| Empty block detection | Matches intentional empty constructors | Add `[@Constructor = false()]` or exclude specific patterns |
|
|
130
|
+
| No sharing declaration | Flags inner classes (which inherit) | Add `[@Nested = false()]` |
|
|
131
|
+
| String literal length check | Matches test data strings | Exclude test classes |
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Creates a PMD XPath custom rule (XML ruleset file + config reference)
|
|
3
|
+
// Usage: node create-pmd-rule.js --name <name> --xpath <expression> --message <msg> [options]
|
|
4
|
+
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
|
|
8
|
+
function printUsage() {
|
|
9
|
+
console.error(`Usage: node create-pmd-rule.js --name <name> --xpath <expression> --message <msg> [options]
|
|
10
|
+
|
|
11
|
+
Required:
|
|
12
|
+
--name <name> Rule name (PascalCase, no spaces)
|
|
13
|
+
--xpath <expression> XPath expression to match violations
|
|
14
|
+
--message <msg> Violation message shown to users
|
|
15
|
+
|
|
16
|
+
Optional:
|
|
17
|
+
--description <desc> Detailed rule description (default: same as message)
|
|
18
|
+
--language <lang> PMD language (default: apex)
|
|
19
|
+
--priority <1-5> PMD priority (default: 3)
|
|
20
|
+
--example <code> Example violating code snippet
|
|
21
|
+
--config-file <path> Path to code-analyzer.yml (default: ./code-analyzer.yml)
|
|
22
|
+
--ruleset-dir <dir> Directory for ruleset XML (default: ./custom-rules)
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
node create-pmd-rule.js --name NoSystemDebug --xpath "//MethodCallExpression[@FullMethodName='System.debug']" --message "System.debug not allowed" --priority 3
|
|
26
|
+
node create-pmd-rule.js --name SoqlInLoop --xpath "//ForEachStatement//SoqlExpression" --message "SOQL inside loop" --priority 2`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Parse arguments
|
|
31
|
+
const args = process.argv.slice(2);
|
|
32
|
+
if (args.length < 1 || args[0] === "--help" || args[0] === "-h") {
|
|
33
|
+
printUsage();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const options = {
|
|
37
|
+
name: null,
|
|
38
|
+
xpath: null,
|
|
39
|
+
message: null,
|
|
40
|
+
description: null,
|
|
41
|
+
language: "apex",
|
|
42
|
+
priority: 3,
|
|
43
|
+
example: null,
|
|
44
|
+
configFile: "./code-analyzer.yml",
|
|
45
|
+
rulesetDir: "./custom-rules",
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
for (let i = 0; i < args.length; i++) {
|
|
49
|
+
switch (args[i]) {
|
|
50
|
+
case "--name": options.name = args[++i]; break;
|
|
51
|
+
case "--xpath": options.xpath = args[++i]; break;
|
|
52
|
+
case "--message": options.message = args[++i]; break;
|
|
53
|
+
case "--description": options.description = args[++i]; break;
|
|
54
|
+
case "--language": options.language = args[++i]; break;
|
|
55
|
+
case "--priority": options.priority = parseInt(args[++i], 10); break;
|
|
56
|
+
case "--example": options.example = args[++i]; break;
|
|
57
|
+
case "--config-file": options.configFile = args[++i]; break;
|
|
58
|
+
case "--ruleset-dir": options.rulesetDir = args[++i]; break;
|
|
59
|
+
default:
|
|
60
|
+
console.error(`Unknown option: ${args[i]}`);
|
|
61
|
+
printUsage();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Validate required fields
|
|
66
|
+
if (!options.name) { console.error("Error: --name is required"); process.exit(1); }
|
|
67
|
+
if (!options.xpath) { console.error("Error: --xpath is required"); process.exit(1); }
|
|
68
|
+
if (!options.message) { console.error("Error: --message is required"); process.exit(1); }
|
|
69
|
+
|
|
70
|
+
// Validate rule name
|
|
71
|
+
const RULE_NAME_PATTERN = /^[A-Za-z@][A-Za-z_0-9@\-/]*$/;
|
|
72
|
+
if (!RULE_NAME_PATTERN.test(options.name)) {
|
|
73
|
+
console.error(`Error: Invalid rule name "${options.name}". Must match: ${RULE_NAME_PATTERN}`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Validate priority
|
|
78
|
+
if (options.priority < 1 || options.priority > 5) {
|
|
79
|
+
console.error("Error: Priority must be 1-5");
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Validate language
|
|
84
|
+
const VALID_LANGUAGES = ["apex", "visualforce", "html", "xml", "javascript"];
|
|
85
|
+
if (!VALID_LANGUAGES.includes(options.language.toLowerCase())) {
|
|
86
|
+
console.error(`Error: Invalid language "${options.language}". Supported: ${VALID_LANGUAGES.join(", ")}`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Set defaults
|
|
91
|
+
if (!options.description) {
|
|
92
|
+
options.description = options.message;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Generate the PMD ruleset XML
|
|
96
|
+
function buildRulesetXml() {
|
|
97
|
+
const escXpath = options.xpath.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
98
|
+
const escMessage = options.message.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
99
|
+
const escDescription = options.description.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
100
|
+
|
|
101
|
+
let xml = `<?xml version="1.0" encoding="UTF-8"?>
|
|
102
|
+
<ruleset name="${options.name}CustomRules"
|
|
103
|
+
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
|
104
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
105
|
+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
|
|
106
|
+
|
|
107
|
+
<description>Custom rules for ${options.name}</description>
|
|
108
|
+
|
|
109
|
+
<rule name="${options.name}"
|
|
110
|
+
language="${options.language}"
|
|
111
|
+
message="${escMessage}"
|
|
112
|
+
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
|
|
113
|
+
|
|
114
|
+
<description>${escDescription}</description>
|
|
115
|
+
<priority>${options.priority}</priority>
|
|
116
|
+
|
|
117
|
+
<properties>
|
|
118
|
+
<property name="xpath">
|
|
119
|
+
<value><![CDATA[
|
|
120
|
+
${options.xpath}
|
|
121
|
+
]]></value>
|
|
122
|
+
</property>
|
|
123
|
+
</properties>`;
|
|
124
|
+
|
|
125
|
+
if (options.example) {
|
|
126
|
+
xml += `
|
|
127
|
+
|
|
128
|
+
<example>
|
|
129
|
+
<![CDATA[
|
|
130
|
+
${options.example}
|
|
131
|
+
]]>
|
|
132
|
+
</example>`;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
xml += `
|
|
136
|
+
</rule>
|
|
137
|
+
</ruleset>
|
|
138
|
+
`;
|
|
139
|
+
|
|
140
|
+
return xml;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Create ruleset directory if needed
|
|
144
|
+
const rulesetDir = path.resolve(options.rulesetDir);
|
|
145
|
+
if (!fs.existsSync(rulesetDir)) {
|
|
146
|
+
fs.mkdirSync(rulesetDir, { recursive: true });
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Write ruleset XML
|
|
150
|
+
const rulesetFileName = `${options.name}-pmd-ruleset.xml`;
|
|
151
|
+
const rulesetPath = path.join(rulesetDir, rulesetFileName);
|
|
152
|
+
|
|
153
|
+
if (fs.existsSync(rulesetPath)) {
|
|
154
|
+
console.error(`Error: Ruleset file already exists: ${rulesetPath}`);
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const rulesetXml = buildRulesetXml();
|
|
159
|
+
fs.writeFileSync(rulesetPath, rulesetXml, "utf8");
|
|
160
|
+
|
|
161
|
+
// Update code-analyzer.yml to reference the ruleset
|
|
162
|
+
const configPath = path.resolve(options.configFile);
|
|
163
|
+
const rulesetRelativePath = path.relative(path.dirname(configPath), rulesetPath);
|
|
164
|
+
let configContent = "";
|
|
165
|
+
|
|
166
|
+
if (fs.existsSync(configPath)) {
|
|
167
|
+
configContent = fs.readFileSync(configPath, "utf8");
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Check if this ruleset path is already referenced in config (deduplication)
|
|
171
|
+
const alreadyReferenced = configContent.includes(rulesetRelativePath);
|
|
172
|
+
|
|
173
|
+
if (!configContent) {
|
|
174
|
+
// Create new config
|
|
175
|
+
configContent = `engines:\n pmd:\n custom_rulesets:\n - "${rulesetRelativePath}"\n`;
|
|
176
|
+
} else if (alreadyReferenced) {
|
|
177
|
+
// Ruleset path already in config — skip adding duplicate entry
|
|
178
|
+
// (This happens when the XML was deleted and recreated during iteration)
|
|
179
|
+
} else if (configContent.includes("custom_rulesets:") && configContent.includes("pmd:")) {
|
|
180
|
+
// Add to existing custom_rulesets
|
|
181
|
+
const insertPoint = configContent.indexOf("custom_rulesets:");
|
|
182
|
+
const afterLine = configContent.indexOf("\n", insertPoint) + 1;
|
|
183
|
+
configContent = configContent.slice(0, afterLine) + ` - "${rulesetRelativePath}"\n` + configContent.slice(afterLine);
|
|
184
|
+
} else if (configContent.includes("pmd:")) {
|
|
185
|
+
// Add custom_rulesets under pmd
|
|
186
|
+
const insertPoint = configContent.indexOf("pmd:");
|
|
187
|
+
const afterLine = configContent.indexOf("\n", insertPoint) + 1;
|
|
188
|
+
configContent = configContent.slice(0, afterLine) + ` custom_rulesets:\n - "${rulesetRelativePath}"\n` + configContent.slice(afterLine);
|
|
189
|
+
} else if (configContent.includes("engines:")) {
|
|
190
|
+
// Add pmd section under engines
|
|
191
|
+
const insertPoint = configContent.indexOf("engines:");
|
|
192
|
+
const afterLine = configContent.indexOf("\n", insertPoint) + 1;
|
|
193
|
+
configContent = configContent.slice(0, afterLine) + ` pmd:\n custom_rulesets:\n - "${rulesetRelativePath}"\n` + configContent.slice(afterLine);
|
|
194
|
+
} else {
|
|
195
|
+
// Append engines section
|
|
196
|
+
configContent += `\nengines:\n pmd:\n custom_rulesets:\n - "${rulesetRelativePath}"\n`;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
fs.writeFileSync(configPath, configContent, "utf8");
|
|
200
|
+
|
|
201
|
+
console.log(JSON.stringify({
|
|
202
|
+
status: "success",
|
|
203
|
+
ruleName: options.name,
|
|
204
|
+
engine: "pmd",
|
|
205
|
+
language: options.language,
|
|
206
|
+
rulesetFile: rulesetPath,
|
|
207
|
+
configFile: configPath,
|
|
208
|
+
message: `Rule "${options.name}" created. Validate with: sf code-analyzer rules --rule-selector pmd:${options.name}`
|
|
209
|
+
}));
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Creates a regex custom rule in code-analyzer.yml
|
|
3
|
+
// Usage: node create-regex-rule.js --name <name> --regex <pattern> --description <desc> [options]
|
|
4
|
+
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
|
|
8
|
+
function printUsage() {
|
|
9
|
+
console.error(`Usage: node create-regex-rule.js --name <name> --regex <pattern> --description <desc> [options]
|
|
10
|
+
|
|
11
|
+
Required:
|
|
12
|
+
--name <name> Rule name (PascalCase, no spaces)
|
|
13
|
+
--regex <pattern> Regex in /pattern/flags format
|
|
14
|
+
--description <desc> What the rule checks
|
|
15
|
+
|
|
16
|
+
Optional:
|
|
17
|
+
--violation-message <msg> Message shown on violation
|
|
18
|
+
--severity <1-5> Severity level (default: 3)
|
|
19
|
+
--tags <tag1,tag2> Comma-separated tags (default: Recommended,Custom)
|
|
20
|
+
--file-extensions <exts> Comma-separated extensions (e.g., .cls,.trigger)
|
|
21
|
+
--regex-ignore <pattern> Negative pattern to exclude matches
|
|
22
|
+
--config-file <path> Path to code-analyzer.yml (default: ./code-analyzer.yml)
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
node create-regex-rule.js --name NoHardcodedIds --regex "/[0-9a-zA-Z]{18}/g" --description "Detects hardcoded IDs" --severity 2 --file-extensions ".cls,.trigger"
|
|
26
|
+
node create-regex-rule.js --name NoTodos --regex "/TODO|FIXME/gi" --description "Flags TODO comments" --severity 4`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Parse arguments
|
|
31
|
+
const args = process.argv.slice(2);
|
|
32
|
+
if (args.length < 1 || args[0] === "--help" || args[0] === "-h") {
|
|
33
|
+
printUsage();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const options = {
|
|
37
|
+
name: null,
|
|
38
|
+
regex: null,
|
|
39
|
+
description: null,
|
|
40
|
+
violationMessage: null,
|
|
41
|
+
severity: 3,
|
|
42
|
+
tags: ["Recommended", "Custom"],
|
|
43
|
+
fileExtensions: null,
|
|
44
|
+
regexIgnore: null,
|
|
45
|
+
configFile: "./code-analyzer.yml",
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
for (let i = 0; i < args.length; i++) {
|
|
49
|
+
switch (args[i]) {
|
|
50
|
+
case "--name": options.name = args[++i]; break;
|
|
51
|
+
case "--regex": options.regex = args[++i]; break;
|
|
52
|
+
case "--description": options.description = args[++i]; break;
|
|
53
|
+
case "--violation-message": options.violationMessage = args[++i]; break;
|
|
54
|
+
case "--severity": options.severity = parseInt(args[++i], 10); break;
|
|
55
|
+
case "--tags": options.tags = args[++i].split(",").map(t => t.trim()); break;
|
|
56
|
+
case "--file-extensions": options.fileExtensions = args[++i].split(",").map(e => e.trim()); break;
|
|
57
|
+
case "--regex-ignore": options.regexIgnore = args[++i]; break;
|
|
58
|
+
case "--config-file": options.configFile = args[++i]; break;
|
|
59
|
+
default:
|
|
60
|
+
console.error(`Unknown option: ${args[i]}`);
|
|
61
|
+
printUsage();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Validate required fields
|
|
66
|
+
if (!options.name) { console.error("Error: --name is required"); process.exit(1); }
|
|
67
|
+
if (!options.regex) { console.error("Error: --regex is required"); process.exit(1); }
|
|
68
|
+
if (!options.description) { console.error("Error: --description is required"); process.exit(1); }
|
|
69
|
+
|
|
70
|
+
// Validate rule name
|
|
71
|
+
const RULE_NAME_PATTERN = /^[A-Za-z@][A-Za-z_0-9@\-/]*$/;
|
|
72
|
+
if (!RULE_NAME_PATTERN.test(options.name)) {
|
|
73
|
+
console.error(`Error: Invalid rule name "${options.name}". Must match: ${RULE_NAME_PATTERN}`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Validate regex format — must be /pattern/flags with no surrounding whitespace
|
|
78
|
+
// and the flags portion must contain only valid JavaScript regex flag characters.
|
|
79
|
+
options.regex = options.regex.trim();
|
|
80
|
+
if (!options.regex.startsWith("/") || options.regex.lastIndexOf("/") <= 0) {
|
|
81
|
+
console.error(`Error: Regex must be in /pattern/flags format. Got: "${options.regex}"`);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const lastSlash = options.regex.lastIndexOf("/");
|
|
85
|
+
const flags = options.regex.slice(lastSlash + 1);
|
|
86
|
+
if (!flags) {
|
|
87
|
+
console.error(`Error: Regex must include flags after the closing /. Use /pattern/g at minimum. Got: "${options.regex}"`);
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
// Strict flags validation — only valid JS regex flag chars allowed, no spaces, no junk.
|
|
91
|
+
if (!/^[gimsuy]+$/.test(flags)) {
|
|
92
|
+
console.error(`Error: Invalid regex flags "${flags}". Allowed: g, i, m, s, u, y (no spaces, no other characters). Got: "${options.regex}"`);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
// Code Analyzer regex rules require the global flag.
|
|
96
|
+
if (!flags.includes("g")) {
|
|
97
|
+
console.error(`Error: Regex must include the global flag 'g'. Got flags: "${flags}"`);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Validate severity
|
|
102
|
+
if (options.severity < 1 || options.severity > 5) {
|
|
103
|
+
console.error("Error: Severity must be 1-5");
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Validate file extensions
|
|
108
|
+
if (options.fileExtensions) {
|
|
109
|
+
for (const ext of options.fileExtensions) {
|
|
110
|
+
if (!ext.startsWith(".")) {
|
|
111
|
+
console.error(`Error: File extension must start with dot: "${ext}"`);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Safely quote a string for YAML output.
|
|
118
|
+
// CRITICAL: regex patterns contain backslashes (`\.`, `\d`, `\\`, etc.).
|
|
119
|
+
// Double-quoted YAML treats `\` as an escape introducer — `\.` is an unknown
|
|
120
|
+
// escape and YAML rejects the file with "unknown escape sequence". Single-quoted
|
|
121
|
+
// YAML treats backslash as literal, which is exactly what regex needs.
|
|
122
|
+
// Strategy:
|
|
123
|
+
// - If value contains a backslash → ALWAYS use single quotes (escape ' as '')
|
|
124
|
+
// - Else if value has no quotes → double quotes (simplest, most readable)
|
|
125
|
+
// - Else → single quotes (escape ' as '')
|
|
126
|
+
function yamlQuote(value) {
|
|
127
|
+
const hasBackslash = value.includes("\\");
|
|
128
|
+
const hasSingle = value.includes("'");
|
|
129
|
+
const hasDouble = value.includes('"');
|
|
130
|
+
|
|
131
|
+
if (!hasBackslash && !hasSingle && !hasDouble) {
|
|
132
|
+
return `"${value}"`;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Single-quoted YAML: only ' needs escaping (as ''). Backslashes pass through.
|
|
136
|
+
const escaped = value.replace(/'/g, "''");
|
|
137
|
+
return `'${escaped}'`;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Build the rule YAML block
|
|
141
|
+
function buildRuleYaml() {
|
|
142
|
+
const indent = " ";
|
|
143
|
+
const lines = [];
|
|
144
|
+
lines.push(` ${options.name}:`);
|
|
145
|
+
lines.push(`${indent} regex: ${yamlQuote(options.regex)}`);
|
|
146
|
+
lines.push(`${indent} description: ${yamlQuote(options.description)}`);
|
|
147
|
+
|
|
148
|
+
if (options.violationMessage) {
|
|
149
|
+
lines.push(`${indent} violation_message: ${yamlQuote(options.violationMessage)}`);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
lines.push(`${indent} severity: ${options.severity}`);
|
|
153
|
+
|
|
154
|
+
if (options.tags && options.tags.length > 0) {
|
|
155
|
+
lines.push(`${indent} tags:`);
|
|
156
|
+
options.tags.forEach(tag => lines.push(`${indent} - "${tag}"`));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (options.fileExtensions && options.fileExtensions.length > 0) {
|
|
160
|
+
lines.push(`${indent} file_extensions:`);
|
|
161
|
+
options.fileExtensions.forEach(ext => lines.push(`${indent} - "${ext}"`));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (options.regexIgnore) {
|
|
165
|
+
lines.push(`${indent} regex_ignore: ${yamlQuote(options.regexIgnore)}`);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return lines.join("\n");
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Read or create config file
|
|
172
|
+
const configPath = path.resolve(options.configFile);
|
|
173
|
+
let configContent = "";
|
|
174
|
+
|
|
175
|
+
if (fs.existsSync(configPath)) {
|
|
176
|
+
configContent = fs.readFileSync(configPath, "utf8");
|
|
177
|
+
|
|
178
|
+
// Check if rule already exists
|
|
179
|
+
if (configContent.includes(`${options.name}:`)) {
|
|
180
|
+
console.error(`Error: Rule "${options.name}" already exists in ${configPath}`);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const ruleYaml = buildRuleYaml();
|
|
186
|
+
|
|
187
|
+
// Upsert into config
|
|
188
|
+
if (!configContent) {
|
|
189
|
+
// Create new file
|
|
190
|
+
configContent = `engines:\n regex:\n custom_rules:\n${ruleYaml}\n`;
|
|
191
|
+
} else if (configContent.includes("custom_rules:") && configContent.includes("regex:")) {
|
|
192
|
+
// Add to existing custom_rules section
|
|
193
|
+
const insertPoint = configContent.indexOf("custom_rules:");
|
|
194
|
+
const afterCustomRules = configContent.indexOf("\n", insertPoint) + 1;
|
|
195
|
+
configContent = configContent.slice(0, afterCustomRules) + ruleYaml + "\n" + configContent.slice(afterCustomRules);
|
|
196
|
+
} else if (configContent.includes("regex:")) {
|
|
197
|
+
// Add custom_rules section under regex
|
|
198
|
+
const insertPoint = configContent.indexOf("regex:");
|
|
199
|
+
const afterRegex = configContent.indexOf("\n", insertPoint) + 1;
|
|
200
|
+
configContent = configContent.slice(0, afterRegex) + " custom_rules:\n" + ruleYaml + "\n" + configContent.slice(afterRegex);
|
|
201
|
+
} else if (configContent.includes("engines:")) {
|
|
202
|
+
// Add regex section under engines
|
|
203
|
+
const insertPoint = configContent.indexOf("engines:");
|
|
204
|
+
const afterEngines = configContent.indexOf("\n", insertPoint) + 1;
|
|
205
|
+
configContent = configContent.slice(0, afterEngines) + " regex:\n custom_rules:\n" + ruleYaml + "\n" + configContent.slice(afterEngines);
|
|
206
|
+
} else {
|
|
207
|
+
// Append engines section
|
|
208
|
+
configContent += "\nengines:\n regex:\n custom_rules:\n" + ruleYaml + "\n";
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Write config
|
|
212
|
+
fs.writeFileSync(configPath, configContent, "utf8");
|
|
213
|
+
|
|
214
|
+
console.log(JSON.stringify({
|
|
215
|
+
status: "success",
|
|
216
|
+
ruleName: options.name,
|
|
217
|
+
engine: "regex",
|
|
218
|
+
configFile: configPath,
|
|
219
|
+
message: `Rule "${options.name}" created. Validate with: sf code-analyzer rules --rule-selector regex:${options.name}`
|
|
220
|
+
}));
|