@shundoo-ai/dsh-cosmic 1.0.16 → 1.0.18
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/package.json +1 -1
- package/skills/analysis-monthend-compare/SKILL.md +3 -1
- package/skills/analysis-weighingbill-distribution/SKILL.md +7 -2
- package/skills/cosmic-build/AGENTS.md +2 -1
- package/skills/cosmic-build/CHANGELOG.md +3 -0
- package/skills/cosmic-build/CLAUDE.md +2 -1
- package/skills/cosmic-build/LOCAL-PATCHES.md +246 -0
- package/skills/cosmic-build/README.md +54 -66
- package/skills/cosmic-build/SKILL.md +57 -175
- package/skills/cosmic-build/agents/openai.yaml +4 -0
- package/skills/cosmic-build/basedata-cleanup-policy.json +32 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/allimport.md +1474 -39
- package/skills/cosmic-build/knowledge/cosmic/platform/api/api-index.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/api/bill/IBillView.md +46 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/entity/datamodel/IDataModel.md +451 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/entity/datamodel/IEntryOperate.md +489 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/entity/datamodel/events/BeforeDownloadImportTemplateEvent.md +49 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/form/IClientViewProxy.md +16 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/form/IFormView.md +1486 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/form/IPageCache.md +229 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/form/plugin/AbstractFormPlugin.md +786 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/list/IListView.md +300 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/scene/common.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/api/servicehelper/BusinessDataServiceHelper.md +21 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/api/workflow/api/AgentExecution.md +91 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/compare-plugin.md +3 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/core/dynamic-object-collection.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/core/dynamic-object-type.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/dynamic-form-modeling-guide.md +4 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/form-plugin.md +19 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/import-plugin.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/java-type-contracts.md +156 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/list-plugin.md +2 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/openapi-customapi-java-plugin.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/operation-plugin.md +8 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/reportlistdata-plugin.md +39 -8
- package/skills/cosmic-build/knowledge/cosmic/platform/reporttreedata-plugin.md +6 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/_index.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/entry-grid/entry-grid-bind-data.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/popup.md +6 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/tab/tab-selected.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/data-package/package-data-format.md +3 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/qfilter/custom-comparator.md +3 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/qfilter/qfilter-equals.md +8 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/qfilter/qfilter-in.md +2 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/after-bind-data-set-enable.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/after-bind-data-set-value.md +29 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/before-f7-select-qfilter.md +8 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/property-changed-qfilter.md +6 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/set-filter-custom.md +11 -9
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/cache/page-cache.md +2 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/open/common/openapi-standard-operation-plugin.md +5 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/print/11-custom-datasource.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-tree-data-query.md +3 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/system-service/password-conflict-validate.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-closed-callback-refresh.md +2 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-initialize.md +5 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/workflow/message-carousel.md +3 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-algo.md +37 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-network-control.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/standards.md +72 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/standardtreelist-plugin.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/workflow-plugin.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/requirements/base/KDDM/kddm-field-types-req.md +2 -3
- package/skills/cosmic-build/knowledge/cosmic/requirements/base/KDDM/kddm-field-types.md +13 -12
- package/skills/cosmic-build/prompt-budgets.json +27 -0
- package/skills/cosmic-build/pytest.ini +10 -0
- package/skills/cosmic-build/references/api-design.md +1 -1
- package/skills/cosmic-build/references/application-context.md +36 -0
- package/skills/cosmic-build/references/compile-guide.md +35 -1
- package/skills/cosmic-build/references/delivery.md +38 -0
- package/skills/cosmic-build/references/enums.md +4 -4
- package/skills/cosmic-build/references/execution-contract.md +36 -0
- package/skills/cosmic-build/references/form-discovery.md +41 -0
- package/skills/cosmic-build/references/glossary-i18n.md +0 -46
- package/skills/cosmic-build/references/java-plugin-delivery.md +60 -6
- package/skills/cosmic-build/references/modify-meta-add-entity-fields.md +61 -0
- package/skills/cosmic-build/references/plugin-design.md +2 -2
- package/skills/cosmic-build/references/property-contracts/complex-adapter-contracts.normalized.json +471 -0
- package/skills/cosmic-build/references/property-contracts/intent-map.json +222 -0
- package/skills/cosmic-build/references/property-contracts/property-contracts.normalized.json +13365 -0
- package/skills/cosmic-build/references/template/artifact-example.json +2 -26
- package/skills/cosmic-build/references/type-registry.json +120 -45
- package/skills/cosmic-build/requirements-test.txt +1 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/00-first-batch.md +33 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/01-document-and-details.md +22 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/01-second-batch.md +33 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/02-properties-defaults-and-references.md +22 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/02-third-batch.md +33 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/03-fourth-batch.md +33 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/03-rules-and-save-behavior.md +20 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/04-layout-and-controls.md +22 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/05-list-and-continuity.md +20 -0
- package/skills/cosmic-build/scenarios/demo3-manual-acceptance/README.md +19 -0
- package/skills/cosmic-build/scenarios/demo3-regression/README.md +27 -0
- package/skills/cosmic-build/scenarios/demo3-regression/batch-01-model-and-properties.md +35 -0
- package/skills/cosmic-build/scenarios/demo3-regression/batch-02-defaults-and-references.md +32 -0
- package/skills/cosmic-build/scenarios/demo3-regression/batch-03-rules-and-operations.md +39 -0
- package/skills/cosmic-build/scenarios/demo3-regression/batch-04-ui-layout.md +32 -0
- package/skills/cosmic-build/scenarios/demo3-regression/batch-05-list-idempotency-boundaries.md +35 -0
- package/skills/cosmic-build/scenarios/fixtures/modeling-order-bill.artifact.json +31 -0
- package/skills/cosmic-build/scenarios/fixtures/modeling-product-basedata.artifact.json +48 -0
- package/skills/cosmic-build/scenarios/fixtures/property-coverage-bill.artifact.json +57 -0
- package/skills/cosmic-build/scenarios/fixtures/property-coverage-element-keys.json +36 -0
- package/skills/cosmic-build/scenarios/fixtures/property-setters-b1.artifact.json +38 -0
- package/skills/cosmic-build/scenarios/fixtures/property-setters-b2.artifact.json +31 -0
- package/skills/cosmic-build/scenarios/fixtures/property.Items.combo-form-s2.artifact.json +32 -0
- package/skills/cosmic-build/scenarios/fixtures/property.Items.combo-form.artifact.json +32 -0
- package/skills/cosmic-build/scenarios/fixtures/property.SummaryToField.entry-form.artifact.json +31 -0
- package/skills/cosmic-build/scenarios/fixtures/runtime-order-bill.artifact.json +31 -0
- package/skills/cosmic-build/scenarios/fixtures/runtime-product-basedata.artifact.json +48 -0
- package/skills/cosmic-build/scenarios/fixtures/runtime-summary-entry-bill.artifact.json +48 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignContent.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignContent.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignItems.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignItems.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignSelf.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/AlignSelf.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Collapsible.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Collapsible.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ComboValueCheck.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ComboValueCheck.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/CommitValidate.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/CommitValidate.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/DefaultCollapse.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/DefaultCollapse.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Direction.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Direction.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/DisplayStyle.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/DisplayStyle.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EditStyle.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EditStyle.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EnableExtendProperty.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EnableExtendProperty.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EnableInheritProperty.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EnableInheritProperty.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EntryMustInput.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/EntryMustInput.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/F7MultipleSelect.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/F7MultipleSelect.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/F7Style.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/F7Style.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/FireUpdEvt.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/FireUpdEvt.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/FullLine.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/FullLine.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/GL.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/GL.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Hidden.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Hidden.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Hyperlink.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Hyperlink.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Inherit.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Inherit.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Invisible.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Invisible.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/JustifyContent.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/JustifyContent.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LabelDirection.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LabelDirection.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LableHyperlink.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LableHyperlink.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Lock.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Lock.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LockStyle.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/LockStyle.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/MaxPageRow.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/MaxPageRow.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Maximize.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Maximize.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Multi.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Multi.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/MustInput.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/MustInput.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/NoDisplayScaleZero.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/NoDisplayScaleZero.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/OpenFuzzyQuery.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/OpenFuzzyQuery.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Overflow.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Overflow.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/PageRow.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/PageRow.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/QuickAdd.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/QuickAdd.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/QuickAddNew.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/QuickAddNew.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/RegionType.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/RegionType.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Shadow.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Shadow.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowGridConfig.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowGridConfig.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowSelChexkbox.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowSelChexkbox.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowSeq.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowSeq.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowStyle.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowStyle.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowTooltip.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowTooltip.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowUsed.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ShowUsed.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SortField.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SortField.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SortType.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SortType.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SplitPage.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SplitPage.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Summary.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Summary.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SupportQingAnalysis.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/SupportQingAnalysis.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/TextAlign.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/TextAlign.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/TimeZoneTransType.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/TimeZoneTransType.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ViewDetail.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/ViewDetail.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Visible.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Visible.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Wrap.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/Wrap.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/canUpload.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/generated/payloads/canUpload.target.json +1 -0
- package/skills/cosmic-build/scenarios/generated/property.AlignContent.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.AlignItems.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.AlignSelf.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Collapsible.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ComboValueCheck.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.CommitValidate.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.DefaultCollapse.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Direction.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.DisplayStyle.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.EditStyle.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.EnableExtendProperty.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.EnableInheritProperty.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.EntryMustInput.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.F7MultipleSelect.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.F7Style.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.FireUpdEvt.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.FullLine.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.GL.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Hidden.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Hyperlink.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Inherit.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Invisible.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.JustifyContent.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.LabelDirection.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.LableHyperlink.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Lock.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.LockStyle.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.MaxPageRow.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Maximize.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Multi.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.MustInput.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.NoDisplayScaleZero.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.OpenFuzzyQuery.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Overflow.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.PageRow.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.QuickAdd.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.QuickAddNew.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.RegionType.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Shadow.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowGridConfig.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowSelChexkbox.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowSeq.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowStyle.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowTooltip.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ShowUsed.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.SortField.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.SortType.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.SplitPage.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Summary.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.SupportQingAnalysis.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.TextAlign.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.TimeZoneTransType.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.ViewDetail.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Visible.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.Wrap.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/generated/property.canUpload.generated-scalar-write.001.json +84 -0
- package/skills/cosmic-build/scenarios/modeling.RefDisplayProp.carry-at-runtime.001.json +286 -0
- package/skills/cosmic-build/scenarios/modeling.RefProps.basedata-reference-carry.001.json +137 -0
- package/skills/cosmic-build/scenarios/payloads/DefValueDesign.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/DefValueDesign.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/EditSearchProp.default.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/EditSearchProp.nondefault.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/EditSearchProp.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/EditSearchProp.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/OrgFuncs.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/OrgFuncs.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/empty-string.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Inherit.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Inherit.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/LableHyperlink.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/LableHyperlink.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Lock.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Lock.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/QuickAddNew.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/QuickAddNew.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Visible.perturb.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/generated/Visible.target.json +1 -0
- package/skills/cosmic-build/scenarios/payloads/summary-to-header-field-key.json +1 -0
- package/skills/cosmic-build/scenarios/property.DefValueDesign.authored-shape-write.001.json +77 -0
- package/skills/cosmic-build/scenarios/property.EditSearchProp.changes-edit-value-at-runtime.001.json +235 -0
- package/skills/cosmic-build/scenarios/property.EditSearchProp.refused-on-new-field.001.json +85 -0
- package/skills/cosmic-build/scenarios/property.EditSearchProp.works-on-single-basedata.001.json +93 -0
- package/skills/cosmic-build/scenarios/property.Items.authored-shape-add-option.001.json +97 -0
- package/skills/cosmic-build/scenarios/property.Items.resolved-shape-corrupts.001.json +95 -0
- package/skills/cosmic-build/scenarios/property.OrgFuncs.authored-shape-write.001.json +76 -0
- package/skills/cosmic-build/scenarios/property.SummaryToField.dedicated-command-cannot-aggregate.001.json +154 -0
- package/skills/cosmic-build/scenarios/property.SummaryToField.no-baseline-refuses.001.json +61 -0
- package/skills/cosmic-build/scenarios/requirements/01-procurement-modeling.md +24 -0
- package/skills/cosmic-build/scenarios/requirements/02-existing-property-batch.md +27 -0
- package/skills/cosmic-build/scenarios/requirements/03-ui-composition-controls.md +24 -0
- package/skills/cosmic-build/scenarios/requirements/04-rules-operations-validation.md +25 -0
- package/skills/cosmic-build/scenarios/requirements/05-lifecycle-list-inherit.md +20 -0
- package/skills/cosmic-build/scenarios/requirements/06-failure-boundaries.md +28 -0
- package/skills/cosmic-build/scenarios/requirements/README.md +23 -0
- package/skills/cosmic-build/schemas/data-model-authoring.schema.json +84 -10
- package/skills/cosmic-build/schemas/data-model-error-policy.json +1 -0
- package/skills/cosmic-build/schemas/data-model-section.schema.json +2 -1
- package/skills/cosmic-build/schemas/property-contract-fixture.schema.json +90 -0
- package/skills/cosmic-build/scripts/action_catalog.py +504 -161
- package/skills/cosmic-build/scripts/audit_capability_probes.py +215 -0
- package/skills/cosmic-build/scripts/audit_cli_closure.py +438 -0
- package/skills/cosmic-build/scripts/audit_lingee_fluency.py +352 -0
- package/skills/cosmic-build/scripts/audit_v1_capability_scope.py +112 -0
- package/skills/cosmic-build/scripts/bizword_validator.py +5 -5
- package/skills/cosmic-build/scripts/bootstrap_cosmic_context.py +29 -188
- package/skills/cosmic-build/scripts/build_property_input_index.py +362 -0
- package/skills/cosmic-build/scripts/check_platform_drift.py +284 -0
- package/skills/cosmic-build/scripts/check_prompt_budgets.py +52 -0
- package/skills/cosmic-build/scripts/ci_quality_gate.py +340 -0
- package/skills/cosmic-build/scripts/compile_plugin_source.py +250 -19
- package/skills/cosmic-build/scripts/corpus_conformance.py +455 -0
- package/skills/cosmic-build/scripts/cosmic_api.py +28 -0
- package/skills/cosmic-build/scripts/cosmic_runtime_probe.py +97 -0
- package/skills/cosmic-build/scripts/discovery_snapshot.py +18 -26
- package/skills/cosmic-build/scripts/dym_sync_background.py +98 -0
- package/skills/cosmic-build/scripts/gen_api_index.py +193 -0
- package/skills/cosmic-build/scripts/getAllCloudApp.py +391 -305
- package/skills/cosmic-build/scripts/harvest_property_contracts.py +623 -0
- package/skills/cosmic-build/scripts/harvest_runtime_contracts.py +498 -0
- package/skills/cosmic-build/scripts/java_source.py +296 -0
- package/skills/cosmic-build/scripts/java_write_guard.js +10 -16
- package/skills/cosmic-build/scripts/json_schema_subset.py +314 -0
- package/skills/cosmic-build/scripts/kd_auth.py +12 -2
- package/skills/cosmic-build/scripts/kd_token_cache.py +8 -1
- package/skills/cosmic-build/scripts/kingscript_gate.mjs +116 -0
- package/skills/cosmic-build/scripts/kingscript_source_gate.py +395 -0
- package/skills/cosmic-build/scripts/measure_skill_load.py +0 -3
- package/skills/cosmic-build/scripts/merge_designer_metamodel.py +260 -0
- package/skills/cosmic-build/scripts/merge_report_property_routes.py +226 -0
- package/skills/cosmic-build/scripts/metadata_snapshot_diff.py +145 -0
- package/skills/cosmic-build/scripts/normalize_property_fixture.py +135 -0
- package/skills/cosmic-build/scripts/platform_api_contract.py +1227 -0
- package/skills/cosmic-build/scripts/plugin_source_gate.py +88 -0
- package/skills/cosmic-build/scripts/prepare_full_metadata_payload.py +61 -0
- package/skills/cosmic-build/scripts/prepare_plugin_handoff.py +446 -27
- package/skills/cosmic-build/scripts/preview_url.py +34 -4
- package/skills/cosmic-build/scripts/probe_load_full_metadata.py +179 -0
- package/skills/cosmic-build/scripts/project_paths.py +146 -146
- package/skills/cosmic-build/scripts/refactor/split_commands.py +195 -0
- package/skills/cosmic-build/scripts/register_plugins.py +141 -3
- package/skills/cosmic-build/scripts/regress_property_input_live.py +307 -0
- package/skills/cosmic-build/scripts/render_output_cards.py +397 -25
- package/skills/cosmic-build/scripts/resolve_output_path.py +42 -9
- package/skills/cosmic-build/scripts/resolve_python_cmd.py +20 -16
- package/skills/cosmic-build/scripts/run.py +285 -256
- package/skills/cosmic-build/scripts/run_tests.py +39 -0
- package/skills/cosmic-build/scripts/sync_generated_locale_assets.py +287 -0
- package/skills/cosmic-build/scripts/test/command_sources.py +79 -0
- package/skills/cosmic-build/scripts/test/fixtures/cli-first-maintenance-freeze.json +51 -0
- package/skills/cosmic-build/scripts/test/fixtures/discovery/owned-text-field.property-surface.json +746 -0
- package/skills/cosmic-build/scripts/test/fixtures/reference-carry-golden.json +106 -0
- package/skills/cosmic-build/scripts/test/fixtures/runtime-behavior-families.json +160 -0
- package/skills/cosmic-build/scripts/test/fixtures/v1-capability-scope.json +96 -0
- package/skills/cosmic-build/scripts/test/test_add_field_biz_word_normalization.py +25 -0
- package/skills/cosmic-build/scripts/test/test_add_field_required_contract.py +75 -0
- package/skills/cosmic-build/scripts/test/test_add_operation_contract_harvest.py +200 -0
- package/skills/cosmic-build/scripts/test/test_add_operation_examples.py +47 -0
- package/skills/cosmic-build/scripts/test/test_add_rule_business_contract.py +316 -0
- package/skills/cosmic-build/scripts/test/test_app_runtime_git_boundary.py +76 -0
- package/skills/cosmic-build/scripts/test/test_appconfig_load.py +20 -14
- package/skills/cosmic-build/scripts/test/test_assistant_field_contract.py +171 -0
- package/skills/cosmic-build/scripts/test/test_asst_type_contract.py +81 -0
- package/skills/cosmic-build/scripts/test/test_audit_cli_closure.py +118 -0
- package/skills/cosmic-build/scripts/test/test_audit_lingee_fluency.py +180 -0
- package/skills/cosmic-build/scripts/test/test_basedata_prop_carry_gate.py +99 -0
- package/skills/cosmic-build/scripts/test/test_batch5_drift_governance.py +39 -5
- package/skills/cosmic-build/scripts/test/test_bootstrap_cosmic_context.py +448 -0
- package/skills/cosmic-build/scripts/test/test_build_data_model_payload.py +110 -311
- package/skills/cosmic-build/scripts/test/test_build_meta_order.py +327 -0
- package/skills/cosmic-build/scripts/test/test_business_requirement_contract.py +135 -0
- package/skills/cosmic-build/scripts/test/test_candidate_backed_property_routes.py +171 -0
- package/skills/cosmic-build/scripts/test/test_capability_probe_audit.py +120 -0
- package/skills/cosmic-build/scripts/test/test_cli_first_maintenance_freeze.py +78 -0
- package/skills/cosmic-build/scripts/test/test_cli_first_residue_guard.py +104 -0
- package/skills/cosmic-build/scripts/test/test_combo_option_route.py +195 -0
- package/skills/cosmic-build/scripts/test/test_compile_plugin_source.py +558 -1
- package/skills/cosmic-build/scripts/test/test_complex_adapter_contracts.py +286 -0
- package/skills/cosmic-build/scripts/test/test_complex_option_threading.py +89 -0
- package/skills/cosmic-build/scripts/test/test_complex_payload_guard.py +357 -0
- package/skills/cosmic-build/scripts/test/test_complex_property_readback.py +334 -0
- package/skills/cosmic-build/scripts/test/test_contract_environment_leakage.py +174 -0
- package/skills/cosmic-build/scripts/test/test_control_authoring.py +386 -0
- package/skills/cosmic-build/scripts/test/test_cosmic_runtime_probe.py +23 -0
- package/skills/cosmic-build/scripts/test/test_create_page_card_receipt.py +87 -0
- package/skills/cosmic-build/scripts/test/test_current_app_paths.py +75 -0
- package/skills/cosmic-build/scripts/test/test_data_model_authoring_resolution.py +158 -0
- package/skills/cosmic-build/scripts/test/test_data_model_contract.py +3919 -0
- package/skills/cosmic-build/scripts/test/test_delivery_stage_boundary.py +130 -0
- package/skills/cosmic-build/scripts/test/test_demo3_regression_prompts.py +21 -0
- package/skills/cosmic-build/scripts/test/test_designer_metamodel_merge.py +119 -0
- package/skills/cosmic-build/scripts/test/test_direct_cardinality_and_add_field_contract.py +156 -0
- package/skills/cosmic-build/scripts/test/test_direct_cli_architecture.py +86 -0
- package/skills/cosmic-build/scripts/test/test_discovery_snapshot.py +294 -0
- package/skills/cosmic-build/scripts/test/test_dispatcher_form_number_direct_emit.py +28 -145
- package/skills/cosmic-build/scripts/test/test_dym_sync_background.py +45 -0
- package/skills/cosmic-build/scripts/test/test_dynamic_form_artifact_retarget.py +174 -0
- package/skills/cosmic-build/scripts/test/test_dynamic_form_entry_layout_validation.py +164 -0
- package/skills/cosmic-build/scripts/test/test_dynamic_form_metadata_only_contract.py +473 -0
- package/skills/cosmic-build/scripts/test/test_entry_field_placement_closure.py +239 -0
- package/skills/cosmic-build/scripts/test/test_entry_key_field_reference.py +206 -0
- package/skills/cosmic-build/scripts/test/test_extension_original_property_guard.py +46 -0
- package/skills/cosmic-build/scripts/test/test_failure_evidence_generalization.py +110 -0
- package/skills/cosmic-build/scripts/test/test_features_property_contract.py +131 -0
- package/skills/cosmic-build/scripts/test/test_field_shortcut_contract_fixture.py +34 -0
- package/skills/cosmic-build/scripts/test/test_field_type_contract.py +110 -0
- package/skills/cosmic-build/scripts/test/test_form_action_named_action_contract.py +115 -0
- package/skills/cosmic-build/scripts/test/test_form_discovery_scope.py +132 -0
- package/skills/cosmic-build/scripts/test/test_form_unit_move_routing.py +243 -0
- package/skills/cosmic-build/scripts/test/test_freeze_list_side_contract.py +164 -0
- package/skills/cosmic-build/scripts/test/test_functional_group_route.py +92 -0
- package/skills/cosmic-build/scripts/test/test_gen_runner_archive_target.py +131 -0
- package/skills/cosmic-build/scripts/test/test_getAllCloudApp.py +110 -4
- package/skills/cosmic-build/scripts/test/test_get_domain_model.py +76 -0
- package/skills/cosmic-build/scripts/test/test_get_form_schema_cli_usage.py +167 -0
- package/skills/cosmic-build/scripts/test/test_get_panels_cli_usage.py +32 -0
- package/skills/cosmic-build/scripts/test/test_get_panels_live_container_type.py +53 -0
- package/skills/cosmic-build/scripts/test/test_get_properties_single_name_read.py +124 -0
- package/skills/cosmic-build/scripts/test/test_group_field_contract.py +102 -0
- package/skills/cosmic-build/scripts/test/test_guide_skeleton_contract.py +185 -0
- package/skills/cosmic-build/scripts/test/test_harvest_runtime_contracts.py +278 -0
- package/skills/cosmic-build/scripts/test/test_http_client.py +17 -2
- package/skills/cosmic-build/scripts/test/test_infra_command_contract.py +60 -0
- package/skills/cosmic-build/scripts/test/test_java_source.py +189 -0
- package/skills/cosmic-build/scripts/test/test_kd_auth.py +70 -25
- package/skills/cosmic-build/scripts/test/test_kd_token_cache.py +22 -10
- package/skills/cosmic-build/scripts/test/test_kingscript_source_gate.py +234 -0
- package/skills/cosmic-build/scripts/test/test_layout_ui_and_operation_contract.py +251 -0
- package/skills/cosmic-build/scripts/test/test_list_configuration_closure.py +645 -0
- package/skills/cosmic-build/scripts/test/test_load_full_metadata_and_auth_classification.py +171 -0
- package/skills/cosmic-build/scripts/test/test_lookup_basedata.py +74 -0
- package/skills/cosmic-build/scripts/test/test_menu_creation_closure.py +200 -0
- package/skills/cosmic-build/scripts/test/test_missing_app_repair.py +47 -0
- package/skills/cosmic-build/scripts/test/test_modeling_flow_mitigations.py +55 -0
- package/skills/cosmic-build/scripts/test/test_modeling_input_recovery.py +107 -0
- package/skills/cosmic-build/scripts/test/test_modify_request_routing.py +188 -0
- package/skills/cosmic-build/scripts/test/test_multibasedata_field_contract.py +117 -0
- package/skills/cosmic-build/scripts/test/test_must_input_condition_route.py +467 -0
- package/skills/cosmic-build/scripts/test/test_mutation_contract.py +98 -0
- package/skills/cosmic-build/scripts/test/test_no_undefined_names.py +215 -0
- package/skills/cosmic-build/scripts/test/test_open_world_cli_catalog.py +1718 -0
- package/skills/cosmic-build/scripts/test/test_operation_rule_ownership_gate.py +142 -0
- package/skills/cosmic-build/scripts/test/test_org_function_semantic_route.py +148 -0
- package/skills/cosmic-build/scripts/test/test_permission_control_contract.py +88 -0
- package/skills/cosmic-build/scripts/test/test_platform_api_contract.py +826 -0
- package/skills/cosmic-build/scripts/test/test_platform_drift_inputs.py +41 -0
- package/skills/cosmic-build/scripts/test/test_plugin_business_contract.py +104 -0
- package/skills/cosmic-build/scripts/test/test_plugin_handoff.py +600 -9
- package/skills/cosmic-build/scripts/test/test_plugin_source_gate.py +37 -0
- package/skills/cosmic-build/scripts/test/test_preview_url.py +96 -0
- package/skills/cosmic-build/scripts/test/test_property_batch.py +2388 -0
- package/skills/cosmic-build/scripts/test/test_property_contract_harvest.py +189 -0
- package/skills/cosmic-build/scripts/test/test_property_hot_path_loading.py +84 -0
- package/skills/cosmic-build/scripts/test/test_property_input_discovery.py +314 -0
- package/skills/cosmic-build/scripts/test/test_property_reroute.py +126 -0
- package/skills/cosmic-build/scripts/test/test_property_schema_first.py +999 -0
- package/skills/cosmic-build/scripts/test/test_property_setter_routing.py +276 -0
- package/skills/cosmic-build/scripts/test/test_python_runtime_contract.py +28 -0
- package/skills/cosmic-build/scripts/test/test_query_forms_cli_usage.py +105 -0
- package/skills/cosmic-build/scripts/test/test_quickfield_business_selector.py +55 -0
- package/skills/cosmic-build/scripts/test/test_quickfield_dry_run_contract.py +19 -0
- package/skills/cosmic-build/scripts/test/test_quickfield_option_ownership_gate.py +119 -0
- package/skills/cosmic-build/scripts/test/test_register_plugins.py +212 -7
- package/skills/cosmic-build/scripts/test/test_reliable_modification.py +266 -0
- package/skills/cosmic-build/scripts/test/test_render_output_cards.py +486 -0
- package/skills/cosmic-build/scripts/test/test_report_business_contract.py +222 -10
- package/skills/cosmic-build/scripts/test/test_report_doc_contract_sync.py +222 -15
- package/skills/cosmic-build/scripts/test/test_report_plugin_source_gate.py +214 -0
- package/skills/cosmic-build/scripts/test/test_report_properties.py +618 -0
- package/skills/cosmic-build/scripts/test/test_report_property_routes.py +134 -0
- package/skills/cosmic-build/scripts/test/test_report_query_data_source.py +313 -0
- package/skills/cosmic-build/scripts/test/test_resolve_app_by_form_contract.py +168 -0
- package/skills/cosmic-build/scripts/test/test_resolve_app_from_mapping.py +30 -0
- package/skills/cosmic-build/scripts/test/test_resolve_python_cmd.py +25 -3
- package/skills/cosmic-build/scripts/test/test_root_skill_router.py +87 -0
- package/skills/cosmic-build/scripts/test/test_rule_batch_evidence.py +149 -0
- package/skills/cosmic-build/scripts/test/test_rule_domain_contract.py +161 -0
- package/skills/cosmic-build/scripts/test/test_rule_function_formula.py +633 -0
- package/skills/cosmic-build/scripts/test/test_rule_project_read.py +243 -0
- package/skills/cosmic-build/scripts/test/test_rule_write_contract.py +59 -0
- package/skills/cosmic-build/scripts/test/test_run.py +20 -15
- package/skills/cosmic-build/scripts/test/test_run_dispatch_contract.py +51 -0
- package/skills/cosmic-build/scripts/test/test_runtime_binding_dym_parity.py +51 -0
- package/skills/cosmic-build/scripts/test/test_runtime_tool_opt_in.py +1 -3
- package/skills/cosmic-build/scripts/test/test_s2_skill_route_publication.py +64 -0
- package/skills/cosmic-build/scripts/test/test_s3_product_contract_publication.py +54 -0
- package/skills/cosmic-build/scripts/test/test_save_full_metadata_guard.py +153 -0
- package/skills/cosmic-build/scripts/test/test_set_properties_business_selector.py +123 -0
- package/skills/cosmic-build/scripts/test/test_skill_entry_contract.py +135 -0
- package/skills/cosmic-build/scripts/test/test_skill_entry_progressive_disclosure.py +193 -0
- package/skills/cosmic-build/scripts/test/test_tab_page_operations.py +131 -0
- package/skills/cosmic-build/scripts/test/test_v1_capability_scope.py +61 -0
- package/skills/cosmic-build/scripts/test/test_validation_guide_contract.py +18 -0
- package/skills/cosmic-build/scripts/test/test_verify_complex_property_surface.py +445 -0
- package/skills/cosmic-build/scripts/test/test_verify_field_property_matrix.py +132 -0
- package/skills/cosmic-build/scripts/test/test_verify_property_surface.py +85 -0
- package/skills/cosmic-build/scripts/test/test_windows_import_compatibility.py +72 -0
- package/skills/cosmic-build/scripts/verify_complex_property_surface.py +1874 -0
- package/skills/cosmic-build/scripts/verify_field_property_matrix.py +418 -0
- package/skills/cosmic-build/scripts/verify_property_surface.py +419 -0
- package/skills/cosmic-build/scripts/workspace_layout.py +31 -0
- package/skills/cosmic-build/scripts/write_archive_json.py +7 -115
- package/skills/cosmic-build/skills/_shared/scripts/naming_rules.py +85 -14
- package/skills/cosmic-build/skills/cosmic-coding-impl/SKILL.md +67 -14
- package/skills/cosmic-build/skills/cosmic-coding-script/ATTRIBUTION.md +76 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/SKILL.md +214 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/README.md +20 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/README.md +39 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/controller-safe-template.md +62 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/faq-runtime-pitfalls.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/runtime-bigdecimal.md +36 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/runtime-date-bridge.md +23 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development/runtime-dynamicobject.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/docs/custom-development//350/204/232/346/234/254/346/216/247/345/210/266/345/231/250/345/274/200/345/217/221/346/214/207/345/215/227.md +761 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript/README.md +31 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//344/277/235/347/225/231/345/205/263/351/224/256/345/255/227.md +113 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//345/217/230/351/207/217.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//345/221/275/345/220/215/350/247/204/350/214/203.md +78 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//345/274/202/345/270/270/345/244/204/347/220/206.md +71 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//345/276/252/347/216/257.md +70 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//346/216/245/345/217/243.md +148 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//346/226/271/346/263/225.md +73 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//346/235/241/344/273/266/345/210/244/346/226/255.md +92 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//346/250/241/345/235/227/345/217/212/345/274/225/347/224/250.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//347/261/273.md +102 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/kingscript//350/257/255/346/263/225/347/244/272/344/276/213.md +119 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/README.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community/README.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/346/226/271/346/241/210./345/210/206/345/275/225/347/255/233/351/200/211./350/241/250/345/215/225/346/217/222/344/273/266/350/216/267/345/217/226/345/210/206/345/275/225/347/255/233/351/200/211/345/220/216/347/232/204/347/273/223/346/236/234.md +173 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/346/226/271/346/241/210./345/210/227/350/241/250/346/217/222/344/273/266./345/271/262/351/242/204/345/210/227/350/241/250/350/241/250/346/240/274/350/247/206/345/233/276/350/241/214/346/240/267/345/274/217.md +126 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/346/226/271/346/241/210./346/223/215/344/275/234/346/217/222/344/273/266./345/255/227/346/256/265/344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +110 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/346/226/271/346/241/210./350/241/250/345/215/225/346/217/222/344/273/266./344/270/232/345/212/241/345/221/230/345/255/227/346/256/265/345/256/236/347/216/260/347/273/204/347/273/207/351/232/224/347/246/273.md +113 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/346/226/271/346/241/210./350/241/250/345/215/225/346/217/222/344/273/266./345/237/272/347/241/200/350/265/204/346/226/231/346/240/271/346/215/256/345/211/215/347/275/256/346/235/241/344/273/266/345/214/271/351/205/215/350/277/207/346/273/244/346/235/241/344/273/266.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./344/273/243/347/240/201/347/273/274/345/220/210./351/207/221/350/235/266AI/346/230/237/347/251/272/345/242/236/345/210/240/346/224/271/346/237/245/345/270/270/347/224/250/346/226/271/345/274/217/346/240/267/344/276/213.md +137 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./345/210/227/350/241/250/346/217/222/344/273/266./345/212/250/346/200/201/345/210/227/345/256/236/347/216/260.md +83 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./345/210/227/350/241/250/346/217/222/344/273/266./345/220/214/344/270/200/344/270/252/345/215/225/346/215/256/351/205/215/347/275/256/345/244/232/344/270/252/350/217/234/345/215/225/346/230/276/347/244/272/344/270/215/345/220/214/347/232/204/345/206/205/345/256/271.md +99 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./345/212/250/346/200/201/345/210/233/345/273/272View/346/250/241/346/213/237/347/225/214/351/235/242/346/223/215/344/275/234/345/271/266/344/277/235/345/255/230/345/215/225/346/215/256.md +125 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./345/215/225/346/215/256/350/275/254/346/215/242/344/270/213/346/216/250/345/256/236/344/276/213.md +115 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./345/237/272/347/241/200/350/265/204/346/226/231./345/244/232/351/200/211/345/237/272/347/241/200/350/265/204/346/226/231/345/210/233/345/273/272.md +77 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./346/212/245/350/241/250/346/217/222/344/273/266./350/241/214/350/275/254/345/210/227/346/241/210/344/276/213.md +81 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./347/202/271/345/207/273/346/226/207/346/234/254/346/241/206/345/274/271/347/252/227/351/200/211/346/213/251/345/215/225/346/215/256.md +133 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./350/241/250/345/215/225/344/275/277/347/224/250./350/241/250/345/215/225/345/217/226/345/200/274/350/265/213/345/200/274API/344/275/277/347/224/250/345/256/236/346/210/230.md +141 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./350/241/250/345/215/225/346/217/222/344/273/266./345/233/276/347/211/207/345/210/227/350/241/250/344/277/235/345/255/230.md +85 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./350/241/250/345/215/225/346/217/222/344/273/266./345/246/202/344/275/225/350/216/267/345/217/226/347/211/251/346/226/231/347/232/204/347/211/251/346/226/231/347/274/226/347/240/201.md +87 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./351/231/204/344/273/266./345/220/216/345/217/260/345/244/215/345/210/266/351/231/204/344/273/266.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213./351/241/265/351/235/242/344/274/240/345/200/274./347/210/266/345/255/220/351/241/265/351/235/242/344/274/240/345/200/274.md +112 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//346/217/222/344/273/266/344/273/243/347/240/201/347/261/273/357/274/232/345/215/225/346/215/256/344/275/223/350/256/276/347/275/256/345/271/263/351/223/272/350/247/206/345/233/276/345/256/236/347/216/260/347/261/273/344/274/274/344/274/201/344/270/232/347/211/210/344/273/243/347/220/206/345/255/227/346/256/265/345/212/237/350/203/275.md +84 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//350/275/273/350/204/232/346/234/254/357/274/232KingScript/350/275/273/350/204/232/346/234/254/345/210/233/345/273/272/345/274/200/345/217/221/345/222/214/351/203/250/347/275/262.md +169 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//350/275/273/350/204/232/346/234/254/357/274/232/344/272/214/345/274/200/347/244/272/344/276/213.KingScript./347/202/271/345/207/273/350/217/234/345/215/225/346/214/211/351/222/256/350/267/263/350/275/254/345/244/226/351/203/250url.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//350/275/273/350/204/232/346/234/254/357/274/232/345/234/250/345/210/227/350/241/250/347/202/271/345/207/273/350/266/205/351/223/276/346/216/245/346/227/266/346/211/223/345/274/200/345/215/225/346/215/256/350/257/246/346/203/205/351/241/265/351/235/242.md +123 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//350/275/273/350/204/232/346/234/254/357/274/232/345/246/202/344/275/225/346/237/245/347/234/213/347/263/273/347/273/237/344/270/255/346/211/200/346/234/211KingScript/350/275/273/350/204/232/346/234/254.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/community//350/275/273/350/204/232/346/234/254/357/274/232/346/211/223/345/274/200/345/215/225/346/215/256/346/217/220/347/244/272Lib file does not exists/351/224/231/350/257/257.md" +60 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates/README.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/205/254/345/274/217/345/271/263/345/217/260/346/217/222/344/273/266.md +116 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/207/275/346/225/260/345/217/202/346/225/260/351/205/215/347/275/256.md +100 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/210/227/350/241/250/346/217/222/344/273/266.md +328 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/215/225/346/215/256/346/217/222/344/273/266.md +176 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/220/216/345/217/260/344/273/273/345/212/241/346/217/222/344/273/266.md +212 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/237/272/347/241/200/350/265/204/346/226/231/346/216/247/344/273/266.md +336 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266.md +116 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266.md +144 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/274/225/345/205/245/346/217/222/344/273/266.md +136 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//345/274/225/345/207/272/346/217/222/344/273/266.md +222 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/211/223/345/215/260/346/217/222/344/273/266.md +122 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/211/251/345/261/225/346/216/247/344/273/266.md +239 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266.md +110 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266.md +273 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/216/247/344/273/266.md +2612 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/216/247/344/273/266/346/211/251/345/261/225.md +178 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//346/223/215/344/275/234/346/217/222/344/273/266.md +181 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//347/247/273/345/212/250/346/216/247/344/273/266.md +609 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//347/247/273/345/212/250/350/241/250/345/215/225/346/217/222/344/273/266.md +189 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//350/241/250/345/215/225/346/217/222/344/273/266.md +342 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins/templates//350/275/254/346/215/242/346/217/222/344/273/266.md +129 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/205/254/345/274/217/345/271/263/345/217/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/205/254/345/274/217/345/271/263/345/217/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getDesignerParameter.md +110 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/205/254/345/274/217/345/271/263/345/217/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getFuncInfo.md +100 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/207/275/346/225/260/345/217/202/346/225/260/351/205/215/347/275/256-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/207/275/346/225/260/345/217/202/346/225/260/351/205/215/347/275/256-/344/272/213/344/273/266/346/213/206/345/210/206/checkSetting.md +127 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/207/275/346/225/260/345/217/202/346/225/260/351/205/215/347/275/256-/344/272/213/344/273/266/346/213/206/345/210/206/getSetting.md +192 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +60 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/addCustomViews.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterBindData.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterExportFile.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterQueryOfExport.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/baseDataColumnDependFieldSet.md +30 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeBindData.md +56 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeBuildTreeNode.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCreateListColumns.md +49 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCreateListDataProvider.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeDesensitive.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeExportFile.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforePackageData.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeQueryOfExport.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeShowBill.md +58 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeTreeNodeClick.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/billClosedCallBack.md +86 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/billListHyperLinkClick.md +72 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/buildTreeListFilter.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/chat.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/click.md +24 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/closeQueryByOr.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/createTreeListView.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryHyperLinkClick.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/expandClick.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/expendTreeNode.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterColumnSetFilter.md +52 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerAfterSearchClick.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerBeforeF7Select.md +53 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerExpand.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerInit.md +53 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerSearchClick.md +47 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerSetBaseDataSearchClosed.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/hyperLinkClick.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initTreeToolbar.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initialize.md +24 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initializeTree.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/itemClick.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/listColumnCompareTypesSet.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/listRowDoubleClick.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/listRowFilter.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/packageData.md +50 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/refreshNode.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setCellFieldValue.md +35 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setCellsData.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setEnableCustomSum.md +27 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setFilter.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setIndexMode.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setMultiSortFields.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/sumDataLoadOnFirstSet.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeNodeClick.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeToolbarClick.md +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +10 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/210/227/350/241/250/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/initListFilterAndTree.md +123 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +15 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/batchCreateEntryRows.md +73 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/batchLoadEntryRows.md +145 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/createGridColumnsDynamically.md +346 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/createNewEntryRow.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/deleteEntryRow.md +80 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/344/275/223-/345/234/272/346/231/257/346/213/206/345/210/206/getEntryEntity.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +10 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/215/225/346/215/256/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterLoadData.md +113 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +13 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/344/272/213/344/273/266/346/213/206/345/210/206/getMessageHandler.md +160 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/344/272/213/344/273/266/346/213/206/345/210/206/setMessageHandle.md +125 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/344/272/213/344/273/266/346/213/206/345/210/206/setTaskId.md +112 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/344/272/213/344/273/266/346/213/206/345/210/206/stop.md +196 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +10 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/220/216/345/217/260/344/273/273/345/212/241-/345/234/272/346/231/257/346/213/206/345/210/206/createPlanAndDispatchJob.md +129 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231-/345/234/272/346/231/257/346/213/206/345/210/206/basedataByNumber.md +58 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231-/345/234/272/346/231/257/346/213/206/345/210/206/mulBasedataFilter.md +73 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231-/345/234/272/346/231/257/346/213/206/345/210/206/singleBasedataFill.md +131 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterF7Select.md +88 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeF7Select.md +79 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/237/272/347/241/200/350/265/204/346/226/231/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeQuickAddNew.md +88 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +13 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/click.md +152 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/itemClick.md +137 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/release.md +125 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/244/247/344/273/273/345/212/241/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setContext.md +150 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/255/227/346/256/265/346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/255/227/346/256/265/346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/filterBasedataBeforeF7.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/255/227/346/256/265/346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/setHeadAndEntryValue.md +109 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +14 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/calcUserIds.md +59 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/formatFlowRecord.md +58 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/hasTrueCondition.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/notify.md +33 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/267/245/344/275/234/346/265/201/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/notifyByWithdraw.md +31 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/205/245/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +13 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/205/245/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getDefaultImportType.md +54 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/205/245/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getDefaultKeyFields.md +56 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/205/245/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getDefaultLockUIs.md +63 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/205/245/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getOverrideFieldsConfig.md +63 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/207/272/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +10 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/225/345/207/272/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterQueryOfExport.md +73 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/271/346/200/247/345/237/237-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/271/346/200/247/345/237/237-/345/234/272/346/231/257/346/213/206/345/210/206/flexDisplayText.md +67 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/271/346/200/247/345/237/237-/345/234/272/346/231/257/346/213/206/345/210/206/flexValueRead.md +67 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//345/274/271/346/200/247/345/237/237-/345/234/272/346/231/257/346/213/206/345/210/206/listFlexPack.md +71 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/223/345/215/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/223/345/215/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterOutputWidget.md +65 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/223/345/215/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeLoadData.md +54 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/223/345/215/260/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeOutputWidget.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/251/345/261/225/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/251/345/261/225/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/addTips.md +138 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/251/345/261/225/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/addTipsListener.md +48 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/211/251/345/261/225/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/hideTips.md +103 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +13 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/export.md +53 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getColumns.md +97 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/query.md +72 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/queryBatchBy.md +54 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +12 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/queryAndExportByFilter.md +210 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/treeLeftGroupQuery.md +121 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/346/237/245/350/257/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/treeRightListQuery.md +131 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterCreateColumn.md +113 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterQuery.md +31 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterSetModelValue.md +74 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCreateFilterInfo.md +79 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeQuery.md +139 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/export.md +168 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/exportWithSheet.md +182 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerBeforeF7Select.md +98 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterContainerSearchClick.md +34 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/formatDisplayFilterField.md +57 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getColumns.md +188 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getComboItems.md +152 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getQueryParam.md +136 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getSelectedObj.md +104 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initDefaultQueryParam.md +88 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/loadOtherEntryFilter.md +86 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/packageData.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/preProcessExportData.md +144 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/processRowData.md +126 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/query.md +132 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/queryBatchBy.md +176 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/query/357/274/210/346/240/221/345/275/242/357/274/211.md +112 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/resetDataCount.md +84 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setCellStyleRules.md +132 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setExcelName.md +122 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setFloatButtomData.md +110 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setMergeColums.md +74 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setOtherEntryFilter.md +80 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setProgress.md +124 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setProgress/357/274/210/346/240/221/345/275/242/357/274/211.md +111 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setSortAndFilter.md +119 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setTreeReportList.md +33 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/enableSortFilterAndSummary.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/212/245/350/241/250/350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/mergeColumnsAndLimitData.md +106 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +63 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterChangeMainOrg.md +31 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterF7Select.md +50 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterReceiveResponse.md +40 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterSendRequest.md +31 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterShowTips.md +33 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeChangeMainOrg.md +44 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeClick.md +40 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeF7Select.md +104 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeItemClick.md +46 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeShowTips.md +34 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/cellClick.md +48 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/cellDoubleClick.md +48 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/click.md +53 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/clickTips.md +51 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/containerOnShow.md +39 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/dataGridBindData.md +45 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/enterKeyEvent.md +46 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryFilterChanged.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryGridColAllChecked.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryGridSetRowData.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryRowClick.md +39 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/entryRowDoubleClick.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/expandClick.md +37 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterGridF7Click.md +40 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/filterGridF7CloseCallback.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/finishOCR.md +44 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/flexControlMetaPreRender.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getComplexSearchList.md +55 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getSearchList.md +52 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/handleData.md +53 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/headerCellClick.md +36 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/hyperLinkClick.md +57 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/inputFocus.md +33 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/itemClick.md +48 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/notifying.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/onProgress.md +84 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/optionClick.md +39 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/pagerClick.md +32 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/processOCR.md +47 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/queryTreeNodeChildren.md +82 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/resetDateFilter.md +37 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/search.md +50 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/segmentedControlSelected.md +36 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/selectRowsChange.md +83 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/showFlexEdit.md +37 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/tabBatchClose.md +34 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/tabSelected.md +84 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeMenuClick.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeMenuDoubleClick.md +43 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeNodeCheck.md +36 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeNodeClick.md +45 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeNodeDoubleClick.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/treeNodeDragged.md +46 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/widgetChanged.md +44 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/buildTreeViewAndLazyLoadNodes.md +184 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/configureSearchAndQuickFilter.md +165 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266/346/211/251/345/261/225-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266/346/211/251/345/261/225-/344/272/213/344/273/266/346/213/206/345/210/206/addClickListener.md +118 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/216/247/344/273/266/346/211/251/345/261/225-/344/272/213/344/273/266/346/213/206/345/210/206/addItemClickListener.md +149 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +32 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterExecuteOperationTransaction.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeExecuteOperationTransaction.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeSaveAuditLog.md +79 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beginOperationTransaction.md +62 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/endOperationTransaction.md +108 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getDataEntities.md +77 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getOperateProgress.md +64 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getOperationContext.md +85 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getOperationResult.md +73 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getOption.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initialize.md +77 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initializeOperationResult.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/isSupportSplitPageMode.md +80 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/onAddValidators.md +137 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/onPreparePropertys.md +61 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/onReturnOperation.md +86 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/rollbackOperation.md +111 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setContext.md +88 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setDataEntities.md +83 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setOperateProgress.md +70 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setOperationContext.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setOperationResult.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/validatePrefix.md +83 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/cancelOperationBeforeTransaction.md +112 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//346/223/215/344/275/234/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/prepareFieldsAndAddValidator.md +107 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +18 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterPushDownRefresh.md +61 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCreateMobTableColumns.md +59 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/cancel.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/click.md +69 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/createMobTablePackageDataHandler.md +56 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/focus.md +54 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/mobFilterSortInit.md +60 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/mobileSearchInit.md +70 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/346/216/247/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/pullRefesh.md +63 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +14 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/beforeExecClientCmd.md +108 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/locate.md +160 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/refreshData.md +152 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/timeZoneLocate.md +75 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//347/247/273/345/212/250/350/241/250/345/215/225-/344/272/213/344/273/266/346/213/206/345/210/206/uploadFile.md +114 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +58 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/TimerElapsed.md +84 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterAddRow.md +109 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterBindData.md +127 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterCopyData.md +117 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterCreateNewData.md +92 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterDeleteEntry.md +93 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterDeleteRow.md +117 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterDoOperation.md +125 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterImportData.md +136 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterMoveEntryDown.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterMoveEntryUp.md +90 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterSetEntryBottom.md +106 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterSetEntryTop.md +93 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeAddRow.md +47 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeBatchFillEntry.md +47 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeBindData.md +116 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCheckDataPermission.md +64 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeClosed.md +165 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeDeleteEntry.md +109 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeDeleteRow.md +122 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeDoOperation.md +137 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeFieldPostBack.md +103 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeImportData.md +116 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeImportEntry.md +138 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforePropertyChanged.md +97 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeSetItemValue.md +124 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/clientCallBack.md +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/closedCallBack.md +168 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/confirmCallBack.md +161 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/contextMenuClick.md +176 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/createNewData.md +120 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/customEvent.md +212 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/destory.md +85 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/flexBeforeClosed.md +108 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/getEntityType.md +99 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initImportData.md +98 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initPropertyChanged.md +122 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initialize.md +41 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/isSupportBatchPropChanged.md +117 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/loadCustomControlMetas.md +117 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/loadData.md +129 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/messageBoxClosed.md +117 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/onGetControl.md +115 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/pageRelease.md +76 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/preOpenForm.md +137 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/propertyChanged.md +145 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/queryImportBasedata.md +152 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/registerListener.md +107 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/setWaterMarkInfo.md +68 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/registerButtonAndControlListeners.md +120 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/241/250/345/215/225/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/showMessagesAndConfirmCallback.md +130 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/README.md +16 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterConvert.md +54 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterCreateTarget.md +67 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/afterFieldMapping.md +56 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeBuildRowCondition.md +71 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeCreateLink.md +60 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/beforeDoOperation.md +60 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/344/272/213/344/273/266/346/213/206/345/210/206/initVariable.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/README.md +11 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/appendPushFiltersAndLinkControl.md +94 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/examples/plugins//346/217/222/344/273/266/347/244/272/344/276/213//350/275/254/346/215/242/346/217/222/344/273/266-/345/234/272/346/231/257/346/213/206/345/210/206/splitTargetRowsAfterConvert.md +98 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/README.md +200 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/docs/java-kingscript-bridge.md +65 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/docs//350/204/232/346/234/254SDK.md +87 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/deprecated-index.md +40 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/error-index.md +23 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/keyword-index.md +49 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/methods-hot.md +96 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/methods-lifecycle.md +46 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/microservice-index.md +17 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/package-index.md +123 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/plugin-index.md +108 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/quick-lookup.md +83 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/indexes/scenario-index.md +20 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/manifests/README.md +15 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/manifests/modules.json +89 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/manifests/summary.json +26 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/strategy.md +204 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/templates/sdk-class-template.md +58 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/templates/sdk-method-template.md +61 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/templates/sdk-package-template.md +34 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/sdk/templates/sdk-scenario-template.md +28 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/typescript/package.json +16 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/references/typescript/tsconfig.json +39 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/context-budget-protocol.md +167 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/p0-constraints.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/p0-group-a-syntax.md +38 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/p0-group-b-java-bridge.md +29 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/p0-group-c-response-api.md +18 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/p0-group-d-imports.md +61 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/requirements-analysis-diagnose.md +66 -0
- package/skills/cosmic-build/skills/cosmic-coding-script/rule/requirements-analysis.md +193 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/SKILL.md +12 -4
- package/skills/cosmic-build/skills/cosmic-meta-api/apis/ai_meta.md +8 -8
- package/skills/cosmic-build/skills/cosmic-meta-api/apis/form_action.md +36 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/apis/meta_log.md +245 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/advanced-container.json +18 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/buildMeta-direct.json +6 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/catalog-expansion-2026-08-03.json +4 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/collapse-summary.json +17 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/control-authoring.json +120 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/createPage.json +8 -6
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/delete-disposable.json +2 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/domain-model-read.json +20 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/entry-field-compatibility.json +22 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/entry-write-contract.json +35 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/export-sync.json +16 -4
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/form-background.json +15 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/form-control-traits.json +47 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/form-lifecycle.json +13 -13
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/layout-ui.json +428 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/metalog-history.json +256 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/operation-rule-write-contracts.json +353 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/operation-validation.json +134 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/property-batch.json +152 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/property-input-index.json +54797 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/property-value-encoding.json +1427 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/remove-container.json +14 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/report-write-contracts.json +88 -10
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/rule-domain.json +261 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/rule-event-contract.json +21 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/rule-functions.json +17 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/run-build-meta.json +7 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/tab-page-operations.json +38 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/container-layout.schema.json +63 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/entry-grid.schema.json +68 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/entry-write.schema.json +38 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/existing-form-ui.schema.json +157 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/form-composition.schema.json +129 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/form-grid.schema.json +205 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/form-split.schema.json +46 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/form-tabs.schema.json +59 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/metaops-structural.schema.json +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/operation-validation.schema.json +113 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/operation-write.schema.json +34 -4
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/panel-order.schema.json +35 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/report-write.schema.json +253 -3
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/rule-set.schema.json +38 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/rule-write.schema.json +102 -6
- package/skills/cosmic-build/skills/cosmic-meta-api/docs/api-summary.md +10 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/fixtures/add-field.contract.json +40 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/fixtures/field-shortcuts.contract.json +68 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/develop/SKILL.md +3 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/export/SKILL.md +7 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/pdm/SKILL.md +36 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/pdm/scripts/pdm_auto.py +334 -334
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/.dsh/cosmic/.kd/config.json +21 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_apps.py +140 -15
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_controls.py +670 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_entries.py +818 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_fields.py +415 -278
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_formactions.py +1101 -338
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_forms.py +122 -108
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_layout.py +32 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_listui.py +607 -94
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_metalog.py +398 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_metaops.py +241 -85
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_operations.py +1933 -103
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_plugins.py +64 -2
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_properties.py +6739 -976
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_result.py +21 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_rules.py +4814 -63
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_session.py +11 -11
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_tabpage.py +351 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_workspace.py +623 -237
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/commands.py +91 -21
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/config.py +148 -101
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/dynamic_form_ui.py +525 -63
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/existing_form_ui.py +6040 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/formatters.py +165 -144
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/markdown.py +27 -27
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/mutation_contract.py +105 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/property_reroute.py +167 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/report_ops.py +1665 -59
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/rule_contract.py +317 -29
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/skill_assets.py +41 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/validators.py +34 -16
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/build_meta_order.py +4 -2
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/cosmic_api.py +5602 -808
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/field_decorator.py +47 -66
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/harvest_operation_contracts.py +791 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/lookup_basedata.py +3 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/meta_export.py +42 -42
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/meta_verifier.py +319 -161
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_add_button_closure.py +432 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_add_entry_entity.py +586 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_add_field_placement_closure.py +306 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_app_identity_sync.py +8 -56
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_artifact_card_finalization.py +125 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_clean_temp_contract.py +77 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_cli_failure_contract.py +397 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_collapse_summary_contract.py +57 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_creation_identity_boundary.py +51 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_custom_style_contract.py +79 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_delete_form_archive_sync.py +17 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_destructive_confirmation.py +128 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_dynamic_form_ui.py +865 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_existing_form_ui.py +3785 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_field_decorator.py +289 -25
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_field_placement_combinations.py +99 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_form_extension_flow.py +188 -2
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_formatters_output_isolation.py +37 -31
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_functional_group_resolution.py +1645 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_instant_sync_closure.py +368 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_kingscript_write_guard.py +137 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_legacy_layout_metadata.py +106 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_locale_asset_resolution.py +67 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_metadata_unchanged_fail_closed.py +158 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_metalog_commands.py +422 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_modify_meta_dym_sync_gate.py +92 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_operation_write_closure.py +2020 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_remove_field_flow.py +217 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_dym_evidence.py +105 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_entity_integrity.py +23 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_field_guard.py +9 -2
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_plugin_contract.py +178 -10
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_readback_derivation.py +55 -2
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_recreate_plan.py +6 -8
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_rule_write_closure.py +2415 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_run_batch_verification_evidence.py +31 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_run_identity_guard.py +1083 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_split_table_closure.py +219 -0
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/SKILL.md +0 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/conventions/naming-rules.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/conventions/rule-expression-syntax.md +9 -7
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/field-types.md +56 -48
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/form-model.md +3 -2
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/form-ui-model.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/property-model.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/report-model.md +18 -11
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/rule-model.md +11 -10
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/api-param-checklist.md +4 -4
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/metaop-checklist.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/metaop-spec.md +3 -1
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/metaop-templates.md +16 -8
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/report-modeling-guide.md +17 -8
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/rule-modeling-guide.md +19 -27
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/guardrails/common-mistakes.md +7 -8
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/guardrails/property-best-practices.md +7 -7
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/platform-rules/platform-behaviors.md +16 -11
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/basedata-field-properties.md +7 -10
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/control-level-properties.md +10 -10
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/cross-family-complex-properties.md +47 -98
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/entity-level-properties.md +28 -21
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/numeric-field-properties.md +16 -37
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/org-field-properties.md +2 -3
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/report-column-properties.md +201 -195
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/style-properties.md +78 -421
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/universal-properties.md +15 -21
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/reference-data/basedata-catalog.md +6 -2
- package/skills/cosmic-build/skills/cosmic-meta-modeling/SKILL.md +112 -151
- package/skills/cosmic-build/skills/cosmic-meta-modeling/contracts/fixtures/cli-verification-data-model.json +71 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/knowledge/basedata-template-reference.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/balance/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/formtemplate/SKILL.md +66 -136
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/formtemplate/dynamic-form-artifact-schema.md +113 -7
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/km/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/layout/SKILL.md +2 -2
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/logbill/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/mobile/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/query/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/SKILL.md +122 -24
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-batch.md +28 -6
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-plugin.md +50 -11
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-tree.md +11 -2
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/report-artifact-schema.json +6 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/widget/SKILL.md +5 -5
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-entity-graphs.md +5 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-reference-fields.md +13 -2
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-storage-constraints.md +4 -3
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-ui-composition.md +24 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/creation-recovery.md +17 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/parse-core.md +21 -5
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/artifact_validator.py +257 -259
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/basedata_resolver.py +571 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/build_data_model_payload.py +1003 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/data_model_authoring.py +245 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/data_model_contract.py +1468 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/data_model_emit.py +5114 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/derive_entity_names.py +403 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/design_emit_helpers.py +665 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/dynamic_form_artifact.py +347 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/dynamic_form_validator.py +366 -33
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/emit_artifacts.py +6 -6
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/field_type_matcher.py +6 -6
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/field_type_registry.py +128 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/isv_resolver.py +144 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/post_build_ui.py +151 -150
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/report_validator.py +182 -43
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/test_data_model_emit_biz_unit.py +110 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/test_report_validator.py +187 -14
- package/skills/cosmic-build/skills/cosmic-meta-modifier/SKILL.md +145 -120
- package/skills/cosmic-build/skills/cosmic-meta-modifier/batch-mode.md +24 -253
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/context/SKILL.md +4 -7
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/execute/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/form-action/SKILL.md +49 -16
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/form-op/container-ops.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/generate/SKILL.md +4 -1
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/SKILL.md +37 -230
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/existing-validation.md +31 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/non-entity-operations.md +10 -6
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/operation-write.md +77 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/scenarios/navigation-display.md +9 -8
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/validation.md +71 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/plugin/SKILL.md +10 -6
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/SKILL.md +131 -33
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/attachment-panel-properties.md +38 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/complex-apis.md +28 -12
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/policy-grammar.md +78 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/property-reference.md +24 -11
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/reference/SKILL.md +2 -2
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/report-op/SKILL.md +85 -11
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/SKILL.md +117 -45
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/batch-recovery.md +7 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/function-formulas.md +39 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/raw-rule-authoring.md +67 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/rule-actions.md +85 -20
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/rule-reference.md +104 -129
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/state.md +35 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/update.md +31 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/unit/SKILL.md +15 -5
- package/skills/cosmic-build/skills/cosmic-meta-modifier/panel-replacement.md +16 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/references/list-filter-modification.md +49 -25
- package/skills/cosmic-build/skills/cosmic-meta-modifier/references/selection-option-modification.md +18 -10
- package/skills/cosmic-build/skills/cosmic-meta-modifier/target-lifecycle.md +26 -0
- package/skills/cosmic-build/skills/cosmic-meta-ui/SKILL.md +62 -43
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/button/SKILL.md +3 -143
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/container/SKILL.md +3 -172
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/panel/SKILL.md +3 -170
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/query/SKILL.md +3 -124
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/reconcile/SKILL.md +8 -303
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/style/SKILL.md +5 -217
- package/skills/cosmic-build/skills/cosmic-meta-ui/structural-layout.md +34 -0
- package/skills/cosmic-build/skills/cosmic-meta-ui/ui-reference.md +9 -5
- package/skills/cosmic-build/skills/openapi-gen/SKILL.md +14 -14
- package/skills/cosmic-build/skills/openapi-gen/scripts/api/constants.py +171 -169
- package/skills/cosmic-build/skills/openapi-gen/scripts/api/gen_runner.py +299 -203
- package/skills/cosmic-build/skills/openapi-gen/scripts/metadata/fetcher.py +58 -58
- package/skills/cosmic-build/skills/openapi-gen/scripts/metadata/parser.py +76 -76
- package/skills/cosmic-dev-best-practices/SKILL.md +1 -0
- package/skills/cosmic-dev-best-practices/references/basedata-dev-convention.md +37 -7
- package/skills/cosmic-dev-best-practices/references/bill-dev-convention.md +22 -2
- package/skills/cosmic-dev-best-practices/references/cosmic-meta-api.md +324 -12
- package/skills/cosmic-dev-best-practices/references/datamodel-publish.md +21 -12
- package/skills/cosmic-dev-best-practices/references/design-document-convention.md +1 -1
- package/skills/cosmic-dev-best-practices/references/java-plugin.md +50 -0
- package/skills/cosmic-dev-best-practices/references/layout-control-convention.md +3 -3
- package/skills/cosmic-dev-best-practices/references/naming-convention.md +6 -0
- package/skills/erp-analysis/SKILL.md +10 -13
- package/skills/erp-analysis/references/delivery-contract.md +91 -0
- package/skills/erp-analysis/references/html-report-guide.md +14 -9
- package/skills/erp-analysis/references/markdown-report-guide.md +1 -1
- package/skills/erp-analysis/templates/AGENTS.template.md +15 -2
- package/skills/cosmic-build/capabilities/_dispatcher/SKILL.md +0 -142
- package/skills/cosmic-build/capabilities/_shared/__init__.py +0 -0
- package/skills/cosmic-build/capabilities/_shared/batch_runner.py +0 -245
- package/skills/cosmic-build/capabilities/_shared/compile_helpers.py +0 -731
- package/skills/cosmic-build/capabilities/_shared/cosmic_api_subprocess.py +0 -292
- package/skills/cosmic-build/capabilities/_shared/emit-handbook.md +0 -152
- package/skills/cosmic-build/capabilities/_shared/json_schema_subset.py +0 -314
- package/skills/cosmic-build/capabilities/_shared/property_broker.py +0 -357
- package/skills/cosmic-build/capabilities/_shared/property_broker_result.schema.json +0 -107
- package/skills/cosmic-build/capabilities/_shared/recognition-handbook.md +0 -145
- package/skills/cosmic-build/capabilities/_shared/registry.py +0 -201
- package/skills/cosmic-build/capabilities/_shared/result_semantics.py +0 -106
- package/skills/cosmic-build/capabilities/_shared/runtime_schema_probe.py +0 -501
- package/skills/cosmic-build/capabilities/add_field/SKILL.md +0 -147
- package/skills/cosmic-build/capabilities/add_field/schema.json +0 -240
- package/skills/cosmic-build/capabilities/add_field/scripts/compile.py +0 -216
- package/skills/cosmic-build/capabilities/add_field/scripts/run.py +0 -550
- package/skills/cosmic-build/capabilities/add_operation/SKILL.md +0 -51
- package/skills/cosmic-build/capabilities/add_operation/schema.json +0 -221
- package/skills/cosmic-build/capabilities/add_operation/scripts/batch_add_operations.py +0 -633
- package/skills/cosmic-build/capabilities/add_operation/scripts/compile.py +0 -119
- package/skills/cosmic-build/capabilities/add_operation/scripts/operation-type-examples.json +0 -1
- package/skills/cosmic-build/capabilities/add_operation/scripts/resolve_schema.py +0 -41
- package/skills/cosmic-build/capabilities/add_rules/SKILL.md +0 -243
- package/skills/cosmic-build/capabilities/add_rules/schema.json +0 -382
- package/skills/cosmic-build/capabilities/add_rules/scripts/batch_add_rules.py +0 -642
- package/skills/cosmic-build/capabilities/add_rules/scripts/compile.py +0 -182
- package/skills/cosmic-build/capabilities/api_design/SKILL.md +0 -53
- package/skills/cosmic-build/capabilities/datamodel_design/SKILL.md +0 -464
- package/skills/cosmic-build/capabilities/design-capability-registry.json +0 -66
- package/skills/cosmic-build/capabilities/discover_property/SKILL.md +0 -36
- package/skills/cosmic-build/capabilities/discover_property/schema.json +0 -83
- package/skills/cosmic-build/capabilities/discover_property/scripts/compile.py +0 -56
- package/skills/cosmic-build/capabilities/discover_property/scripts/run.py +0 -530
- package/skills/cosmic-build/capabilities/dynamic_form_design/SKILL.md +0 -138
- package/skills/cosmic-build/capabilities/filter_config/SKILL.md +0 -209
- package/skills/cosmic-build/capabilities/filter_config/schema.json +0 -126
- package/skills/cosmic-build/capabilities/filter_config/scripts/compile.py +0 -204
- package/skills/cosmic-build/capabilities/filter_config/scripts/run.py +0 -998
- package/skills/cosmic-build/capabilities/list_column/SKILL.md +0 -204
- package/skills/cosmic-build/capabilities/list_column/schema.json +0 -188
- package/skills/cosmic-build/capabilities/list_column/scripts/compile.py +0 -395
- package/skills/cosmic-build/capabilities/list_column/scripts/run.py +0 -993
- package/skills/cosmic-build/capabilities/list_view_props/SKILL.md +0 -147
- package/skills/cosmic-build/capabilities/list_view_props/schema.json +0 -69
- package/skills/cosmic-build/capabilities/list_view_props/scripts/compile.py +0 -108
- package/skills/cosmic-build/capabilities/list_view_props/scripts/run.py +0 -517
- package/skills/cosmic-build/capabilities/manifest.json +0 -154
- package/skills/cosmic-build/capabilities/plugin_design/SKILL.md +0 -89
- package/skills/cosmic-build/capabilities/reconcile/SKILL.md +0 -69
- package/skills/cosmic-build/capabilities/report_design/SKILL.md +0 -33
- package/skills/cosmic-build/capabilities/set_complex_property/SKILL.md +0 -69
- package/skills/cosmic-build/capabilities/set_complex_property/complex-adapter-contracts.normalized.json +0 -505
- package/skills/cosmic-build/capabilities/set_complex_property/intent_map.json +0 -220
- package/skills/cosmic-build/capabilities/set_complex_property/schema.json +0 -170
- package/skills/cosmic-build/capabilities/set_complex_property/scripts/compile.py +0 -199
- package/skills/cosmic-build/capabilities/set_complex_property/scripts/run.py +0 -838
- package/skills/cosmic-build/capabilities/set_properties/SKILL.md +0 -44
- package/skills/cosmic-build/capabilities/set_properties/schema.json +0 -154
- package/skills/cosmic-build/capabilities/set_properties/scripts/compile.py +0 -683
- package/skills/cosmic-build/capabilities/set_properties/scripts/run.py +0 -725
- package/skills/cosmic-build/capabilities/tool-contracts.json +0 -113
- package/skills/cosmic-build/capabilities/toolbar_config/SKILL.md +0 -167
- package/skills/cosmic-build/capabilities/toolbar_config/schema.json +0 -124
- package/skills/cosmic-build/capabilities/toolbar_config/scripts/compile.py +0 -108
- package/skills/cosmic-build/capabilities/toolbar_config/scripts/run.py +0 -827
- package/skills/cosmic-build/capability-rollout-policy.json +0 -8
- package/skills/cosmic-build/knowledge/cosmic/platform/allimport-noapi.md +0 -50
- package/skills/cosmic-build/knowledge/cosmic/platform/api/form/plugin/BeforeDownloadImportTemplateEvent.md +0 -49
- package/skills/cosmic-build/references/guardrails/coding.md +0 -22
- package/skills/cosmic-build/references/guardrails/core.md +0 -164
- package/skills/cosmic-build/references/legacy-root-router.md +0 -327
- package/skills/cosmic-build/references/modeltype-decision.md +0 -46
- package/skills/cosmic-build/references/template/development-plan-template.md +0 -222
- package/skills/cosmic-build/schemas/app-spec.schema.json +0 -157
- package/skills/cosmic-build/schemas/appbuild-result.schema.json +0 -62
- package/skills/cosmic-build/schemas/capability-apply-result.schema.json +0 -32
- package/skills/cosmic-build/schemas/capability-check-result.schema.json +0 -71
- package/skills/cosmic-build/schemas/capability-execution-event.schema.json +0 -106
- package/skills/cosmic-build/schemas/capability-execution-plan.schema.json +0 -130
- package/skills/cosmic-build/schemas/capability-input/README.md +0 -7
- package/skills/cosmic-build/schemas/capability-plan.schema.json +0 -133
- package/skills/cosmic-build/schemas/capability-result.schema.json +0 -145
- package/skills/cosmic-build/schemas/capability-rollout-metrics.schema.json +0 -113
- package/skills/cosmic-build/schemas/capability-tool-contracts.schema.json +0 -45
- package/skills/cosmic-build/schemas/design-manifest.schema.json +0 -115
- package/skills/cosmic-build/schemas/requirements-state.schema.json +0 -5
- package/skills/cosmic-build/schemas/requirements.index.schema.json +0 -161
- package/skills/cosmic-build/schemas/requirements.schema.json +0 -404
- package/skills/cosmic-build/scripts/app_spec.py +0 -1684
- package/skills/cosmic-build/scripts/archive_path_guard.py +0 -141
- package/skills/cosmic-build/scripts/bd_bindings.py +0 -23
- package/skills/cosmic-build/scripts/build_agent_prompt.py +0 -25
- package/skills/cosmic-build/scripts/build_requirements_index.py +0 -465
- package/skills/cosmic-build/scripts/capability_rollout_metrics.py +0 -308
- package/skills/cosmic-build/scripts/capability_tool.py +0 -2067
- package/skills/cosmic-build/scripts/check_tasks_completed.py +0 -52
- package/skills/cosmic-build/scripts/derive_requirements_artifacts.py +0 -19
- package/skills/cosmic-build/scripts/executor_protocol.py +0 -1042
- package/skills/cosmic-build/scripts/generate_artifact_json.py +0 -127
- package/skills/cosmic-build/scripts/inspect_state.py +0 -200
- package/skills/cosmic-build/scripts/pipeline_gate.py +0 -78
- package/skills/cosmic-build/scripts/requirements_bd_probe.py +0 -671
- package/skills/cosmic-build/scripts/requirements_document.py +0 -23
- package/skills/cosmic-build/scripts/requirements_state.py +0 -23
- package/skills/cosmic-build/scripts/test/test_capability_plan_compile_atomic.py +0 -103
- package/skills/cosmic-build/scripts/test/test_capability_plan_inline_compile.py +0 -231
- package/skills/cosmic-build/scripts/test/test_design_complete_next_commands.py +0 -131
- package/skills/cosmic-build/scripts/test/test_design_parallel_manifest.py +0 -858
- package/skills/cosmic-build/scripts/test/test_design_step_gates.py +0 -237
- package/skills/cosmic-build/scripts/test/test_dispatch_registry.py +0 -442
- package/skills/cosmic-build/scripts/test/test_executor_batch.py +0 -441
- package/skills/cosmic-build/scripts/test/test_executor_pre_gate.py +0 -96
- package/skills/cosmic-build/scripts/test/test_finalize_design.py +0 -429
- package/skills/cosmic-build/scripts/test/test_finalize_run_gate.py +0 -159
- package/skills/cosmic-build/scripts/test/test_index_design_data_model.py +0 -202
- package/skills/cosmic-build/scripts/test/test_requirements_bd_probe.py +0 -255
- package/skills/cosmic-build/scripts/update_runtime_phase.py +0 -148
- package/skills/cosmic-build/scripts/validate_requirements.py +0 -19
- package/skills/cosmic-build/scripts/validate_requirements_doc.py +0 -284
- package/skills/cosmic-build/scripts/write_intent_snapshot.py +0 -106
- package/skills/cosmic-build/skills/cosmic-code-review/SKILL.md +0 -576
- package/skills/cosmic-build/skills/cosmic-code-review/cosmic-coding-standards.md +0 -1359
- package/skills/cosmic-build/skills/cosmic-code-review/sonar-bug-rules.md +0 -153
- package/skills/cosmic-build/skills/cosmic-code-review/sonar-code-smell-rules.md +0 -209
- package/skills/cosmic-build/skills/cosmic-code-review/sonar-custom-rules.md +0 -152
- package/skills/cosmic-build/skills/cosmic-code-review/sonar-security-hotspot-rules.md +0 -190
- package/skills/cosmic-build/skills/cosmic-code-review/sonar-vulnerability-rules.md +0 -210
- package/skills/cosmic-build/skills/cosmic-design/SKILL.md +0 -296
- package/skills/cosmic-build/skills/cosmic-design/references/bd-pending-flow.md +0 -147
- package/skills/cosmic-build/skills/cosmic-design/references/design-reconcile-registry.json +0 -24
- package/skills/cosmic-build/skills/cosmic-design/references/examples/golden-example-basedata.md +0 -56
- package/skills/cosmic-build/skills/cosmic-design/references/examples/golden-example-bill-textonly.md +0 -146
- package/skills/cosmic-build/skills/cosmic-design/references/examples/golden-example-bill.md +0 -58
- package/skills/cosmic-build/skills/cosmic-design/references/list-capability-guide.md +0 -188
- package/skills/cosmic-build/skills/cosmic-design/scripts/api_section_emit.py +0 -141
- package/skills/cosmic-build/skills/cosmic-design/scripts/backend_context_summary.py +0 -196
- package/skills/cosmic-build/skills/cosmic-design/scripts/backend_tasks_check.py +0 -549
- package/skills/cosmic-build/skills/cosmic-design/scripts/basedata_resolver.py +0 -473
- package/skills/cosmic-build/skills/cosmic-design/scripts/build_data_model_payload.py +0 -1216
- package/skills/cosmic-build/skills/cosmic-design/scripts/build_skeleton.py +0 -467
- package/skills/cosmic-build/skills/cosmic-design/scripts/capability_input_compiler.py +0 -400
- package/skills/cosmic-build/skills/cosmic-design/scripts/capability_plan_emit.py +0 -1422
- package/skills/cosmic-build/skills/cosmic-design/scripts/data_model_contract.py +0 -1301
- package/skills/cosmic-build/skills/cosmic-design/scripts/data_model_emit.py +0 -4551
- package/skills/cosmic-build/skills/cosmic-design/scripts/data_model_ready_check.py +0 -205
- package/skills/cosmic-build/skills/cosmic-design/scripts/datamodel_section_patch.py +0 -356
- package/skills/cosmic-build/skills/cosmic-design/scripts/derive_entity_names.py +0 -393
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_emit_helpers.py +0 -646
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_manifest_emit.py +0 -884
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_reconcile.py +0 -185
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_step_gate.py +0 -192
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_task_protocol.py +0 -1233
- package/skills/cosmic-build/skills/cosmic-design/scripts/design_validator.py +0 -921
- package/skills/cosmic-build/skills/cosmic-design/scripts/dynamic_form_emit.py +0 -349
- package/skills/cosmic-build/skills/cosmic-design/scripts/field_constraint_rules.json +0 -67
- package/skills/cosmic-build/skills/cosmic-design/scripts/field_type_registry.py +0 -72
- package/skills/cosmic-build/skills/cosmic-design/scripts/finalize_design.py +0 -991
- package/skills/cosmic-build/skills/cosmic-design/scripts/fix_compiled_plan.py +0 -134
- package/skills/cosmic-build/skills/cosmic-design/scripts/isv_resolver.py +0 -144
- package/skills/cosmic-build/skills/cosmic-design/scripts/metadata_snapshot_emit.py +0 -212
- package/skills/cosmic-build/skills/cosmic-design/scripts/query_operation_types.py +0 -404
- package/skills/cosmic-build/skills/cosmic-design/scripts/reconcilers/backend_operation_alignment.py +0 -464
- package/skills/cosmic-build/skills/cosmic-design/scripts/reconcilers/backend_rule_dedupe.py +0 -380
- package/skills/cosmic-build/skills/cosmic-design/scripts/render_work_plan.py +0 -1930
- package/skills/cosmic-build/skills/cosmic-design/scripts/semantic_tag_registry.py +0 -385
- package/skills/cosmic-build/skills/cosmic-design/scripts/test/test_compile_plan_with_design_dm.py +0 -216
- package/skills/cosmic-build/skills/cosmic-design/templates/api_semantic_alignment.md +0 -67
- package/skills/cosmic-build/skills/cosmic-design/templates/backend_semantic_alignment.md +0 -68
- package/skills/cosmic-build/skills/cosmic-design/templates/design_dispatch.md +0 -83
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.en.json +0 -108
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.id.json +0 -106
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.md.tpl +0 -21
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.ms.json +0 -106
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.th.json +0 -106
- package/skills/cosmic-build/skills/cosmic-design/templates/development-plan.zh.json +0 -108
- package/skills/cosmic-build/skills/cosmic-design/templates/reconcile_dispatch.md +0 -38
- package/skills/cosmic-build/skills/cosmic-design/templates/semantic_alignment_common.md +0 -32
- package/skills/cosmic-build/skills/cosmic-executor/SKILL.md +0 -107
- package/skills/cosmic-build/skills/cosmic-executor/templates/aggregate_dispatch.md +0 -36
- package/skills/cosmic-build/skills/cosmic-executor/templates/capability_aggregate_dispatch.md +0 -73
- package/skills/cosmic-build/skills/cosmic-executor/templates/capability_dispatch.md +0 -35
- package/skills/cosmic-build/skills/cosmic-executor/templates/dispatch.md +0 -36
- package/skills/cosmic-build/skills/cosmic-executor/templates/metadata_dispatch.md +0 -40
- package/skills/cosmic-build/skills/cosmic-meta-api/runtime/artifacts/artifact_a60fac2aabf6.json +0 -330
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/openapi.py +0 -57
- package/skills/cosmic-build/skills/cosmic-meta-modeling/CORE-RULES.md +0 -159
- package/skills/cosmic-build/skills/cosmic-meta-modeling/TASK-ROUTING.json +0 -232
- package/skills/cosmic-build/skills/cosmic-meta-modeling/checklists/modeling-checklist.md +0 -170
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/basedata/SKILL.md +0 -16
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/build/SKILL.md +0 -581
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/context/SKILL.md +0 -11
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/operation-match/SKILL.md +0 -131
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/parse/SKILL.md +0 -670
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/reference/SKILL.md +0 -69
- package/skills/cosmic-build/skills/cosmic-meta-modeling/prompts/repair-prompt.md +0 -56
- package/skills/cosmic-build/skills/cosmic-meta-modeling/prompts/requirement-system-prompt.md +0 -387
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/build-core.md +0 -28
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/build-extensions.md +0 -20
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/legacy-modeling-router.md +0 -398
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/parse-extensions.md +0 -20
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/zero-confirm-runbook.md +0 -30
- package/skills/cosmic-build/skills/cosmic-meta-modifier/meta-copilot-system-prompt.md +0 -123
- package/skills/cosmic-build/skills/cosmic-meta-modifier/metaop-reference.md +0 -7
- package/skills/cosmic-build/skills/cosmic-meta-modifier/references/legacy-router.md +0 -791
- package/skills/cosmic-build/skills/cosmic-meta-ui/modules/context/SKILL.md +0 -107
- package/skills/cosmic-build/skills/cosmic-requirements/SKILL.md +0 -51
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc.en.json +0 -45
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc.id.json +0 -45
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc.ms.json +0 -45
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc.th.json +0 -45
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc.zh.json +0 -45
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc_api.md.tpl +0 -65
- package/skills/cosmic-build/skills/cosmic-requirements/spec/templates/requirements_doc_base.md.tpl +0 -85
- package/skills/cosmic-build/skills/cosmic-requirements/steps/step-1-5.md +0 -91
- package/skills/cosmic-build/skills/cosmic-requirements/steps/step-1.md +0 -58
- package/skills/cosmic-build/skills/cosmic-requirements/steps/step-2.md +0 -20
- package/skills/cosmic-build/skills/cosmic-requirements/steps/step-3.md +0 -39
- package/skills/cosmic-build/skills/cosmic-requirements/steps/step-4.md +0 -40
- package/skills/cosmic-build/skills/cosmic-testing/SKILL.md +0 -154
- package/skills/cosmic-build/skills/nano-coding-impl/SKILL.md +0 -203
- package/skills/cosmic-build/skills/nano-coding-impl/templates/dynamic_form_data_bridge.java.tpl +0 -62
- package/skills/cosmic-build/skills/nano-coding-impl/templates/dynamic_form_popup.java.tpl +0 -53
- /package/skills/cosmic-build/{capabilities/_shared/property_names.py → scripts/property_contracts.py} +0 -0
|
@@ -1,1422 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""capability_plan_emit — capabilityPlan section 规整化脚本。
|
|
3
|
-
|
|
4
|
-
角色
|
|
5
|
-
----
|
|
6
|
-
类似 data_model_emit.py 之于 dataModel:
|
|
7
|
-
LLM 写出的 capability plan 草稿(可能含自创字段名)经此脚本规整为
|
|
8
|
-
PRD v0.4 schema 的 design.{workNo}.capabilityPlan.json。
|
|
9
|
-
|
|
10
|
-
为什么需要这个脚本(M1.8 修复)
|
|
11
|
-
-------------------------------
|
|
12
|
-
car_rental 案例(思考 202605191406)暴露:LLM 高频写出
|
|
13
|
-
`{"tasks": [{"type": "add_operation", "targetEntity": "car",
|
|
14
|
-
"operationKey": "rent_out", "displayName": "租出"}, ...]}`
|
|
15
|
-
这种自创 schema,与 schemas/capability-plan.schema.json 完全错位。
|
|
16
|
-
finalize_design.py 不读取,design_validator.py 不校验,
|
|
17
|
-
development-plan.md 不渲染——capability 链路实际未生效。
|
|
18
|
-
|
|
19
|
-
本脚本提供"草稿→规整产物"的可控通道:
|
|
20
|
-
1. 读取 LLM 写在 stage_b.{workNo}.capabilityPlan.draft.json 的草稿;
|
|
21
|
-
2. 字段名归一映射(type→capability、targetEntity→formNumber、
|
|
22
|
-
裸 operationKey/operationName 顶层→input 包装等);
|
|
23
|
-
3. 自动补 taskId、version、phases 包装;
|
|
24
|
-
4. 兜底校验(schema 严格、与本脚本归一后产物一致);
|
|
25
|
-
5. 写入 _runtime/design.{workNo}.capabilityPlan.json。
|
|
26
|
-
|
|
27
|
-
任何无法自动归一的差异(capability 不在 enum / 缺关键字段无法补)→
|
|
28
|
-
立即 ERROR 并给出"应该写什么"的修正建议。
|
|
29
|
-
|
|
30
|
-
Fan-out fragment 产物所有权
|
|
31
|
-
--------------------------
|
|
32
|
-
`emit_fragment` 只写一个 capability fragment。全部 fragment 成功后,
|
|
33
|
-
capabilityPlan 产物 owner 显式调用一次 `merge-fragments`;worker 不再竞争
|
|
34
|
-
共享主段的收口职责。
|
|
35
|
-
|
|
36
|
-
compile 时机:由唯一产物 owner 显式 merge:
|
|
37
|
-
- snapshot 存在 + 编译成功 → 主段为编译态(fieldKey 已反查、含 batchKey);
|
|
38
|
-
- snapshot 存在 + 编译失败 → 主段保持语义形态 + stderr 输出 errors(finalize
|
|
39
|
-
端凭 batchKey 缺失即 ERROR,不再反应式 --compile 救场);
|
|
40
|
-
- snapshot 缺失 → 显式 merge 失败,grouped tasks 不得完成。
|
|
41
|
-
- design.dataModel.json 存在 → 字段存在性 + scope 校验以 `snapshot ∪ design.dataModel`
|
|
42
|
-
作并集真值源(本轮新设计、平台未拉取的字段被同轮 capabilityPlan 引用是合法形态);
|
|
43
|
-
displayName / bizWord 反查仍仅以 snapshot 为源(B 方向:子 Agent 应写英文 fieldKey,
|
|
44
|
-
该点由 `make-fan-out-subagent-write-fieldkey-only` change 独立治理)。
|
|
45
|
-
|
|
46
|
-
fragment emit 保持独立;compile 无法产出可执行主段时,显式 merge 立即失败,
|
|
47
|
-
不得等到 finalize 才暴露。
|
|
48
|
-
保留独立 `--link` CLI 入口供手动恢复场景。
|
|
49
|
-
|
|
50
|
-
CLI
|
|
51
|
-
---
|
|
52
|
-
python capability_plan_emit.py --app-root <abs_path> --work-no <workNo>
|
|
53
|
-
python capability_plan_emit.py --app-root <abs_path> --work-no <workNo> --strict
|
|
54
|
-
# strict: 不接受任何兼容映射,发现自创字段名直接 ERROR
|
|
55
|
-
python capability_plan_emit.py --app-root <abs_path> --work-no <workNo> --link
|
|
56
|
-
# 兼容恢复别名;正常路径只显式调用一次 --mode merge-fragments
|
|
57
|
-
python capability_plan_emit.py --app-root <abs_path> --work-no <workNo> --link --force-unlock
|
|
58
|
-
# 强制清理残留锁文件后执行 link
|
|
59
|
-
|
|
60
|
-
Exit codes
|
|
61
|
-
----------
|
|
62
|
-
0 规整成功,产物已落盘
|
|
63
|
-
2 入参错误 / 草稿文件不存在
|
|
64
|
-
3 草稿 JSON 解析失败
|
|
65
|
-
4 存在不可归一的字段名 / 缺失关键参数 / compile 失败
|
|
66
|
-
5 规整后产物仍不通过 schema 严格校验
|
|
67
|
-
6 manifest / 上游 dataModel task 前置未满足
|
|
68
|
-
7 锁超时无法获取(--link 模式)
|
|
69
|
-
|
|
70
|
-
Output
|
|
71
|
-
------
|
|
72
|
-
{appRoot}/_runtime/design.{workNo}.capabilityPlan.json (PRD schema)
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
from __future__ import annotations
|
|
76
|
-
|
|
77
|
-
import argparse
|
|
78
|
-
import json
|
|
79
|
-
import os
|
|
80
|
-
import re
|
|
81
|
-
import sys
|
|
82
|
-
from pathlib import Path
|
|
83
|
-
from typing import Any
|
|
84
|
-
|
|
85
|
-
# ---------------------------------------------------------------------------
|
|
86
|
-
# 常量与映射
|
|
87
|
-
# ---------------------------------------------------------------------------
|
|
88
|
-
|
|
89
|
-
CAPABILITY_ENUM = {"add_rules", "add_operation", "set_complex_property", "set_properties", "list_column", "filter_config", "list_view_props", "toolbar_config"}
|
|
90
|
-
PHASE_ENUM = {"metadata-class", "code-class", "ui-class"}
|
|
91
|
-
|
|
92
|
-
# LLM 高频自创字段名 → PRD 字段名(task 级)
|
|
93
|
-
TASK_FIELD_ALIASES: dict[str, str] = {
|
|
94
|
-
"type": "capability",
|
|
95
|
-
"capabilityId": "capability",
|
|
96
|
-
"capability_id": "capability",
|
|
97
|
-
"targetEntity": "formNumber",
|
|
98
|
-
"entityKey": "formNumber",
|
|
99
|
-
"bizName": "formNumber", # 仅当 task 顶层无 formNumber 时才映射
|
|
100
|
-
"form": "formNumber",
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
# input 内可被顶层平铺的字段(应自动收编入 input)
|
|
104
|
-
INPUT_TOP_LEVEL_KEYS = {
|
|
105
|
-
"operationKey", "operationName", "operationType",
|
|
106
|
-
"rules", "ruleName", "modifications",
|
|
107
|
-
"fieldKey", "complexType", "config",
|
|
108
|
-
"buttonHint", "serviceHint", "forceWrite",
|
|
109
|
-
"displayName", # → operationName (add_operation only)
|
|
110
|
-
# list capabilities high-frequency fields
|
|
111
|
-
"operation", "columnKey", "parentScope", "properties",
|
|
112
|
-
"referenceColumn", "position", "name", "order", "hyperlink",
|
|
113
|
-
"afterColumn", "columnType",
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
INPUT_FIELD_ALIASES: dict[str, str] = {
|
|
117
|
-
"displayName": "operationName",
|
|
118
|
-
"name": "operationName",
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
# 各 capability input 的"无条件必填"字段(与 capabilities/<cap>/schema.json 的
|
|
122
|
-
# 顶层 required 严格对齐;条件必填(如 add_rules.businessDesc 在 requiresPlugin=true
|
|
123
|
-
# 时才必填)由 _strict_validate 的 conditional 分支接管,不在此处罗列)。
|
|
124
|
-
#
|
|
125
|
-
# 历史教训(M1.OPT-A1):曾在此把 add_rules 的 rules 列为无条件必填,叠加
|
|
126
|
-
# `_is_present([]) == False` 的"空容器=不存在"语义,导致 LLM 严格按 capability-plan.md
|
|
127
|
-
# §0.2 范本写 `"rules": []`(requiresPlugin=true 占位)时被脚本毙掉,引发
|
|
128
|
-
# ~190 行思考摇摆(参见 PRD-M2 / 思考202605191406)。已收敛到 schema 单源真相。
|
|
129
|
-
REQUIRED_INPUT_FIELDS: dict[str, set[str]] = {
|
|
130
|
-
"add_operation": {"formNumber", "operationName", "operationKey"},
|
|
131
|
-
"add_rules": {"formNumber"},
|
|
132
|
-
"set_complex_property": {"formNumber", "fieldKey", "complexType"},
|
|
133
|
-
# add-set-properties-to-fan-out:set_properties 入参三必填字段与 capabilities/set_properties/schema.json
|
|
134
|
-
# 保持一致;properties 字段的 minProperties=1 由 _validate_conditional_required 充补。
|
|
135
|
-
"set_properties": {"formNumber", "elementKey", "properties"},
|
|
136
|
-
# list capabilities — unconditional required fields per manifest.json schemas
|
|
137
|
-
"list_column": {"formNumber", "operation"},
|
|
138
|
-
"filter_config": {"formNumber", "operation", "parentScope"},
|
|
139
|
-
"list_view_props": {"formNumber", "operation", "properties"},
|
|
140
|
-
"toolbar_config": {"formNumber", "operation", "name", "operationKey"},
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
RE_TASK_ID = re.compile(r"^C\d+$")
|
|
144
|
-
RE_OP_KEY = re.compile(r"^[a-zA-Z][a-zA-Z0-9_]*$")
|
|
145
|
-
|
|
146
|
-
EXIT_UPSTREAM_PREREQ = 6
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
def _load_design_manifest(app_root: Path, work_no: str) -> dict[str, Any] | None:
|
|
150
|
-
path = app_root / "_runtime" / f"design-manifest.{work_no}.json"
|
|
151
|
-
if not path.is_file():
|
|
152
|
-
return None
|
|
153
|
-
try:
|
|
154
|
-
data = json.loads(path.read_text(encoding="utf-8-sig"))
|
|
155
|
-
except (json.JSONDecodeError, OSError):
|
|
156
|
-
return None
|
|
157
|
-
return data if isinstance(data, dict) else None
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
def _manifest_enabled(manifest: dict[str, Any] | None, capability_id: str) -> bool:
|
|
161
|
-
if not manifest:
|
|
162
|
-
return False
|
|
163
|
-
tasks = manifest.get("tasks")
|
|
164
|
-
if not isinstance(tasks, list):
|
|
165
|
-
return False
|
|
166
|
-
for t in tasks:
|
|
167
|
-
if not isinstance(t, dict):
|
|
168
|
-
continue
|
|
169
|
-
if str(t.get("taskType") or "") != capability_id:
|
|
170
|
-
continue
|
|
171
|
-
payload = t.get("payload") if isinstance(t.get("payload"), dict) else {}
|
|
172
|
-
return payload.get("decision") == "enabled"
|
|
173
|
-
return False
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
def _manifest_allows_without_data_model(app_root: Path, work_no: str) -> bool:
|
|
177
|
-
# 在 D1 内联架构下,capabilityPlan 不再是独立可启用任务,它由 D1 (dataModel)
|
|
178
|
-
# 子 Agent 内联读取 _dispatcher 后产出;dataModel 始终是 capabilityPlan 的前置,
|
|
179
|
-
# 该分支保留为 False。
|
|
180
|
-
return False
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
def _manifest_requires_data_model(app_root: Path, work_no: str) -> bool:
|
|
184
|
-
manifest = _load_design_manifest(app_root, work_no)
|
|
185
|
-
return bool(manifest and _manifest_enabled(manifest, "dataModel"))
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
def _guard_upstream_ready(
|
|
189
|
-
app_root: Path,
|
|
190
|
-
work_no: str,
|
|
191
|
-
msgs: list[str],
|
|
192
|
-
*,
|
|
193
|
-
require_snapshot: bool,
|
|
194
|
-
) -> int | None:
|
|
195
|
-
"""capabilityPlan emit 前置:manifest 必须存在;仅启用 dataModel 时要求 dataModel 产物。"""
|
|
196
|
-
manifest = _load_design_manifest(app_root, work_no)
|
|
197
|
-
if manifest is None:
|
|
198
|
-
msgs.append(
|
|
199
|
-
"[ERROR] DESIGN_MANIFEST_REQUIRED: 缺少 design-manifest;"
|
|
200
|
-
"动态 DAG 模式下 capabilityPlan 只能由 manifest 调度。"
|
|
201
|
-
)
|
|
202
|
-
return EXIT_UPSTREAM_PREREQ
|
|
203
|
-
if _manifest_allows_without_data_model(app_root, work_no):
|
|
204
|
-
msgs.append(
|
|
205
|
-
"[INFO] design manifest 未启用 dataModel;capabilityPlan 允许基于既有对象语义形态产出。"
|
|
206
|
-
)
|
|
207
|
-
return None
|
|
208
|
-
if not _manifest_requires_data_model(app_root, work_no):
|
|
209
|
-
msgs.append(
|
|
210
|
-
"[ERROR] DESIGN_MANIFEST_CAPABILITY_DISABLED: manifest 未启用 dataModel,禁止产出 capabilityPlan section。"
|
|
211
|
-
)
|
|
212
|
-
return EXIT_UPSTREAM_PREREQ
|
|
213
|
-
try:
|
|
214
|
-
from data_model_ready_check import collect_data_model_not_ready_reasons
|
|
215
|
-
except ImportError as exc:
|
|
216
|
-
msgs.append(f"[ERROR] 无法加载 data_model_ready_check: {exc}")
|
|
217
|
-
return EXIT_UPSTREAM_PREREQ
|
|
218
|
-
|
|
219
|
-
reasons = collect_data_model_not_ready_reasons(
|
|
220
|
-
app_root, work_no, require_snapshot=require_snapshot,
|
|
221
|
-
)
|
|
222
|
-
if not reasons:
|
|
223
|
-
return None
|
|
224
|
-
|
|
225
|
-
msgs.append(
|
|
226
|
-
"[ERROR] CAPABILITY_PLAN_PREREQ_DATAMODEL: capabilityPlan 依赖 dataModel 产物"
|
|
227
|
-
"(dataModel section / metadata snapshot),当前 dataModel 产物尚未完成。"
|
|
228
|
-
)
|
|
229
|
-
msgs.append(
|
|
230
|
-
" 说明: 在设计 DAG 中,capabilityPlan 必须等待 dependsOn 对应 section 就绪。"
|
|
231
|
-
)
|
|
232
|
-
for i, reason in enumerate(reasons, 1):
|
|
233
|
-
msgs.append(f" [{i}] {reason}")
|
|
234
|
-
msgs.append(
|
|
235
|
-
" 须先完成 dataModel: python .../skills/cosmic-design/scripts/data_model_emit.py "
|
|
236
|
-
f'--app-root "{app_root}" --work-no "{work_no}"'
|
|
237
|
-
)
|
|
238
|
-
msgs.append(" dataModel section ready 后,再重跑 capability_plan_emit --compile(capabilityPlan draft 可保留)")
|
|
239
|
-
msgs.append(" NEXT_REQUIRED_CAPABILITY=dataModel")
|
|
240
|
-
return EXIT_UPSTREAM_PREREQ
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
# ---------------------------------------------------------------------------
|
|
244
|
-
# 主流程
|
|
245
|
-
# ---------------------------------------------------------------------------
|
|
246
|
-
|
|
247
|
-
def emit(app_root: Path, work_no: str, strict: bool = False) -> tuple[int, dict[str, Any] | None, list[str]]:
|
|
248
|
-
"""读取草稿 → 规整 → 落盘。返回 (exit_code, plan_dict | None, messages)。"""
|
|
249
|
-
runtime_dir = app_root / "_runtime"
|
|
250
|
-
out_path = runtime_dir / f"design.{work_no}.capabilityPlan.json"
|
|
251
|
-
# Primary: section file (LLM writes directly). Fallback: old draft path.
|
|
252
|
-
draft_path = out_path
|
|
253
|
-
legacy_draft = runtime_dir / f"stage_b.{work_no}.capabilityPlan.draft.json"
|
|
254
|
-
|
|
255
|
-
msgs: list[str] = []
|
|
256
|
-
|
|
257
|
-
blocked = _guard_upstream_ready(app_root, work_no, msgs, require_snapshot=False)
|
|
258
|
-
if blocked is not None:
|
|
259
|
-
return blocked, None, msgs
|
|
260
|
-
|
|
261
|
-
if not draft_path.exists():
|
|
262
|
-
# 兜底:尝试读旧版 draft 路径
|
|
263
|
-
if legacy_draft.exists():
|
|
264
|
-
msgs.append(
|
|
265
|
-
f"[INFO] 主产物不存在,回退读取旧版草稿: {legacy_draft}"
|
|
266
|
-
)
|
|
267
|
-
draft_path = legacy_draft
|
|
268
|
-
else:
|
|
269
|
-
msgs.append(
|
|
270
|
-
f"[ERROR] section 文件不存在: {out_path}(也允许旧版草稿 {legacy_draft})"
|
|
271
|
-
)
|
|
272
|
-
return 2, None, msgs
|
|
273
|
-
|
|
274
|
-
try:
|
|
275
|
-
draft = json.loads(draft_path.read_text(encoding="utf-8-sig"))
|
|
276
|
-
except (json.JSONDecodeError, OSError) as e:
|
|
277
|
-
msgs.append(f"[ERROR] 草稿 JSON 解析失败: {e}")
|
|
278
|
-
return 3, None, msgs
|
|
279
|
-
|
|
280
|
-
if not isinstance(draft, dict):
|
|
281
|
-
msgs.append("[ERROR] 草稿顶层必须是对象")
|
|
282
|
-
return 4, None, msgs
|
|
283
|
-
|
|
284
|
-
plan, normalize_msgs, hard_errors = _normalize(draft, strict=strict)
|
|
285
|
-
msgs.extend(normalize_msgs)
|
|
286
|
-
|
|
287
|
-
if hard_errors:
|
|
288
|
-
msgs.append(f"[ERROR] 存在不可自动归一的差异,需 LLM 手工修正(来源:{draft_path}):")
|
|
289
|
-
for e in hard_errors:
|
|
290
|
-
msgs.append(f" - {e}")
|
|
291
|
-
msgs.append(" 参考: capabilities/_dispatcher/SKILL.md §0 schema 范本")
|
|
292
|
-
return 4, None, msgs
|
|
293
|
-
|
|
294
|
-
schema_errors = _strict_validate(plan)
|
|
295
|
-
if schema_errors:
|
|
296
|
-
msgs.append(f"[ERROR] 规整后仍不通过 schema 严格校验(产物:{out_path}):")
|
|
297
|
-
for e in schema_errors:
|
|
298
|
-
msgs.append(f" - {e}")
|
|
299
|
-
return 5, None, msgs
|
|
300
|
-
|
|
301
|
-
out_path.parent.mkdir(parents=True, exist_ok=True)
|
|
302
|
-
out_path.write_text(
|
|
303
|
-
json.dumps(plan, ensure_ascii=False, indent=2) + "\n",
|
|
304
|
-
encoding="utf-8",
|
|
305
|
-
)
|
|
306
|
-
n_tasks = sum(len(p.get("tasks") or []) for p in plan.get("phases") or [])
|
|
307
|
-
msgs.append(f"[OK] capability plan emitted: {out_path} (tasks={n_tasks})")
|
|
308
|
-
return 0, plan, msgs
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
def emit_and_compile(
|
|
312
|
-
app_root: Path,
|
|
313
|
-
work_no: str,
|
|
314
|
-
*,
|
|
315
|
-
strict: bool = False,
|
|
316
|
-
) -> tuple[int, dict[str, Any] | None, list[str]]:
|
|
317
|
-
"""emit 后编译 input;启用 dataModel 时要求 dataModel section + snapshot 就绪。"""
|
|
318
|
-
msgs: list[str] = []
|
|
319
|
-
blocked = _guard_upstream_ready(app_root, work_no, msgs, require_snapshot=True)
|
|
320
|
-
if blocked is not None:
|
|
321
|
-
return blocked, None, msgs
|
|
322
|
-
|
|
323
|
-
code, plan, emit_msgs = emit(app_root, work_no, strict=strict)
|
|
324
|
-
# --compile 模式下 emit 的 "[OK] capability plan emitted" 是中间态语义形态产物的成功提示,
|
|
325
|
-
# 若后续 compile 失败会误导主控以为整体成功;保留 [INFO]/[WARN]/[ERROR],过滤掉中间 [OK]。
|
|
326
|
-
msgs.extend([m for m in emit_msgs if not m.startswith("[OK] capability plan emitted")])
|
|
327
|
-
if code != 0 or plan is None:
|
|
328
|
-
return code, plan, msgs
|
|
329
|
-
|
|
330
|
-
snap = app_root / "_runtime" / f"metadata-snapshot.{work_no}.json"
|
|
331
|
-
if not snap.is_file():
|
|
332
|
-
if _manifest_allows_without_data_model(app_root, work_no):
|
|
333
|
-
msgs.append(
|
|
334
|
-
f"[WARN] metadata-snapshot 缺失: {snap};design manifest 未启用 dataModel,"
|
|
335
|
-
"本次保留语义形态 capabilityPlan,不执行 snapshot compile。"
|
|
336
|
-
)
|
|
337
|
-
return 0, plan, msgs
|
|
338
|
-
msgs.append(
|
|
339
|
-
f"[ERROR] metadata-snapshot 缺失: {snap}\n"
|
|
340
|
-
" → --compile 需要 snapshot;请重跑 data_model_emit.py"
|
|
341
|
-
)
|
|
342
|
-
return EXIT_UPSTREAM_PREREQ, None, msgs
|
|
343
|
-
try:
|
|
344
|
-
from capability_input_compiler import compile_plan
|
|
345
|
-
|
|
346
|
-
snap_data = json.loads(snap.read_text(encoding="utf-8-sig"))
|
|
347
|
-
# restore-set-complex-property-contract-truth:并集真值源(snapshot ∪ design.dataModel)
|
|
348
|
-
dm_path = app_root / "_runtime" / f"design.{work_no}.dataModel.json"
|
|
349
|
-
design_dm: dict[str, Any] | None = None
|
|
350
|
-
if dm_path.is_file():
|
|
351
|
-
try:
|
|
352
|
-
design_dm = json.loads(dm_path.read_text(encoding="utf-8-sig"))
|
|
353
|
-
except Exception as dm_exc: # noqa: BLE001
|
|
354
|
-
msgs.append(
|
|
355
|
-
f"[WARN] design.dataModel 加载失败: {dm_exc};本次以仅 snapshot 模式编译"
|
|
356
|
-
)
|
|
357
|
-
design_dm = None
|
|
358
|
-
compiled, errors = compile_plan(plan, snap_data, design_data_model=design_dm)
|
|
359
|
-
if errors:
|
|
360
|
-
msgs.append("[ERROR] capability input 编译失败:")
|
|
361
|
-
for e in errors:
|
|
362
|
-
msgs.append(f" - {e}")
|
|
363
|
-
# 原子化:emit() 已在磁盘落下语义形态 plan,compile 失败时必须删除,
|
|
364
|
-
# 避免下游 finalize_design.py / 主控误读为“已编译”;同时保证 exit code 4 + 无文件产物。
|
|
365
|
-
out_path = app_root / "_runtime" / f"design.{work_no}.capabilityPlan.json"
|
|
366
|
-
if out_path.is_file():
|
|
367
|
-
try:
|
|
368
|
-
out_path.unlink()
|
|
369
|
-
msgs.append(f"[INFO] 已删除编译失败的中间产物: {out_path}")
|
|
370
|
-
except OSError as unlink_exc:
|
|
371
|
-
msgs.append(f"[WARN] 中间产物删除失败: {unlink_exc}")
|
|
372
|
-
return 4, None, msgs
|
|
373
|
-
out_path = app_root / "_runtime" / f"design.{work_no}.capabilityPlan.json"
|
|
374
|
-
out_path.write_text(
|
|
375
|
-
json.dumps(compiled, ensure_ascii=False, indent=2) + "\n",
|
|
376
|
-
encoding="utf-8",
|
|
377
|
-
)
|
|
378
|
-
msgs.append(f"[OK] capability plan compiled in-place: {out_path}")
|
|
379
|
-
return 0, compiled, msgs
|
|
380
|
-
except Exception as exc:
|
|
381
|
-
msgs.append(f"[ERROR] compile 异常: {exc}")
|
|
382
|
-
return 4, None, msgs
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
def _normalize(draft: dict[str, Any], *, strict: bool) -> tuple[dict[str, Any], list[str], list[str]]:
|
|
386
|
-
"""把任意输入归一为 PRD schema。
|
|
387
|
-
|
|
388
|
-
返回 (plan, soft_messages, hard_errors)。
|
|
389
|
-
soft_messages: 自动归一过程中的提示(不阻断)
|
|
390
|
-
hard_errors: 无法归一的硬错误(阻断)
|
|
391
|
-
"""
|
|
392
|
-
soft: list[str] = []
|
|
393
|
-
hard: list[str] = []
|
|
394
|
-
|
|
395
|
-
# 1. 顶层归一:抽 phases / 裸 tasks
|
|
396
|
-
if isinstance(draft.get("phases"), list):
|
|
397
|
-
phases_raw = draft["phases"]
|
|
398
|
-
version = str(draft.get("version") or "1.0.0")
|
|
399
|
-
elif isinstance(draft.get("tasks"), list):
|
|
400
|
-
if strict:
|
|
401
|
-
hard.append(
|
|
402
|
-
"顶层缺 phases 包装(strict 模式禁止自动包装)"
|
|
403
|
-
";正确形态见 _dispatcher/SKILL.md §0.1"
|
|
404
|
-
)
|
|
405
|
-
return {}, soft, hard
|
|
406
|
-
soft.append(
|
|
407
|
-
"[WARN] 顶层 tasks 缺 phases 包装 → 自动包装为 metadata-class phase"
|
|
408
|
-
)
|
|
409
|
-
phases_raw = [{"phase": "metadata-class", "tasks": draft["tasks"]}]
|
|
410
|
-
version = str(draft.get("version") or "1.0.0")
|
|
411
|
-
else:
|
|
412
|
-
hard.append("顶层既无 phases 也无 tasks,无法识别任何 capability 任务")
|
|
413
|
-
return {}, soft, hard
|
|
414
|
-
|
|
415
|
-
if version != "1.0.0":
|
|
416
|
-
soft.append(f"[WARN] version='{version}' 不是 '1.0.0',已强制写为 '1.0.0'")
|
|
417
|
-
version = "1.0.0"
|
|
418
|
-
|
|
419
|
-
# 2. phase 归一
|
|
420
|
-
phases_out: list[dict[str, Any]] = []
|
|
421
|
-
seen_task_ids_global: set[str] = set()
|
|
422
|
-
auto_id_counter = 1
|
|
423
|
-
|
|
424
|
-
for p_idx, phase in enumerate(phases_raw):
|
|
425
|
-
ploc = f"$.phases[{p_idx}]"
|
|
426
|
-
if not isinstance(phase, dict):
|
|
427
|
-
hard.append(f"{ploc} 不是对象")
|
|
428
|
-
continue
|
|
429
|
-
phase_name = str(phase.get("phase") or phase.get("phaseName") or "metadata-class").strip()
|
|
430
|
-
if phase_name not in PHASE_ENUM:
|
|
431
|
-
hard.append(
|
|
432
|
-
f"{ploc}.phase='{phase_name}' 不在 {sorted(PHASE_ENUM)}"
|
|
433
|
-
)
|
|
434
|
-
continue
|
|
435
|
-
tasks_raw = phase.get("tasks")
|
|
436
|
-
if tasks_raw is None:
|
|
437
|
-
soft.append(f"[WARN] {ploc} 无 tasks,自动填空数组")
|
|
438
|
-
tasks_raw = []
|
|
439
|
-
if not isinstance(tasks_raw, list):
|
|
440
|
-
hard.append(f"{ploc}.tasks 不是数组")
|
|
441
|
-
continue
|
|
442
|
-
|
|
443
|
-
tasks_out: list[dict[str, Any]] = []
|
|
444
|
-
seen_task_ids_phase: set[str] = set()
|
|
445
|
-
|
|
446
|
-
for t_idx, task in enumerate(tasks_raw):
|
|
447
|
-
tloc = f"{ploc}.tasks[{t_idx}]"
|
|
448
|
-
if not isinstance(task, dict):
|
|
449
|
-
hard.append(f"{tloc} 不是对象")
|
|
450
|
-
continue
|
|
451
|
-
normalized, t_soft, t_hard = _normalize_task(
|
|
452
|
-
task, p_idx, t_idx,
|
|
453
|
-
phase_name=phase_name,
|
|
454
|
-
strict=strict,
|
|
455
|
-
auto_id_seed=lambda: _next_auto_id(seen_task_ids_global, auto_id_counter)[0],
|
|
456
|
-
)
|
|
457
|
-
soft.extend(t_soft)
|
|
458
|
-
hard.extend(t_hard)
|
|
459
|
-
if normalized is None:
|
|
460
|
-
continue
|
|
461
|
-
tid = normalized.get("taskId") or ""
|
|
462
|
-
if tid in seen_task_ids_phase:
|
|
463
|
-
hard.append(
|
|
464
|
-
f"{tloc}.taskId='{tid}' 在 phase 内重复"
|
|
465
|
-
)
|
|
466
|
-
continue
|
|
467
|
-
if not tid:
|
|
468
|
-
tid, auto_id_counter = _next_auto_id(seen_task_ids_global, auto_id_counter)
|
|
469
|
-
normalized["taskId"] = tid
|
|
470
|
-
soft.append(
|
|
471
|
-
f"[WARN] {tloc} taskId 缺失,已自动分配为 '{tid}'"
|
|
472
|
-
)
|
|
473
|
-
seen_task_ids_phase.add(tid)
|
|
474
|
-
seen_task_ids_global.add(tid)
|
|
475
|
-
tasks_out.append(normalized)
|
|
476
|
-
|
|
477
|
-
phases_out.append({"phase": phase_name, "tasks": tasks_out})
|
|
478
|
-
|
|
479
|
-
plan: dict[str, Any] = {
|
|
480
|
-
"version": version,
|
|
481
|
-
"phases": phases_out,
|
|
482
|
-
}
|
|
483
|
-
return plan, soft, hard
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
def _next_auto_id(used: set[str], counter: int) -> tuple[str, int]:
|
|
487
|
-
while True:
|
|
488
|
-
candidate = f"C{counter}"
|
|
489
|
-
counter += 1
|
|
490
|
-
if candidate not in used:
|
|
491
|
-
return candidate, counter
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
def _normalize_task(
|
|
495
|
-
task: dict[str, Any],
|
|
496
|
-
p_idx: int, t_idx: int,
|
|
497
|
-
*,
|
|
498
|
-
phase_name: str,
|
|
499
|
-
strict: bool,
|
|
500
|
-
auto_id_seed: Any,
|
|
501
|
-
) -> tuple[dict[str, Any] | None, list[str], list[str]]:
|
|
502
|
-
"""单个 task 的归一。"""
|
|
503
|
-
soft: list[str] = []
|
|
504
|
-
hard: list[str] = []
|
|
505
|
-
loc = f"$.phases[{p_idx}].tasks[{t_idx}]"
|
|
506
|
-
|
|
507
|
-
out: dict[str, Any] = {}
|
|
508
|
-
|
|
509
|
-
# taskId
|
|
510
|
-
raw_id = str(task.get("taskId") or task.get("id") or "").strip()
|
|
511
|
-
if raw_id and not RE_TASK_ID.match(raw_id):
|
|
512
|
-
if strict:
|
|
513
|
-
hard.append(f"{loc}.taskId='{raw_id}' 不符合 ^C\\d+$(strict 模式禁止自动重写)")
|
|
514
|
-
else:
|
|
515
|
-
soft.append(f"[WARN] {loc}.taskId='{raw_id}' 格式异常,将自动重新分配")
|
|
516
|
-
raw_id = ""
|
|
517
|
-
if raw_id:
|
|
518
|
-
out["taskId"] = raw_id
|
|
519
|
-
|
|
520
|
-
# capability(含 type 别名映射)
|
|
521
|
-
cap = task.get("capability")
|
|
522
|
-
if not cap:
|
|
523
|
-
for alias_src in ("type", "capabilityId", "capability_id"):
|
|
524
|
-
if alias_src in task and task[alias_src]:
|
|
525
|
-
cap = task[alias_src]
|
|
526
|
-
if strict:
|
|
527
|
-
hard.append(
|
|
528
|
-
f"{loc} 用 '{alias_src}' 替代 'capability'(strict 模式不允许)"
|
|
529
|
-
)
|
|
530
|
-
else:
|
|
531
|
-
soft.append(
|
|
532
|
-
f"[WARN] {loc} 字段名 '{alias_src}' → 'capability' 自动归一"
|
|
533
|
-
)
|
|
534
|
-
break
|
|
535
|
-
cap = str(cap or "").strip()
|
|
536
|
-
if not cap:
|
|
537
|
-
hard.append(f"{loc}.capability 缺失,无法归一")
|
|
538
|
-
return None, soft, hard
|
|
539
|
-
if cap not in CAPABILITY_ENUM:
|
|
540
|
-
hard.append(
|
|
541
|
-
f"{loc}.capability='{cap}' 不在 {sorted(CAPABILITY_ENUM)};"
|
|
542
|
-
"请回 _dispatcher/SKILL.md §0 选择 manifest 中已定义的 capability 类型"
|
|
543
|
-
)
|
|
544
|
-
return None, soft, hard
|
|
545
|
-
out["capability"] = cap
|
|
546
|
-
|
|
547
|
-
# formNumber(含 targetEntity / entityKey 别名映射)
|
|
548
|
-
form_no = str(task.get("formNumber") or "").strip()
|
|
549
|
-
if not form_no:
|
|
550
|
-
for alias_src in ("targetEntity", "entityKey", "form", "bizName"):
|
|
551
|
-
if alias_src in task and task[alias_src]:
|
|
552
|
-
form_no = str(task[alias_src]).strip()
|
|
553
|
-
if strict:
|
|
554
|
-
hard.append(
|
|
555
|
-
f"{loc} 用 '{alias_src}' 替代 'formNumber'(strict 模式不允许)"
|
|
556
|
-
)
|
|
557
|
-
else:
|
|
558
|
-
soft.append(
|
|
559
|
-
f"[WARN] {loc} 字段名 '{alias_src}' → 'formNumber' 自动归一"
|
|
560
|
-
)
|
|
561
|
-
break
|
|
562
|
-
if not form_no:
|
|
563
|
-
hard.append(f"{loc}.formNumber 缺失,无法归一")
|
|
564
|
-
return None, soft, hard
|
|
565
|
-
out["formNumber"] = form_no
|
|
566
|
-
|
|
567
|
-
# input(含顶层平铺 → input 包装)
|
|
568
|
-
inp_raw = task.get("input")
|
|
569
|
-
if isinstance(inp_raw, dict):
|
|
570
|
-
inp = dict(inp_raw)
|
|
571
|
-
elif inp_raw is None:
|
|
572
|
-
inp = {}
|
|
573
|
-
# 顶层平铺:自动收编
|
|
574
|
-
leaked: list[str] = []
|
|
575
|
-
aliases = INPUT_FIELD_ALIASES if cap == "add_operation" else {}
|
|
576
|
-
for k in INPUT_TOP_LEVEL_KEYS:
|
|
577
|
-
if k in task:
|
|
578
|
-
target_k = aliases.get(k, k)
|
|
579
|
-
inp[target_k] = task[k]
|
|
580
|
-
leaked.append(k)
|
|
581
|
-
if leaked:
|
|
582
|
-
if strict:
|
|
583
|
-
hard.append(
|
|
584
|
-
f"{loc} input 字段顶层平铺: {leaked}(strict 模式不允许)"
|
|
585
|
-
)
|
|
586
|
-
return None, soft, hard
|
|
587
|
-
soft.append(
|
|
588
|
-
f"[WARN] {loc} input 字段顶层平铺 {leaked} → 自动收编入 input"
|
|
589
|
-
)
|
|
590
|
-
else:
|
|
591
|
-
hard.append(f"{loc}.input 不是对象")
|
|
592
|
-
return None, soft, hard
|
|
593
|
-
|
|
594
|
-
# input 字段名别名映射
|
|
595
|
-
aliases = INPUT_FIELD_ALIASES if cap == "add_operation" else {}
|
|
596
|
-
inp_normalized: dict[str, Any] = {}
|
|
597
|
-
for k, v in inp.items():
|
|
598
|
-
target_k = aliases.get(k, k)
|
|
599
|
-
if target_k != k:
|
|
600
|
-
soft.append(
|
|
601
|
-
f"[WARN] {loc}.input 字段名 '{k}' → '{target_k}' 自动归一"
|
|
602
|
-
)
|
|
603
|
-
inp_normalized[target_k] = v
|
|
604
|
-
|
|
605
|
-
# input.formNumber 默认与 task.formNumber 一致
|
|
606
|
-
if not str(inp_normalized.get("formNumber") or "").strip():
|
|
607
|
-
inp_normalized["formNumber"] = form_no
|
|
608
|
-
soft.append(f"[INFO] {loc}.input.formNumber 自动从 task.formNumber 继承")
|
|
609
|
-
|
|
610
|
-
# 必填字段检查
|
|
611
|
-
required = REQUIRED_INPUT_FIELDS.get(cap, set())
|
|
612
|
-
missing = [k for k in required if not _is_present(inp_normalized.get(k))]
|
|
613
|
-
if missing:
|
|
614
|
-
hard.append(
|
|
615
|
-
f"{loc}.input 缺必填字段: {missing}(capability={cap});"
|
|
616
|
-
"见 _dispatcher/SKILL.md §0.2 对应正例"
|
|
617
|
-
)
|
|
618
|
-
return None, soft, hard
|
|
619
|
-
|
|
620
|
-
# add_operation 特殊:operationKey 命名
|
|
621
|
-
if cap == "add_operation":
|
|
622
|
-
op_key = str(inp_normalized.get("operationKey") or "").strip()
|
|
623
|
-
if not RE_OP_KEY.match(op_key):
|
|
624
|
-
hard.append(
|
|
625
|
-
f"{loc}.input.operationKey='{op_key}' 不符合 ^[a-zA-Z][a-zA-Z0-9_]*$"
|
|
626
|
-
)
|
|
627
|
-
return None, soft, hard
|
|
628
|
-
op_type = str(inp_normalized.get("operationType") or "").strip()
|
|
629
|
-
if not op_type:
|
|
630
|
-
# v1.4: 缺失或仍是旧"custom"语义层 → 兜底 donothing;compiler/runner 会用 snapshot 白名单再校验
|
|
631
|
-
inp_normalized["operationType"] = "donothing"
|
|
632
|
-
elif op_type in {"custom", "approve", "reject", "cancel_approve"}:
|
|
633
|
-
inp_normalized["operationType"] = "donothing"
|
|
634
|
-
soft.append(
|
|
635
|
-
f"{loc}.input.operationType='{op_type}' 是已废弃的语义值,已自动迁移为 'donothing'"
|
|
636
|
-
)
|
|
637
|
-
|
|
638
|
-
out["input"] = inp_normalized
|
|
639
|
-
|
|
640
|
-
# 可选字段透传
|
|
641
|
-
for k in ("extractionSource", "parallelKey", "dependencyHints"):
|
|
642
|
-
if k in task and task[k] is not None:
|
|
643
|
-
out[k] = task[k]
|
|
644
|
-
|
|
645
|
-
return out, soft, hard
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
def _is_present(v: Any) -> bool:
|
|
649
|
-
"""字段是否"存在"——仅判 None 与空字符串。
|
|
650
|
-
|
|
651
|
-
历史教训(M1.OPT-A1):旧实现把空 list/dict 也视作"不存在",与 schema
|
|
652
|
-
含义不一致——空数组/空对象是合法值,应让 schema 的 conditional required
|
|
653
|
-
去判定(如 add_rules.rules 在 requiresPlugin=true 时合法为空)。"空容器
|
|
654
|
-
=不存在"的语义曾导致 LLM 范本和 emit 行为冲突,被毙的人花 190 行思考
|
|
655
|
-
猜原因(参见思考202605191406)。
|
|
656
|
-
"""
|
|
657
|
-
if v is None:
|
|
658
|
-
return False
|
|
659
|
-
if isinstance(v, str) and not v.strip():
|
|
660
|
-
return False
|
|
661
|
-
return True
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
# ---------------------------------------------------------------------------
|
|
665
|
-
# 严格 schema 兜底校验(与 design_validator.py 的 CP 系列保持等价)
|
|
666
|
-
# ---------------------------------------------------------------------------
|
|
667
|
-
|
|
668
|
-
def _strict_validate(plan: dict[str, Any]) -> list[str]:
|
|
669
|
-
"""严格 schema 校验(手写实现,与 capabilities/<cap>/schema.json 保持等价)。
|
|
670
|
-
|
|
671
|
-
位置坐标使用 0-based JSON Pointer 风格 `$.phases[I].tasks[J]`,与 LLM/jq/
|
|
672
|
-
人眼一致。M1.OPT-B1 之前用 1-based 让 LLM 用 30 行思考猜偏移规则。
|
|
673
|
-
"""
|
|
674
|
-
errs: list[str] = []
|
|
675
|
-
if str(plan.get("version") or "") != "1.0.0":
|
|
676
|
-
errs.append("$.version != '1.0.0'")
|
|
677
|
-
phases = plan.get("phases")
|
|
678
|
-
if not isinstance(phases, list) or not phases:
|
|
679
|
-
errs.append("$.phases 必须是非空数组")
|
|
680
|
-
return errs
|
|
681
|
-
for p_idx, phase in enumerate(phases):
|
|
682
|
-
ploc = f"$.phases[{p_idx}]"
|
|
683
|
-
if not isinstance(phase, dict):
|
|
684
|
-
errs.append(f"{ploc} 不是对象")
|
|
685
|
-
continue
|
|
686
|
-
if str(phase.get("phase") or "") not in PHASE_ENUM:
|
|
687
|
-
errs.append(f"{ploc}.phase 不在 enum {sorted(PHASE_ENUM)}")
|
|
688
|
-
if not isinstance(phase.get("tasks"), list):
|
|
689
|
-
errs.append(f"{ploc}.tasks 必须是数组")
|
|
690
|
-
continue
|
|
691
|
-
seen: set[str] = set()
|
|
692
|
-
for t_idx, task in enumerate(phase["tasks"]):
|
|
693
|
-
tloc = f"{ploc}.tasks[{t_idx}]"
|
|
694
|
-
if not isinstance(task, dict):
|
|
695
|
-
errs.append(f"{tloc} 不是对象")
|
|
696
|
-
continue
|
|
697
|
-
tid = str(task.get("taskId") or "").strip()
|
|
698
|
-
if not RE_TASK_ID.match(tid):
|
|
699
|
-
errs.append(f"{tloc}.taskId 不符合 ^C\\d+$")
|
|
700
|
-
elif tid in seen:
|
|
701
|
-
errs.append(f"{tloc}.taskId='{tid}' 重复")
|
|
702
|
-
else:
|
|
703
|
-
seen.add(tid)
|
|
704
|
-
cap = str(task.get("capability") or "").strip()
|
|
705
|
-
if cap not in CAPABILITY_ENUM:
|
|
706
|
-
errs.append(f"{tloc}.capability 不在 enum {sorted(CAPABILITY_ENUM)}")
|
|
707
|
-
if not str(task.get("formNumber") or "").strip():
|
|
708
|
-
errs.append(f"{tloc}.formNumber 缺失")
|
|
709
|
-
inp = task.get("input")
|
|
710
|
-
if not isinstance(inp, dict):
|
|
711
|
-
errs.append(f"{tloc}.input 必须是对象")
|
|
712
|
-
continue
|
|
713
|
-
errs.extend(_validate_conditional_required(cap, inp, f"{tloc}.input"))
|
|
714
|
-
return errs
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
def _validate_conditional_required(cap: str, inp: dict[str, Any], loc: str) -> list[str]:
|
|
718
|
-
"""capability-aware 条件必填(替代 schema 的 allOf/if/then 分支)。
|
|
719
|
-
|
|
720
|
-
单点真相目前是 ``capabilities/<cap>/schema.json``(M2 已归位);本函数与之保持等价:
|
|
721
|
-
- add_rules + requiresPlugin=true → businessDesc 必填
|
|
722
|
-
- add_rules + requiresPlugin=false 或缺省 → rules 必填且 minItems >= 1
|
|
723
|
-
若未来要切换到 jsonschema 库直读 schema 文件,此函数可整体替换。
|
|
724
|
-
"""
|
|
725
|
-
errs: list[str] = []
|
|
726
|
-
if cap == "add_rules":
|
|
727
|
-
requires_plugin = inp.get("requiresPlugin")
|
|
728
|
-
if requires_plugin is True:
|
|
729
|
-
biz_desc = str(inp.get("businessDesc") or "").strip()
|
|
730
|
-
if not biz_desc:
|
|
731
|
-
errs.append(
|
|
732
|
-
f"{loc}.businessDesc 缺失(capability=add_rules + "
|
|
733
|
-
"requiresPlugin=true 时必填,作为 backendTasks.coreLogic 的来源)"
|
|
734
|
-
)
|
|
735
|
-
else:
|
|
736
|
-
rules = inp.get("rules")
|
|
737
|
-
if not isinstance(rules, list) or len(rules) < 1:
|
|
738
|
-
errs.append(
|
|
739
|
-
f"{loc}.rules 必须为非空数组(capability=add_rules + "
|
|
740
|
-
"requiresPlugin=false/缺省 时 minItems=1;若本 task 仅作为 "
|
|
741
|
-
"backendTasks 信息载体请显式设 requiresPlugin=true)"
|
|
742
|
-
)
|
|
743
|
-
elif cap == "set_properties":
|
|
744
|
-
# add-set-properties-to-fan-out:与 capabilities/set_properties/schema.json 保持等价
|
|
745
|
-
# (properties 必须是非空对象,minProperties >= 1)。
|
|
746
|
-
props = inp.get("properties")
|
|
747
|
-
if not isinstance(props, dict) or not props:
|
|
748
|
-
errs.append(
|
|
749
|
-
f"{loc}.properties 必须为非空对象(capability=set_properties;"
|
|
750
|
-
"至少包含一条字段简单属性键值对,推荐键名见 capability-plan.schema.json 的 "
|
|
751
|
-
"$defs.setPropertiesPropertyName)"
|
|
752
|
-
)
|
|
753
|
-
elem_key = str(inp.get("elementKey") or "").strip()
|
|
754
|
-
if not elem_key:
|
|
755
|
-
errs.append(
|
|
756
|
-
f"{loc}.elementKey 缺失或为空(capability=set_properties;设计期可填 bizWord,"
|
|
757
|
-
"compile 层推平为 {isv}_ 前缀 fieldKey)"
|
|
758
|
-
)
|
|
759
|
-
elif cap == "list_column":
|
|
760
|
-
op = str(inp.get("operation") or "").strip()
|
|
761
|
-
if op == "modifyColumn":
|
|
762
|
-
props = inp.get("properties")
|
|
763
|
-
if not isinstance(props, dict) or not props:
|
|
764
|
-
errs.append(
|
|
765
|
-
f"{loc}.properties 必须为非空对象(capability=list_column + "
|
|
766
|
-
"operation=modifyColumn)"
|
|
767
|
-
)
|
|
768
|
-
if not str(inp.get("columnKey") or "").strip():
|
|
769
|
-
errs.append(
|
|
770
|
-
f"{loc}.columnKey 缺失(capability=list_column + "
|
|
771
|
-
"operation=modifyColumn)"
|
|
772
|
-
)
|
|
773
|
-
elif op == "removeColumn":
|
|
774
|
-
if not str(inp.get("columnKey") or "").strip():
|
|
775
|
-
errs.append(
|
|
776
|
-
f"{loc}.columnKey 缺失(capability=list_column + "
|
|
777
|
-
"operation=removeColumn)"
|
|
778
|
-
)
|
|
779
|
-
elif op == "moveColumn":
|
|
780
|
-
for k in ("columnKey", "position", "referenceColumn"):
|
|
781
|
-
if not str(inp.get(k) or "").strip():
|
|
782
|
-
errs.append(
|
|
783
|
-
f"{loc}.{k} 缺失(capability=list_column + "
|
|
784
|
-
"operation=moveColumn)"
|
|
785
|
-
)
|
|
786
|
-
elif op == "addColumn":
|
|
787
|
-
if not str(inp.get("fieldKey") or "").strip():
|
|
788
|
-
errs.append(
|
|
789
|
-
f"{loc}.fieldKey 缺失(capability=list_column + "
|
|
790
|
-
"operation=addColumn)"
|
|
791
|
-
)
|
|
792
|
-
elif cap == "filter_config":
|
|
793
|
-
op = str(inp.get("operation") or "").strip()
|
|
794
|
-
if op == "addFilter":
|
|
795
|
-
if not str(inp.get("fieldKey") or "").strip():
|
|
796
|
-
errs.append(
|
|
797
|
-
f"{loc}.fieldKey 缺失(capability=filter_config + "
|
|
798
|
-
"operation=addFilter)"
|
|
799
|
-
)
|
|
800
|
-
elif op == "removeFilter":
|
|
801
|
-
if not str(inp.get("columnKey") or "").strip():
|
|
802
|
-
errs.append(
|
|
803
|
-
f"{loc}.columnKey 缺失(capability=filter_config + "
|
|
804
|
-
"operation=removeFilter)"
|
|
805
|
-
)
|
|
806
|
-
elif cap == "list_view_props":
|
|
807
|
-
props = inp.get("properties")
|
|
808
|
-
if not isinstance(props, dict) or not props:
|
|
809
|
-
errs.append(
|
|
810
|
-
f"{loc}.properties 必须为非空对象(capability=list_view_props)"
|
|
811
|
-
)
|
|
812
|
-
elif cap == "toolbar_config":
|
|
813
|
-
if not str(inp.get("name") or "").strip():
|
|
814
|
-
errs.append(f"{loc}.name 缺失(capability=toolbar_config)")
|
|
815
|
-
op_key = str(inp.get("operationKey") or "").strip()
|
|
816
|
-
if not op_key:
|
|
817
|
-
errs.append(f"{loc}.operationKey 缺失(capability=toolbar_config)")
|
|
818
|
-
return errs
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
# ---------------------------------------------------------------------------
|
|
822
|
-
# fan-out fragment 模式(parallelize-capability-plan-fan-out)
|
|
823
|
-
# ---------------------------------------------------------------------------
|
|
824
|
-
|
|
825
|
-
_FRAGMENT_NAME = "design.{work_no}.capabilityPlan.{cap}.fragment.json"
|
|
826
|
-
_FRAGMENT_DRAFT_NAME = "design.{work_no}.capabilityPlan.{cap}.fragment.draft.json"
|
|
827
|
-
_CLASSIFICATION_NAME = "design.{work_no}.capabilityPlan.classification.json"
|
|
828
|
-
_LINK_LOCK_NAME = ".cap_plan_link.lock"
|
|
829
|
-
_LINK_LOCK_TIMEOUT = 60 # 秒;超时视为残留并强制接管
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
def _run_compat_link(app_root: Path, work_no: str, *, relink: bool = False) -> None:
|
|
833
|
-
"""仅供 ``--mode link`` 使用的兼容恢复路径。
|
|
834
|
-
|
|
835
|
-
正常派发不会在 fragment emit 后调用本函数;唯一 capabilityPlan 产物
|
|
836
|
-
owner 显式调用一次 ``merge-fragments``。兼容行为:
|
|
837
|
-
1. 读 classification.json 获取期望 capability 全集
|
|
838
|
-
2. 检查所有 fragment 是否已落盘
|
|
839
|
-
3. 全集到齐 + 幂等决策 → 获取简易文件锁 + 调 merge_fragments 合并
|
|
840
|
-
4. 未到齐 / 主段已是最新 / 获取锁失败 → 静默退出
|
|
841
|
-
|
|
842
|
-
幂等护卫(主段已存在场景):
|
|
843
|
-
- relink=False(默认):比较任一 fragment mtime、> 主段 mtime →
|
|
844
|
-
自动重链;否则静默跳过(原有护卫语义)。
|
|
845
|
-
- relink=True:强制删除旧主段后重新合并(用于调试/人工修补 fragment
|
|
846
|
-
后的简便中止点)。
|
|
847
|
-
|
|
848
|
-
本函数失败不影响已落盘的 fragment。
|
|
849
|
-
"""
|
|
850
|
-
runtime_dir = app_root / "_runtime"
|
|
851
|
-
out_path = runtime_dir / f"design.{work_no}.capabilityPlan.json"
|
|
852
|
-
|
|
853
|
-
# 读 classification.json 得期望 cap 全集
|
|
854
|
-
cls_path = runtime_dir / _CLASSIFICATION_NAME.format(work_no=work_no)
|
|
855
|
-
if not cls_path.is_file():
|
|
856
|
-
return # 零分类场景,不触发 link
|
|
857
|
-
|
|
858
|
-
try:
|
|
859
|
-
cls_data = json.loads(cls_path.read_text(encoding="utf-8-sig"))
|
|
860
|
-
except (OSError, json.JSONDecodeError):
|
|
861
|
-
return # 解析失败不阻断 emit_fragment 本身
|
|
862
|
-
|
|
863
|
-
classifications = cls_data.get("classifications") or []
|
|
864
|
-
if not isinstance(classifications, list) or not classifications:
|
|
865
|
-
return # 零分类
|
|
866
|
-
|
|
867
|
-
expected_caps = sorted({
|
|
868
|
-
str(c.get("capability") or "")
|
|
869
|
-
for c in classifications
|
|
870
|
-
if isinstance(c, dict) and str(c.get("capability") or "")
|
|
871
|
-
})
|
|
872
|
-
if not expected_caps:
|
|
873
|
-
return
|
|
874
|
-
|
|
875
|
-
# 检查全集是否到齐,同时收集 fragment 路径用于 mtime 计算
|
|
876
|
-
fragment_paths: list[Path] = []
|
|
877
|
-
for cap in expected_caps:
|
|
878
|
-
frag_path = runtime_dir / _FRAGMENT_NAME.format(work_no=work_no, cap=cap)
|
|
879
|
-
if not frag_path.is_file():
|
|
880
|
-
return # 未到齐,静默退出
|
|
881
|
-
fragment_paths.append(frag_path)
|
|
882
|
-
|
|
883
|
-
# 主段已存在:按 relink + fragment mtime 决策是否重链
|
|
884
|
-
if out_path.is_file():
|
|
885
|
-
if not relink:
|
|
886
|
-
try:
|
|
887
|
-
out_mtime = out_path.stat().st_mtime
|
|
888
|
-
newest_frag_mtime = max(p.stat().st_mtime for p in fragment_paths)
|
|
889
|
-
except OSError:
|
|
890
|
-
return
|
|
891
|
-
if newest_frag_mtime <= out_mtime:
|
|
892
|
-
return # 主段已是最新,幂等护卫
|
|
893
|
-
print(
|
|
894
|
-
f"[compat-link] [INFO] 检测到 fragment 比主段更新,执行兼容重链【"
|
|
895
|
-
f"newestFragmentMtime={newest_frag_mtime:.0f} > mainMtime={out_mtime:.0f}】",
|
|
896
|
-
file=sys.stderr,
|
|
897
|
-
)
|
|
898
|
-
relink = True
|
|
899
|
-
# relink=True:删除旧主段(下游 merge 会重写)
|
|
900
|
-
try:
|
|
901
|
-
out_path.unlink()
|
|
902
|
-
print(
|
|
903
|
-
f"[compat-link] [INFO] --relink: 旧主段已删除 {out_path.name}",
|
|
904
|
-
file=sys.stderr,
|
|
905
|
-
)
|
|
906
|
-
except OSError as exc:
|
|
907
|
-
print(
|
|
908
|
-
f"[compat-link] [WARN] 旧主段删除失败,跳过重链: {exc}",
|
|
909
|
-
file=sys.stderr,
|
|
910
|
-
)
|
|
911
|
-
return
|
|
912
|
-
|
|
913
|
-
# 全集到齐 —— 尝试获取简易文件锁(非阻塞)
|
|
914
|
-
lock_path = runtime_dir / _LINK_LOCK_NAME
|
|
915
|
-
lock_fd = _acquire_link_lock(lock_path)
|
|
916
|
-
if lock_fd is None:
|
|
917
|
-
return # 另一个子 Agent 已在 merge,让它完成
|
|
918
|
-
|
|
919
|
-
try:
|
|
920
|
-
# 双重检查:获取锁后再看一次主段是否已产出
|
|
921
|
-
if out_path.is_file():
|
|
922
|
-
return
|
|
923
|
-
# 调 merge_fragments(它会读 manifest 做二次确认)
|
|
924
|
-
code, _plan, msgs = merge_fragments(app_root, work_no)
|
|
925
|
-
for m in msgs:
|
|
926
|
-
print(f"[compat-link] {m}", file=sys.stderr)
|
|
927
|
-
finally:
|
|
928
|
-
_release_link_lock(lock_fd, lock_path)
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
def _try_inline_compile(app_root: Path, work_no: str, out_path: Path) -> bool:
|
|
932
|
-
"""显式 fragment merge 后立即编译主段。
|
|
933
|
-
|
|
934
|
-
收口语义(与 spec 三场景一一对应):
|
|
935
|
-
- snapshot 存在 + 编译成功 → 用编译产物覆盖主段(task 自带 batchKey)。
|
|
936
|
-
- snapshot 存在 + 编译失败 → 不覆盖主段,stderr 输出 errors(保持语义形态
|
|
937
|
-
让 finalize 凭 batchKey 缺失继续报 ERROR,不再反应式 --compile 救场)。
|
|
938
|
-
- snapshot 缺失 → 返回 False,显式 merge 立即失败。
|
|
939
|
-
|
|
940
|
-
返回 plan 是否已编译、可进入任务完成态。编译失败时 fragment 保留,
|
|
941
|
-
但 grouped dispatch 必须失败。
|
|
942
|
-
"""
|
|
943
|
-
runtime_dir = app_root / "_runtime"
|
|
944
|
-
snap_path = runtime_dir / f"metadata-snapshot.{work_no}.json"
|
|
945
|
-
|
|
946
|
-
if not snap_path.is_file():
|
|
947
|
-
print(
|
|
948
|
-
"[capability-plan-merge] [ERROR] metadata snapshot 不存在;"
|
|
949
|
-
"显式 merge 无法产出可执行 plan",
|
|
950
|
-
file=sys.stderr,
|
|
951
|
-
)
|
|
952
|
-
return False
|
|
953
|
-
|
|
954
|
-
try:
|
|
955
|
-
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
|
956
|
-
from capability_input_compiler import compile_plan # type: ignore[import-not-found]
|
|
957
|
-
|
|
958
|
-
plan = json.loads(out_path.read_text(encoding="utf-8-sig"))
|
|
959
|
-
snap = json.loads(snap_path.read_text(encoding="utf-8-sig"))
|
|
960
|
-
# restore-set-complex-property-contract-truth:并集真值源(snapshot ∪ design.dataModel)
|
|
961
|
-
# 存在性 + scope 校验;displayName 反查仍仅 snapshot(B 方向)
|
|
962
|
-
dm_path = runtime_dir / f"design.{work_no}.dataModel.json"
|
|
963
|
-
design_dm = None
|
|
964
|
-
if dm_path.is_file():
|
|
965
|
-
try:
|
|
966
|
-
design_dm = json.loads(dm_path.read_text(encoding="utf-8-sig"))
|
|
967
|
-
except Exception as dm_exc: # noqa: BLE001
|
|
968
|
-
print(
|
|
969
|
-
f"[capability-plan-merge] [WARN] design.dataModel 加载失败: {dm_exc};"
|
|
970
|
-
f"本次以仅 snapshot 模式编译",
|
|
971
|
-
file=sys.stderr,
|
|
972
|
-
)
|
|
973
|
-
design_dm = None
|
|
974
|
-
else:
|
|
975
|
-
print(
|
|
976
|
-
"[capability-plan-merge] [INFO] design.dataModel.json 不存在,本次以仅 snapshot 模式编译",
|
|
977
|
-
file=sys.stderr,
|
|
978
|
-
)
|
|
979
|
-
compiled, errors = compile_plan(plan, snap, design_data_model=design_dm)
|
|
980
|
-
except Exception as exc: # noqa: BLE001
|
|
981
|
-
print(
|
|
982
|
-
f"[capability-plan-merge] [ERROR] compile 异常,主段保持语义形态:{exc}",
|
|
983
|
-
file=sys.stderr,
|
|
984
|
-
)
|
|
985
|
-
return False
|
|
986
|
-
|
|
987
|
-
if errors:
|
|
988
|
-
print(
|
|
989
|
-
"[capability-plan-merge] [ERROR] compile_plan 失败,主段保持语义形态;"
|
|
990
|
-
"详见下列错误位置:",
|
|
991
|
-
file=sys.stderr,
|
|
992
|
-
)
|
|
993
|
-
for e in errors:
|
|
994
|
-
print(f" - {e}", file=sys.stderr)
|
|
995
|
-
return False
|
|
996
|
-
|
|
997
|
-
tmp = out_path.with_suffix(out_path.suffix + ".tmp")
|
|
998
|
-
tmp.write_text(
|
|
999
|
-
json.dumps(compiled, ensure_ascii=False, indent=2) + "\n",
|
|
1000
|
-
encoding="utf-8",
|
|
1001
|
-
)
|
|
1002
|
-
tmp.replace(out_path)
|
|
1003
|
-
print(
|
|
1004
|
-
f"[capability-plan-merge] [OK] 主段已编译为 fieldKey 形态: {out_path}",
|
|
1005
|
-
file=sys.stderr,
|
|
1006
|
-
)
|
|
1007
|
-
return True
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
def _acquire_link_lock(lock_path: Path) -> int | None:
|
|
1011
|
-
"""尝试以原子创建方式获取简易文件锁。返回 fd(成功)或 None(失败)。
|
|
1012
|
-
|
|
1013
|
-
超时检测:若锁文件 mtime 超过 _LINK_LOCK_TIMEOUT 秒,视为残留并强制接管。
|
|
1014
|
-
"""
|
|
1015
|
-
import time
|
|
1016
|
-
|
|
1017
|
-
if lock_path.is_file():
|
|
1018
|
-
try:
|
|
1019
|
-
age = time.time() - lock_path.stat().st_mtime
|
|
1020
|
-
except OSError:
|
|
1021
|
-
age = 0
|
|
1022
|
-
if age > _LINK_LOCK_TIMEOUT:
|
|
1023
|
-
# 残留锁:强制清理
|
|
1024
|
-
print(
|
|
1025
|
-
f"[compat-link] 检测到锁残留({age:.0f}s > {_LINK_LOCK_TIMEOUT}s),强制接管",
|
|
1026
|
-
file=sys.stderr,
|
|
1027
|
-
)
|
|
1028
|
-
try:
|
|
1029
|
-
lock_path.unlink()
|
|
1030
|
-
except OSError:
|
|
1031
|
-
return None
|
|
1032
|
-
else:
|
|
1033
|
-
return None # 锁正被持有,不等待
|
|
1034
|
-
|
|
1035
|
-
try:
|
|
1036
|
-
fd = os.open(str(lock_path), os.O_CREAT | os.O_EXCL | os.O_WRONLY)
|
|
1037
|
-
return fd
|
|
1038
|
-
except OSError:
|
|
1039
|
-
return None # 竞态失败——另一个进程抢先创建
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
def _release_link_lock(fd: int | None, lock_path: Path) -> None:
|
|
1043
|
-
"""释放锁:关闭 fd + 删除锁文件。"""
|
|
1044
|
-
if fd is not None:
|
|
1045
|
-
try:
|
|
1046
|
-
os.close(fd)
|
|
1047
|
-
except OSError:
|
|
1048
|
-
pass
|
|
1049
|
-
try:
|
|
1050
|
-
lock_path.unlink(missing_ok=True)
|
|
1051
|
-
except OSError:
|
|
1052
|
-
pass
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
def _register_cp_section_in_manifest(app_root: Path, work_no: str) -> None:
|
|
1056
|
-
"""将 cp_section 注册到 metadata/_emit_manifest.json。"""
|
|
1057
|
-
manifest_path = app_root / "metadata" / "_emit_manifest.json"
|
|
1058
|
-
if not manifest_path.is_file():
|
|
1059
|
-
return # emit_manifest 不存在时不强制创建(依赖 data_model_emit 先产出)
|
|
1060
|
-
|
|
1061
|
-
try:
|
|
1062
|
-
mf = json.loads(manifest_path.read_text(encoding="utf-8-sig"))
|
|
1063
|
-
except (OSError, json.JSONDecodeError):
|
|
1064
|
-
return
|
|
1065
|
-
|
|
1066
|
-
artifacts = mf.setdefault("artifacts", [])
|
|
1067
|
-
# 幂等:已有 cp_section 则不重复追加
|
|
1068
|
-
if any(isinstance(a, dict) and a.get("type") == "cp_section" for a in artifacts):
|
|
1069
|
-
return
|
|
1070
|
-
|
|
1071
|
-
artifacts.append({"type": "cp_section", "version": "1.0"})
|
|
1072
|
-
try:
|
|
1073
|
-
manifest_path.write_text(
|
|
1074
|
-
json.dumps(mf, ensure_ascii=False, indent=2) + "\n",
|
|
1075
|
-
encoding="utf-8",
|
|
1076
|
-
)
|
|
1077
|
-
print(
|
|
1078
|
-
"[capability-plan-merge] cp_section 已注册到 _emit_manifest.json",
|
|
1079
|
-
file=sys.stderr,
|
|
1080
|
-
)
|
|
1081
|
-
except OSError:
|
|
1082
|
-
pass
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
def emit_fragment(
|
|
1086
|
-
app_root: Path,
|
|
1087
|
-
work_no: str,
|
|
1088
|
-
capability: str,
|
|
1089
|
-
*,
|
|
1090
|
-
strict: bool = False,
|
|
1091
|
-
relink: bool = False,
|
|
1092
|
-
) -> tuple[int, dict[str, Any] | None, list[str]]:
|
|
1093
|
-
"""fan-out 子 Agent 调用:把 fragment 草稿规整为 fragment 产物。
|
|
1094
|
-
|
|
1095
|
-
输入:``{appRoot}/_runtime/design.{workNo}.capabilityPlan.<cap>.fragment.draft.json``
|
|
1096
|
-
输出:``{appRoot}/_runtime/design.{workNo}.capabilityPlan.<cap>.fragment.json``
|
|
1097
|
-
|
|
1098
|
-
fragment 形态等同完整 plan(含 version + phases),但 tasks 仅含本 capability。
|
|
1099
|
-
返回 (exit_code, plan_dict | None, messages)。
|
|
1100
|
-
"""
|
|
1101
|
-
msgs: list[str] = []
|
|
1102
|
-
if capability not in CAPABILITY_ENUM:
|
|
1103
|
-
msgs.append(
|
|
1104
|
-
f"[ERROR] capability='{capability}' 不在 {sorted(CAPABILITY_ENUM)}"
|
|
1105
|
-
)
|
|
1106
|
-
return 2, None, msgs
|
|
1107
|
-
|
|
1108
|
-
runtime_dir = app_root / "_runtime"
|
|
1109
|
-
draft_path = runtime_dir / _FRAGMENT_DRAFT_NAME.format(work_no=work_no, cap=capability)
|
|
1110
|
-
out_path = runtime_dir / _FRAGMENT_NAME.format(work_no=work_no, cap=capability)
|
|
1111
|
-
|
|
1112
|
-
if not draft_path.exists():
|
|
1113
|
-
msgs.append(f"[ERROR] fragment 草稿不存在: {draft_path}")
|
|
1114
|
-
return 2, None, msgs
|
|
1115
|
-
|
|
1116
|
-
try:
|
|
1117
|
-
draft = json.loads(draft_path.read_text(encoding="utf-8-sig"))
|
|
1118
|
-
except (json.JSONDecodeError, OSError) as e:
|
|
1119
|
-
msgs.append(f"[ERROR] fragment 草稿 JSON 解析失败: {e}")
|
|
1120
|
-
return 3, None, msgs
|
|
1121
|
-
|
|
1122
|
-
if not isinstance(draft, dict):
|
|
1123
|
-
msgs.append("[ERROR] fragment 草稿顶层必须是对象")
|
|
1124
|
-
return 4, None, msgs
|
|
1125
|
-
|
|
1126
|
-
plan, normalize_msgs, hard_errors = _normalize(draft, strict=strict)
|
|
1127
|
-
msgs.extend(normalize_msgs)
|
|
1128
|
-
|
|
1129
|
-
if hard_errors:
|
|
1130
|
-
msgs.append(f"[ERROR] fragment 不可自动归一(来源:{draft_path}):")
|
|
1131
|
-
for e in hard_errors:
|
|
1132
|
-
msgs.append(f" - {e}")
|
|
1133
|
-
return 4, None, msgs
|
|
1134
|
-
|
|
1135
|
-
foreign: list[str] = []
|
|
1136
|
-
for p_idx, phase in enumerate(plan.get("phases") or []):
|
|
1137
|
-
for t_idx, task in enumerate(phase.get("tasks") or []):
|
|
1138
|
-
cap = str(task.get("capability") or "")
|
|
1139
|
-
if cap != capability:
|
|
1140
|
-
foreign.append(
|
|
1141
|
-
f"$.phases[{p_idx}].tasks[{t_idx}].capability='{cap}' 不属于 '{capability}'"
|
|
1142
|
-
)
|
|
1143
|
-
if foreign:
|
|
1144
|
-
msgs.append(
|
|
1145
|
-
f"[ERROR] fragment 含跨 capability task;fragment 必须仅含本 capability="
|
|
1146
|
-
f"'{capability}' 的 tasks:"
|
|
1147
|
-
)
|
|
1148
|
-
for e in foreign:
|
|
1149
|
-
msgs.append(f" - {e}")
|
|
1150
|
-
return 4, None, msgs
|
|
1151
|
-
|
|
1152
|
-
schema_errors = _strict_validate(plan)
|
|
1153
|
-
if schema_errors:
|
|
1154
|
-
msgs.append(f"[ERROR] fragment schema 校验失败:")
|
|
1155
|
-
for e in schema_errors:
|
|
1156
|
-
msgs.append(f" - {e}")
|
|
1157
|
-
return 5, None, msgs
|
|
1158
|
-
|
|
1159
|
-
out_path.parent.mkdir(parents=True, exist_ok=True)
|
|
1160
|
-
tmp = out_path.with_suffix(out_path.suffix + ".tmp")
|
|
1161
|
-
tmp.write_text(
|
|
1162
|
-
json.dumps(plan, ensure_ascii=False, indent=2) + "\n",
|
|
1163
|
-
encoding="utf-8",
|
|
1164
|
-
)
|
|
1165
|
-
tmp.replace(out_path)
|
|
1166
|
-
n_tasks = sum(len(p.get("tasks") or []) for p in plan.get("phases") or [])
|
|
1167
|
-
msgs.append(
|
|
1168
|
-
f"[OK] capability fragment emitted: {out_path} "
|
|
1169
|
-
f"(capability={capability}, tasks={n_tasks})"
|
|
1170
|
-
)
|
|
1171
|
-
|
|
1172
|
-
return 0, plan, msgs
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
def merge_fragments(
|
|
1176
|
-
app_root: Path,
|
|
1177
|
-
work_no: str,
|
|
1178
|
-
) -> tuple[int, dict[str, Any] | None, list[str]]:
|
|
1179
|
-
"""主控调用:扫描 fragment 文件 → 合并 → 写完整 capabilityPlan。
|
|
1180
|
-
|
|
1181
|
-
与 manifest 上 origin=append-fan-out 的 task 数比对;缺失或非法即拒绝合并。
|
|
1182
|
-
items 顺序按 capability 字典序稳定。返回 (exit_code, plan_dict | None, messages)。
|
|
1183
|
-
|
|
1184
|
-
正常路径由 grouped capabilityPlan 产物 owner 显式调用且仅调用一次。
|
|
1185
|
-
``--mode link`` 只保留为兼容恢复别名。
|
|
1186
|
-
"""
|
|
1187
|
-
msgs: list[str] = []
|
|
1188
|
-
runtime_dir = app_root / "_runtime"
|
|
1189
|
-
out_path = runtime_dir / f"design.{work_no}.capabilityPlan.json"
|
|
1190
|
-
|
|
1191
|
-
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
|
1192
|
-
try:
|
|
1193
|
-
from design_task_protocol import FAN_OUT_ORIGIN, load_manifest
|
|
1194
|
-
except ImportError as exc:
|
|
1195
|
-
msgs.append(f"[ERROR] 无法加载 design_task_protocol: {exc}")
|
|
1196
|
-
return EXIT_UPSTREAM_PREREQ, None, msgs
|
|
1197
|
-
|
|
1198
|
-
manifest = load_manifest(app_root, work_no)
|
|
1199
|
-
if manifest is None:
|
|
1200
|
-
msgs.append("[ERROR] design manifest 不存在或非法;merge-fragments 不应被调用")
|
|
1201
|
-
return EXIT_UPSTREAM_PREREQ, None, msgs
|
|
1202
|
-
|
|
1203
|
-
expected_caps = sorted({
|
|
1204
|
-
str(t.get("taskType") or "")
|
|
1205
|
-
for t in (manifest.get("tasks") or [])
|
|
1206
|
-
if isinstance(t, dict) and t.get("origin") == FAN_OUT_ORIGIN
|
|
1207
|
-
})
|
|
1208
|
-
if not expected_caps:
|
|
1209
|
-
msgs.append(
|
|
1210
|
-
"[ERROR] manifest 上无 origin=append-fan-out 的 task;merge-fragments 不应被调用"
|
|
1211
|
-
)
|
|
1212
|
-
return EXIT_UPSTREAM_PREREQ, None, msgs
|
|
1213
|
-
|
|
1214
|
-
fragments_by_cap: dict[str, dict[str, Any]] = {}
|
|
1215
|
-
missing: list[str] = []
|
|
1216
|
-
for cap in expected_caps:
|
|
1217
|
-
path = runtime_dir / _FRAGMENT_NAME.format(work_no=work_no, cap=cap)
|
|
1218
|
-
if not path.is_file():
|
|
1219
|
-
missing.append(str(path))
|
|
1220
|
-
continue
|
|
1221
|
-
try:
|
|
1222
|
-
data = json.loads(path.read_text(encoding="utf-8-sig"))
|
|
1223
|
-
except (json.JSONDecodeError, OSError) as e:
|
|
1224
|
-
msgs.append(f"[ERROR] fragment 解析失败 {path}: {e}")
|
|
1225
|
-
return 3, None, msgs
|
|
1226
|
-
if not isinstance(data, dict):
|
|
1227
|
-
msgs.append(f"[ERROR] fragment 顶层非对象 {path}")
|
|
1228
|
-
return 4, None, msgs
|
|
1229
|
-
fragments_by_cap[cap] = data
|
|
1230
|
-
|
|
1231
|
-
if missing:
|
|
1232
|
-
msgs.append(
|
|
1233
|
-
f"[ERROR] fragment 缺失:期望 capabilities={expected_caps}, "
|
|
1234
|
-
f"缺失文件={missing};merge 拒绝执行"
|
|
1235
|
-
)
|
|
1236
|
-
return 4, None, msgs
|
|
1237
|
-
|
|
1238
|
-
# 合并:按 phase 名归集 tasks,capability 字典序稳定
|
|
1239
|
-
merged_phases: dict[str, list[dict[str, Any]]] = {}
|
|
1240
|
-
for cap in sorted(fragments_by_cap.keys()):
|
|
1241
|
-
plan = fragments_by_cap[cap]
|
|
1242
|
-
for phase in plan.get("phases") or []:
|
|
1243
|
-
phase_name = str(phase.get("phase") or "metadata-class")
|
|
1244
|
-
merged_phases.setdefault(phase_name, []).extend(phase.get("tasks") or [])
|
|
1245
|
-
|
|
1246
|
-
if not merged_phases:
|
|
1247
|
-
merged_phases["metadata-class"] = []
|
|
1248
|
-
|
|
1249
|
-
# taskId 重分配以避免跨 fragment 冲突(不同 fragment 各自从 C1 开始)
|
|
1250
|
-
final_phases: list[dict[str, Any]] = []
|
|
1251
|
-
counter = 1
|
|
1252
|
-
seen: set[str] = set()
|
|
1253
|
-
for phase_name in sorted(merged_phases.keys()):
|
|
1254
|
-
new_tasks: list[dict[str, Any]] = []
|
|
1255
|
-
for task in merged_phases[phase_name]:
|
|
1256
|
-
tid = str(task.get("taskId") or "")
|
|
1257
|
-
if not tid or tid in seen or not RE_TASK_ID.match(tid):
|
|
1258
|
-
while f"C{counter}" in seen:
|
|
1259
|
-
counter += 1
|
|
1260
|
-
tid = f"C{counter}"
|
|
1261
|
-
counter += 1
|
|
1262
|
-
task = dict(task)
|
|
1263
|
-
task["taskId"] = tid
|
|
1264
|
-
seen.add(tid)
|
|
1265
|
-
new_tasks.append(task)
|
|
1266
|
-
final_phases.append({"phase": phase_name, "tasks": new_tasks})
|
|
1267
|
-
|
|
1268
|
-
merged = {"version": "1.0.0", "phases": final_phases}
|
|
1269
|
-
|
|
1270
|
-
schema_errors = _strict_validate(merged)
|
|
1271
|
-
if schema_errors:
|
|
1272
|
-
msgs.append("[ERROR] fragments 合并产物 schema 校验失败:")
|
|
1273
|
-
for e in schema_errors:
|
|
1274
|
-
msgs.append(f" - {e}")
|
|
1275
|
-
return 5, None, msgs
|
|
1276
|
-
|
|
1277
|
-
out_path.parent.mkdir(parents=True, exist_ok=True)
|
|
1278
|
-
tmp = out_path.with_suffix(out_path.suffix + ".tmp")
|
|
1279
|
-
tmp.write_text(
|
|
1280
|
-
json.dumps(merged, ensure_ascii=False, indent=2) + "\n",
|
|
1281
|
-
encoding="utf-8",
|
|
1282
|
-
)
|
|
1283
|
-
tmp.replace(out_path)
|
|
1284
|
-
if not _try_inline_compile(app_root, work_no, out_path):
|
|
1285
|
-
msgs.append(
|
|
1286
|
-
"[ERROR] fragments 已合并但 capabilityPlan 编译失败;"
|
|
1287
|
-
"grouped tasks 禁止标记 completed"
|
|
1288
|
-
)
|
|
1289
|
-
return 4, merged, msgs
|
|
1290
|
-
_register_cp_section_in_manifest(app_root, work_no)
|
|
1291
|
-
merged = json.loads(out_path.read_text(encoding="utf-8-sig"))
|
|
1292
|
-
n_tasks = sum(len(p.get("tasks") or []) for p in merged.get("phases") or [])
|
|
1293
|
-
msgs.append(
|
|
1294
|
-
f"[OK] fragments merged: {out_path} "
|
|
1295
|
-
f"(fragments={list(fragments_by_cap.keys())}, tasks={n_tasks})"
|
|
1296
|
-
)
|
|
1297
|
-
return 0, merged, msgs
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
# ---------------------------------------------------------------------------
|
|
1301
|
-
# CLI
|
|
1302
|
-
# ---------------------------------------------------------------------------
|
|
1303
|
-
|
|
1304
|
-
def main(argv: list[str] | None = None) -> int:
|
|
1305
|
-
parser = argparse.ArgumentParser(
|
|
1306
|
-
description="规整化 capability plan 草稿为 PRD schema 产物"
|
|
1307
|
-
)
|
|
1308
|
-
parser.add_argument("--app-root", required=True, help="Absolute path to app root")
|
|
1309
|
-
parser.add_argument("--work-no", required=True, help="工作项编号(如 000 / 001)")
|
|
1310
|
-
parser.add_argument(
|
|
1311
|
-
"--strict", action="store_true",
|
|
1312
|
-
help="严格模式:发现任何自创字段名直接 ERROR,不做兼容映射",
|
|
1313
|
-
)
|
|
1314
|
-
parser.add_argument(
|
|
1315
|
-
"--compile", action="store_true",
|
|
1316
|
-
help="规整后使用 metadata-snapshot 编译 input(M2.2)并覆盖产物",
|
|
1317
|
-
)
|
|
1318
|
-
parser.add_argument(
|
|
1319
|
-
"--mode",
|
|
1320
|
-
choices=("emit", "emit-fragment", "merge-fragments", "link"),
|
|
1321
|
-
default="emit",
|
|
1322
|
-
help=(
|
|
1323
|
-
"emit: 默认模式,规整完整 plan 草稿(兼容旧路径);"
|
|
1324
|
-
"emit-fragment: fan-out 子 Agent 调用,需配合 --capability;"
|
|
1325
|
-
"merge-fragments: 扫描 fragment 文件合并为完整 plan;"
|
|
1326
|
-
"link: 兼容恢复命令;正常流程显式调用一次 merge-fragments"
|
|
1327
|
-
),
|
|
1328
|
-
)
|
|
1329
|
-
parser.add_argument(
|
|
1330
|
-
"--capability", default="",
|
|
1331
|
-
help="emit-fragment 模式必填:本 fan-out 子 Agent 负责的 capability 名",
|
|
1332
|
-
)
|
|
1333
|
-
parser.add_argument(
|
|
1334
|
-
"--force-unlock", action="store_true",
|
|
1335
|
-
help="强制清理兼容 link 锁残留(异常中断后恢复)",
|
|
1336
|
-
)
|
|
1337
|
-
parser.add_argument(
|
|
1338
|
-
"--relink", action="store_true",
|
|
1339
|
-
help=(
|
|
1340
|
-
"强制重新合并主段:主段已存在时删除后重跑 merge_fragments。"
|
|
1341
|
-
"emit-fragment / link 两种模式下均生效;默认不开启时,仅"
|
|
1342
|
-
"在 fragment mtime > 主段 mtime 时自动重链。"
|
|
1343
|
-
),
|
|
1344
|
-
)
|
|
1345
|
-
args = parser.parse_args(argv)
|
|
1346
|
-
|
|
1347
|
-
app_root = Path(args.app_root).resolve()
|
|
1348
|
-
if not app_root.exists():
|
|
1349
|
-
print(f"[ERROR] app-root not found: {app_root}", file=sys.stderr)
|
|
1350
|
-
return 2
|
|
1351
|
-
|
|
1352
|
-
work_no = str(args.work_no).strip()
|
|
1353
|
-
|
|
1354
|
-
# --force-unlock: 强制清理锁残留
|
|
1355
|
-
if getattr(args, "force_unlock", False):
|
|
1356
|
-
lock_path = app_root / "_runtime" / _LINK_LOCK_NAME
|
|
1357
|
-
if lock_path.is_file():
|
|
1358
|
-
lock_path.unlink()
|
|
1359
|
-
print(f"[OK] 锁文件已清理: {lock_path}", file=sys.stderr)
|
|
1360
|
-
else:
|
|
1361
|
-
print(f"[INFO] 锁文件不存在: {lock_path}", file=sys.stderr)
|
|
1362
|
-
if args.mode not in ("link",):
|
|
1363
|
-
return 0
|
|
1364
|
-
|
|
1365
|
-
# --mode link: 兼容恢复别名
|
|
1366
|
-
if args.mode == "link":
|
|
1367
|
-
_run_compat_link(app_root, work_no, relink=getattr(args, "relink", False))
|
|
1368
|
-
out_path = app_root / "_runtime" / f"design.{work_no}.capabilityPlan.json"
|
|
1369
|
-
if out_path.is_file():
|
|
1370
|
-
print(f"[OK] 主段已产出: {out_path}")
|
|
1371
|
-
return 0
|
|
1372
|
-
else:
|
|
1373
|
-
print("[WARN] link 未成功(fragment 未到齐或 classification 缺失)", file=sys.stderr)
|
|
1374
|
-
return 4
|
|
1375
|
-
|
|
1376
|
-
if args.mode == "emit-fragment":
|
|
1377
|
-
cap = str(args.capability).strip()
|
|
1378
|
-
if not cap:
|
|
1379
|
-
print("[ERROR] --capability is required for --mode emit-fragment", file=sys.stderr)
|
|
1380
|
-
return 2
|
|
1381
|
-
if args.compile:
|
|
1382
|
-
print(
|
|
1383
|
-
"[WARN] --compile 在 emit-fragment 模式下被忽略;"
|
|
1384
|
-
"fragment 编译留待主控 merge-fragments 后整体处理",
|
|
1385
|
-
file=sys.stderr,
|
|
1386
|
-
)
|
|
1387
|
-
code, _plan, msgs = emit_fragment(
|
|
1388
|
-
app_root, work_no, cap,
|
|
1389
|
-
strict=args.strict,
|
|
1390
|
-
relink=getattr(args, "relink", False),
|
|
1391
|
-
)
|
|
1392
|
-
for m in msgs:
|
|
1393
|
-
if m.startswith("[ERROR]") or m.startswith(" -") or m.startswith(" 参考"):
|
|
1394
|
-
print(m, file=sys.stderr)
|
|
1395
|
-
else:
|
|
1396
|
-
print(m)
|
|
1397
|
-
return code
|
|
1398
|
-
|
|
1399
|
-
if args.mode == "merge-fragments":
|
|
1400
|
-
code, _plan, msgs = merge_fragments(app_root, work_no)
|
|
1401
|
-
for m in msgs:
|
|
1402
|
-
if m.startswith("[ERROR]") or m.startswith(" -") or m.startswith(" 参考"):
|
|
1403
|
-
print(m, file=sys.stderr)
|
|
1404
|
-
else:
|
|
1405
|
-
print(m)
|
|
1406
|
-
return code
|
|
1407
|
-
|
|
1408
|
-
if args.compile:
|
|
1409
|
-
code, _plan, msgs = emit_and_compile(app_root, work_no, strict=args.strict)
|
|
1410
|
-
else:
|
|
1411
|
-
code, _plan, msgs = emit(app_root, work_no, strict=args.strict)
|
|
1412
|
-
for m in msgs:
|
|
1413
|
-
# 把 [INFO]/[WARN]/[OK] 走 stdout,[ERROR] 走 stderr
|
|
1414
|
-
if m.startswith("[ERROR]") or m.startswith(" -") or m.startswith(" 参考"):
|
|
1415
|
-
print(m, file=sys.stderr)
|
|
1416
|
-
else:
|
|
1417
|
-
print(m)
|
|
1418
|
-
return code
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
if __name__ == "__main__":
|
|
1422
|
-
raise SystemExit(main())
|