@agentxm/client-core 0.13.1 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/unstable/agent-capabilities/__generated__/catalog.d.ts +48 -0
- package/dist/src/unstable/agent-capabilities/__generated__/catalog.d.ts.map +1 -1
- package/dist/src/unstable/agent-capabilities/__generated__/catalog.js +62 -0
- package/dist/src/unstable/agent-capabilities/__generated__/catalog.js.map +1 -1
- package/dist/src/unstable/agent-capabilities/derive.d.ts +21 -3
- package/dist/src/unstable/agent-capabilities/derive.d.ts.map +1 -1
- package/dist/src/unstable/agent-capabilities/derive.js +5 -2
- package/dist/src/unstable/agent-capabilities/derive.js.map +1 -1
- package/dist/src/unstable/agent-capabilities/schema.d.ts +45 -2
- package/dist/src/unstable/agent-capabilities/schema.d.ts.map +1 -1
- package/dist/src/unstable/agent-capabilities/schema.js +18 -0
- package/dist/src/unstable/agent-capabilities/schema.js.map +1 -1
- package/dist/src/unstable/agent-capabilities/validate.d.ts.map +1 -1
- package/dist/src/unstable/agent-capabilities/validate.js +2 -0
- package/dist/src/unstable/agent-capabilities/validate.js.map +1 -1
- package/dist/src/unstable/agents/index.d.ts +1 -1
- package/dist/src/unstable/agents/index.d.ts.map +1 -1
- package/dist/src/unstable/agents/index.js +1 -1
- package/dist/src/unstable/agents/index.js.map +1 -1
- package/dist/src/unstable/agents/instructions.js +1 -1
- package/dist/src/unstable/agents/instructions.js.map +1 -1
- package/dist/src/unstable/agents/mcp-sync.d.ts +14 -0
- package/dist/src/unstable/agents/mcp-sync.d.ts.map +1 -1
- package/dist/src/unstable/agents/mcp-sync.js +201 -1
- package/dist/src/unstable/agents/mcp-sync.js.map +1 -1
- package/dist/src/unstable/branding/naming.d.ts +11 -5
- package/dist/src/unstable/branding/naming.d.ts.map +1 -1
- package/dist/src/unstable/branding/naming.js +15 -7
- package/dist/src/unstable/branding/naming.js.map +1 -1
- package/dist/src/unstable/cli-runtime/command-summary.d.ts +1 -1
- package/dist/src/unstable/cli-runtime/command-summary.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/command-summary.js.map +1 -1
- package/dist/src/unstable/extensions/common.d.ts +6 -6
- package/dist/src/unstable/extensions/common.d.ts.map +1 -1
- package/dist/src/unstable/extensions/common.js +22 -13
- package/dist/src/unstable/extensions/common.js.map +1 -1
- package/dist/src/unstable/extensions/fqn.js +1 -1
- package/dist/src/unstable/extensions/fqn.js.map +1 -1
- package/dist/src/unstable/extensions/installable-types.d.ts +4 -4
- package/dist/src/unstable/extensions/installable-types.d.ts.map +1 -1
- package/dist/src/unstable/extensions/installable-types.js +12 -4
- package/dist/src/unstable/extensions/installable-types.js.map +1 -1
- package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
- package/dist/src/unstable/extensions/operations.js +6 -2
- package/dist/src/unstable/extensions/operations.js.map +1 -1
- package/dist/src/unstable/extensions/ref-base.d.ts +1 -1
- package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
- package/dist/src/unstable/extensions/refs.d.ts +4 -2
- package/dist/src/unstable/extensions/refs.d.ts.map +1 -1
- package/dist/src/unstable/extensions/registry-source.d.ts +4 -4
- package/dist/src/unstable/extensions/utils.js +1 -1
- package/dist/src/unstable/files/discovery.d.ts +19 -0
- package/dist/src/unstable/files/discovery.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/discovery.js +18 -11
- package/dist/src/unstable/files/discovery.js.map +1 -0
- package/dist/src/unstable/{docs → files}/generators.d.ts +1 -1
- package/dist/src/unstable/files/generators.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/generators.js +1 -1
- package/dist/src/unstable/files/generators.js.map +1 -0
- package/dist/src/unstable/files/index.d.ts +15 -0
- package/dist/src/unstable/files/index.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/index.js +4 -4
- package/dist/src/unstable/files/index.js.map +1 -0
- package/dist/src/unstable/files/manager.d.ts +19 -0
- package/dist/src/unstable/files/manager.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/manager.js +56 -54
- package/dist/src/unstable/files/manager.js.map +1 -0
- package/dist/src/unstable/{docs → files}/manifest-schema.d.ts +17 -17
- package/dist/src/unstable/files/manifest-schema.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/manifest-schema.js +48 -48
- package/dist/src/unstable/files/manifest-schema.js.map +1 -0
- package/dist/src/unstable/files/markers.d.ts +7 -0
- package/dist/src/unstable/files/markers.d.ts.map +1 -0
- package/dist/src/unstable/files/markers.js +7 -0
- package/dist/src/unstable/files/markers.js.map +1 -0
- package/dist/src/unstable/{docs → files}/materialization.d.ts +8 -8
- package/dist/src/unstable/files/materialization.d.ts.map +1 -0
- package/dist/src/unstable/{docs → files}/materialization.js +24 -24
- package/dist/src/unstable/files/materialization.js.map +1 -0
- package/dist/src/unstable/files/refs.d.ts +17 -0
- package/dist/src/unstable/files/refs.d.ts.map +1 -0
- package/dist/src/unstable/files/refs.js +8 -0
- package/dist/src/unstable/files/refs.js.map +1 -0
- package/dist/src/unstable/files/workspace-generators.d.ts.map +1 -0
- package/dist/src/unstable/files/workspace-generators.js.map +1 -0
- package/dist/src/unstable/hooks/discovery.d.ts +19 -0
- package/dist/src/unstable/hooks/discovery.d.ts.map +1 -0
- package/dist/src/unstable/hooks/discovery.js +101 -0
- package/dist/src/unstable/hooks/discovery.js.map +1 -0
- package/dist/src/unstable/hooks/index.d.ts +13 -0
- package/dist/src/unstable/hooks/index.d.ts.map +1 -0
- package/dist/src/unstable/hooks/index.js +11 -0
- package/dist/src/unstable/hooks/index.js.map +1 -0
- package/dist/src/unstable/{docs → hooks}/manager.d.ts +6 -6
- package/dist/src/unstable/hooks/manager.d.ts.map +1 -0
- package/dist/src/unstable/hooks/manager.js +512 -0
- package/dist/src/unstable/hooks/manager.js.map +1 -0
- package/dist/src/unstable/hooks/manifest-schema.d.ts +94 -0
- package/dist/src/unstable/hooks/manifest-schema.d.ts.map +1 -0
- package/dist/src/unstable/hooks/manifest-schema.js +85 -0
- package/dist/src/unstable/hooks/manifest-schema.js.map +1 -0
- package/dist/src/unstable/hooks/operations/publish.d.ts +22 -0
- package/dist/src/unstable/hooks/operations/publish.d.ts.map +1 -0
- package/dist/src/unstable/hooks/operations/publish.js +95 -0
- package/dist/src/unstable/hooks/operations/publish.js.map +1 -0
- package/dist/src/unstable/hooks/refs.d.ts +25 -0
- package/dist/src/unstable/hooks/refs.d.ts.map +1 -0
- package/dist/src/unstable/{docs → hooks}/refs.js +1 -1
- package/dist/src/unstable/hooks/refs.js.map +1 -0
- package/dist/src/unstable/hooks/registry-ref-builder.d.ts +7 -0
- package/dist/src/unstable/hooks/registry-ref-builder.d.ts.map +1 -0
- package/dist/src/unstable/hooks/registry-ref-builder.js +13 -0
- package/dist/src/unstable/hooks/registry-ref-builder.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/generator-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/generator-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/generator-valid.js +6 -6
- package/dist/src/unstable/lint/catalog/files/generator-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/helpers.d.ts +6 -6
- package/dist/src/unstable/lint/catalog/files/helpers.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/helpers.js +7 -7
- package/dist/src/unstable/lint/catalog/files/helpers.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-keys-recognized.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/manifest-keys-recognized.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-keys-recognized.js +14 -0
- package/dist/src/unstable/lint/catalog/files/manifest-keys-recognized.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-present.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/manifest-present.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-present.js +24 -0
- package/dist/src/unstable/lint/catalog/files/manifest-present.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-schema-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/manifest-schema-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/files/manifest-schema-valid.js +12 -0
- package/dist/src/unstable/lint/catalog/files/manifest-schema-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/marker-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/marker-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/marker-valid.js +6 -6
- package/dist/src/unstable/lint/catalog/files/marker-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/package-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/package-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/package-valid.js +9 -9
- package/dist/src/unstable/lint/catalog/files/package-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/target-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/target-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/target-valid.js +6 -6
- package/dist/src/unstable/lint/catalog/files/target-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files/template-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files/template-valid.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs → files}/template-valid.js +7 -7
- package/dist/src/unstable/lint/catalog/files/template-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files-accessor/contexts.d.ts +10 -0
- package/dist/src/unstable/lint/catalog/files-accessor/contexts.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/files-accessor/contexts.js +8 -0
- package/dist/src/unstable/lint/catalog/files-accessor/contexts.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files-accessor/platform.d.ts +9 -0
- package/dist/src/unstable/lint/catalog/files-accessor/platform.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs-accessor → files-accessor}/platform.js +1 -1
- package/dist/src/unstable/lint/catalog/files-accessor/platform.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files-accessor/vft.d.ts +8 -0
- package/dist/src/unstable/lint/catalog/files-accessor/vft.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/{docs-accessor → files-accessor}/vft.js +1 -1
- package/dist/src/unstable/lint/catalog/files-accessor/vft.js.map +1 -0
- package/dist/src/unstable/lint/catalog/files.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/files.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/files.js +21 -0
- package/dist/src/unstable/lint/catalog/files.js.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/entrypoint-exists.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/hook/entrypoint-exists.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/entrypoint-exists.js +39 -0
- package/dist/src/unstable/lint/catalog/hook/entrypoint-exists.js.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-keys-recognized.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/{docs → hook}/manifest-keys-recognized.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/hook/manifest-keys-recognized.js +13 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-keys-recognized.js.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-present.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-present.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-present.js +24 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-present.js.map +1 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-schema-valid.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/{docs → hook}/manifest-schema-valid.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/hook/manifest-schema-valid.js +11 -0
- package/dist/src/unstable/lint/catalog/hook/manifest-schema-valid.js.map +1 -0
- package/dist/src/unstable/lint/catalog/hook.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/hook.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/hook.js +13 -0
- package/dist/src/unstable/lint/catalog/hook.js.map +1 -0
- package/dist/src/unstable/lint/catalog/index.d.ts +5 -4
- package/dist/src/unstable/lint/catalog/index.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/index.js +9 -6
- package/dist/src/unstable/lint/catalog/index.js.map +1 -1
- package/dist/src/unstable/lint/catalog/shared/manifest-json.js +1 -1
- package/dist/src/unstable/lint/catalog/shared/manifest-json.js.map +1 -1
- package/dist/src/unstable/lint/catalog/shared/schema-rule.js +3 -1
- package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-no-secret-literal.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-no-secret-literal.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-no-secret-literal.js +67 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-no-secret-literal.js.map +1 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-transport-exclusivity.d.ts +4 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-transport-exclusivity.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-transport-exclusivity.js +65 -0
- package/dist/src/unstable/lint/catalog/workspace/mcp-server-transport-exclusivity.js.map +1 -0
- package/dist/src/unstable/lint/catalog/workspace/skills-managed.js +1 -1
- package/dist/src/unstable/lint/catalog/workspace/skills-managed.js.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts +2 -2
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js +18 -18
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace.js +4 -0
- package/dist/src/unstable/lint/catalog/workspace.js.map +1 -1
- package/dist/src/unstable/lint/cli.d.ts +4 -4
- package/dist/src/unstable/lint/cli.d.ts.map +1 -1
- package/dist/src/unstable/lint/cli.js +6 -6
- package/dist/src/unstable/lint/cli.js.map +1 -1
- package/dist/src/unstable/lint/context.d.ts +17 -5
- package/dist/src/unstable/lint/context.d.ts.map +1 -1
- package/dist/src/unstable/lint/index.d.ts +2 -2
- package/dist/src/unstable/lint/index.d.ts.map +1 -1
- package/dist/src/unstable/lint/index.js +1 -1
- package/dist/src/unstable/lint/index.js.map +1 -1
- package/dist/src/unstable/lint/publish.d.ts +5 -4
- package/dist/src/unstable/lint/publish.d.ts.map +1 -1
- package/dist/src/unstable/lint/publish.js +28 -18
- package/dist/src/unstable/lint/publish.js.map +1 -1
- package/dist/src/unstable/lockfile/index.d.ts +2 -2
- package/dist/src/unstable/lockfile/index.d.ts.map +1 -1
- package/dist/src/unstable/lockfile/index.js +1 -1
- package/dist/src/unstable/lockfile/index.js.map +1 -1
- package/dist/src/unstable/lockfile/lockfile.d.ts +255 -3
- package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
- package/dist/src/unstable/lockfile/lockfile.js +1 -1
- package/dist/src/unstable/lockfile/schema.d.ts +831 -33
- package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
- package/dist/src/unstable/lockfile/schema.js +82 -21
- package/dist/src/unstable/lockfile/schema.js.map +1 -1
- package/dist/src/unstable/managed-files/index.d.ts +7 -0
- package/dist/src/unstable/managed-files/index.d.ts.map +1 -0
- package/dist/src/unstable/managed-files/index.js +7 -0
- package/dist/src/unstable/managed-files/index.js.map +1 -0
- package/dist/src/unstable/{docs → managed-files}/markers.d.ts +1 -1
- package/dist/src/unstable/managed-files/markers.d.ts.map +1 -0
- package/dist/src/unstable/{docs → managed-files}/markers.js +1 -1
- package/dist/src/unstable/managed-files/markers.js.map +1 -0
- package/dist/src/unstable/packs/dependency-resolution.d.ts +3 -1
- package/dist/src/unstable/packs/dependency-resolution.d.ts.map +1 -1
- package/dist/src/unstable/packs/dependency-resolution.js +22 -7
- package/dist/src/unstable/packs/dependency-resolution.js.map +1 -1
- package/dist/src/unstable/packs/expansion.d.ts +3 -1
- package/dist/src/unstable/packs/expansion.d.ts.map +1 -1
- package/dist/src/unstable/packs/expansion.js +35 -5
- package/dist/src/unstable/packs/expansion.js.map +1 -1
- package/dist/src/unstable/packs/manager.d.ts.map +1 -1
- package/dist/src/unstable/packs/manager.js +3 -1
- package/dist/src/unstable/packs/manager.js.map +1 -1
- package/dist/src/unstable/packs/manifest-schema.js +1 -1
- package/dist/src/unstable/packs/manifest-schema.js.map +1 -1
- package/dist/src/unstable/packs/operations/install.d.ts +4 -0
- package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
- package/dist/src/unstable/packs/operations/install.js +7 -1
- package/dist/src/unstable/packs/operations/install.js.map +1 -1
- package/dist/src/unstable/packs/reconciliation-adapter.d.ts.map +1 -1
- package/dist/src/unstable/packs/reconciliation-adapter.js +4 -2
- package/dist/src/unstable/packs/reconciliation-adapter.js.map +1 -1
- package/dist/src/unstable/publish/lint-gate.d.ts +5 -0
- package/dist/src/unstable/publish/lint-gate.d.ts.map +1 -1
- package/dist/src/unstable/publish/lint-gate.js +12 -1
- package/dist/src/unstable/publish/lint-gate.js.map +1 -1
- package/dist/src/unstable/publish/manifest-policy.d.ts +54 -2
- package/dist/src/unstable/publish/manifest-policy.d.ts.map +1 -1
- package/dist/src/unstable/publish/manifest-policy.js +10 -5
- package/dist/src/unstable/publish/manifest-policy.js.map +1 -1
- package/dist/src/unstable/registry/discover-schema.d.ts +4 -4
- package/dist/src/unstable/registry/schema.d.ts +1 -1
- package/dist/src/unstable/rules/discovery.d.ts +19 -0
- package/dist/src/unstable/rules/discovery.d.ts.map +1 -0
- package/dist/src/unstable/rules/discovery.js +101 -0
- package/dist/src/unstable/rules/discovery.js.map +1 -0
- package/dist/src/unstable/rules/index.d.ts +11 -0
- package/dist/src/unstable/rules/index.d.ts.map +1 -0
- package/dist/src/unstable/rules/index.js +10 -0
- package/dist/src/unstable/rules/index.js.map +1 -0
- package/dist/src/unstable/rules/manager.d.ts +19 -0
- package/dist/src/unstable/rules/manager.d.ts.map +1 -0
- package/dist/src/unstable/rules/manager.js +400 -0
- package/dist/src/unstable/rules/manager.js.map +1 -0
- package/dist/src/unstable/rules/manifest-schema.d.ts +62 -0
- package/dist/src/unstable/rules/manifest-schema.d.ts.map +1 -0
- package/dist/src/unstable/rules/manifest-schema.js +43 -0
- package/dist/src/unstable/rules/manifest-schema.js.map +1 -0
- package/dist/src/unstable/rules/refs.d.ts +25 -0
- package/dist/src/unstable/rules/refs.d.ts.map +1 -0
- package/dist/src/unstable/rules/refs.js +8 -0
- package/dist/src/unstable/rules/refs.js.map +1 -0
- package/dist/src/unstable/rules/registry-ref-builder.d.ts +7 -0
- package/dist/src/unstable/rules/registry-ref-builder.d.ts.map +1 -0
- package/dist/src/unstable/rules/registry-ref-builder.js +13 -0
- package/dist/src/unstable/rules/registry-ref-builder.js.map +1 -0
- package/dist/src/unstable/settings/index.d.ts +2 -2
- package/dist/src/unstable/settings/index.d.ts.map +1 -1
- package/dist/src/unstable/settings/index.js +1 -1
- package/dist/src/unstable/settings/index.js.map +1 -1
- package/dist/src/unstable/settings/schema.d.ts +147 -19
- package/dist/src/unstable/settings/schema.d.ts.map +1 -1
- package/dist/src/unstable/settings/schema.js +283 -42
- package/dist/src/unstable/settings/schema.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/print.js +1 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/print.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/convention-discovery.d.ts +10 -0
- package/dist/src/unstable/source-resolution/providers/convention-discovery.d.ts.map +1 -0
- package/dist/src/unstable/source-resolution/providers/convention-discovery.js +388 -0
- package/dist/src/unstable/source-resolution/providers/convention-discovery.js.map +1 -0
- package/dist/src/unstable/source-resolution/providers/git-hosting.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/git-hosting.js +4 -71
- package/dist/src/unstable/source-resolution/providers/git-hosting.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/git.d.ts +5 -4
- package/dist/src/unstable/source-resolution/providers/git.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/git.js +28 -11
- package/dist/src/unstable/source-resolution/providers/git.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/github/print.js +1 -1
- package/dist/src/unstable/source-resolution/providers/github/print.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/print.js +1 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/print.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/local.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/local.js +6 -50
- package/dist/src/unstable/source-resolution/providers/local.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/parse-provider-shorthand.d.ts +1 -1
- package/dist/src/unstable/source-resolution/providers/parse-provider-shorthand.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/parse-provider-shorthand.js +34 -11
- package/dist/src/unstable/source-resolution/providers/parse-provider-shorthand.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/registry/host-provider.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/registry/host-provider.js +24 -4
- package/dist/src/unstable/source-resolution/providers/registry/host-provider.js.map +1 -1
- package/dist/src/unstable/source-resolution/resolve-source.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/resolve-source.js +29 -7
- package/dist/src/unstable/source-resolution/resolve-source.js.map +1 -1
- package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
- package/dist/src/unstable/sources/lock-entry-to-ref.js +5 -0
- package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
- package/dist/src/unstable/sources/printer.d.ts +2 -2
- package/dist/src/unstable/sources/printer.d.ts.map +1 -1
- package/dist/src/unstable/sources/printer.js +10 -0
- package/dist/src/unstable/sources/printer.js.map +1 -1
- package/dist/src/unstable/sources/types.d.ts +19 -3
- package/dist/src/unstable/sources/types.d.ts.map +1 -1
- package/dist/src/unstable/sources/types.js +19 -3
- package/dist/src/unstable/sources/types.js.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts +2 -2
- package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/index.js +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/index.js.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +13 -3
- package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +109 -9
- package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/types.d.ts +6 -2
- package/dist/src/unstable/workspace/configured-entry-resolution/types.d.ts.map +1 -1
- package/dist/src/unstable/workspace/configured-entry-resolution/types.js.map +1 -1
- package/dist/src/unstable/workspace/index.d.ts +2 -2
- package/dist/src/unstable/workspace/index.d.ts.map +1 -1
- package/dist/src/unstable/workspace/index.js +1 -1
- package/dist/src/unstable/workspace/index.js.map +1 -1
- package/dist/src/unstable/workspace/initialization.d.ts +120 -40
- package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.d.ts +2 -0
- package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.js +2 -0
- package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.js +8 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/files.d.ts +93 -0
- package/dist/src/unstable/workspace/read-model/extensions/files.d.ts.map +1 -0
- package/dist/src/unstable/workspace/read-model/extensions/{docs.js → files.js} +21 -21
- package/dist/src/unstable/workspace/read-model/extensions/files.js.map +1 -0
- package/dist/src/unstable/workspace/read-model/extensions/index.d.ts +2 -2
- package/dist/src/unstable/workspace/read-model/extensions/index.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/index.js +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/index.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/mcp-server.d.ts +1 -0
- package/dist/src/unstable/workspace/read-model/extensions/mcp-server.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/mcp-server.js +2 -0
- package/dist/src/unstable/workspace/read-model/extensions/mcp-server.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/rule.d.ts +29 -6
- package/dist/src/unstable/workspace/read-model/extensions/rule.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/extensions/rule.js +38 -28
- package/dist/src/unstable/workspace/read-model/extensions/rule.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js +4 -2
- package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/mcp-config.d.ts +2 -5
- package/dist/src/unstable/workspace/read-model/scanners/mcp-config.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/mcp-config.js +16 -14
- package/dist/src/unstable/workspace/read-model/scanners/mcp-config.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/types.d.ts +2 -0
- package/dist/src/unstable/workspace/read-model/scanners/types.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/types.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/service.d.ts +2 -2
- package/dist/src/unstable/workspace/read-model/service.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/service.js +16 -6
- package/dist/src/unstable/workspace/read-model/service.js.map +1 -1
- package/dist/src/unstable/workspace/read-model-record-readers.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model-record-readers.js +56 -5
- package/dist/src/unstable/workspace/read-model-record-readers.js.map +1 -1
- package/dist/src/unstable/workspace/service-interface.d.ts +90 -26
- package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
- package/dist/src/unstable/workspace/service-interface.js.map +1 -1
- package/dist/src/unstable/workspace/service.d.ts +548 -14
- package/dist/src/unstable/workspace/service.d.ts.map +1 -1
- package/dist/src/unstable/workspace/service.js +336 -50
- package/dist/src/unstable/workspace/service.js.map +1 -1
- package/dist/src/unstable/workspace/test-stubs.d.ts +2 -0
- package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
- package/dist/src/unstable/workspace/test-stubs.js +32 -10
- package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
- package/package.json +17 -5
- package/site-content/__generated__/schemas/axm-lock.schema.json +669 -171
- package/site-content/__generated__/schemas/axm-package-meta.schema.json +1 -1
- package/site-content/__generated__/schemas/{docs.schema.json → files.schema.json} +44 -44
- package/site-content/__generated__/schemas/hook.schema.json +375 -0
- package/site-content/__generated__/schemas/pack.schema.json +3 -3
- package/site-content/__generated__/schemas/rule.schema.json +327 -0
- package/site-content/__generated__/schemas/settings.schema.json +186 -39
- package/dist/src/unstable/docs/discovery.d.ts +0 -19
- package/dist/src/unstable/docs/discovery.d.ts.map +0 -1
- package/dist/src/unstable/docs/discovery.js.map +0 -1
- package/dist/src/unstable/docs/generators.d.ts.map +0 -1
- package/dist/src/unstable/docs/generators.js.map +0 -1
- package/dist/src/unstable/docs/index.d.ts +0 -15
- package/dist/src/unstable/docs/index.d.ts.map +0 -1
- package/dist/src/unstable/docs/index.js.map +0 -1
- package/dist/src/unstable/docs/manager.d.ts.map +0 -1
- package/dist/src/unstable/docs/manager.js.map +0 -1
- package/dist/src/unstable/docs/manifest-schema.d.ts.map +0 -1
- package/dist/src/unstable/docs/manifest-schema.js.map +0 -1
- package/dist/src/unstable/docs/markers.d.ts.map +0 -1
- package/dist/src/unstable/docs/markers.js.map +0 -1
- package/dist/src/unstable/docs/materialization.d.ts.map +0 -1
- package/dist/src/unstable/docs/materialization.js.map +0 -1
- package/dist/src/unstable/docs/refs.d.ts +0 -17
- package/dist/src/unstable/docs/refs.d.ts.map +0 -1
- package/dist/src/unstable/docs/refs.js.map +0 -1
- package/dist/src/unstable/docs/workspace-generators.d.ts.map +0 -1
- package/dist/src/unstable/docs/workspace-generators.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/generator-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/generator-valid.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/generator-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/helpers.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/helpers.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/manifest-keys-recognized.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/manifest-keys-recognized.js +0 -14
- package/dist/src/unstable/lint/catalog/docs/manifest-keys-recognized.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/manifest-present.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/manifest-present.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/manifest-present.js +0 -24
- package/dist/src/unstable/lint/catalog/docs/manifest-present.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/manifest-schema-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/manifest-schema-valid.js +0 -12
- package/dist/src/unstable/lint/catalog/docs/manifest-schema-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/marker-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/marker-valid.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/marker-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/package-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/package-valid.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/package-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/target-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/target-valid.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/target-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/template-valid.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs/template-valid.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs/template-valid.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/contexts.d.ts +0 -10
- package/dist/src/unstable/lint/catalog/docs-accessor/contexts.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/contexts.js +0 -8
- package/dist/src/unstable/lint/catalog/docs-accessor/contexts.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/platform.d.ts +0 -9
- package/dist/src/unstable/lint/catalog/docs-accessor/platform.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/platform.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/vft.d.ts +0 -8
- package/dist/src/unstable/lint/catalog/docs-accessor/vft.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs-accessor/vft.js.map +0 -1
- package/dist/src/unstable/lint/catalog/docs.d.ts +0 -4
- package/dist/src/unstable/lint/catalog/docs.d.ts.map +0 -1
- package/dist/src/unstable/lint/catalog/docs.js +0 -21
- package/dist/src/unstable/lint/catalog/docs.js.map +0 -1
- package/dist/src/unstable/workspace/read-model/extensions/docs.d.ts +0 -93
- package/dist/src/unstable/workspace/read-model/extensions/docs.d.ts.map +0 -1
- package/dist/src/unstable/workspace/read-model/extensions/docs.js.map +0 -1
- /package/dist/src/unstable/{docs → files}/workspace-generators.d.ts +0 -0
- /package/dist/src/unstable/{docs → files}/workspace-generators.js +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import { advisory,
|
|
4
|
-
const RULE_ID = "
|
|
3
|
+
import { advisory, decodeFilesManifest, FILES_JSON, sourcePaths, SRC_ROOT, srcPath, } from "./helpers.js";
|
|
4
|
+
const RULE_ID = "files/package-valid";
|
|
5
5
|
export const packageValidRule = {
|
|
6
6
|
id: RULE_ID,
|
|
7
|
-
description: "
|
|
7
|
+
description: "files.json references existing payload files and no orphan src/ payloads.",
|
|
8
8
|
kind: "advisory",
|
|
9
9
|
severity: "error",
|
|
10
|
-
check: (
|
|
11
|
-
const manifest =
|
|
10
|
+
check: (files) => Effect.gen(function* () {
|
|
11
|
+
const manifest = decodeFilesManifest(files.subject.filesJson);
|
|
12
12
|
if (Option.isNone(manifest)) {
|
|
13
13
|
return [];
|
|
14
14
|
}
|
|
@@ -21,20 +21,20 @@ export const packageValidRule = {
|
|
|
21
21
|
for (const payloadPath of sourcePaths(entry.source)) {
|
|
22
22
|
const file = srcPath(payloadPath);
|
|
23
23
|
referenced.add(file);
|
|
24
|
-
const exists = yield*
|
|
24
|
+
const exists = yield* files.files.exists(file);
|
|
25
25
|
if (!exists) {
|
|
26
|
-
findings.push(advisory(RULE_ID, "error", `File payload '${payloadPath}' is referenced by
|
|
26
|
+
findings.push(advisory(RULE_ID, "error", `File payload '${payloadPath}' is referenced by files.json but is missing under src/. Add \`${file}\` or update the contents entry.`, FILES_JSON));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
const payloadFiles = yield*
|
|
30
|
+
const payloadFiles = yield* files.files
|
|
31
31
|
.listFiles(SRC_ROOT)
|
|
32
32
|
.pipe(Effect.catch(() => Effect.succeed([])));
|
|
33
33
|
for (const payloadFile of payloadFiles) {
|
|
34
34
|
if (referenced.has(payloadFile)) {
|
|
35
35
|
continue;
|
|
36
36
|
}
|
|
37
|
-
findings.push(advisory(RULE_ID, "warning", `File payload '${payloadFile}' is present under src/ but no
|
|
37
|
+
findings.push(advisory(RULE_ID, "warning", `File payload '${payloadFile}' is present under src/ but no files.json contents entry references it. Remove the orphan payload or add it to contents.`, payloadFile));
|
|
38
38
|
}
|
|
39
39
|
return findings;
|
|
40
40
|
}),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files/package-valid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,2EAA2E;IACxF,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CACX,QAAQ,CACN,OAAO,EACP,OAAO,EACP,iBAAiB,WAAW,kEAAkE,IAAI,kCAAkC,EACpI,UAAU,CACX,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;aACpC,SAAS,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,QAAQ,CACN,OAAO,EACP,SAAS,EACT,iBAAiB,WAAW,0HAA0H,EACtJ,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files/target-valid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAKnE,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,gBAAgB,CAgD1D,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import { advisory,
|
|
4
|
-
const RULE_ID = "
|
|
3
|
+
import { advisory, decodeFilesManifest, FILES_JSON, isUnsafeWorkspaceTarget } from "./helpers.js";
|
|
4
|
+
const RULE_ID = "files/target-valid";
|
|
5
5
|
export const targetValidRule = {
|
|
6
6
|
id: RULE_ID,
|
|
7
7
|
description: "File contents targets stay within the workspace and avoid whole-file collisions.",
|
|
8
8
|
kind: "advisory",
|
|
9
9
|
severity: "error",
|
|
10
|
-
check: (
|
|
11
|
-
const manifest =
|
|
10
|
+
check: (files) => Effect.succeed((() => {
|
|
11
|
+
const manifest = decodeFilesManifest(files.subject.filesJson);
|
|
12
12
|
if (Option.isNone(manifest)) {
|
|
13
13
|
return [];
|
|
14
14
|
}
|
|
@@ -16,7 +16,7 @@ export const targetValidRule = {
|
|
|
16
16
|
const wholeFileTargets = new Map();
|
|
17
17
|
for (const [index, entry] of manifest.value.contents.entries()) {
|
|
18
18
|
if (isUnsafeWorkspaceTarget(entry.target)) {
|
|
19
|
-
findings.push(advisory(RULE_ID, "error", `File contents entry ${index + 1} uses unsafe workspace target '${entry.target}'. Use a relative target that stays outside .axm/.`,
|
|
19
|
+
findings.push(advisory(RULE_ID, "error", `File contents entry ${index + 1} uses unsafe workspace target '${entry.target}'. Use a relative target that stays outside .axm/.`, FILES_JSON));
|
|
20
20
|
}
|
|
21
21
|
if (entry.mode === "sync-always") {
|
|
22
22
|
wholeFileTargets.set(entry.target, (wholeFileTargets.get(entry.target) ?? 0) + 1);
|
|
@@ -26,7 +26,7 @@ export const targetValidRule = {
|
|
|
26
26
|
if (count <= 1) {
|
|
27
27
|
continue;
|
|
28
28
|
}
|
|
29
|
-
findings.push(advisory(RULE_ID, "warning", `Multiple sync-always entries write whole-file target '${target}'. Keep only one owner for that target to avoid nondeterministic materialization.`,
|
|
29
|
+
findings.push(advisory(RULE_ID, "warning", `Multiple sync-always entries write whole-file target '${target}'. Keep only one owner for that target to avoid nondeterministic materialization.`, FILES_JSON));
|
|
30
30
|
}
|
|
31
31
|
return findings;
|
|
32
32
|
})()),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files/target-valid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAElG,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,kFAAkF;IAC/F,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,MAAM,CAAC,OAAO,CACZ,CAAC,GAAmC,EAAE;QACpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CACX,QAAQ,CACN,OAAO,EACP,OAAO,EACP,uBAAuB,KAAK,GAAG,CAAC,kCAAkC,KAAK,CAAC,MAAM,oDAAoD,EAClI,UAAU,CACX,CACF,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC/C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,QAAQ,CACN,OAAO,EACP,SAAS,EACT,yDAAyD,MAAM,mFAAmF,EAClJ,UAAU,CACX,CACF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,EAAE,CACL;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files/template-valid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAcnE,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,gBAAgB,CAwF5D,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import { advisory,
|
|
4
|
-
const RULE_ID = "
|
|
3
|
+
import { advisory, decodeFilesManifest, FILES_JSON, readPayloadString, sourcePaths, srcPath, } from "./helpers.js";
|
|
4
|
+
const RULE_ID = "files/template-valid";
|
|
5
5
|
const templateExpressionPattern = /\$\{([^}]+)\}/g;
|
|
6
6
|
const secretNamePattern = /(?:secret|token|password|passwd|api[-_]?key|private[-_]?key)/i;
|
|
7
7
|
export const templateValidRule = {
|
|
@@ -9,8 +9,8 @@ export const templateValidRule = {
|
|
|
9
9
|
description: "File templates reference declared scalar inputs and avoid secret-shaped inputs.",
|
|
10
10
|
kind: "advisory",
|
|
11
11
|
severity: "error",
|
|
12
|
-
check: (
|
|
13
|
-
const manifest =
|
|
12
|
+
check: (files) => Effect.gen(function* () {
|
|
13
|
+
const manifest = decodeFilesManifest(files.subject.filesJson);
|
|
14
14
|
if (Option.isNone(manifest)) {
|
|
15
15
|
return [];
|
|
16
16
|
}
|
|
@@ -20,14 +20,14 @@ export const templateValidRule = {
|
|
|
20
20
|
if (!secretNamePattern.test(inputName)) {
|
|
21
21
|
continue;
|
|
22
22
|
}
|
|
23
|
-
findings.push(advisory(RULE_ID, "warning", `File input '${inputName}' looks secret-shaped. File templates do not support secret templating; use non-secret scalar inputs only.`,
|
|
23
|
+
findings.push(advisory(RULE_ID, "warning", `File input '${inputName}' looks secret-shaped. File templates do not support secret templating; use non-secret scalar inputs only.`, FILES_JSON));
|
|
24
24
|
}
|
|
25
25
|
for (const entry of manifest.value.contents) {
|
|
26
26
|
if (entry.source.kind !== "template") {
|
|
27
27
|
continue;
|
|
28
28
|
}
|
|
29
29
|
for (const payloadPath of sourcePaths(entry.source)) {
|
|
30
|
-
const content = yield* readPayloadString(
|
|
30
|
+
const content = yield* readPayloadString(files, payloadPath);
|
|
31
31
|
if (Option.isNone(content)) {
|
|
32
32
|
continue;
|
|
33
33
|
}
|
|
@@ -38,7 +38,7 @@ export const templateValidRule = {
|
|
|
38
38
|
continue;
|
|
39
39
|
}
|
|
40
40
|
if (namespace === "inputs" && !declaredInputs.has(key)) {
|
|
41
|
-
findings.push(advisory(RULE_ID, "error", `Template payload '${payloadPath}' references undeclared input '${key}'. Declare it in
|
|
41
|
+
findings.push(advisory(RULE_ID, "error", `Template payload '${payloadPath}' references undeclared input '${key}'. Declare it in files.json inputs or remove the placeholder.`, srcPath(payloadPath)));
|
|
42
42
|
}
|
|
43
43
|
else if (namespace === "workspace" && key !== "root") {
|
|
44
44
|
findings.push(advisory(RULE_ID, "error", `Template payload '${payloadPath}' references unsupported workspace value '${key}'. Only \${workspace.root} is supported.`, srcPath(payloadPath)));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files/template-valid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FilesAccessor, FilesRuleContext } from "../../context.js";
|
|
2
|
+
export interface InstalledFilesInfo {
|
|
3
|
+
readonly filesJson: unknown;
|
|
4
|
+
readonly displayRoot: string;
|
|
5
|
+
readonly files: FilesAccessor;
|
|
6
|
+
}
|
|
7
|
+
export declare const buildFilesRuleContexts: (input: {
|
|
8
|
+
readonly installedFiles: ReadonlyArray<InstalledFilesInfo>;
|
|
9
|
+
}) => ReadonlyArray<FilesRuleContext>;
|
|
10
|
+
//# sourceMappingURL=contexts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/contexts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAC5C,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC5D,KAAG,aAAa,CAAC,gBAAgB,CAS/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/contexts.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAEtC,EAAmC,EAAE,CACpC,KAAK,CAAC,cAAc,CAAC,GAAG,CACtB,CAAC,IAAI,EAAoB,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE;QACP,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B;IACD,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type * as FileSystem from "effect/FileSystem";
|
|
2
|
+
import type * as Path from "effect/Path";
|
|
3
|
+
import type { FilesAccessor } from "../../context.js";
|
|
4
|
+
export interface FilesAccessorPlatform {
|
|
5
|
+
readonly fs: FileSystem.FileSystem;
|
|
6
|
+
readonly path: Path.Path;
|
|
7
|
+
}
|
|
8
|
+
export declare const makePlatformFilesAccessor: (platform: FilesAccessorPlatform, absoluteRoot: string) => FilesAccessor;
|
|
9
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/platform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CAC1B;AAMD,eAAO,MAAM,yBAAyB,GACpC,UAAU,qBAAqB,EAC/B,cAAc,MAAM,KACnB,aA0GF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
export const
|
|
2
|
+
export const makePlatformFilesAccessor = (platform, absoluteRoot) => {
|
|
3
3
|
const { fs, path } = platform;
|
|
4
4
|
const normalizedRoot = path.resolve(absoluteRoot);
|
|
5
5
|
const resolveWithinRoot = (input) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FilesAccessor } from "../../context.js";
|
|
2
|
+
export interface FilesVFTNode {
|
|
3
|
+
readonly hasFile: (posixPath: string) => boolean;
|
|
4
|
+
readonly getFile: (posixPath: string) => Uint8Array | undefined;
|
|
5
|
+
readonly listFiles?: (posixPath: string) => ReadonlyArray<string>;
|
|
6
|
+
}
|
|
7
|
+
export declare const makeVftFilesAccessor: (tree: FilesVFTNode) => FilesAccessor;
|
|
8
|
+
//# sourceMappingURL=vft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vft.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/vft.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,YAAY,KAAG,aA+BxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vft.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/files-accessor/vft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAShE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { registerLintRuleIds } from "../config.js";
|
|
2
|
+
import { generatorValidRule } from "./files/generator-valid.js";
|
|
3
|
+
import { manifestKeysRecognizedRule } from "./files/manifest-keys-recognized.js";
|
|
4
|
+
import { manifestPresentRule } from "./files/manifest-present.js";
|
|
5
|
+
import { manifestSchemaValidRule } from "./files/manifest-schema-valid.js";
|
|
6
|
+
import { markerValidRule } from "./files/marker-valid.js";
|
|
7
|
+
import { packageValidRule } from "./files/package-valid.js";
|
|
8
|
+
import { targetValidRule } from "./files/target-valid.js";
|
|
9
|
+
import { templateValidRule } from "./files/template-valid.js";
|
|
10
|
+
export const filesRules = [
|
|
11
|
+
manifestPresentRule,
|
|
12
|
+
manifestSchemaValidRule,
|
|
13
|
+
manifestKeysRecognizedRule,
|
|
14
|
+
packageValidRule,
|
|
15
|
+
targetValidRule,
|
|
16
|
+
templateValidRule,
|
|
17
|
+
generatorValidRule,
|
|
18
|
+
markerValidRule,
|
|
19
|
+
];
|
|
20
|
+
registerLintRuleIds(filesRules.map((r) => r.id));
|
|
21
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,CAAC,MAAM,UAAU,GAA8C;IACnE,mBAAmB;IACnB,uBAAuB;IACvB,0BAA0B;IAC1B,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;CAChB,CAAC;AAEF,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint-exists.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/entrypoint-exists.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAMnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,eAAe,CAqC9D,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Result from "effect/Result";
|
|
3
|
+
import * as Schema from "effect/Schema";
|
|
4
|
+
import { HookManifestSchema, HOOK_MANIFEST_FILENAME } from "../../../hooks/manifest-schema.js";
|
|
5
|
+
import { isManifestJsonParseFailure } from "../shared/manifest-json.js";
|
|
6
|
+
const RULE_ID = "hook/entrypoint-exists";
|
|
7
|
+
const decodeHookManifest = Schema.decodeUnknownResult(HookManifestSchema);
|
|
8
|
+
export const entrypointExistsRule = {
|
|
9
|
+
id: RULE_ID,
|
|
10
|
+
description: "hook.json entrypoint points to a package file.",
|
|
11
|
+
kind: "advisory",
|
|
12
|
+
severity: "error",
|
|
13
|
+
check: (context) => {
|
|
14
|
+
if (context.subject.hookJson === undefined ||
|
|
15
|
+
isManifestJsonParseFailure(context.subject.hookJson)) {
|
|
16
|
+
return Effect.succeed([]);
|
|
17
|
+
}
|
|
18
|
+
const decoded = decodeHookManifest(context.subject.hookJson, {
|
|
19
|
+
onExcessProperty: "ignore",
|
|
20
|
+
errors: "all",
|
|
21
|
+
});
|
|
22
|
+
if (Result.isFailure(decoded)) {
|
|
23
|
+
return Effect.succeed([]);
|
|
24
|
+
}
|
|
25
|
+
const entrypoint = decoded.success.entrypoint;
|
|
26
|
+
return Effect.map(context.files.exists(entrypoint), (present) => present
|
|
27
|
+
? []
|
|
28
|
+
: [
|
|
29
|
+
{
|
|
30
|
+
kind: "advisory",
|
|
31
|
+
ruleId: RULE_ID,
|
|
32
|
+
severity: "error",
|
|
33
|
+
message: `hook.json entrypoint '${entrypoint}' does not exist. Add the hook body file or update \`entrypoint\`.`,
|
|
34
|
+
location: { file: HOOK_MANIFEST_FILENAME },
|
|
35
|
+
},
|
|
36
|
+
]);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=entrypoint-exists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint-exists.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/entrypoint-exists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAIxE,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAEzC,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAkC;IACjE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,gDAAgD;IAC7D,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,IACE,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YACtC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EACpD,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC3D,gBAAgB,EAAE,QAAQ;YAC1B,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C,OAAO,MAAM,CAAC,GAAG,CACf,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAChC,CAAC,OAAO,EAAkC,EAAE,CAC1C,OAAO;YACL,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,yBAAyB,UAAU,oEAAoE;oBAChH,QAAQ,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;iBAC3C;aACF,CACR,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-keys-recognized.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/
|
|
1
|
+
{"version":3,"file":"manifest-keys-recognized.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-keys-recognized.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,eAAe,CAepE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import { HookManifestSchema, HOOK_MANIFEST_FILENAME } from "../../../hooks/manifest-schema.js";
|
|
3
|
+
import { enumerateUnknownTopLevelKeys, structFieldKeys } from "../shared/schema-rule.js";
|
|
4
|
+
const RULE_ID = "hook/manifest-keys-recognized";
|
|
5
|
+
const allowedKeys = structFieldKeys(HookManifestSchema);
|
|
6
|
+
export const manifestKeysRecognizedRule = {
|
|
7
|
+
id: RULE_ID,
|
|
8
|
+
description: "hook.json uses only supported top-level fields.",
|
|
9
|
+
kind: "advisory",
|
|
10
|
+
severity: "error",
|
|
11
|
+
check: (context) => Effect.succeed(enumerateUnknownTopLevelKeys(RULE_ID, "error", HOOK_MANIFEST_FILENAME, allowedKeys, context.subject.hookJson)),
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=manifest-keys-recognized.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-keys-recognized.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-keys-recognized.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAG/F,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEzF,MAAM,OAAO,GAAG,+BAA+B,CAAC;AAEhD,MAAM,WAAW,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAkC;IACvE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,iDAAiD;IAC9D,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,OAAO,CACZ,4BAA4B,CAC1B,OAAO,EACP,OAAO,EACP,sBAAsB,EACtB,WAAW,EACX,OAAO,CAAC,OAAO,CAAC,QAAQ,CACzB,CACF;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-present.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-present.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAInE,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,eAAe,CAwB7D,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import { HOOK_MANIFEST_FILENAME } from "../../../hooks/manifest-schema.js";
|
|
3
|
+
const RULE_ID = "hook/manifest-present";
|
|
4
|
+
export const manifestPresentRule = {
|
|
5
|
+
id: RULE_ID,
|
|
6
|
+
description: "Hooks include a root hook.json manifest.",
|
|
7
|
+
kind: "advisory",
|
|
8
|
+
severity: "error",
|
|
9
|
+
check: (context) => Effect.map(context.files.exists(HOOK_MANIFEST_FILENAME), (present) => {
|
|
10
|
+
if (present) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
return [
|
|
14
|
+
{
|
|
15
|
+
kind: "advisory",
|
|
16
|
+
ruleId: RULE_ID,
|
|
17
|
+
severity: "error",
|
|
18
|
+
message: "hook.json is missing. Create hook.json with the required manifest fields (`owner`, `type`, `name`, `version`, `runtime`, `entrypoint`, `bindings`).",
|
|
19
|
+
location: { file: HOOK_MANIFEST_FILENAME },
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=manifest-present.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-present.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,MAAM,OAAO,GAAG,uBAAuB,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,0CAA0C;IACvD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CACR,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAC5C,CAAC,OAAO,EAAkC,EAAE;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EACL,qJAAqJ;gBACvJ,QAAQ,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;aAC3C;SACF,CAAC;IACJ,CAAC,CACF;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/
|
|
1
|
+
{"version":3,"file":"manifest-schema-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-schema-valid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKlD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,eAAe,CAajE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HookManifestSchema, HOOK_MANIFEST_FILENAME } from "../../../hooks/manifest-schema.js";
|
|
2
|
+
import { schemaDecodeFindings } from "../shared/schema-rule.js";
|
|
3
|
+
const RULE_ID = "hook/manifest-schema-valid";
|
|
4
|
+
export const manifestSchemaValidRule = {
|
|
5
|
+
id: RULE_ID,
|
|
6
|
+
description: "hook.json defines a valid hook manifest.",
|
|
7
|
+
kind: "advisory",
|
|
8
|
+
severity: "error",
|
|
9
|
+
check: (context) => schemaDecodeFindings(RULE_ID, "error", HOOK_MANIFEST_FILENAME, HookManifestSchema, context.subject.hookJson),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=manifest-schema-valid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-schema-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/hook/manifest-schema-valid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAG/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAE7C,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACpE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,0CAA0C;IACvD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,oBAAoB,CAClB,OAAO,EACP,OAAO,EACP,sBAAsB,EACtB,kBAAkB,EAClB,OAAO,CAAC,OAAO,CAAC,QAAQ,CACzB;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/hook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAK9D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { registerLintRuleIds } from "../config.js";
|
|
2
|
+
import { entrypointExistsRule } from "./hook/entrypoint-exists.js";
|
|
3
|
+
import { manifestKeysRecognizedRule } from "./hook/manifest-keys-recognized.js";
|
|
4
|
+
import { manifestPresentRule } from "./hook/manifest-present.js";
|
|
5
|
+
import { manifestSchemaValidRule } from "./hook/manifest-schema-valid.js";
|
|
6
|
+
export const hookRules = [
|
|
7
|
+
manifestPresentRule,
|
|
8
|
+
manifestSchemaValidRule,
|
|
9
|
+
manifestKeysRecognizedRule,
|
|
10
|
+
entrypointExistsRule,
|
|
11
|
+
];
|
|
12
|
+
registerLintRuleIds(hookRules.map((r) => r.id));
|
|
13
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAA6C;IACjE,mBAAmB;IACnB,uBAAuB;IACvB,0BAA0B;IAC1B,oBAAoB;CACrB,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -18,7 +18,8 @@ export { packRules } from "./pack.js";
|
|
|
18
18
|
export { commandRules } from "./command.js";
|
|
19
19
|
export { subagentRules } from "./subagent.js";
|
|
20
20
|
export { mcpServerRules } from "./mcp-server.js";
|
|
21
|
-
export {
|
|
21
|
+
export { filesRules } from "./files.js";
|
|
22
|
+
export { hookRules } from "./hook.js";
|
|
22
23
|
export { workspaceRules } from "./workspace.js";
|
|
23
24
|
export { makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, type VFTNode, } from "./skill-accessor/vft.js";
|
|
24
25
|
export { makePlatformSkillFileAccessor, type SkillAccessorPlatform, } from "./skill-accessor/platform.js";
|
|
@@ -26,9 +27,9 @@ export { buildSkillRuleContexts, type InstalledSkillInfo } from "./skill-accesso
|
|
|
26
27
|
export { makeVftPackFileAccessor, type PackVFTNode } from "./pack-accessor/vft.js";
|
|
27
28
|
export { makePlatformPackFileAccessor, type PackAccessorPlatform, } from "./pack-accessor/platform.js";
|
|
28
29
|
export { buildPackRuleContexts, type InstalledPackInfo } from "./pack-accessor/contexts.js";
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
31
|
-
export {
|
|
30
|
+
export { makePlatformFilesAccessor, type FilesAccessorPlatform, } from "./files-accessor/platform.js";
|
|
31
|
+
export { makeVftFilesAccessor, type FilesVFTNode } from "./files-accessor/vft.js";
|
|
32
|
+
export { buildFilesRuleContexts, type InstalledFilesInfo } from "./files-accessor/contexts.js";
|
|
32
33
|
export { buildLintWorkspace, buildNativeInstalledSkillInfo, buildExternalInstalledSkillInfo, buildInstalledPackInfo, externalSkillDisplayRoot, registryNativeSkillDisplayRoot, registryPackDisplayRoot, type BuildLintWorkspaceArgs, type BuildInstalledPackInfoArgs, type BuildInstalledSkillInfoExternalArgs, type BuildInstalledSkillInfoNativeArgs, type LintWorkspace, type LintWorkspaceView, } from "./workspace-read-model/lint-workspace.js";
|
|
33
34
|
export { PER_EXTENSION_OPERATION_NAMES, isPerExtensionOperationName, type PerExtensionOperationName, } from "./workspace/helpers/install-ops.js";
|
|
34
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,OAAO,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG/F,OAAO,EAAE,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EACL,yBAAyB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG/F,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,CASnD,CAAC"}
|
|
@@ -18,14 +18,16 @@ import { packRules } from "./pack.js";
|
|
|
18
18
|
import { commandRules } from "./command.js";
|
|
19
19
|
import { subagentRules } from "./subagent.js";
|
|
20
20
|
import { mcpServerRules } from "./mcp-server.js";
|
|
21
|
-
import {
|
|
21
|
+
import { filesRules } from "./files.js";
|
|
22
|
+
import { hookRules } from "./hook.js";
|
|
22
23
|
import { workspaceRules } from "./workspace.js";
|
|
23
24
|
export { skillRules } from "./skill.js";
|
|
24
25
|
export { packRules } from "./pack.js";
|
|
25
26
|
export { commandRules } from "./command.js";
|
|
26
27
|
export { subagentRules } from "./subagent.js";
|
|
27
28
|
export { mcpServerRules } from "./mcp-server.js";
|
|
28
|
-
export {
|
|
29
|
+
export { filesRules } from "./files.js";
|
|
30
|
+
export { hookRules } from "./hook.js";
|
|
29
31
|
export { workspaceRules } from "./workspace.js";
|
|
30
32
|
// Phase 3a accessor + context-builder helpers.
|
|
31
33
|
export { makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, } from "./skill-accessor/vft.js";
|
|
@@ -35,9 +37,9 @@ export { buildSkillRuleContexts } from "./skill-accessor/contexts.js";
|
|
|
35
37
|
export { makeVftPackFileAccessor } from "./pack-accessor/vft.js";
|
|
36
38
|
export { makePlatformPackFileAccessor, } from "./pack-accessor/platform.js";
|
|
37
39
|
export { buildPackRuleContexts } from "./pack-accessor/contexts.js";
|
|
38
|
-
export {
|
|
39
|
-
export {
|
|
40
|
-
export {
|
|
40
|
+
export { makePlatformFilesAccessor, } from "./files-accessor/platform.js";
|
|
41
|
+
export { makeVftFilesAccessor } from "./files-accessor/vft.js";
|
|
42
|
+
export { buildFilesRuleContexts } from "./files-accessor/contexts.js";
|
|
41
43
|
// Phase 3c workspace read-model builder helpers.
|
|
42
44
|
export { buildLintWorkspace, buildNativeInstalledSkillInfo, buildExternalInstalledSkillInfo, buildInstalledPackInfo, externalSkillDisplayRoot, registryNativeSkillDisplayRoot, registryPackDisplayRoot, } from "./workspace-read-model/lint-workspace.js";
|
|
43
45
|
export { PER_EXTENSION_OPERATION_NAMES, isPerExtensionOperationName, } from "./workspace/helpers/install-ops.js";
|
|
@@ -57,7 +59,8 @@ export const allCatalogRuleIds = [
|
|
|
57
59
|
...commandRules.map((r) => r.id),
|
|
58
60
|
...subagentRules.map((r) => r.id),
|
|
59
61
|
...mcpServerRules.map((r) => r.id),
|
|
60
|
-
...
|
|
62
|
+
...filesRules.map((r) => r.id),
|
|
63
|
+
...hookRules.map((r) => r.id),
|
|
61
64
|
...workspaceRules.map((r) => r.id),
|
|
62
65
|
];
|
|
63
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+CAA+C;AAC/C,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,GAE9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAA2B,MAAM,8BAA8B,CAAC;AAE/F,+CAA+C;AAC/C,OAAO,EAAE,uBAAuB,EAAoB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAA0B,MAAM,6BAA6B,CAAC;AAE5F,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"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"}
|