create-relkit 0.7.10 → 0.8.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/add-transaction-files.d.ts +1 -0
- package/dist/add-transaction-files.d.ts.map +1 -1
- package/dist/add-transaction-files.js +3 -52
- package/dist/add-transaction-files.js.map +1 -1
- package/dist/add-types.d.ts +15 -45
- package/dist/add-types.d.ts.map +1 -1
- package/dist/add-types.js +3 -9
- package/dist/add-types.js.map +1 -1
- package/dist/bin.d.ts +2 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +15 -80
- package/dist/bin.js.map +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +90 -0
- package/dist/cli.js.map +1 -0
- package/dist/create-capabilities.d.ts +5 -0
- package/dist/create-capabilities.d.ts.map +1 -1
- package/dist/create-capabilities.js +5 -5
- package/dist/create-capabilities.js.map +1 -1
- package/dist/create-capabilities.types.d.ts.map +1 -1
- package/dist/create-capabilities.types.js +1 -0
- package/dist/create-capabilities.types.js.map +1 -1
- package/dist/create-preview.d.ts +2 -1
- package/dist/create-preview.d.ts.map +1 -1
- package/dist/create-preview.js +2 -5
- package/dist/create-preview.js.map +1 -1
- package/dist/create-resolver.d.ts +1 -0
- package/dist/create-resolver.d.ts.map +1 -1
- package/dist/create-resolver.js +11 -7
- package/dist/create-resolver.js.map +1 -1
- package/dist/dependency-patches.d.ts +1 -0
- package/dist/dependency-patches.d.ts.map +1 -1
- package/dist/dependency-patches.js +5 -0
- package/dist/dependency-patches.js.map +1 -1
- package/dist/generate-deployment-manifest.d.ts +1 -0
- package/dist/generate-deployment-manifest.d.ts.map +1 -1
- package/dist/generate-deployment-manifest.js.map +1 -1
- package/dist/generate-deployment.d.ts +1 -0
- package/dist/generate-deployment.d.ts.map +1 -1
- package/dist/generate-deployment.js.map +1 -1
- package/dist/generate-examples.d.ts +1 -0
- package/dist/generate-examples.d.ts.map +1 -1
- package/dist/generate-examples.js.map +1 -1
- package/dist/generate-executable.d.ts +27 -0
- package/dist/generate-executable.d.ts.map +1 -0
- package/dist/generate-executable.js +48 -0
- package/dist/generate-executable.js.map +1 -0
- package/dist/generate-files-utilities.d.ts +1 -0
- package/dist/generate-files-utilities.d.ts.map +1 -1
- package/dist/generate-files-utilities.js.map +1 -1
- package/dist/generate-output.d.ts +6 -0
- package/dist/generate-output.d.ts.map +1 -1
- package/dist/generate-output.js +1 -2
- package/dist/generate-output.js.map +1 -1
- package/dist/generate-output.schemas.d.ts +1 -1
- package/dist/generate-output.schemas.d.ts.map +1 -1
- package/dist/generate-output.schemas.js +1 -1
- package/dist/generate-output.schemas.js.map +1 -1
- package/dist/generate-output.types.d.ts +2 -1
- package/dist/generate-output.types.d.ts.map +1 -1
- package/dist/generate-preparation.d.ts +6 -0
- package/dist/generate-preparation.d.ts.map +1 -1
- package/dist/generate-preparation.js.map +1 -1
- package/dist/generate-process.d.ts +3 -24
- package/dist/generate-process.d.ts.map +1 -1
- package/dist/generate-process.js +2 -43
- package/dist/generate-process.js.map +1 -1
- package/dist/generate-result.d.ts.map +1 -1
- package/dist/generate-result.js.map +1 -1
- package/dist/generate-stage.d.ts +6 -0
- package/dist/generate-stage.d.ts.map +1 -1
- package/dist/generate-stage.js.map +1 -1
- package/dist/generate-stage.types.d.ts.map +1 -1
- package/dist/generate-stage.types.js +4 -0
- package/dist/generate-stage.types.js.map +1 -1
- package/dist/generate-workflow.d.ts.map +1 -1
- package/dist/generate-workflow.js.map +1 -1
- package/dist/generator-file-writes.d.ts +27 -0
- package/dist/generator-file-writes.d.ts.map +1 -0
- package/dist/generator-file-writes.js +63 -0
- package/dist/generator-file-writes.js.map +1 -0
- package/dist/generator-filesystem.d.ts +1 -0
- package/dist/generator-filesystem.d.ts.map +1 -1
- package/dist/generator-filesystem.js +23 -15
- package/dist/generator-filesystem.js.map +1 -1
- package/dist/generator-process.d.ts +1 -0
- package/dist/generator-process.d.ts.map +1 -1
- package/dist/generator-process.js +14 -10
- package/dist/generator-process.js.map +1 -1
- package/dist/generator-prompt.d.ts +1 -0
- package/dist/generator-prompt.d.ts.map +1 -1
- package/dist/generator-prompt.js +14 -6
- package/dist/generator-prompt.js.map +1 -1
- package/dist/index.d.ts +1 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -12
- package/dist/index.js.map +1 -1
- package/dist/launcher.d.ts +9 -0
- package/dist/launcher.d.ts.map +1 -0
- package/dist/launcher.js +38 -0
- package/dist/launcher.js.map +1 -0
- package/dist/options-parser.d.ts +38 -0
- package/dist/options-parser.d.ts.map +1 -0
- package/dist/options-parser.js +67 -0
- package/dist/options-parser.js.map +1 -0
- package/dist/options.d.ts +13 -36
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +30 -99
- package/dist/options.js.map +1 -1
- package/dist/prompt-driver.d.ts +1 -0
- package/dist/prompt-driver.d.ts.map +1 -1
- package/dist/prompt-driver.js +18 -13
- package/dist/prompt-driver.js.map +1 -1
- package/dist/scaffold-catalog.d.ts +21 -0
- package/dist/scaffold-catalog.d.ts.map +1 -1
- package/dist/scaffold-catalog.js +18 -0
- package/dist/scaffold-catalog.js.map +1 -1
- package/dist/templates/default/README.md +1 -1
- package/dist/templates/default/v1/agent/.agents/skills/relkit/SKILL.md +10 -0
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/agent-apis.md +10 -7
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/cli.md +14 -13
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/config-environments.md +9 -3
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/data-apis.md +5 -1
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/observability-apis.md +30 -3
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/realtime-apis.md +3 -2
- package/dist/templates/default/v1/agent/.agents/skills/relkit/references/testing-apis.md +2 -2
- package/dist/templates/default/v1/agent/package.json +9 -6
- package/dist/templates/default/v1/agent/relkit.config.ts +1 -1
- package/dist/templates/default/v1/agent/src/services/hello/agents/assistant.agent.ts +1 -1
- package/dist/templates/default/v1/agent/src/services/hello/agents/review.agent.ts +1 -1
- package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +1 -1
- package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +1 -1
- package/dist/templates/default/v1/api/.agents/skills/relkit/SKILL.md +10 -0
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/agent-apis.md +10 -7
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/cli.md +14 -13
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/config-environments.md +9 -3
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/data-apis.md +5 -1
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/observability-apis.md +30 -3
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/realtime-apis.md +3 -2
- package/dist/templates/default/v1/api/.agents/skills/relkit/references/testing-apis.md +2 -2
- package/dist/templates/default/v1/api/package.json +4 -4
- package/dist/templates/default/v1/api/relkit.config.ts +1 -1
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/SKILL.md +10 -0
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/agent-apis.md +10 -7
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/cli.md +14 -13
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/config-environments.md +9 -3
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/data-apis.md +5 -1
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/observability-apis.md +30 -3
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/realtime-apis.md +3 -2
- package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/testing-apis.md +2 -2
- package/dist/templates/default/v1/fullstack/README.md +6 -3
- package/dist/templates/default/v1/fullstack/package.json +11 -7
- package/dist/templates/default/v1/fullstack/relkit.config.ts +1 -1
- package/dist/templates/default/v1/fullstack/src/services/hello/agents/assistant.agent.ts +1 -1
- package/dist/templates/default/v1/fullstack/src/services/hello/agents/review.agent.ts +1 -1
- package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +1 -1
- package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +1 -1
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/SKILL.md +10 -0
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/agent-apis.md +10 -7
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/cli.md +14 -13
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/config-environments.md +9 -3
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/data-apis.md +5 -1
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/observability-apis.md +30 -3
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/realtime-apis.md +3 -2
- package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/testing-apis.md +2 -2
- package/dist/templates/default/v1/minimal/package.json +4 -4
- package/dist/templates/default/v1/minimal/relkit.config.ts +1 -1
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/SKILL.md +10 -0
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/agent-apis.md +10 -7
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/cli.md +14 -13
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/config-environments.md +9 -3
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/data-apis.md +5 -1
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/observability-apis.md +30 -3
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/realtime-apis.md +3 -2
- package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/testing-apis.md +2 -2
- package/dist/templates/default/v1/tasks/README.md +5 -2
- package/dist/templates/default/v1/tasks/package.json +4 -4
- package/dist/templates/default/v1/tasks/relkit.config.ts +1 -1
- package/dist/validate.d.ts +1 -1
- package/package.json +127 -21
- package/dist/add-name.d.ts +0 -16
- package/dist/add-name.d.ts.map +0 -1
- package/dist/add-name.js +0 -22
- package/dist/add-name.js.map +0 -1
- package/dist/add-options-parser.d.ts +0 -70
- package/dist/add-options-parser.d.ts.map +0 -1
- package/dist/add-options-parser.js +0 -155
- package/dist/add-options-parser.js.map +0 -1
- package/dist/add-options-resource.d.ts +0 -13
- package/dist/add-options-resource.d.ts.map +0 -1
- package/dist/add-options-resource.js +0 -26
- package/dist/add-options-resource.js.map +0 -1
- package/dist/add-options.d.ts +0 -11
- package/dist/add-options.d.ts.map +0 -1
- package/dist/add-options.js +0 -212
- package/dist/add-options.js.map +0 -1
- package/dist/add-output.d.ts +0 -14
- package/dist/add-output.d.ts.map +0 -1
- package/dist/add-output.js +0 -54
- package/dist/add-output.js.map +0 -1
- package/dist/add-plan.d.ts +0 -29
- package/dist/add-plan.d.ts.map +0 -1
- package/dist/add-plan.js +0 -96
- package/dist/add-plan.js.map +0 -1
- package/dist/add-plan.types.d.ts +0 -13
- package/dist/add-plan.types.d.ts.map +0 -1
- package/dist/add-plan.types.js +0 -2
- package/dist/add-plan.types.js.map +0 -1
- package/dist/add-resolution-discovery.d.ts +0 -67
- package/dist/add-resolution-discovery.d.ts.map +0 -1
- package/dist/add-resolution-discovery.js +0 -134
- package/dist/add-resolution-discovery.js.map +0 -1
- package/dist/add-resolution-prompt.d.ts +0 -46
- package/dist/add-resolution-prompt.d.ts.map +0 -1
- package/dist/add-resolution-prompt.js +0 -88
- package/dist/add-resolution-prompt.js.map +0 -1
- package/dist/add-resolution-state-base.d.ts +0 -112
- package/dist/add-resolution-state-base.d.ts.map +0 -1
- package/dist/add-resolution-state-base.js +0 -141
- package/dist/add-resolution-state-base.js.map +0 -1
- package/dist/add-resolution-state.d.ts +0 -78
- package/dist/add-resolution-state.d.ts.map +0 -1
- package/dist/add-resolution-state.js +0 -101
- package/dist/add-resolution-state.js.map +0 -1
- package/dist/add-resolution-state.types.d.ts +0 -6
- package/dist/add-resolution-state.types.d.ts.map +0 -1
- package/dist/add-resolution-state.types.js +0 -2
- package/dist/add-resolution-state.types.js.map +0 -1
- package/dist/add-resolver-domain-execution.d.ts +0 -35
- package/dist/add-resolver-domain-execution.d.ts.map +0 -1
- package/dist/add-resolver-domain-execution.js +0 -101
- package/dist/add-resolver-domain-execution.js.map +0 -1
- package/dist/add-resolver-domain-input.d.ts +0 -30
- package/dist/add-resolver-domain-input.d.ts.map +0 -1
- package/dist/add-resolver-domain-input.js +0 -83
- package/dist/add-resolver-domain-input.js.map +0 -1
- package/dist/add-resolver-domain.d.ts +0 -21
- package/dist/add-resolver-domain.d.ts.map +0 -1
- package/dist/add-resolver-domain.js +0 -50
- package/dist/add-resolver-domain.js.map +0 -1
- package/dist/add-resolver-platform.d.ts +0 -21
- package/dist/add-resolver-platform.d.ts.map +0 -1
- package/dist/add-resolver-platform.js +0 -159
- package/dist/add-resolver-platform.js.map +0 -1
- package/dist/add-resolver-provider.d.ts +0 -15
- package/dist/add-resolver-provider.d.ts.map +0 -1
- package/dist/add-resolver-provider.js +0 -67
- package/dist/add-resolver-provider.js.map +0 -1
- package/dist/add-resolver-resources.d.ts +0 -21
- package/dist/add-resolver-resources.d.ts.map +0 -1
- package/dist/add-resolver-resources.js +0 -144
- package/dist/add-resolver-resources.js.map +0 -1
- package/dist/add-resolver.d.ts +0 -38
- package/dist/add-resolver.d.ts.map +0 -1
- package/dist/add-resolver.js +0 -80
- package/dist/add-resolver.js.map +0 -1
- package/dist/add-resolver.types.d.ts +0 -27
- package/dist/add-resolver.types.d.ts.map +0 -1
- package/dist/add-resolver.types.js +0 -2
- package/dist/add-resolver.types.js.map +0 -1
- package/dist/add-transaction-process.d.ts +0 -37
- package/dist/add-transaction-process.d.ts.map +0 -1
- package/dist/add-transaction-process.js +0 -54
- package/dist/add-transaction-process.js.map +0 -1
- package/dist/add-transaction-workflow.d.ts +0 -23
- package/dist/add-transaction-workflow.d.ts.map +0 -1
- package/dist/add-transaction-workflow.js +0 -77
- package/dist/add-transaction-workflow.js.map +0 -1
- package/dist/add-transaction.d.ts +0 -30
- package/dist/add-transaction.d.ts.map +0 -1
- package/dist/add-transaction.js +0 -65
- package/dist/add-transaction.js.map +0 -1
- package/dist/add-transaction.types.d.ts +0 -32
- package/dist/add-transaction.types.d.ts.map +0 -1
- package/dist/add-transaction.types.js +0 -2
- package/dist/add-transaction.types.js.map +0 -1
- package/dist/bucket-profiles.d.ts +0 -18
- package/dist/bucket-profiles.d.ts.map +0 -1
- package/dist/bucket-profiles.js +0 -40
- package/dist/bucket-profiles.js.map +0 -1
- package/dist/bucket-profiles.types.d.ts +0 -9
- package/dist/bucket-profiles.types.d.ts.map +0 -1
- package/dist/bucket-profiles.types.js +0 -2
- package/dist/bucket-profiles.types.js.map +0 -1
- package/dist/domain-artifact.d.ts +0 -76
- package/dist/domain-artifact.d.ts.map +0 -1
- package/dist/domain-artifact.js +0 -123
- package/dist/domain-artifact.js.map +0 -1
- package/dist/domain-planning.d.ts +0 -45
- package/dist/domain-planning.d.ts.map +0 -1
- package/dist/domain-planning.js +0 -93
- package/dist/domain-planning.js.map +0 -1
- package/dist/domain-planning.types.d.ts +0 -21
- package/dist/domain-planning.types.d.ts.map +0 -1
- package/dist/domain-planning.types.js +0 -2
- package/dist/domain-planning.types.js.map +0 -1
- package/dist/plan-builder-effects.d.ts +0 -124
- package/dist/plan-builder-effects.d.ts.map +0 -1
- package/dist/plan-builder-effects.js +0 -172
- package/dist/plan-builder-effects.js.map +0 -1
- package/dist/plan-builder-files.d.ts +0 -12
- package/dist/plan-builder-files.d.ts.map +0 -1
- package/dist/plan-builder-files.js +0 -99
- package/dist/plan-builder-files.js.map +0 -1
- package/dist/plan-builder-files.types.d.ts +0 -49
- package/dist/plan-builder-files.types.d.ts.map +0 -1
- package/dist/plan-builder-files.types.js +0 -2
- package/dist/plan-builder-files.types.js.map +0 -1
- package/dist/plan-builder-manifest.d.ts +0 -11
- package/dist/plan-builder-manifest.d.ts.map +0 -1
- package/dist/plan-builder-manifest.js +0 -37
- package/dist/plan-builder-manifest.js.map +0 -1
- package/dist/plan-builder.d.ts +0 -93
- package/dist/plan-builder.d.ts.map +0 -1
- package/dist/plan-builder.js +0 -118
- package/dist/plan-builder.js.map +0 -1
- package/dist/plan-builder.types.d.ts +0 -22
- package/dist/plan-builder.types.d.ts.map +0 -1
- package/dist/plan-builder.types.js +0 -2
- package/dist/plan-builder.types.js.map +0 -1
- package/dist/plan-manifest.d.ts +0 -18
- package/dist/plan-manifest.d.ts.map +0 -1
- package/dist/plan-manifest.js +0 -100
- package/dist/plan-manifest.js.map +0 -1
- package/dist/plan-manifest.types.d.ts +0 -13
- package/dist/plan-manifest.types.d.ts.map +0 -1
- package/dist/plan-manifest.types.js +0 -2
- package/dist/plan-manifest.types.js.map +0 -1
- package/dist/project-catalog.d.ts +0 -17
- package/dist/project-catalog.d.ts.map +0 -1
- package/dist/project-catalog.js +0 -69
- package/dist/project-catalog.js.map +0 -1
- package/dist/project-discovery-app.d.ts +0 -14
- package/dist/project-discovery-app.d.ts.map +0 -1
- package/dist/project-discovery-app.js +0 -193
- package/dist/project-discovery-app.js.map +0 -1
- package/dist/project-discovery-artifacts.d.ts +0 -15
- package/dist/project-discovery-artifacts.d.ts.map +0 -1
- package/dist/project-discovery-artifacts.js +0 -107
- package/dist/project-discovery-artifacts.js.map +0 -1
- package/dist/project-discovery-artifacts.types.d.ts +0 -22
- package/dist/project-discovery-artifacts.types.d.ts.map +0 -1
- package/dist/project-discovery-artifacts.types.js +0 -2
- package/dist/project-discovery-artifacts.types.js.map +0 -1
- package/dist/project-discovery-database.d.ts +0 -21
- package/dist/project-discovery-database.d.ts.map +0 -1
- package/dist/project-discovery-database.js +0 -64
- package/dist/project-discovery-database.js.map +0 -1
- package/dist/project-discovery-facts.d.ts +0 -12
- package/dist/project-discovery-facts.d.ts.map +0 -1
- package/dist/project-discovery-facts.js +0 -64
- package/dist/project-discovery-facts.js.map +0 -1
- package/dist/project-discovery-members.d.ts +0 -16
- package/dist/project-discovery-members.d.ts.map +0 -1
- package/dist/project-discovery-members.js +0 -57
- package/dist/project-discovery-members.js.map +0 -1
- package/dist/project-discovery-types.d.ts +0 -68
- package/dist/project-discovery-types.d.ts.map +0 -1
- package/dist/project-discovery-types.js +0 -2
- package/dist/project-discovery-types.js.map +0 -1
- package/dist/project-discovery.d.ts +0 -34
- package/dist/project-discovery.d.ts.map +0 -1
- package/dist/project-discovery.js +0 -56
- package/dist/project-discovery.js.map +0 -1
- package/dist/project-discovery.service.types.d.ts +0 -13
- package/dist/project-discovery.service.types.d.ts.map +0 -1
- package/dist/project-discovery.service.types.js +0 -2
- package/dist/project-discovery.service.types.js.map +0 -1
- package/dist/provider-planning-definitions.d.ts +0 -78
- package/dist/provider-planning-definitions.d.ts.map +0 -1
- package/dist/provider-planning-definitions.js +0 -152
- package/dist/provider-planning-definitions.js.map +0 -1
- package/dist/provider-planning.d.ts +0 -41
- package/dist/provider-planning.d.ts.map +0 -1
- package/dist/provider-planning.js +0 -124
- package/dist/provider-planning.js.map +0 -1
- package/dist/provider-planning.types.d.ts +0 -14
- package/dist/provider-planning.types.d.ts.map +0 -1
- package/dist/provider-planning.types.js +0 -2
- package/dist/provider-planning.types.js.map +0 -1
- package/dist/provider-profile-definition.d.ts +0 -45
- package/dist/provider-profile-definition.d.ts.map +0 -1
- package/dist/provider-profile-definition.js +0 -93
- package/dist/provider-profile-definition.js.map +0 -1
- package/dist/render-ai-sources.d.ts +0 -38
- package/dist/render-ai-sources.d.ts.map +0 -1
- package/dist/render-ai-sources.js +0 -70
- package/dist/render-ai-sources.js.map +0 -1
- package/dist/render-ai.d.ts +0 -60
- package/dist/render-ai.d.ts.map +0 -1
- package/dist/render-ai.js +0 -111
- package/dist/render-ai.js.map +0 -1
- package/dist/render-auth-database.d.ts +0 -33
- package/dist/render-auth-database.d.ts.map +0 -1
- package/dist/render-auth-database.js +0 -69
- package/dist/render-auth-database.js.map +0 -1
- package/dist/render-auth-schema.d.ts +0 -8
- package/dist/render-auth-schema.d.ts.map +0 -1
- package/dist/render-auth-schema.js +0 -93
- package/dist/render-auth-schema.js.map +0 -1
- package/dist/render-auth-sources.d.ts +0 -17
- package/dist/render-auth-sources.d.ts.map +0 -1
- package/dist/render-auth-sources.js +0 -31
- package/dist/render-auth-sources.js.map +0 -1
- package/dist/render-auth.d.ts +0 -30
- package/dist/render-auth.d.ts.map +0 -1
- package/dist/render-auth.js +0 -79
- package/dist/render-auth.js.map +0 -1
- package/dist/render-database-sources.d.ts +0 -26
- package/dist/render-database-sources.d.ts.map +0 -1
- package/dist/render-database-sources.js +0 -82
- package/dist/render-database-sources.js.map +0 -1
- package/dist/render-database.d.ts +0 -34
- package/dist/render-database.d.ts.map +0 -1
- package/dist/render-database.js +0 -67
- package/dist/render-database.js.map +0 -1
- package/dist/render-database.types.d.ts +0 -15
- package/dist/render-database.types.d.ts.map +0 -1
- package/dist/render-database.types.js +0 -2
- package/dist/render-database.types.js.map +0 -1
- package/dist/render-domain-callables.d.ts +0 -67
- package/dist/render-domain-callables.d.ts.map +0 -1
- package/dist/render-domain-callables.js +0 -99
- package/dist/render-domain-callables.js.map +0 -1
- package/dist/render-domain-events.d.ts +0 -59
- package/dist/render-domain-events.d.ts.map +0 -1
- package/dist/render-domain-events.js +0 -92
- package/dist/render-domain-events.js.map +0 -1
- package/dist/render-domain-jobs.d.ts +0 -56
- package/dist/render-domain-jobs.d.ts.map +0 -1
- package/dist/render-domain-jobs.js +0 -84
- package/dist/render-domain-jobs.js.map +0 -1
- package/dist/render-domain-register.d.ts +0 -22
- package/dist/render-domain-register.d.ts.map +0 -1
- package/dist/render-domain-register.js +0 -31
- package/dist/render-domain-register.js.map +0 -1
- package/dist/render-domain-sources.d.ts +0 -82
- package/dist/render-domain-sources.d.ts.map +0 -1
- package/dist/render-domain-sources.js +0 -197
- package/dist/render-domain-sources.js.map +0 -1
- package/dist/render-domain.d.ts +0 -5
- package/dist/render-domain.d.ts.map +0 -1
- package/dist/render-domain.js +0 -4
- package/dist/render-domain.js.map +0 -1
- package/dist/render-domain.types.d.ts +0 -15
- package/dist/render-domain.types.d.ts.map +0 -1
- package/dist/render-domain.types.js +0 -2
- package/dist/render-domain.types.js.map +0 -1
- package/dist/render-resource-sources.d.ts +0 -16
- package/dist/render-resource-sources.d.ts.map +0 -1
- package/dist/render-resource-sources.js +0 -43
- package/dist/render-resource-sources.js.map +0 -1
- package/dist/render-resources.d.ts +0 -58
- package/dist/render-resources.d.ts.map +0 -1
- package/dist/render-resources.js +0 -100
- package/dist/render-resources.js.map +0 -1
- package/dist/render-route-sources.d.ts +0 -27
- package/dist/render-route-sources.d.ts.map +0 -1
- package/dist/render-route-sources.js +0 -56
- package/dist/render-route-sources.js.map +0 -1
- package/dist/render-routes.d.ts +0 -71
- package/dist/render-routes.d.ts.map +0 -1
- package/dist/render-routes.js +0 -111
- package/dist/render-routes.js.map +0 -1
- package/dist/render-service-members.d.ts +0 -32
- package/dist/render-service-members.d.ts.map +0 -1
- package/dist/render-service-members.js +0 -61
- package/dist/render-service-members.js.map +0 -1
- package/dist/render-service-requests.d.ts +0 -35
- package/dist/render-service-requests.d.ts.map +0 -1
- package/dist/render-service-requests.js +0 -62
- package/dist/render-service-requests.js.map +0 -1
- package/dist/render-service-support.d.ts +0 -37
- package/dist/render-service-support.d.ts.map +0 -1
- package/dist/render-service-support.js +0 -74
- package/dist/render-service-support.js.map +0 -1
- package/dist/render-service.d.ts +0 -31
- package/dist/render-service.d.ts.map +0 -1
- package/dist/render-service.js +0 -53
- package/dist/render-service.js.map +0 -1
- package/dist/render-service.types.d.ts +0 -13
- package/dist/render-service.types.d.ts.map +0 -1
- package/dist/render-service.types.js +0 -2
- package/dist/render-service.types.js.map +0 -1
- package/dist/scaffold-layout.d.ts +0 -10
- package/dist/scaffold-layout.d.ts.map +0 -1
- package/dist/scaffold-layout.js +0 -29
- package/dist/scaffold-layout.js.map +0 -1
- package/dist/source-edit.d.ts +0 -46
- package/dist/source-edit.d.ts.map +0 -1
- package/dist/source-edit.js +0 -81
- package/dist/source-edit.js.map +0 -1
- package/dist/source-factory-edit.d.ts +0 -78
- package/dist/source-factory-edit.d.ts.map +0 -1
- package/dist/source-factory-edit.js +0 -156
- package/dist/source-factory-edit.js.map +0 -1
- package/dist/source-import-edit.d.ts +0 -9
- package/dist/source-import-edit.d.ts.map +0 -1
- package/dist/source-import-edit.js +0 -71
- package/dist/source-import-edit.js.map +0 -1
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Carries prerequisite callable/event/task artifacts between service-bundle planning
|
|
3
|
-
* stages. Values refer to planned declarations only; filesystem publication and
|
|
4
|
-
* resource lifetime remain owned by the generator transaction.
|
|
5
|
-
*/
|
|
6
|
-
import type { DomainArtifact } from "./domain-planning.types.js";
|
|
7
|
-
/** Resolved prerequisites used by job, tool, agent and route rendering. */
|
|
8
|
-
export interface ServicePrimaryArtifacts {
|
|
9
|
-
readonly fn: DomainArtifact | undefined;
|
|
10
|
-
readonly event: DomainArtifact | undefined;
|
|
11
|
-
readonly task: DomainArtifact | undefined;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=render-service.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-service.types.d.ts","sourceRoot":"","sources":["../src/render-service.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-service.types.js","sourceRoot":"","sources":["../src/render-service.types.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Locates an existing service or constructs a new boundary in the selected layout.
|
|
4
|
-
* @param discovery - Declaration-only project facts produced by compiler discovery.
|
|
5
|
-
* @param name - Validated kebab-case service directory name.
|
|
6
|
-
* @returns Actual existing boundary or a grouped/flat destination for a new service.
|
|
7
|
-
* @throws AddScaffoldError for a mixed or otherwise structurally invalid layout.
|
|
8
|
-
*/
|
|
9
|
-
export declare function scaffoldServiceBoundary(discovery: ProjectDiscovery, name: string): string;
|
|
10
|
-
//# sourceMappingURL=scaffold-layout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-layout.d.ts","sourceRoot":"","sources":["../src/scaffold-layout.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBzF"}
|
package/dist/scaffold-layout.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chooses new scaffold boundaries from compiler-backed layout discovery while
|
|
3
|
-
* preserving existing physical service paths. Older manually supplied planning
|
|
4
|
-
* records use the same pure contracts rather than a second folder-depth rule.
|
|
5
|
-
*/
|
|
6
|
-
import { selectApplicationLayout } from "@relkit/contracts";
|
|
7
|
-
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
8
|
-
/**
|
|
9
|
-
* Locates an existing service or constructs a new boundary in the selected layout.
|
|
10
|
-
* @param discovery - Declaration-only project facts produced by compiler discovery.
|
|
11
|
-
* @param name - Validated kebab-case service directory name.
|
|
12
|
-
* @returns Actual existing boundary or a grouped/flat destination for a new service.
|
|
13
|
-
* @throws AddScaffoldError for a mixed or otherwise structurally invalid layout.
|
|
14
|
-
*/
|
|
15
|
-
export function scaffoldServiceBoundary(discovery, name) {
|
|
16
|
-
const layout = discovery.layout ??
|
|
17
|
-
selectApplicationLayout(discovery.projectRoot, [
|
|
18
|
-
...discovery.artifacts.map((artifact) => ({ file: artifact.path, kind: artifact.kind })),
|
|
19
|
-
...discovery.services.map((service) => ({ file: service.path, kind: "service" })),
|
|
20
|
-
]);
|
|
21
|
-
if (layout.issues.length)
|
|
22
|
-
throw new AddScaffoldError(ADD_FAILURE_CODES.invalidProject, layout.issues.map((issue) => `${issue.file}: ${issue.message}`).join("\n"));
|
|
23
|
-
const existing = discovery.services.find((service) => service.domain === name);
|
|
24
|
-
if (existing)
|
|
25
|
-
return existing.path;
|
|
26
|
-
const root = layout.kind === "grouped" ? "src/services" : "src";
|
|
27
|
-
return `${root}/${name}/service.ts`;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=scaffold-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-layout.js","sourceRoot":"","sources":["../src/scaffold-layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGrE;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA2B,EAAE,IAAY;IAC/E,MAAM,MAAM,GACV,SAAS,CAAC,MAAM;QAChB,uBAAuB,CAAC,SAAS,CAAC,WAAW,EAAE;YAC7C,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACxF,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;SAClF,CAAC,CAAC;IACL,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM;QACtB,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,cAAc,EAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3E,CAAC;IACJ,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,OAAO,GAAG,IAAI,IAAI,IAAI,aAAa,CAAC;AACtC,CAAC"}
|
package/dist/source-edit.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
export { addSourceImport } from "./source-import-edit.js";
|
|
3
|
-
/**
|
|
4
|
-
* Appends one export declaration after validating the source syntax.
|
|
5
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
6
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
7
|
-
* @param declaration - Complete export declaration source.
|
|
8
|
-
* @returns Original source when present, otherwise source with the validated export appended.
|
|
9
|
-
*/
|
|
10
|
-
export declare function addSourceExport(source: string, fileName: string, declaration: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Inserts one property into a canonical factory object or one nested object property.
|
|
13
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
14
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
15
|
-
* @param factories - Supported final segments of factory call names.
|
|
16
|
-
* @param path - Nested static property names containing the target member.
|
|
17
|
-
* @param memberName - Static object member name being inserted.
|
|
18
|
-
* @param memberSource - Source of the object member to insert.
|
|
19
|
-
* @returns Source with the member inserted, or unchanged when an identical member already exists.
|
|
20
|
-
*/
|
|
21
|
-
export declare function addFactoryObjectMember(source: string, fileName: string, factories: readonly string[], path: readonly string[], memberName: string, memberSource: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* Parses the one supported factory object before editing its declarations.
|
|
24
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
25
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
26
|
-
* @param factories - Supported final segments of factory call names.
|
|
27
|
-
* @returns The uniquely matched factory's object-literal argument.
|
|
28
|
-
*/
|
|
29
|
-
export declare function readFactoryObject(source: string, fileName: string, factories: readonly string[]): ts.ObjectLiteralExpression;
|
|
30
|
-
/**
|
|
31
|
-
* Reads one literal string property from a supported factory call.
|
|
32
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
33
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
34
|
-
* @param factory - Supported factory call name.
|
|
35
|
-
* @param name - Authored name or declaration key.
|
|
36
|
-
* @param argumentIndex - Zero-based factory argument containing the static options object.
|
|
37
|
-
* @returns The literal string property, or undefined when absent or nonliteral.
|
|
38
|
-
*/
|
|
39
|
-
export declare function readFactoryStringProperty(source: string, fileName: string, factory: string, name: string, argumentIndex?: number): string | undefined;
|
|
40
|
-
/**
|
|
41
|
-
* Reads statically known property names without evaluating computed expressions.
|
|
42
|
-
* @param node - Optional property-name AST inspected for a static value.
|
|
43
|
-
* @returns The static identifier/string/number property text, or undefined for computed names.
|
|
44
|
-
*/
|
|
45
|
-
export declare function staticPropertyName(node: ts.PropertyName | undefined): string | undefined;
|
|
46
|
-
//# sourceMappingURL=source-edit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-edit.d.ts","sourceRoot":"","sources":["../src/source-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAI7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAaR;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,EAAE,CAAC,uBAAuB,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,aAAa,SAAI,GAChB,MAAM,GAAG,SAAS,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxF"}
|
package/dist/source-edit.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
export { addSourceImport } from "./source-import-edit.js";
|
|
3
|
-
/**
|
|
4
|
-
* Appends one export declaration after validating the source syntax.
|
|
5
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
6
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
7
|
-
* @param declaration - Complete export declaration source.
|
|
8
|
-
* @returns Original source when present, otherwise source with the validated export appended.
|
|
9
|
-
*/
|
|
10
|
-
export function addSourceExport(source, fileName, declaration) {
|
|
11
|
-
if (source.includes(declaration))
|
|
12
|
-
return source;
|
|
13
|
-
parse(fileName, source);
|
|
14
|
-
return `${source.trimEnd()}\n${declaration}\n`;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Inserts one property into a canonical factory object or one nested object property.
|
|
18
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
19
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
20
|
-
* @param factories - Supported final segments of factory call names.
|
|
21
|
-
* @param path - Nested static property names containing the target member.
|
|
22
|
-
* @param memberName - Static object member name being inserted.
|
|
23
|
-
* @param memberSource - Source of the object member to insert.
|
|
24
|
-
* @returns Source with the member inserted, or unchanged when an identical member already exists.
|
|
25
|
-
*/
|
|
26
|
-
export function addFactoryObjectMember(source, fileName, factories, path, memberName, memberSource) {
|
|
27
|
-
const file = parse(fileName, source);
|
|
28
|
-
const root = factoryObject(file, factories);
|
|
29
|
-
const target = descend(root, path, source, memberSource);
|
|
30
|
-
assertObject(target.object, source);
|
|
31
|
-
const existing = !target.created ? property(target.object, memberName) : undefined;
|
|
32
|
-
if (existing !== undefined) {
|
|
33
|
-
const current = source.slice(existing.getStart(), existing.getEnd()).replace(/\s+/g, " ");
|
|
34
|
-
if (current === memberSource.replace(/\s+/g, " "))
|
|
35
|
-
return source;
|
|
36
|
-
collision(fileName, [...path, memberName]);
|
|
37
|
-
}
|
|
38
|
-
const insertion = target.created ? `${target.name}: { ${memberSource} }` : memberSource;
|
|
39
|
-
return insertMember(source, target.parent ?? target.object, insertion);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Parses the one supported factory object before editing its declarations.
|
|
43
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
44
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
45
|
-
* @param factories - Supported final segments of factory call names.
|
|
46
|
-
* @returns The uniquely matched factory's object-literal argument.
|
|
47
|
-
*/
|
|
48
|
-
export function readFactoryObject(source, fileName, factories) {
|
|
49
|
-
return factoryObject(parse(fileName, source), factories);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Reads one literal string property from a supported factory call.
|
|
53
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
54
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
55
|
-
* @param factory - Supported factory call name.
|
|
56
|
-
* @param name - Authored name or declaration key.
|
|
57
|
-
* @param argumentIndex - Zero-based factory argument containing the static options object.
|
|
58
|
-
* @returns The literal string property, or undefined when absent or nonliteral.
|
|
59
|
-
*/
|
|
60
|
-
export function readFactoryStringProperty(source, fileName, factory, name, argumentIndex = 0) {
|
|
61
|
-
const object = factoryObject(parse(fileName, source), [factory], argumentIndex);
|
|
62
|
-
const item = property(object, name);
|
|
63
|
-
return item && ts.isPropertyAssignment(item) && ts.isStringLiteralLike(item.initializer)
|
|
64
|
-
? item.initializer.text
|
|
65
|
-
: undefined;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Reads statically known property names without evaluating computed expressions.
|
|
69
|
-
* @param node - Optional property-name AST inspected for a static value.
|
|
70
|
-
* @returns The static identifier/string/number property text, or undefined for computed names.
|
|
71
|
-
*/
|
|
72
|
-
export function staticPropertyName(node) {
|
|
73
|
-
if (node === undefined)
|
|
74
|
-
return undefined;
|
|
75
|
-
if (ts.isIdentifier(node) || ts.isStringLiteralLike(node) || ts.isNumericLiteral(node)) {
|
|
76
|
-
return node.text;
|
|
77
|
-
}
|
|
78
|
-
return undefined;
|
|
79
|
-
}
|
|
80
|
-
import { factoryObject, descend, insertMember, assertObject, property, parse, collision, } from "./source-factory-edit.js";
|
|
81
|
-
//# sourceMappingURL=source-edit.js.map
|
package/dist/source-edit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-edit.js","sourceRoot":"","sources":["../src/source-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
/**
|
|
3
|
-
* Requires exactly one factory call with a static object argument.
|
|
4
|
-
* @param file - TypeScript SourceFile AST.
|
|
5
|
-
* @param factories - Supported final segments of factory call names.
|
|
6
|
-
* @param argumentIndex - Zero-based factory argument containing its options object.
|
|
7
|
-
* @returns The unique object literal; ambiguous/nonliteral source raises the unsupported-source error.
|
|
8
|
-
*/
|
|
9
|
-
export declare function factoryObject(file: ts.SourceFile, factories: readonly string[], argumentIndex?: number): ts.ObjectLiteralExpression;
|
|
10
|
-
/**
|
|
11
|
-
* Finds a nested literal object or plans its missing final member container.
|
|
12
|
-
* @param root - Root object-literal AST.
|
|
13
|
-
* @param path - Nested static property names to traverse.
|
|
14
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
15
|
-
* @param memberSource - Source of the object member to insert.
|
|
16
|
-
* @returns The existing target object or missing final-container projection needed for insertion.
|
|
17
|
-
*/
|
|
18
|
-
export declare function descend(root: ts.ObjectLiteralExpression, path: readonly string[], source: string, memberSource: string): {
|
|
19
|
-
readonly object: ts.ObjectLiteralExpression;
|
|
20
|
-
readonly parent?: ts.ObjectLiteralExpression;
|
|
21
|
-
readonly name: string;
|
|
22
|
-
readonly created: boolean;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Inserts a static object member without reprinting the source file.
|
|
26
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
27
|
-
* @param object - Object-literal AST whose properties are inspected.
|
|
28
|
-
* @param member - Source of the object member to insert.
|
|
29
|
-
* @returns Source with one member inserted while preserving surrounding formatting.
|
|
30
|
-
*/
|
|
31
|
-
export declare function insertMember(source: string, object: ts.ObjectLiteralExpression, member: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* Rejects object spreads and dynamic member names before source editing.
|
|
34
|
-
* @param object - Object-literal AST whose properties are inspected.
|
|
35
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
36
|
-
* @returns Completion after the existing contract has been applied.
|
|
37
|
-
*/
|
|
38
|
-
export declare function assertObject(object: ts.ObjectLiteralExpression, source: string): void;
|
|
39
|
-
/**
|
|
40
|
-
* Finds one statically named property in an object literal.
|
|
41
|
-
* @param object - Object-literal AST whose direct properties are inspected.
|
|
42
|
-
* @param name - Static property name to match.
|
|
43
|
-
* @returns The matching property, or undefined when absent.
|
|
44
|
-
*/
|
|
45
|
-
export declare function property(object: ts.ObjectLiteralExpression, name: string): ts.ObjectLiteralElementLike | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Parses TypeScript for source inspection without executing the application.
|
|
48
|
-
* @param fileName - Source path used in parser diagnostics.
|
|
49
|
-
* @param source - Authored TypeScript source text.
|
|
50
|
-
* @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
|
|
51
|
-
*/
|
|
52
|
-
export declare function parse(fileName: string, source: string): ts.SourceFile;
|
|
53
|
-
/**
|
|
54
|
-
* Removes parentheses and TypeScript assertions from a source expression.
|
|
55
|
-
* @param value - AST expression whose static wrapper nodes are ignored.
|
|
56
|
-
* @returns The underlying expression, or undefined when no expression was supplied.
|
|
57
|
-
*/
|
|
58
|
-
export declare function unwrap(value: ts.Expression | undefined): ts.Expression | undefined;
|
|
59
|
-
/**
|
|
60
|
-
* Reads the statically named final segment of a factory expression.
|
|
61
|
-
* @param expression - Factory expression whose final identifier is inspected.
|
|
62
|
-
* @returns The identifier or final property segment, otherwise an empty string.
|
|
63
|
-
*/
|
|
64
|
-
export declare function lastSegment(expression: ts.Expression): string;
|
|
65
|
-
/**
|
|
66
|
-
* Rejects an object member that conflicts with the requested source insertion.
|
|
67
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
68
|
-
* @param path - Nested static property names identifying the conflicting member.
|
|
69
|
-
* @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
|
|
70
|
-
*/
|
|
71
|
-
export declare function collision(fileName: string, path: readonly string[]): never;
|
|
72
|
-
/**
|
|
73
|
-
* Rejects a canonical object that cannot be edited safely.
|
|
74
|
-
* @param label - Human-readable location included in validation diagnostics.
|
|
75
|
-
* @returns No value; the unchanged canonical public validation error is thrown.
|
|
76
|
-
*/
|
|
77
|
-
export declare function unsupported(label: string): never;
|
|
78
|
-
//# sourceMappingURL=source-factory-edit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-factory-edit.d.ts","sourceRoot":"","sources":["../src/source-factory-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,aAAa,SAAI,GAChB,EAAE,CAAC,uBAAuB,CAa5B;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,EAAE,CAAC,uBAAuB,EAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB;IACD,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAeA;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAClC,MAAM,EAAE,MAAM,GACb,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMrF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAClC,IAAI,EAAE,MAAM,GACX,EAAE,CAAC,wBAAwB,GAAG,SAAS,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAarE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAUlF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAKhD"}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Requires exactly one factory call with a static object argument.
|
|
5
|
-
* @param file - TypeScript SourceFile AST.
|
|
6
|
-
* @param factories - Supported final segments of factory call names.
|
|
7
|
-
* @param argumentIndex - Zero-based factory argument containing its options object.
|
|
8
|
-
* @returns The unique object literal; ambiguous/nonliteral source raises the unsupported-source error.
|
|
9
|
-
*/
|
|
10
|
-
export function factoryObject(file, factories, argumentIndex = 0) {
|
|
11
|
-
const matches = [];
|
|
12
|
-
const visit = (node) => {
|
|
13
|
-
if (ts.isCallExpression(node) && factories.includes(lastSegment(node.expression))) {
|
|
14
|
-
const argument = unwrap(node.arguments[argumentIndex]);
|
|
15
|
-
if (!argument || !ts.isObjectLiteralExpression(argument))
|
|
16
|
-
unsupported(file.fileName);
|
|
17
|
-
matches.push(argument);
|
|
18
|
-
}
|
|
19
|
-
ts.forEachChild(node, visit);
|
|
20
|
-
};
|
|
21
|
-
visit(file);
|
|
22
|
-
if (matches.length !== 1)
|
|
23
|
-
unsupported(file.fileName);
|
|
24
|
-
return matches[0];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Finds a nested literal object or plans its missing final member container.
|
|
28
|
-
* @param root - Root object-literal AST.
|
|
29
|
-
* @param path - Nested static property names to traverse.
|
|
30
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
31
|
-
* @param memberSource - Source of the object member to insert.
|
|
32
|
-
* @returns The existing target object or missing final-container projection needed for insertion.
|
|
33
|
-
*/
|
|
34
|
-
export function descend(root, path, source, memberSource) {
|
|
35
|
-
let object = root;
|
|
36
|
-
for (const [index, name] of path.entries()) {
|
|
37
|
-
assertObject(object, source);
|
|
38
|
-
const found = property(object, name);
|
|
39
|
-
if (found === undefined) {
|
|
40
|
-
if (index !== path.length - 1)
|
|
41
|
-
unsupported("nested object");
|
|
42
|
-
return { object, parent: object, name, created: true };
|
|
43
|
-
}
|
|
44
|
-
if (!ts.isPropertyAssignment(found))
|
|
45
|
-
unsupported(name);
|
|
46
|
-
const value = unwrap(found.initializer);
|
|
47
|
-
if (!value || !ts.isObjectLiteralExpression(value))
|
|
48
|
-
unsupported(name);
|
|
49
|
-
object = value;
|
|
50
|
-
}
|
|
51
|
-
return { object, name: path.at(-1) ?? memberSource, created: false };
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Inserts a static object member without reprinting the source file.
|
|
55
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
56
|
-
* @param object - Object-literal AST whose properties are inspected.
|
|
57
|
-
* @param member - Source of the object member to insert.
|
|
58
|
-
* @returns Source with one member inserted while preserving surrounding formatting.
|
|
59
|
-
*/
|
|
60
|
-
export function insertMember(source, object, member) {
|
|
61
|
-
const close = object.getEnd() - 1;
|
|
62
|
-
const body = source.slice(object.getStart() + 1, close);
|
|
63
|
-
if (object.properties.length === 0) {
|
|
64
|
-
return `${source.slice(0, object.getStart() + 1)} ${member} ${source.slice(close)}`;
|
|
65
|
-
}
|
|
66
|
-
if (!body.includes("\n")) {
|
|
67
|
-
const last = object.properties.at(-1);
|
|
68
|
-
return `${source.slice(0, last.getEnd())}, ${member}${source.slice(last.getEnd())}`;
|
|
69
|
-
}
|
|
70
|
-
const last = object.properties.at(-1);
|
|
71
|
-
const between = source.slice(last.getEnd(), close);
|
|
72
|
-
const comma = between.trimStart().startsWith(",") ? "" : ",";
|
|
73
|
-
const lineStart = source.lastIndexOf("\n", close - 1) + 1;
|
|
74
|
-
const closeIndent = source.slice(lineStart, close);
|
|
75
|
-
return `${source.slice(0, last.getEnd())}${comma}${source.slice(last.getEnd(), close)}${closeIndent} ${member},\n${closeIndent}${source.slice(close)}`;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Rejects object spreads and dynamic member names before source editing.
|
|
79
|
-
* @param object - Object-literal AST whose properties are inspected.
|
|
80
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
81
|
-
* @returns Completion after the existing contract has been applied.
|
|
82
|
-
*/
|
|
83
|
-
export function assertObject(object, source) {
|
|
84
|
-
for (const item of object.properties) {
|
|
85
|
-
if (ts.isSpreadAssignment(item) || staticPropertyName(item.name) === undefined) {
|
|
86
|
-
unsupported(source.slice(item.getStart(), item.getEnd()));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Finds one statically named property in an object literal.
|
|
92
|
-
* @param object - Object-literal AST whose direct properties are inspected.
|
|
93
|
-
* @param name - Static property name to match.
|
|
94
|
-
* @returns The matching property, or undefined when absent.
|
|
95
|
-
*/
|
|
96
|
-
export function property(object, name) {
|
|
97
|
-
return object.properties.find((item) => staticPropertyName(item.name) === name);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Parses TypeScript for source inspection without executing the application.
|
|
101
|
-
* @param fileName - Source path used in parser diagnostics.
|
|
102
|
-
* @param source - Authored TypeScript source text.
|
|
103
|
-
* @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
|
|
104
|
-
*/
|
|
105
|
-
export function parse(fileName, source) {
|
|
106
|
-
const file = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
107
|
-
const diagnostics = file.parseDiagnostics;
|
|
108
|
-
if (diagnostics?.length)
|
|
109
|
-
unsupported(fileName);
|
|
110
|
-
return file;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Removes parentheses and TypeScript assertions from a source expression.
|
|
114
|
-
* @param value - AST expression whose static wrapper nodes are ignored.
|
|
115
|
-
* @returns The underlying expression, or undefined when no expression was supplied.
|
|
116
|
-
*/
|
|
117
|
-
export function unwrap(value) {
|
|
118
|
-
let current = value;
|
|
119
|
-
while (current &&
|
|
120
|
-
(ts.isParenthesizedExpression(current) ||
|
|
121
|
-
ts.isAsExpression(current) ||
|
|
122
|
-
ts.isSatisfiesExpression(current)))
|
|
123
|
-
current = current.expression;
|
|
124
|
-
return current;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Reads the statically named final segment of a factory expression.
|
|
128
|
-
* @param expression - Factory expression whose final identifier is inspected.
|
|
129
|
-
* @returns The identifier or final property segment, otherwise an empty string.
|
|
130
|
-
*/
|
|
131
|
-
export function lastSegment(expression) {
|
|
132
|
-
return ts.isIdentifier(expression)
|
|
133
|
-
? expression.text
|
|
134
|
-
: ts.isPropertyAccessExpression(expression)
|
|
135
|
-
? expression.name.text
|
|
136
|
-
: "";
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Rejects an object member that conflicts with the requested source insertion.
|
|
140
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
141
|
-
* @param path - Nested static property names identifying the conflicting member.
|
|
142
|
-
* @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
|
|
143
|
-
*/
|
|
144
|
-
export function collision(fileName, path) {
|
|
145
|
-
throw new AddScaffoldError(ADD_FAILURE_CODES.collision, `${fileName} already declares ${path.join(".")}.`);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Rejects a canonical object that cannot be edited safely.
|
|
149
|
-
* @param label - Human-readable location included in validation diagnostics.
|
|
150
|
-
* @returns No value; the unchanged canonical public validation error is thrown.
|
|
151
|
-
*/
|
|
152
|
-
export function unsupported(label) {
|
|
153
|
-
throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot safely edit canonical object in ${label}.`);
|
|
154
|
-
}
|
|
155
|
-
import { staticPropertyName } from "./source-edit.js";
|
|
156
|
-
//# sourceMappingURL=source-factory-edit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-factory-edit.js","sourceRoot":"","sources":["../src/source-factory-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adds or merges one import declaration without reprinting the source file.
|
|
3
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
4
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
5
|
-
* @param declaration - Complete import declaration source.
|
|
6
|
-
* @returns Source with the requested import added or merged into its compatible existing declaration.
|
|
7
|
-
*/
|
|
8
|
-
export declare function addSourceImport(source: string, fileName: string, declaration: string): string;
|
|
9
|
-
//# sourceMappingURL=source-import-edit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-import-edit.d.ts","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAmC7F"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Adds or merges one import declaration without reprinting the source file.
|
|
5
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
6
|
-
* @param fileName - Source path used for declaration diagnostics.
|
|
7
|
-
* @param declaration - Complete import declaration source.
|
|
8
|
-
* @returns Source with the requested import added or merged into its compatible existing declaration.
|
|
9
|
-
*/
|
|
10
|
-
export function addSourceImport(source, fileName, declaration) {
|
|
11
|
-
if (source.includes(declaration))
|
|
12
|
-
return source;
|
|
13
|
-
const file = parse(fileName, source);
|
|
14
|
-
const wantedFile = parse("import.ts", declaration);
|
|
15
|
-
const wanted = wantedFile.statements.find(ts.isImportDeclaration);
|
|
16
|
-
if (!wanted || !ts.isStringLiteralLike(wanted.moduleSpecifier))
|
|
17
|
-
return append(source, file, declaration);
|
|
18
|
-
const moduleName = wanted.moduleSpecifier.text;
|
|
19
|
-
const existing = file.statements
|
|
20
|
-
.filter(ts.isImportDeclaration)
|
|
21
|
-
.find((item) => ts.isStringLiteralLike(item.moduleSpecifier) && item.moduleSpecifier.text === moduleName);
|
|
22
|
-
const currentBindings = existing?.importClause?.namedBindings;
|
|
23
|
-
const wantedBindings = wanted.importClause?.namedBindings;
|
|
24
|
-
if (existing &&
|
|
25
|
-
!existing.importClause?.name &&
|
|
26
|
-
!wanted.importClause?.name &&
|
|
27
|
-
currentBindings &&
|
|
28
|
-
ts.isNamedImports(currentBindings) &&
|
|
29
|
-
wantedBindings &&
|
|
30
|
-
ts.isNamedImports(wantedBindings)) {
|
|
31
|
-
const current = new Set(currentBindings.elements.map((item) => item.getText(file)));
|
|
32
|
-
const missing = wantedBindings.elements
|
|
33
|
-
.map((item) => item.getText(wantedFile))
|
|
34
|
-
.filter((item) => !current.has(item));
|
|
35
|
-
if (missing.length === 0)
|
|
36
|
-
return source;
|
|
37
|
-
const end = currentBindings.elements.at(-1)?.getEnd() ?? currentBindings.getStart() + 1;
|
|
38
|
-
const separator = currentBindings.elements.length ? ", " : "";
|
|
39
|
-
return `${source.slice(0, end)}${separator}${missing.join(", ")}${source.slice(end)}`;
|
|
40
|
-
}
|
|
41
|
-
return append(source, file, declaration);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Parses TypeScript for source inspection without executing the application.
|
|
45
|
-
* @param fileName - Source path used in parser diagnostics.
|
|
46
|
-
* @param source - Authored TypeScript source text.
|
|
47
|
-
* @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
|
|
48
|
-
*/
|
|
49
|
-
function parse(fileName, source) {
|
|
50
|
-
const file = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
51
|
-
const diagnostics = file.parseDiagnostics;
|
|
52
|
-
if (diagnostics?.length) {
|
|
53
|
-
throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot safely edit imports in ${fileName}.`);
|
|
54
|
-
}
|
|
55
|
-
return file;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Appends a new import after existing import declarations.
|
|
59
|
-
* @param source - Authored source text inspected or transformed without execution.
|
|
60
|
-
* @param file - TypeScript SourceFile AST whose imports are inspected.
|
|
61
|
-
* @param declaration - Complete import declaration source.
|
|
62
|
-
* @returns Source with the import inserted after existing imports or before the first statement.
|
|
63
|
-
*/
|
|
64
|
-
function append(source, file, declaration) {
|
|
65
|
-
const imports = file.statements.filter(ts.isImportDeclaration);
|
|
66
|
-
const offset = imports.at(-1)?.getEnd() ?? 0;
|
|
67
|
-
return offset === 0
|
|
68
|
-
? `${declaration}\n${source}`
|
|
69
|
-
: `${source.slice(0, offset)}\n${declaration}${source.slice(offset)}`;
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=source-import-edit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-import-edit.js","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"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"}
|