{"_id":"@burgan-tech/vnext-discovery-runtime","_rev":"8-447daeeb87cb9e31194e00d6113deac7","name":"@burgan-tech/vnext-discovery-runtime","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.0":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.0","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.0","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"af4aaac00d9ae842a5842253d8a8d7094417f9e9","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.0.tgz","fileCount":74,"integrity":"sha512-Ao1neqxbjVbL7E2DtwAd0IppzMPDem7R0L1myHQ13Kj/6cIuQEks6HSwFIZgFdRsoql1vLka4hzux/GSLFf4cw==","signatures":[{"sig":"MEQCIGtjYroll9ljzSWBWNInGOke01fYbR+0FUQZ+JGJtml7AiBSzNHGZYK1Z+oBaisDFr9WCggfdK3uhSfclRpF22nQWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240536},"main":"index.js","type":"module","gitHead":"28f3b719bc517b4b283b2ca432587f9058beb5c7","_npmUser":{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"10.8.2","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.0_1767294391048_0.4277121067094789","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.1","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.1","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"2f993a6aaaf7e1ed9dc46704fb491408fce61da8","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.1.tgz","fileCount":74,"integrity":"sha512-3EIJvrcCiUaB0JJaIR70xo8GMBQuy/VwEA3xA6IpwH70rQ6AZupaCbkrjk2Ny/rv2XugzTcZdmx/4aJErhWZ5A==","signatures":[{"sig":"MEUCIQCWLtCT0JA8CIayLT/E7ZvuyFbJ3egODxJVeDPEVHbiWAIgPBewsSN2sAQ2l45vpvUMoXDFZPjKXLMkan8V7gM6s6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":240540},"main":"index.js","type":"module","gitHead":"7ee66a345e2590b6bf0ad33539f58e9c81c5d817","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.9.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.1_1774421232822_0.05660224772227962","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.2","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.2","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"302ebbc7bcf33cb1b73b1beed2751a3b66d55535","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.2.tgz","fileCount":75,"integrity":"sha512-NskZ3hVRKnZ5VJEgjjrIi65Ei23leRCmJsC2RM8e5WJNqTjbosnh4D8n4HjeU6K5ZwDb6klJ7qH2CVOHdPx0LA==","signatures":[{"sig":"MEUCIAJDwfRgKtyzFq0SYirieIVZ8Szk5wtrmYclhf5oJJmhAiEAt9ymlupRZs4f0LEXt7Xtv7v4wmgtwWKK+dklULG64yQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":240984},"main":"index.js","type":"module","gitHead":"38073c54461cc01e5ece5c00ac0faa4f75772d29","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.13.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.2_1781212836187_0.8427421339229939","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.3","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.3","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"78340aa602d61b29b0b790692e408ad4daa9876a","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.3.tgz","fileCount":75,"integrity":"sha512-8PkN/dlmOzmR9uR9OH+YWqaEifPsPKKTspJ6Jv7t8FOLGkvCOfI5ws66AKUvnsydF13H+JnjJMnGqFU7LiPbcw==","signatures":[{"sig":"MEUCIQC2PEqmp+nNG9XM6bowZOTv1VLkKSNypmgqOxhOnzAlJAIgV3fb6P5lkx9eKpmRRY617fkTVolk4Dpjz+Je4XIwX+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241012},"main":"index.js","type":"module","gitHead":"2883d2149fd5cfce60615e9d2c3e1ff63e961bc2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.13.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.3_1782730809823_0.44071646528985786","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.4","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.4","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"ccd91de7e3126605df5eefaabf7da849365c420d","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.4.tgz","fileCount":48,"integrity":"sha512-ob6tGD3mRuDy2CKZveLE71XAkmAp5qMujajNKtokCnHQ3tmq5jNiCX6YXf4G+iV7hvGjUZ/OuVylmnUWPjsObA==","signatures":[{"sig":"MEYCIQDQwLklhvzrWJywo3kWmTGNS+YQfZA8Ud+iwamUWw2YDwIhAIOP4edasrRfaWlC+Qr9QclntsmriT/5dQo2iQG4T4ZK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178613},"main":"index.js","type":"module","gitHead":"fbf6ffcf039d6ad4eb6c2de9608ed9d3ce9b97f8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.16.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.4_1786120413373_0.540988521123468","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.5","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.5","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"a76f0974e74337e2fd39689b8a15d7c467b0aeb8","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.5.tgz","fileCount":56,"integrity":"sha512-fSpQrYvnusZJRlH6hhvBQhPd/wFIXZgDK86Y1wETkOe5TPZcI05FwTun8O1qo1ul9plm4Vtr6DDfdkid6w64qQ==","signatures":[{"sig":"MEUCIQCK68lz65eZrf40ihFLmnpxEnBRCQ1v2TBfaLSruXw1TQIgLwqI/KhHKMMGGY5ms3ZrZL5dLK77td6t4/w1qbRu69E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242631},"main":"index.js","type":"module","gitHead":"4964d37fd739db83c853678352f82ff323056ea2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.17.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.5_1787817095094_0.3219264477575785","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@burgan-tech/vnext-discovery-runtime","version":"0.0.6","keywords":["vnext","workflow","runtime","domain","burgan"],"author":{"name":"Burgan Technology"},"license":"MIT","_id":"@burgan-tech/vnext-discovery-runtime@0.0.6","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"0330a1437d06ea1de97c1d0d23b8f21dece585e6","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.6.tgz","fileCount":56,"integrity":"sha512-fY1HiCMqYnZpyTKBi7eVyxbv5w+NvYYQungkzVh2UemCpqp+MDwbhES/i00b/Jr82E4aR/QpWq5tJ0GqwWzycg==","signatures":[{"sig":"MEUCIClpFOu4h4EGVLc9PpEErK4PLnR6dFk8qBi9ZrYIibgtAiEAxbruKvnT6dp66/7XyQdV9Ig+ip4coFbmC/uIytC0HLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242635},"main":"index.js","type":"module","gitHead":"8718752190f9bb56288c1b255e0a2deb11bd5209","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.17.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vnext-discovery-runtime_0.0.6_1788218179708_0.38828781378166743","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"_id":"@burgan-tech/vnext-discovery-runtime@0.0.7","bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"dist":{"shasum":"a3c5f6f65c4914fd4ec0f8ad7129253f224454cd","tarball":"https://registry.npmjs.org/@burgan-tech/vnext-discovery-runtime/-/vnext-discovery-runtime-0.0.7.tgz","fileCount":62,"integrity":"sha512-cdvWy19KiURBb8Fa/3oSLz55GX1mjEvS6sb7jSAvM4qDOIzZEN2Dt78dZeGQ2w6hplSjNeGhIzJ/gshXsHK/XA==","signatures":[{"sig":"MEYCIQCknxKTMg3Gm8XVGKIX0rl8t9Ig5okCJ0IYjRgDuXecKgIhAN8yRXJYXjJGwldVIJrNimso9HCAjlWt1Z1KKf77bsny","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIECifI32T+OCrQkbHtZPUplxH4I5otR1AFQ3Z5gZ894hAiEAmpjQyrPAzt5L3xLMFEEpmfF3duRoFOhBPaE1daExT/8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burgan-tech%2fvnext-discovery-runtime@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":314253},"main":"index.js","name":"@burgan-tech/vnext-discovery-runtime","type":"module","author":{"name":"Burgan Technology"},"gitHead":"ec04c7ff996866f9ae0a6d230abbe0cdcbf95fb6","license":"MIT","version":"0.0.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e55fa0a2-8c3f-42b3-8372-847bf19423f4"}},"homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","keywords":["vnext","workflow","runtime","domain","burgan"],"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"_npmVersion":"11.19.0","description":"vNext Service Discovery - Runtime Package for engine deployment","directories":{},"maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vnext-discovery-runtime_0.0.7_1789626959272_0.35960420533449233"}}},"time":{"created":"2026-01-01T19:06:30.931Z","modified":"2026-09-17T06:35:59.924Z","0.0.0":"2026-01-01T19:06:31.217Z","0.0.1":"2026-03-25T06:47:12.960Z","0.0.2":"2026-06-11T21:20:36.427Z","0.0.3":"2026-06-29T11:00:09.967Z","0.0.4":"2026-08-07T16:33:33.542Z","0.0.5":"2026-08-27T07:51:35.233Z","0.0.6":"2026-08-31T23:16:19.864Z","0.0.7":"2026-09-17T06:35:59.429Z"},"bugs":{"url":"https://github.com/burgan-tech/vnext-domain-discovery/issues"},"author":{"name":"Burgan Technology"},"license":"MIT","homepage":"https://github.com/burgan-tech/vnext-domain-discovery#readme","keywords":["vnext","workflow","runtime","domain","burgan"],"repository":{"url":"git+https://github.com/burgan-tech/vnext-domain-discovery.git","type":"git"},"description":"vNext Service Discovery - Runtime Package for engine deployment","maintainers":[{"name":"seal707","email":"mehmet.tosun@gmail.com"},{"name":"yilmaztayfun","email":"tayfun.yilmaz2@hotmail.com"}],"readme":"# vNext Domain Discovery\n\nA structured template package for vNext workflow components with domain-based architecture.\n\n## 📦 Installation\n\nCreate a new project with your domain name:\n\n```bash\nnpx @burgan-tech/vnext-template <domain-name>\n```\n\n### Example\n\n```bash\nnpx @burgan-tech/vnext-template user-management\n```\n\nThis will create a new directory with your domain name, copy all template files, replace `discovery` instances, and install dependencies automatically.\n\n### Install specific version\n\n```bash\nnpx @burgan-tech/vnext-template@<version> <domain-name>\n```\n\nExample:\n\n```bash\nnpx @burgan-tech/vnext-template@1.0.0 user-management\n```\n\n### Alternative: Install as dependency\n\n```bash\nnpm install @burgan-tech/vnext-template\nnpm run setup <domain-name>\n```\n\nOr install specific version:\n\n```bash\nnpm install @burgan-tech/vnext-template@<version>\nnpm run setup <domain-name>\n```\n\nOr use environment variable:\n\n```bash\nDOMAIN_NAME=user-management npm install @burgan-tech/vnext-template@<version>\n```\n\n## 🚀 Usage\n\nAfter installation, your project structure will be:\n\n```\n<domain-name>/\n├── Extensions/\n├── Functions/\n├── Schemas/\n├── Tasks/\n├── Views/\n├── Mappings/\n└── Workflows/\n```\n\n### Access components in code\n\n```javascript\nconst vnextTemplate = require('@burgan-tech/vnext-template');\n\n// Get domain configuration\nconst config = vnextTemplate.getDomainConfig();\n\n// Get paths configuration\nconst paths = vnextTemplate.getPathsConfig();\n\n// Get all schemas\nconst schemas = vnextTemplate.getSchemas();\n\n// Get all workflows\nconst workflows = vnextTemplate.getWorkflows();\n\n// Get all tasks\nconst tasks = vnextTemplate.getTasks();\n\n// Get all mappings\nconst mappings = vnextTemplate.getMappings();\n\n// Get component path for a specific type\nconst schemasPath = vnextTemplate.getComponentPath('schemas');\n```\n\n### Available methods\n\n| Method | Description |\n|--------|-------------|\n| `getDomainConfig()` | Get domain configuration from vnext.config.json |\n| `getPathsConfig()` | Get paths configuration with defaults |\n| `getSchemas()` | Get all schemas |\n| `getWorkflows()` | Get all workflows |\n| `getTasks()` | Get all tasks |\n| `getViews()` | Get all views |\n| `getFunctions()` | Get all functions |\n| `getExtensions()` | Get all extensions |\n| `getMappings()` | Get all mappings |\n| `getDomainName()` | Get domain directory name |\n| `getAvailableTypes()` | Get list of available component types |\n| `getComponentPath(type)` | Get full path for a component type |\n\n## ⚙️ Configuration\n\nThe `vnext.config.json` file allows you to customize paths and exports:\n\n```json\n{\n  \"domain\": \"my-domain\",\n  \"paths\": {\n    \"componentsRoot\": \"my-domain\",\n    \"schemas\": \"Schemas\",\n    \"workflows\": \"Workflows\",\n    \"tasks\": \"Tasks\",\n    \"views\": \"Views\",\n    \"functions\": \"Functions\",\n    \"extensions\": \"Extensions\",\n    \"mappings\": \"Mappings\"\n  },\n  \"exports\": {\n    \"schemas\": [\"schema1.json\", \"schema2.json\"],\n    \"workflows\": [\"workflow1.json\"],\n    \"tasks\": [],\n    \"views\": [],\n    \"functions\": [],\n    \"extensions\": [],\n    \"mappings\": []\n  }\n}\n```\n\n### Path Configuration\n\nYou can customize component directory names:\n\n```json\n{\n  \"paths\": {\n    \"componentsRoot\": \"src\",\n    \"workflows\": \"Flows\",\n    \"schemas\": \"Models\"\n  }\n}\n```\n\n## ✅ Validation\n\nValidate your project structure and schemas:\n\n```bash\nnpm run validate\n```\n\nThis will check:\n- Package.json structure and content\n- Main entry point functionality\n- vnext.config.json validation\n- Domain directory structure\n- JSON file syntax validation\n- Schema validation using @burgan-tech/vnext-schema\n- Module functionality\n- Semantic versioning compliance\n\n### Validation Output\n\nThe validation provides detailed output with:\n- ✅ Passed validations\n- ❌ Failed validations with file paths and line numbers\n- 📊 Summary statistics\n- 📋 Failed files summary for easy navigation\n\n## 🏗️ Build\n\nBuild your domain package for deployment or cross-domain usage:\n\n```bash\n# Runtime build (default) - Complete domain structure\nnpm run build\n\n# Reference build - Only exported components\nnpm run build:reference\n\n# Runtime build explicitly\nnpm run build:runtime\n```\n\n### Build Options\n\n```bash\nnpm run build -- [options]\n\nOptions:\n  -o, --output <dir>     Output directory (default: dist)\n  -t, --type <type>      Build type: reference or runtime (default: runtime)\n  --skip-validation      Skip validation during build\n  -h, --help             Show help message\n```\n\n### Build Types\n\n| Type | Description | Use Case |\n|------|-------------|----------|\n| `runtime` | Complete domain structure with all files | Engine deployment |\n| `reference` | Only exported components from vnext.config.json | Cross-domain usage |\n\n### Examples\n\n```bash\n# Build to custom directory\nnpm run build -- -o my-build\n\n# Reference build to custom directory\nnpm run build -- -t reference -o packages/ref\n\n# Skip validation for faster builds\nnpm run build -- --skip-validation\n```\n\n### Build Output Structure\n\n**Runtime Build:**\n```\ndist/\n├── <domain>/\n│   ├── Extensions/\n│   ├── Functions/\n│   ├── Schemas/\n│   ├── Tasks/\n│   ├── Views/\n│   ├── Mappings/\n│   └── Workflows/\n├── vnext.config.json\n├── package.json\n├── README.md\n└── LICENSE\n```\n\n**Reference Build:**\n```\ndist/\n├── <domain>/\n│   ├── Extensions/     # Only exported files\n│   ├── Functions/      # Only exported files\n│   ├── Schemas/        # Only exported files\n│   ├── Tasks/          # Only exported files\n│   ├── Views/          # Only exported files\n│   ├── Mappings/       # Only exported files\n│   └── Workflows/      # Only exported files\n├── vnext.config.json\n├── package.json\n├── README.md\n└── LICENSE\n```\n\n## 🔎 Discovery Endpoints\n\nThe `discovery` domain exposes two domain-scoped (`scope: \"D\"`) read functions over the `domain`\nlifecycle workflow. Both are served through the runtime's read-through **function cache**, so a\ncache hit never touches the instance store.\n\n| Endpoint | Function | Returns |\n|---|---|---|\n| `GET /api/v1/discovery/functions/domain-lookup?key={domainName}` | `domain-lookup` | One domain: `{ \"data\": { domainName, baseUrl, appId, healthUrl }, \"eTag\": \"...\" }`, or **404** when the domain is not registered |\n| `GET /api/v1/discovery/functions/domain-list` | `domain-list` | Every active domain: `{ \"items\": [ { domainName, baseUrl, appId, healthUrl } ] }` — **200 with an empty array** when none are registered |\n\n`domain-lookup` is what the runtime itself calls to resolve a single domain endpoint\n(`ServiceDiscoveryOptions.DiscoveryEndpointTemplate`). `domain-list` is the enumeration\ncounterpart for callers that need the whole registry in one round trip.\n\n### Cache and invalidation\n\n| | `domain-lookup` | `domain-list` |\n|---|---|---|\n| Cache key | `keyExpression`: `\"discovery:domain:\" + key` | static `key`: `discovery:domains:active` |\n| TTL | 86400s | 86400s |\n| Evicted by | `invalidate-domain-cache` | `invalidate-domain-list-cache` |\n\nBoth eviction tasks are wired into the `domain` workflow's `start-domain` **and** `update`\ntransitions, so registering or updating any domain drops the stale entries immediately rather than\nwaiting out the TTL. They share `order: 1`, so the runtime executes them in parallel, and both carry\n`errorBoundary` action `3` (Ignore) — a failed eviction must never fail a domain registration.\n\nKey formats live in one place, `Mappings/src/DomainCacheKey.csx`: `DomainCacheKey.For(domainName)`\nfor the per-domain key and `DomainCacheKey.ListKey` for the list key. The read side of\n`domain-lookup` mirrors that format in a Dynamic Expresso expression, which **cannot** call the\nhelper — if the two ever diverge, the cache is silently never invalidated. Change them in the same\ncommit.\n\n> **Editing the `.csx` files:** every mapping is stored twice — as a file under `src/` and as\n> base64 in the component JSON's `code` field. The runtime executes the **base64**, and `npm run\n> validate` does not compare the two. Always re-encode the `code` field in the same commit as the\n> `.csx` edit, and remember that `domain-workflow.json` embeds each workflow mapping **twice**\n> (once per transition).\n\n## 📜 Available Scripts\n\n| Script | Description |\n|--------|-------------|\n| `npm run validate` | Validate project structure and schemas |\n| `npm run build` | Build runtime package to dist/ |\n| `npm run build:runtime` | Build runtime package explicitly |\n| `npm run build:reference` | Build reference package with exports only |\n| `npm run setup <name>` | Setup domain with given name |\n| `npm run sync-schema` | Sync schema version from dependencies |\n| `npm test` | Run tests |\n\n## 📄 License\n\nMIT\n","readmeFilename":"README.md"}