wp-typia 0.19.0 → 0.20.1

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.
Files changed (43) hide show
  1. package/README.md +4 -2
  2. package/dist-bunli/.bunli/commands.gen.js +2117 -1465
  3. package/dist-bunli/.bunli/commands.gen.js.map +42 -35
  4. package/dist-bunli/cli-03j0axbt.js +163 -0
  5. package/dist-bunli/cli-03j0axbt.js.map +11 -0
  6. package/dist-bunli/{cli-yw0mq0wq.js → cli-93wd227r.js} +108 -3
  7. package/dist-bunli/cli-93wd227r.js.map +10 -0
  8. package/dist-bunli/{cli-kan7a6db.js → cli-a6dwqnhq.js} +24 -2
  9. package/dist-bunli/cli-a6dwqnhq.js.map +11 -0
  10. package/dist-bunli/{cli-add-j2c81sh1.js → cli-add-gcwww85p.js} +263 -250
  11. package/dist-bunli/cli-add-gcwww85p.js.map +18 -0
  12. package/dist-bunli/{cli-7svz19s1.js → cli-cfx3gm1r.js} +417 -129
  13. package/dist-bunli/{cli-7svz19s1.js.map → cli-cfx3gm1r.js.map} +18 -15
  14. package/dist-bunli/{cli-diagnostics-c65hhyhx.js → cli-diagnostics-e5gxeprp.js} +8 -4
  15. package/dist-bunli/{cli-diagnostics-c65hhyhx.js.map → cli-diagnostics-e5gxeprp.js.map} +1 -1
  16. package/dist-bunli/{cli-doctor-hft0wr0e.js → cli-doctor-qk6fwpds.js} +14 -13
  17. package/dist-bunli/{cli-doctor-hft0wr0e.js.map → cli-doctor-qk6fwpds.js.map} +3 -3
  18. package/dist-bunli/{cli-572d6g4m.js → cli-hv2yedw2.js} +2 -157
  19. package/dist-bunli/{cli-572d6g4m.js.map → cli-hv2yedw2.js.map} +4 -6
  20. package/dist-bunli/cli-mgh3f3k5.js +427 -0
  21. package/dist-bunli/cli-mgh3f3k5.js.map +12 -0
  22. package/dist-bunli/{cli-scaffold-vcg6wem5.js → cli-scaffold-f1bdt68d.js} +9 -7
  23. package/dist-bunli/cli-scaffold-f1bdt68d.js.map +10 -0
  24. package/dist-bunli/cli-t73q5aqz.js +103 -0
  25. package/dist-bunli/cli-t73q5aqz.js.map +10 -0
  26. package/dist-bunli/{cli-templates-4qxszbmc.js → cli-templates-j65r4k9v.js} +1 -1
  27. package/dist-bunli/{cli-wtrvnce5.js → cli-w4r0rr8a.js} +8 -8
  28. package/dist-bunli/cli-w4r0rr8a.js.map +10 -0
  29. package/dist-bunli/cli.js +127 -2863
  30. package/dist-bunli/cli.js.map +5 -56
  31. package/dist-bunli/command-list-66cqt7y8.js +2485 -0
  32. package/dist-bunli/command-list-66cqt7y8.js.map +58 -0
  33. package/dist-bunli/node-cli.js +432 -323
  34. package/dist-bunli/node-cli.js.map +11 -10
  35. package/dist-bunli/{sync-x91y9jtv.js → sync-k2k8svyc.js} +3 -2
  36. package/dist-bunli/{sync-x91y9jtv.js.map → sync-k2k8svyc.js.map} +1 -1
  37. package/package.json +6 -3
  38. package/dist-bunli/cli-add-j2c81sh1.js.map +0 -16
  39. package/dist-bunli/cli-kan7a6db.js.map +0 -11
  40. package/dist-bunli/cli-scaffold-vcg6wem5.js.map +0 -10
  41. package/dist-bunli/cli-wtrvnce5.js.map +0 -10
  42. package/dist-bunli/cli-yw0mq0wq.js.map +0 -10
  43. /package/dist-bunli/{cli-templates-4qxszbmc.js.map → cli-templates-j65r4k9v.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../node_modules/.bun/lru-cache@11.2.7/node_modules/lru-cache/dist/commonjs/index.min.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/hosts.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/parse-url.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/from-url.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/index.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/constants.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/debug.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/re.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/parse-options.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/identifiers.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/semver.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/parse.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/valid.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/clean.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/inc.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/diff.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/major.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/minor.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/patch.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/prerelease.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rcompare.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-loose.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-build.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/sort.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rsort.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gt.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lt.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/eq.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/neq.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gte.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lte.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/cmp.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/coerce.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/lrucache.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/range.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/comparator.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/satisfies.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/to-comparators.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/max-satisfying.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-satisfying.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-version.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/valid.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/outside.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/gtr.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/ltr.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/intersects.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/simplify.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/subset.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/index.js", "../../../node_modules/.bun/validate-npm-package-name@7.0.2/node_modules/validate-npm-package-name/lib/index.js", "../../../node_modules/.bun/proc-log@6.1.0/node_modules/proc-log/lib/index.js", "../../../node_modules/.bun/npm-package-arg@13.0.2/node_modules/npm-package-arg/lib/npa.js", "../../wp-typia-project-tools/src/runtime/local-dev-presets.ts", "../../wp-typia-project-tools/src/runtime/template-render.ts", "../../../node_modules/.bun/mustache@4.2.0/node_modules/mustache/mustache.mjs", "../../wp-typia-project-tools/src/runtime/package-versions.ts", "../../wp-typia-project-tools/src/runtime/scaffold-onboarding.ts", "../../wp-typia-project-tools/src/runtime/scaffold-bootstrap.ts", "../../wp-typia-project-tools/src/runtime/persistence-rest-artifacts.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-attribute-emitters.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-attribute-specs.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-artifact-types.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-artifacts.ts", "../../wp-typia-project-tools/src/runtime/starter-manifests.ts", "../../wp-typia-project-tools/src/runtime/cli-validation.ts", "../../wp-typia-project-tools/src/runtime/alternate-render-targets.ts", "../../wp-typia-project-tools/src/runtime/compound-inner-blocks.ts", "../../wp-typia-project-tools/src/runtime/scaffold-answer-resolution.ts", "../../wp-typia-project-tools/src/runtime/scaffold.ts", "../../wp-typia-project-tools/src/runtime/scaffold-apply-utils.ts", "../../wp-typia-project-tools/src/runtime/migration-ui-capability.ts", "../../wp-typia-project-tools/src/runtime/scaffold-documents.ts", "../../wp-typia-project-tools/src/runtime/scaffold-package-manager-files.ts", "../../wp-typia-project-tools/src/runtime/scaffold-repository-reference.ts", "../../wp-typia-project-tools/src/runtime/template-source-locators.ts", "../../wp-typia-project-tools/src/runtime/template-source-normalization.ts", "../../wp-typia-project-tools/src/runtime/template-layers.ts", "../../wp-typia-project-tools/src/runtime/template-source-external.ts", "../../wp-typia-project-tools/src/runtime/template-source-remote.ts", "../../wp-typia-project-tools/src/runtime/template-source-seeds.ts", "../../../node_modules/.bun/tar@7.5.13/node_modules/tar/dist/esm/index.min.js", "../../wp-typia-project-tools/src/runtime/template-source.ts", "../../wp-typia-project-tools/src/runtime/block-generator-service-spec.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-non-ts-artifacts.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/shared.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/basic.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/interactivity.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/persistence.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/query-loop.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-parent.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-child.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-persistence.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-artifacts.ts", "../../wp-typia-project-tools/src/runtime/block-generator-service-core.ts", "../../wp-typia-project-tools/src/runtime/scaffold-template-variables.ts", "../../wp-typia-project-tools/src/runtime/external-layer-selection.ts"],
3
+ "sources": ["../../../node_modules/.bun/lru-cache@11.2.7/node_modules/lru-cache/dist/commonjs/index.min.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/hosts.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/parse-url.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/from-url.js", "../../../node_modules/.bun/hosted-git-info@9.0.2/node_modules/hosted-git-info/lib/index.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/constants.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/debug.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/re.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/parse-options.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/identifiers.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/semver.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/parse.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/valid.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/clean.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/inc.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/diff.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/major.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/minor.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/patch.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/prerelease.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rcompare.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-loose.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-build.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/sort.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rsort.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gt.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lt.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/eq.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/neq.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gte.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lte.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/cmp.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/coerce.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/lrucache.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/range.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/comparator.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/satisfies.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/to-comparators.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/max-satisfying.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-satisfying.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-version.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/valid.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/outside.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/gtr.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/ltr.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/intersects.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/simplify.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/subset.js", "../../../node_modules/.bun/semver@7.7.4/node_modules/semver/index.js", "../../../node_modules/.bun/validate-npm-package-name@7.0.2/node_modules/validate-npm-package-name/lib/index.js", "../../../node_modules/.bun/proc-log@6.1.0/node_modules/proc-log/lib/index.js", "../../../node_modules/.bun/npm-package-arg@13.0.2/node_modules/npm-package-arg/lib/npa.js", "../../wp-typia-project-tools/src/runtime/local-dev-presets.ts", "../../wp-typia-project-tools/src/runtime/template-render.ts", "../../../node_modules/.bun/mustache@4.2.0/node_modules/mustache/mustache.mjs", "../../wp-typia-project-tools/src/runtime/package-versions.ts", "../../wp-typia-project-tools/src/runtime/scaffold-onboarding.ts", "../../wp-typia-project-tools/src/runtime/scaffold-bootstrap.ts", "../../wp-typia-project-tools/src/runtime/persistence-rest-artifacts.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-attribute-emitters.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-attribute-specs.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-artifact-types.ts", "../../wp-typia-project-tools/src/runtime/scaffold-template-variable-groups.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-artifacts.ts", "../../wp-typia-project-tools/src/runtime/starter-manifests.ts", "../../wp-typia-project-tools/src/runtime/cli-validation.ts", "../../wp-typia-project-tools/src/runtime/alternate-render-targets.ts", "../../wp-typia-project-tools/src/runtime/compound-inner-blocks.ts", "../../wp-typia-project-tools/src/runtime/scaffold-answer-resolution.ts", "../../wp-typia-project-tools/src/runtime/scaffold.ts", "../../wp-typia-project-tools/src/runtime/scaffold-apply-utils.ts", "../../wp-typia-project-tools/src/runtime/migration-ui-capability.ts", "../../wp-typia-project-tools/src/runtime/scaffold-documents.ts", "../../wp-typia-project-tools/src/runtime/scaffold-package-manager-files.ts", "../../wp-typia-project-tools/src/runtime/scaffold-repository-reference.ts", "../../wp-typia-project-tools/src/runtime/template-source-locators.ts", "../../wp-typia-project-tools/src/runtime/template-source-normalization.ts", "../../wp-typia-project-tools/src/runtime/template-layers.ts", "../../wp-typia-project-tools/src/runtime/template-source-external.ts", "../../wp-typia-project-tools/src/runtime/template-source-remote.ts", "../../wp-typia-project-tools/src/runtime/template-source-seeds.ts", "../../../node_modules/.bun/tar@7.5.13/node_modules/tar/dist/esm/index.min.js", "../../wp-typia-project-tools/src/runtime/template-source.ts", "../../wp-typia-project-tools/src/runtime/block-generator-service-spec.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-non-ts-render-utils.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-non-ts-family-artifacts.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-non-ts-artifacts.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/shared.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/basic.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/interactivity.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/persistence.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/query-loop.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-parent.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-child.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-templates/compound-persistence.ts", "../../wp-typia-project-tools/src/runtime/built-in-block-code-artifacts.ts", "../../wp-typia-project-tools/src/runtime/block-generator-service-core.ts", "../../wp-typia-project-tools/src/runtime/scaffold-template-variables.ts", "../../wp-typia-project-tools/src/runtime/external-layer-selection.ts"],
4
4
  "sourcesContent": [
5
5
  "\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});exports.LRUCache=void 0;var G=typeof performance==\"object\"&&performance&&typeof performance.now==\"function\"?performance:Date,U=new Set,R=typeof process==\"object\"&&process?process:{},I=(c,t,e,i)=>{typeof R.emitWarning==\"function\"?R.emitWarning(c,t,e,i):console.error(`[${e}] ${t}: ${c}`)},C=globalThis.AbortController,L=globalThis.AbortSignal;if(typeof C>\"u\"){L=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(i,s){this._onabort.push(s)}},C=class{constructor(){t()}signal=new L;abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=!0;for(let s of this.signal._onabort)s(i);this.signal.onabort?.(i)}}};let c=R.env?.LRU_CACHE_IGNORE_AC_WARNING!==\"1\",t=()=>{c&&(c=!1,I(\"AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.\",\"NO_ABORT_CONTROLLER\",\"ENOTSUP\",t))}}var x=c=>!U.has(c),H=Symbol(\"type\"),y=c=>c&&c===Math.floor(c)&&c>0&&isFinite(c),M=c=>y(c)?c<=Math.pow(2,8)?Uint8Array:c<=Math.pow(2,16)?Uint16Array:c<=Math.pow(2,32)?Uint32Array:c<=Number.MAX_SAFE_INTEGER?z:null:null,z=class extends Array{constructor(t){super(t),this.fill(0)}},W=class c{heap;length;static#o=!1;static create(t){let e=M(t);if(!e)return[];c.#o=!0;let i=new c(t,e);return c.#o=!1,i}constructor(t,e){if(!c.#o)throw new TypeError(\"instantiate Stack using Stack.create(n)\");this.heap=new e(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},D=class c{#o;#c;#w;#C;#S;#L;#U;#m;get perf(){return this.#m}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#n;#_;#s;#i;#t;#a;#u;#l;#h;#b;#r;#y;#A;#d;#g;#T;#v;#f;#I;static unsafeExposeInternals(t){return{starts:t.#A,ttls:t.#d,autopurgeTimers:t.#g,sizes:t.#y,keyMap:t.#s,keyList:t.#i,valList:t.#t,next:t.#a,prev:t.#u,get head(){return t.#l},get tail(){return t.#h},free:t.#b,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,i,s,n)=>t.#x(e,i,s,n),moveToTail:e=>t.#D(e),indexes:e=>t.#F(e),rindexes:e=>t.#O(e),isStale:e=>t.#p(e)}}get max(){return this.#o}get maxSize(){return this.#c}get calculatedSize(){return this.#_}get size(){return this.#n}get fetchMethod(){return this.#L}get memoMethod(){return this.#U}get dispose(){return this.#w}get onInsert(){return this.#C}get disposeAfter(){return this.#S}constructor(t){let{max:e=0,ttl:i,ttlResolution:s=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:h,allowStale:r,dispose:a,onInsert:w,disposeAfter:f,noDisposeOnSet:d,noUpdateTTL:g,maxSize:A=0,maxEntrySize:p=0,sizeCalculation:_,fetchMethod:l,memoMethod:S,noDeleteOnFetchRejection:b,noDeleteOnStaleGet:m,allowStaleOnFetchRejection:u,allowStaleOnFetchAbort:T,ignoreFetchAbort:F,perf:v}=t;if(v!==void 0&&typeof v?.now!=\"function\")throw new TypeError(\"perf option must have a now() method if specified\");if(this.#m=v??G,e!==0&&!y(e))throw new TypeError(\"max option must be a nonnegative integer\");let O=e?M(e):Array;if(!O)throw new Error(\"invalid max value: \"+e);if(this.#o=e,this.#c=A,this.maxEntrySize=p||this.#c,this.sizeCalculation=_,this.sizeCalculation){if(!this.#c&&!this.maxEntrySize)throw new TypeError(\"cannot set sizeCalculation without setting maxSize or maxEntrySize\");if(typeof this.sizeCalculation!=\"function\")throw new TypeError(\"sizeCalculation set to non-function\")}if(S!==void 0&&typeof S!=\"function\")throw new TypeError(\"memoMethod must be a function if defined\");if(this.#U=S,l!==void 0&&typeof l!=\"function\")throw new TypeError(\"fetchMethod must be a function if specified\");if(this.#L=l,this.#v=!!l,this.#s=new Map,this.#i=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#a=new O(e),this.#u=new O(e),this.#l=0,this.#h=0,this.#b=W.create(e),this.#n=0,this.#_=0,typeof a==\"function\"&&(this.#w=a),typeof w==\"function\"&&(this.#C=w),typeof f==\"function\"?(this.#S=f,this.#r=[]):(this.#S=void 0,this.#r=void 0),this.#T=!!this.#w,this.#I=!!this.#C,this.#f=!!this.#S,this.noDisposeOnSet=!!d,this.noUpdateTTL=!!g,this.noDeleteOnFetchRejection=!!b,this.allowStaleOnFetchRejection=!!u,this.allowStaleOnFetchAbort=!!T,this.ignoreFetchAbort=!!F,this.maxEntrySize!==0){if(this.#c!==0&&!y(this.#c))throw new TypeError(\"maxSize must be a positive integer if specified\");if(!y(this.maxEntrySize))throw new TypeError(\"maxEntrySize must be a positive integer if specified\");this.#B()}if(this.allowStale=!!r,this.noDeleteOnStaleGet=!!m,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!h,this.ttlResolution=y(s)||s===0?s:1,this.ttlAutopurge=!!n,this.ttl=i||0,this.ttl){if(!y(this.ttl))throw new TypeError(\"ttl must be a positive integer if specified\");this.#j()}if(this.#o===0&&this.ttl===0&&this.#c===0)throw new TypeError(\"At least one of max, maxSize, or ttl is required\");if(!this.ttlAutopurge&&!this.#o&&!this.#c){let E=\"LRU_CACHE_UNBOUNDED\";x(E)&&(U.add(E),I(\"TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.\",\"UnboundedCacheWarning\",E,c))}}getRemainingTTL(t){return this.#s.has(t)?1/0:0}#j(){let t=new z(this.#o),e=new z(this.#o);this.#d=t,this.#A=e;let i=this.ttlAutopurge?new Array(this.#o):void 0;this.#g=i,this.#N=(h,r,a=this.#m.now())=>{e[h]=r!==0?a:0,t[h]=r,s(h,r)},this.#R=h=>{e[h]=t[h]!==0?this.#m.now():0,s(h,t[h])};let s=this.ttlAutopurge?(h,r)=>{if(i?.[h]&&(clearTimeout(i[h]),i[h]=void 0),r&&r!==0&&i){let a=setTimeout(()=>{this.#p(h)&&this.#E(this.#i[h],\"expire\")},r+1);a.unref&&a.unref(),i[h]=a}}:()=>{};this.#z=(h,r)=>{if(t[r]){let a=t[r],w=e[r];if(!a||!w)return;h.ttl=a,h.start=w,h.now=n||o();let f=h.now-w;h.remainingTTL=a-f}};let n=0,o=()=>{let h=this.#m.now();if(this.ttlResolution>0){n=h;let r=setTimeout(()=>n=0,this.ttlResolution);r.unref&&r.unref()}return h};this.getRemainingTTL=h=>{let r=this.#s.get(h);if(r===void 0)return 0;let a=t[r],w=e[r];if(!a||!w)return 1/0;let f=(n||o())-w;return a-f},this.#p=h=>{let r=e[h],a=t[h];return!!a&&!!r&&(n||o())-r>a}}#R=()=>{};#z=()=>{};#N=()=>{};#p=()=>!1;#B(){let t=new z(this.#o);this.#_=0,this.#y=t,this.#W=e=>{this.#_-=t[e],t[e]=0},this.#P=(e,i,s,n)=>{if(this.#e(i))return 0;if(!y(s))if(n){if(typeof n!=\"function\")throw new TypeError(\"sizeCalculation must be a function\");if(s=n(i,e),!y(s))throw new TypeError(\"sizeCalculation return invalid (expect positive integer)\")}else throw new TypeError(\"invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.\");return s},this.#M=(e,i,s)=>{if(t[e]=i,this.#c){let n=this.#c-t[e];for(;this.#_>n;)this.#G(!0)}this.#_+=t[e],s&&(s.entrySize=i,s.totalCalculatedSize=this.#_)}}#W=t=>{};#M=(t,e,i)=>{};#P=(t,e,i,s)=>{if(i||s)throw new TypeError(\"cannot set size without setting maxSize or maxEntrySize on cache\");return 0};*#F({allowStale:t=this.allowStale}={}){if(this.#n)for(let e=this.#h;!(!this.#H(e)||((t||!this.#p(e))&&(yield e),e===this.#l));)e=this.#u[e]}*#O({allowStale:t=this.allowStale}={}){if(this.#n)for(let e=this.#l;!(!this.#H(e)||((t||!this.#p(e))&&(yield e),e===this.#h));)e=this.#a[e]}#H(t){return t!==void 0&&this.#s.get(this.#i[t])===t}*entries(){for(let t of this.#F())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield[this.#i[t],this.#t[t]])}*rentries(){for(let t of this.#O())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield[this.#i[t],this.#t[t]])}*keys(){for(let t of this.#F()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e)}}*rkeys(){for(let t of this.#O()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e)}}*values(){for(let t of this.#F())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t])}*rvalues(){for(let t of this.#O())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]=\"LRUCache\";find(t,e={}){for(let i of this.#F()){let s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;if(n!==void 0&&t(n,this.#i[i],this))return this.get(this.#i[i],e)}}forEach(t,e=this){for(let i of this.#F()){let s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;n!==void 0&&t.call(e,n,this.#i[i],this)}}rforEach(t,e=this){for(let i of this.#O()){let s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;n!==void 0&&t.call(e,n,this.#i[i],this)}}purgeStale(){let t=!1;for(let e of this.#O({allowStale:!0}))this.#p(e)&&(this.#E(this.#i[e],\"expire\"),t=!0);return t}info(t){let e=this.#s.get(t);if(e===void 0)return;let i=this.#t[e],s=this.#e(i)?i.__staleWhileFetching:i;if(s===void 0)return;let n={value:s};if(this.#d&&this.#A){let o=this.#d[e],h=this.#A[e];if(o&&h){let r=o-(this.#m.now()-h);n.ttl=r,n.start=Date.now()}}return this.#y&&(n.size=this.#y[e]),n}dump(){let t=[];for(let e of this.#F({allowStale:!0})){let i=this.#i[e],s=this.#t[e],n=this.#e(s)?s.__staleWhileFetching:s;if(n===void 0||i===void 0)continue;let o={value:n};if(this.#d&&this.#A){o.ttl=this.#d[e];let h=this.#m.now()-this.#A[e];o.start=Math.floor(Date.now()-h)}this.#y&&(o.size=this.#y[e]),t.unshift([i,o])}return t}load(t){this.clear();for(let[e,i]of t){if(i.start){let s=Date.now()-i.start;i.start=this.#m.now()-s}this.set(e,i.value,i)}}set(t,e,i={}){if(e===void 0)return this.delete(t),this;let{ttl:s=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:h=this.sizeCalculation,status:r}=i,{noUpdateTTL:a=this.noUpdateTTL}=i,w=this.#P(t,e,i.size||0,h);if(this.maxEntrySize&&w>this.maxEntrySize)return r&&(r.set=\"miss\",r.maxEntrySizeExceeded=!0),this.#E(t,\"set\"),this;let f=this.#n===0?void 0:this.#s.get(t);if(f===void 0)f=this.#n===0?this.#h:this.#b.length!==0?this.#b.pop():this.#n===this.#o?this.#G(!1):this.#n,this.#i[f]=t,this.#t[f]=e,this.#s.set(t,f),this.#a[this.#h]=f,this.#u[f]=this.#h,this.#h=f,this.#n++,this.#M(f,w,r),r&&(r.set=\"add\"),a=!1,this.#I&&this.#C?.(e,t,\"add\");else{this.#D(f);let d=this.#t[f];if(e!==d){if(this.#v&&this.#e(d)){d.__abortController.abort(new Error(\"replaced\"));let{__staleWhileFetching:g}=d;g!==void 0&&!o&&(this.#T&&this.#w?.(g,t,\"set\"),this.#f&&this.#r?.push([g,t,\"set\"]))}else o||(this.#T&&this.#w?.(d,t,\"set\"),this.#f&&this.#r?.push([d,t,\"set\"]));if(this.#W(f),this.#M(f,w,r),this.#t[f]=e,r){r.set=\"replace\";let g=d&&this.#e(d)?d.__staleWhileFetching:d;g!==void 0&&(r.oldValue=g)}}else r&&(r.set=\"update\");this.#I&&this.onInsert?.(e,t,e===d?\"update\":\"replace\")}if(s!==0&&!this.#d&&this.#j(),this.#d&&(a||this.#N(f,s,n),r&&this.#z(r,f)),!o&&this.#f&&this.#r){let d=this.#r,g;for(;g=d?.shift();)this.#S?.(...g)}return this}pop(){try{for(;this.#n;){let t=this.#t[this.#l];if(this.#G(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#f&&this.#r){let t=this.#r,e;for(;e=t?.shift();)this.#S?.(...e)}}}#G(t){let e=this.#l,i=this.#i[e],s=this.#t[e];return this.#v&&this.#e(s)?s.__abortController.abort(new Error(\"evicted\")):(this.#T||this.#f)&&(this.#T&&this.#w?.(s,i,\"evict\"),this.#f&&this.#r?.push([s,i,\"evict\"])),this.#W(e),this.#g?.[e]&&(clearTimeout(this.#g[e]),this.#g[e]=void 0),t&&(this.#i[e]=void 0,this.#t[e]=void 0,this.#b.push(e)),this.#n===1?(this.#l=this.#h=0,this.#b.length=0):this.#l=this.#a[e],this.#s.delete(i),this.#n--,e}has(t,e={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=e,n=this.#s.get(t);if(n!==void 0){let o=this.#t[n];if(this.#e(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#p(n))s&&(s.has=\"stale\",this.#z(s,n));else return i&&this.#R(n),s&&(s.has=\"hit\",this.#z(s,n)),!0}else s&&(s.has=\"miss\");return!1}peek(t,e={}){let{allowStale:i=this.allowStale}=e,s=this.#s.get(t);if(s===void 0||!i&&this.#p(s))return;let n=this.#t[s];return this.#e(n)?n.__staleWhileFetching:n}#x(t,e,i,s){let n=e===void 0?void 0:this.#t[e];if(this.#e(n))return n;let o=new C,{signal:h}=i;h?.addEventListener(\"abort\",()=>o.abort(h.reason),{signal:o.signal});let r={signal:o.signal,options:i,context:s},a=(p,_=!1)=>{let{aborted:l}=o.signal,S=i.ignoreFetchAbort&&p!==void 0,b=i.ignoreFetchAbort||!!(i.allowStaleOnFetchAbort&&p!==void 0);if(i.status&&(l&&!_?(i.status.fetchAborted=!0,i.status.fetchError=o.signal.reason,S&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),l&&!S&&!_)return f(o.signal.reason,b);let m=g,u=this.#t[e];return(u===g||S&&_&&u===void 0)&&(p===void 0?m.__staleWhileFetching!==void 0?this.#t[e]=m.__staleWhileFetching:this.#E(t,\"fetch\"):(i.status&&(i.status.fetchUpdated=!0),this.set(t,p,r.options))),p},w=p=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=p),f(p,!1)),f=(p,_)=>{let{aborted:l}=o.signal,S=l&&i.allowStaleOnFetchAbort,b=S||i.allowStaleOnFetchRejection,m=b||i.noDeleteOnFetchRejection,u=g;if(this.#t[e]===g&&(!m||!_&&u.__staleWhileFetching===void 0?this.#E(t,\"fetch\"):S||(this.#t[e]=u.__staleWhileFetching)),b)return i.status&&u.__staleWhileFetching!==void 0&&(i.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw p},d=(p,_)=>{let l=this.#L?.(t,n,r);l&&l instanceof Promise&&l.then(S=>p(S===void 0?void 0:S),_),o.signal.addEventListener(\"abort\",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(p(void 0),i.allowStaleOnFetchAbort&&(p=S=>a(S,!0)))})};i.status&&(i.status.fetchDispatched=!0);let g=new Promise(d).then(a,w),A=Object.assign(g,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return e===void 0?(this.set(t,A,{...r.options,status:void 0}),e=this.#s.get(t)):this.#t[e]=A,A}#e(t){if(!this.#v)return!1;let e=t;return!!e&&e instanceof Promise&&e.hasOwnProperty(\"__staleWhileFetching\")&&e.__abortController instanceof C}async fetch(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:h=this.noDisposeOnSet,size:r=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:w=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:A=this.allowStaleOnFetchAbort,context:p,forceRefresh:_=!1,status:l,signal:S}=e;if(!this.#v)return l&&(l.fetch=\"get\"),this.get(t,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:n,status:l});let b={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:h,size:r,sizeCalculation:a,noUpdateTTL:w,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:A,ignoreFetchAbort:g,status:l,signal:S},m=this.#s.get(t);if(m===void 0){l&&(l.fetch=\"miss\");let u=this.#x(t,m,b,p);return u.__returned=u}else{let u=this.#t[m];if(this.#e(u)){let E=i&&u.__staleWhileFetching!==void 0;return l&&(l.fetch=\"inflight\",E&&(l.returnedStale=!0)),E?u.__staleWhileFetching:u.__returned=u}let T=this.#p(m);if(!_&&!T)return l&&(l.fetch=\"hit\"),this.#D(m),s&&this.#R(m),l&&this.#z(l,m),u;let F=this.#x(t,m,b,p),O=F.__staleWhileFetching!==void 0&&i;return l&&(l.fetch=T?\"stale\":\"refresh\",O&&T&&(l.returnedStale=!0)),O?F.__staleWhileFetching:F.__returned=F}}async forceFetch(t,e={}){let i=await this.fetch(t,e);if(i===void 0)throw new Error(\"fetch() returned undefined\");return i}memo(t,e={}){let i=this.#U;if(!i)throw new Error(\"no memoMethod provided to constructor\");let{context:s,forceRefresh:n,...o}=e,h=this.get(t,o);if(!n&&h!==void 0)return h;let r=i(t,h,{options:o,context:s});return this.set(t,r,o),r}get(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=e,h=this.#s.get(t);if(h!==void 0){let r=this.#t[h],a=this.#e(r);return o&&this.#z(o,h),this.#p(h)?(o&&(o.get=\"stale\"),a?(o&&i&&r.__staleWhileFetching!==void 0&&(o.returnedStale=!0),i?r.__staleWhileFetching:void 0):(n||this.#E(t,\"expire\"),o&&i&&(o.returnedStale=!0),i?r:void 0)):(o&&(o.get=\"hit\"),a?r.__staleWhileFetching:(this.#D(h),s&&this.#R(h),r))}else o&&(o.get=\"miss\")}#k(t,e){this.#u[e]=t,this.#a[t]=e}#D(t){t!==this.#h&&(t===this.#l?this.#l=this.#a[t]:this.#k(this.#u[t],this.#a[t]),this.#k(this.#h,t),this.#h=t)}delete(t){return this.#E(t,\"delete\")}#E(t,e){let i=!1;if(this.#n!==0){let s=this.#s.get(t);if(s!==void 0)if(this.#g?.[s]&&(clearTimeout(this.#g?.[s]),this.#g[s]=void 0),i=!0,this.#n===1)this.#V(e);else{this.#W(s);let n=this.#t[s];if(this.#e(n)?n.__abortController.abort(new Error(\"deleted\")):(this.#T||this.#f)&&(this.#T&&this.#w?.(n,t,e),this.#f&&this.#r?.push([n,t,e])),this.#s.delete(t),this.#i[s]=void 0,this.#t[s]=void 0,s===this.#h)this.#h=this.#u[s];else if(s===this.#l)this.#l=this.#a[s];else{let o=this.#u[s];this.#a[o]=this.#a[s];let h=this.#a[s];this.#u[h]=this.#u[s]}this.#n--,this.#b.push(s)}}if(this.#f&&this.#r?.length){let s=this.#r,n;for(;n=s?.shift();)this.#S?.(...n)}return i}clear(){return this.#V(\"delete\")}#V(t){for(let e of this.#O({allowStale:!0})){let i=this.#t[e];if(this.#e(i))i.__abortController.abort(new Error(\"deleted\"));else{let s=this.#i[e];this.#T&&this.#w?.(i,s,t),this.#f&&this.#r?.push([i,s,t])}}if(this.#s.clear(),this.#t.fill(void 0),this.#i.fill(void 0),this.#d&&this.#A){this.#d.fill(0),this.#A.fill(0);for(let e of this.#g??[])e!==void 0&&clearTimeout(e);this.#g?.fill(void 0)}if(this.#y&&this.#y.fill(0),this.#l=0,this.#h=0,this.#b.length=0,this.#_=0,this.#n=0,this.#f&&this.#r){let e=this.#r,i;for(;i=e?.shift();)this.#S?.(...i)}}};exports.LRUCache=D;\n//# sourceMappingURL=index.min.js.map\n",
6
6
  "/* eslint-disable max-len */\n\n'use strict'\n\nconst maybeJoin = (...args) => args.every(arg => arg) ? args.join('') : ''\nconst maybeEncode = (arg) => arg ? encodeURIComponent(arg) : ''\nconst formatHashFragment = (f) => f.toLowerCase()\n .replace(/^\\W+/g, '') // strip leading non-characters\n .replace(/(?<!\\W)\\W+$/, '') // strip trailing non-characters\n .replace(/\\//g, '') // strip all slashes\n .replace(/\\W+/g, '-') // replace remaining non-characters with '-'\n\nconst defaults = {\n sshtemplate: ({ domain, user, project, committish }) =>\n `git@${domain}:${user}/${project}.git${maybeJoin('#', committish)}`,\n sshurltemplate: ({ domain, user, project, committish }) =>\n `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin('#', committish)}`,\n edittemplate: ({ domain, user, project, committish, editpath, path }) =>\n `https://${domain}/${user}/${project}${maybeJoin('/', editpath, '/', maybeEncode(committish || 'HEAD'), '/', path)}`,\n browsetemplate: ({ domain, user, project, committish, treepath }) =>\n `https://${domain}/${user}/${project}${maybeJoin('/', treepath, '/', maybeEncode(committish))}`,\n browsetreetemplate: ({ domain, user, project, committish, treepath, path, fragment, hashformat }) =>\n `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || 'HEAD')}/${path}${maybeJoin('#', hashformat(fragment || ''))}`,\n browseblobtemplate: ({ domain, user, project, committish, blobpath, path, fragment, hashformat }) =>\n `https://${domain}/${user}/${project}/${blobpath}/${maybeEncode(committish || 'HEAD')}/${path}${maybeJoin('#', hashformat(fragment || ''))}`,\n docstemplate: ({ domain, user, project, treepath, committish }) =>\n `https://${domain}/${user}/${project}${maybeJoin('/', treepath, '/', maybeEncode(committish))}#readme`,\n httpstemplate: ({ auth, domain, user, project, committish }) =>\n `git+https://${maybeJoin(auth, '@')}${domain}/${user}/${project}.git${maybeJoin('#', committish)}`,\n filetemplate: ({ domain, user, project, committish, path }) =>\n `https://${domain}/${user}/${project}/raw/${maybeEncode(committish || 'HEAD')}/${path}`,\n shortcuttemplate: ({ type, user, project, committish }) =>\n `${type}:${user}/${project}${maybeJoin('#', committish)}`,\n pathtemplate: ({ user, project, committish }) =>\n `${user}/${project}${maybeJoin('#', committish)}`,\n bugstemplate: ({ domain, user, project }) =>\n `https://${domain}/${user}/${project}/issues`,\n hashformat: formatHashFragment,\n}\n\nconst hosts = {}\nhosts.github = {\n // First two are insecure and generally shouldn't be used any more, but\n // they are still supported.\n protocols: ['git:', 'http:', 'git+ssh:', 'git+https:', 'ssh:', 'https:'],\n domain: 'github.com',\n treepath: 'tree',\n blobpath: 'blob',\n editpath: 'edit',\n filetemplate: ({ auth, user, project, committish, path }) =>\n `https://${maybeJoin(auth, '@')}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish || 'HEAD')}/${path}`,\n gittemplate: ({ auth, domain, user, project, committish }) =>\n `git://${maybeJoin(auth, '@')}${domain}/${user}/${project}.git${maybeJoin('#', committish)}`,\n tarballtemplate: ({ domain, user, project, committish }) =>\n `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish || 'HEAD')}`,\n extract: (url) => {\n let [, user, project, type, committish] = url.pathname.split('/', 5)\n if (type && type !== 'tree') {\n return\n }\n\n if (!type) {\n committish = url.hash.slice(1)\n }\n\n if (project && project.endsWith('.git')) {\n project = project.slice(0, -4)\n }\n\n if (!user || !project) {\n return\n }\n\n return { user, project, committish }\n },\n}\n\nhosts.bitbucket = {\n protocols: ['git+ssh:', 'git+https:', 'ssh:', 'https:'],\n domain: 'bitbucket.org',\n treepath: 'src',\n blobpath: 'src',\n editpath: '?mode=edit',\n edittemplate: ({ domain, user, project, committish, treepath, path, editpath }) =>\n `https://${domain}/${user}/${project}${maybeJoin('/', treepath, '/', maybeEncode(committish || 'HEAD'), '/', path, editpath)}`,\n tarballtemplate: ({ domain, user, project, committish }) =>\n `https://${domain}/${user}/${project}/get/${maybeEncode(committish || 'HEAD')}.tar.gz`,\n extract: (url) => {\n let [, user, project, aux] = url.pathname.split('/', 4)\n if (['get'].includes(aux)) {\n return\n }\n\n if (project && project.endsWith('.git')) {\n project = project.slice(0, -4)\n }\n\n if (!user || !project) {\n return\n }\n\n return { user, project, committish: url.hash.slice(1) }\n },\n}\n\nhosts.gitlab = {\n protocols: ['git+ssh:', 'git+https:', 'ssh:', 'https:'],\n domain: 'gitlab.com',\n treepath: 'tree',\n blobpath: 'tree',\n editpath: '-/edit',\n tarballtemplate: ({ domain, user, project, committish }) =>\n `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish || 'HEAD')}`,\n extract: (url) => {\n const path = url.pathname.slice(1)\n if (path.includes('/-/') || path.includes('/archive.tar.gz')) {\n return\n }\n\n const segments = path.split('/')\n let project = segments.pop()\n if (project.endsWith('.git')) {\n project = project.slice(0, -4)\n }\n\n const user = segments.join('/')\n if (!user || !project) {\n return\n }\n\n return { user, project, committish: url.hash.slice(1) }\n },\n}\n\nhosts.gist = {\n protocols: ['git:', 'git+ssh:', 'git+https:', 'ssh:', 'https:'],\n domain: 'gist.github.com',\n editpath: 'edit',\n sshtemplate: ({ domain, project, committish }) =>\n `git@${domain}:${project}.git${maybeJoin('#', committish)}`,\n sshurltemplate: ({ domain, project, committish }) =>\n `git+ssh://git@${domain}/${project}.git${maybeJoin('#', committish)}`,\n edittemplate: ({ domain, user, project, committish, editpath }) =>\n `https://${domain}/${user}/${project}${maybeJoin('/', maybeEncode(committish))}/${editpath}`,\n browsetemplate: ({ domain, project, committish }) =>\n `https://${domain}/${project}${maybeJoin('/', maybeEncode(committish))}`,\n browsetreetemplate: ({ domain, project, committish, path, hashformat }) =>\n `https://${domain}/${project}${maybeJoin('/', maybeEncode(committish))}${maybeJoin('#', hashformat(path))}`,\n browseblobtemplate: ({ domain, project, committish, path, hashformat }) =>\n `https://${domain}/${project}${maybeJoin('/', maybeEncode(committish))}${maybeJoin('#', hashformat(path))}`,\n docstemplate: ({ domain, project, committish }) =>\n `https://${domain}/${project}${maybeJoin('/', maybeEncode(committish))}`,\n httpstemplate: ({ domain, project, committish }) =>\n `git+https://${domain}/${project}.git${maybeJoin('#', committish)}`,\n filetemplate: ({ user, project, committish, path }) =>\n `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin('/', maybeEncode(committish))}/${path}`,\n shortcuttemplate: ({ type, project, committish }) =>\n `${type}:${project}${maybeJoin('#', committish)}`,\n pathtemplate: ({ project, committish }) =>\n `${project}${maybeJoin('#', committish)}`,\n bugstemplate: ({ domain, project }) =>\n `https://${domain}/${project}`,\n gittemplate: ({ domain, project, committish }) =>\n `git://${domain}/${project}.git${maybeJoin('#', committish)}`,\n tarballtemplate: ({ project, committish }) =>\n `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish || 'HEAD')}`,\n extract: (url) => {\n let [, user, project, aux] = url.pathname.split('/', 4)\n if (aux === 'raw') {\n return\n }\n\n if (!project) {\n if (!user) {\n return\n }\n\n project = user\n user = null\n }\n\n if (project.endsWith('.git')) {\n project = project.slice(0, -4)\n }\n\n return { user, project, committish: url.hash.slice(1) }\n },\n hashformat: function (fragment) {\n return fragment && 'file-' + formatHashFragment(fragment)\n },\n}\n\nhosts.sourcehut = {\n protocols: ['git+ssh:', 'https:'],\n domain: 'git.sr.ht',\n treepath: 'tree',\n blobpath: 'tree',\n filetemplate: ({ domain, user, project, committish, path }) =>\n `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || 'HEAD'}/${path}`,\n httpstemplate: ({ domain, user, project, committish }) =>\n `https://${domain}/${user}/${project}.git${maybeJoin('#', committish)}`,\n tarballtemplate: ({ domain, user, project, committish }) =>\n `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || 'HEAD'}.tar.gz`,\n bugstemplate: () => null,\n extract: (url) => {\n let [, user, project, aux] = url.pathname.split('/', 4)\n\n // tarball url\n if (['archive'].includes(aux)) {\n return\n }\n\n if (project && project.endsWith('.git')) {\n project = project.slice(0, -4)\n }\n\n if (!user || !project) {\n return\n }\n\n return { user, project, committish: url.hash.slice(1) }\n },\n}\n\nfor (const [name, host] of Object.entries(hosts)) {\n hosts[name] = Object.assign({}, defaults, host)\n}\n\nmodule.exports = hosts\n",
@@ -60,33 +60,36 @@
60
60
  "/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\nvar objectToString = Object.prototype.toString;\nvar isArray = Array.isArray || function isArrayPolyfill (object) {\n return objectToString.call(object) === '[object Array]';\n};\n\nfunction isFunction (object) {\n return typeof object === 'function';\n}\n\n/**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\nfunction typeStr (obj) {\n return isArray(obj) ? 'array' : typeof obj;\n}\n\nfunction escapeRegExp (string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n}\n\n/**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\nfunction hasProperty (obj, propName) {\n return obj != null && typeof obj === 'object' && (propName in obj);\n}\n\n/**\n * Safe way of detecting whether or not the given thing is a primitive and\n * whether it has the given property\n */\nfunction primitiveHasOwnProperty (primitive, propName) {\n return (\n primitive != null\n && typeof primitive !== 'object'\n && primitive.hasOwnProperty\n && primitive.hasOwnProperty(propName)\n );\n}\n\n// Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n// See https://github.com/janl/mustache.js/issues/189\nvar regExpTest = RegExp.prototype.test;\nfunction testRegExp (re, string) {\n return regExpTest.call(re, string);\n}\n\nvar nonSpaceRe = /\\S/;\nfunction isWhitespace (string) {\n return !testRegExp(nonSpaceRe, string);\n}\n\nvar entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;',\n '`': '&#x60;',\n '=': '&#x3D;'\n};\n\nfunction escapeHtml (string) {\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap (s) {\n return entityMap[s];\n });\n}\n\nvar whiteRe = /\\s*/;\nvar spaceRe = /\\s+/;\nvar equalsRe = /\\s*=/;\nvar curlyRe = /\\s*\\}/;\nvar tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n/**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n *\n * Tokens for partials also contain two more elements: 1) a string value of\n * indendation prior to that tag and 2) the index of that tag on that line -\n * eg a value of 2 indicates the partial is the third tag on this line.\n */\nfunction parseTemplate (template, tags) {\n if (!template)\n return [];\n var lineHasNonSpace = false;\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n var indentation = ''; // Tracks indentation for tags that use it\n var tagIndex = 0; // Stores a count of number of tags encountered on a line\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace () {\n if (hasTag && !nonSpace) {\n while (spaces.length)\n delete tokens[spaces.pop()];\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n function compileTags (tagsToCompile) {\n if (typeof tagsToCompile === 'string')\n tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\n throw new Error('Invalid tags: ' + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n indentation += chr;\n } else {\n nonSpace = true;\n lineHasNonSpace = true;\n indentation += ' ';\n }\n\n tokens.push([ 'text', chr, start, start + 1 ]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === '\\n') {\n stripSpace();\n indentation = '';\n tagIndex = 0;\n lineHasNonSpace = false;\n }\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe))\n break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe))\n throw new Error('Unclosed tag at ' + scanner.pos);\n\n if (type == '>') {\n token = [ type, value, start, scanner.pos, indentation, tagIndex, lineHasNonSpace ];\n } else {\n token = [ type, value, start, scanner.pos ];\n }\n tagIndex++;\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection)\n throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n stripSpace();\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n return nestTokens(squashTokens(tokens));\n}\n\n/**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\nfunction squashTokens (tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n}\n\n/**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\nfunction nestTokens (tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n}\n\n/**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\nfunction Scanner (string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n}\n\n/**\n * Returns `true` if the tail is empty (end of string).\n */\nScanner.prototype.eos = function eos () {\n return this.tail === '';\n};\n\n/**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\nScanner.prototype.scan = function scan (re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0)\n return '';\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n};\n\n/**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\nScanner.prototype.scanUntil = function scanUntil (re) {\n var index = this.tail.search(re), match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n case 0:\n match = '';\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n};\n\n/**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\nfunction Context (view, parentContext) {\n this.view = view;\n this.cache = { '.': this.view };\n this.parent = parentContext;\n}\n\n/**\n * Creates a new context using the given view with this context\n * as the parent.\n */\nContext.prototype.push = function push (view) {\n return new Context(view, this);\n};\n\n/**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\nContext.prototype.lookup = function lookup (name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this, intermediateValue, names, index, lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n intermediateValue = context.view;\n names = name.split('.');\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n *\n * In the case where dot notation is used, we consider the lookup\n * to be successful even if the last \"object\" in the path is\n * not actually an object but a primitive (e.g., a string, or an\n * integer), because it is sometimes useful to access a property\n * of an autoboxed primitive, such as the length of a string.\n **/\n while (intermediateValue != null && index < names.length) {\n if (index === names.length - 1)\n lookupHit = (\n hasProperty(intermediateValue, names[index])\n || primitiveHasOwnProperty(intermediateValue, names[index])\n );\n\n intermediateValue = intermediateValue[names[index++]];\n }\n } else {\n intermediateValue = context.view[name];\n\n /**\n * Only checking against `hasProperty`, which always returns `false` if\n * `context.view` is not an object. Deliberately omitting the check\n * against `primitiveHasOwnProperty` if dot notation is not used.\n *\n * Consider this example:\n * ```\n * Mustache.render(\"The length of a football field is {{#length}}{{length}}{{/length}}.\", {length: \"100 yards\"})\n * ```\n *\n * If we were to check also against `primitiveHasOwnProperty`, as we do\n * in the dot notation case, then render call would return:\n *\n * \"The length of a football field is 9.\"\n *\n * rather than the expected:\n *\n * \"The length of a football field is 100 yards.\"\n **/\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit) {\n value = intermediateValue;\n break;\n }\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value))\n value = value.call(this.view);\n\n return value;\n};\n\n/**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\nfunction Writer () {\n this.templateCache = {\n _cache: {},\n set: function set (key, value) {\n this._cache[key] = value;\n },\n get: function get (key) {\n return this._cache[key];\n },\n clear: function clear () {\n this._cache = {};\n }\n };\n}\n\n/**\n * Clears all cached templates in this writer.\n */\nWriter.prototype.clearCache = function clearCache () {\n if (typeof this.templateCache !== 'undefined') {\n this.templateCache.clear();\n }\n};\n\n/**\n * Parses and caches the given `template` according to the given `tags` or\n * `mustache.tags` if `tags` is omitted, and returns the array of tokens\n * that is generated from the parse.\n */\nWriter.prototype.parse = function parse (template, tags) {\n var cache = this.templateCache;\n var cacheKey = template + ':' + (tags || mustache.tags).join(':');\n var isCacheEnabled = typeof cache !== 'undefined';\n var tokens = isCacheEnabled ? cache.get(cacheKey) : undefined;\n\n if (tokens == undefined) {\n tokens = parseTemplate(template, tags);\n isCacheEnabled && cache.set(cacheKey, tokens);\n }\n return tokens;\n};\n\n/**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n *\n * If the optional `config` argument is given here, then it should be an\n * object with a `tags` attribute or an `escape` attribute or both.\n * If an array is passed, then it will be interpreted the same way as\n * a `tags` attribute on a `config` object.\n *\n * The `tags` attribute of a `config` object must be an array with two\n * string values: the opening and closing tags used in the template (e.g.\n * [ \"<%\", \"%>\" ]). The default is to mustache.tags.\n *\n * The `escape` attribute of a `config` object must be a function which\n * accepts a string as input and outputs a safely escaped string.\n * If an `escape` function is not provided, then an HTML-safe string\n * escaping function is used as the default.\n */\nWriter.prototype.render = function render (template, view, partials, config) {\n var tags = this.getConfigTags(config);\n var tokens = this.parse(template, tags);\n var context = (view instanceof Context) ? view : new Context(view, undefined);\n return this.renderTokens(tokens, context, partials, template, config);\n};\n\n/**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\nWriter.prototype.renderTokens = function renderTokens (tokens, context, partials, originalTemplate, config) {\n var buffer = '';\n\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate, config);\n else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate, config);\n else if (symbol === '>') value = this.renderPartial(token, context, partials, config);\n else if (symbol === '&') value = this.unescapedValue(token, context);\n else if (symbol === 'name') value = this.escapedValue(token, context, config);\n else if (symbol === 'text') value = this.rawValue(token);\n\n if (value !== undefined)\n buffer += value;\n }\n\n return buffer;\n};\n\nWriter.prototype.renderSection = function renderSection (token, context, partials, originalTemplate, config) {\n var self = this;\n var buffer = '';\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender (template) {\n return self.render(template, context, partials, config);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate, config);\n }\n } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate, config);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string')\n throw new Error('Cannot use higher-order sections without the original template');\n\n // Extract the portion of the original template that the section contains.\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n if (value != null)\n buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate, config);\n }\n return buffer;\n};\n\nWriter.prototype.renderInverted = function renderInverted (token, context, partials, originalTemplate, config) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || (isArray(value) && value.length === 0))\n return this.renderTokens(token[4], context, partials, originalTemplate, config);\n};\n\nWriter.prototype.indentPartial = function indentPartial (partial, indentation, lineHasNonSpace) {\n var filteredIndentation = indentation.replace(/[^ \\t]/g, '');\n var partialByNl = partial.split('\\n');\n for (var i = 0; i < partialByNl.length; i++) {\n if (partialByNl[i].length && (i > 0 || !lineHasNonSpace)) {\n partialByNl[i] = filteredIndentation + partialByNl[i];\n }\n }\n return partialByNl.join('\\n');\n};\n\nWriter.prototype.renderPartial = function renderPartial (token, context, partials, config) {\n if (!partials) return;\n var tags = this.getConfigTags(config);\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null) {\n var lineHasNonSpace = token[6];\n var tagIndex = token[5];\n var indentation = token[4];\n var indentedValue = value;\n if (tagIndex == 0 && indentation) {\n indentedValue = this.indentPartial(value, indentation, lineHasNonSpace);\n }\n var tokens = this.parse(indentedValue, tags);\n return this.renderTokens(tokens, context, partials, indentedValue, config);\n }\n};\n\nWriter.prototype.unescapedValue = function unescapedValue (token, context) {\n var value = context.lookup(token[1]);\n if (value != null)\n return value;\n};\n\nWriter.prototype.escapedValue = function escapedValue (token, context, config) {\n var escape = this.getConfigEscape(config) || mustache.escape;\n var value = context.lookup(token[1]);\n if (value != null)\n return (typeof value === 'number' && escape === mustache.escape) ? String(value) : escape(value);\n};\n\nWriter.prototype.rawValue = function rawValue (token) {\n return token[1];\n};\n\nWriter.prototype.getConfigTags = function getConfigTags (config) {\n if (isArray(config)) {\n return config;\n }\n else if (config && typeof config === 'object') {\n return config.tags;\n }\n else {\n return undefined;\n }\n};\n\nWriter.prototype.getConfigEscape = function getConfigEscape (config) {\n if (config && typeof config === 'object' && !isArray(config)) {\n return config.escape;\n }\n else {\n return undefined;\n }\n};\n\nvar mustache = {\n name: 'mustache.js',\n version: '4.2.0',\n tags: [ '{{', '}}' ],\n clearCache: undefined,\n escape: undefined,\n parse: undefined,\n render: undefined,\n Scanner: undefined,\n Context: undefined,\n Writer: undefined,\n /**\n * Allows a user to override the default caching strategy, by providing an\n * object with set, get and clear methods. This can also be used to disable\n * the cache by setting it to the literal `undefined`.\n */\n set templateCache (cache) {\n defaultWriter.templateCache = cache;\n },\n /**\n * Gets the default or overridden caching object from the default writer.\n */\n get templateCache () {\n return defaultWriter.templateCache;\n }\n};\n\n// All high-level mustache.* functions use this writer.\nvar defaultWriter = new Writer();\n\n/**\n * Clears all cached templates in the default writer.\n */\nmustache.clearCache = function clearCache () {\n return defaultWriter.clearCache();\n};\n\n/**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\nmustache.parse = function parse (template, tags) {\n return defaultWriter.parse(template, tags);\n};\n\n/**\n * Renders the `template` with the given `view`, `partials`, and `config`\n * using the default writer.\n */\nmustache.render = function render (template, view, partials, config) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' +\n 'but \"' + typeStr(template) + '\" was given as the first ' +\n 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials, config);\n};\n\n// Export the escaping function so that the user may override it.\n// See https://github.com/janl/mustache.js/issues/244\nmustache.escape = escapeHtml;\n\n// Export these mainly for testing, but also for advanced usage.\nmustache.Scanner = Scanner;\nmustache.Context = Context;\nmustache.Writer = Writer;\n\nexport default mustache;\n",
61
61
  "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\n\nimport { PROJECT_TOOLS_PACKAGE_ROOT } from \"./template-registry.js\";\n\ninterface PackageManifest {\n\tdependencies?: Record<string, string>;\n\tversion?: string;\n}\n\ninterface PackageVersions {\n\tapiClientPackageVersion: string;\n\tblockRuntimePackageVersion: string;\n\tblockTypesPackageVersion: string;\n\tprojectToolsPackageVersion: string;\n\trestPackageVersion: string;\n\twpTypiaPackageExactVersion: string;\n\twpTypiaPackageVersion: string;\n}\n\nconst require = createRequire(import.meta.url);\nconst DEFAULT_VERSION_RANGE = \"^0.0.0\";\nconst DEFAULT_EXACT_VERSION = \"0.0.0\";\n\nlet cachedPackageVersions: PackageVersions | null = null;\n\nfunction getErrorCode(error: unknown): string | undefined {\n\treturn typeof error === \"object\" && error !== null && \"code\" in error\n\t\t? String((error as { code: unknown }).code)\n\t\t: undefined;\n}\n\nfunction normalizeVersionRange(value: string | undefined): string {\n\tconst trimmed = value?.trim();\n\tif (!trimmed) {\n\t\treturn DEFAULT_VERSION_RANGE;\n\t}\n\tif (trimmed.startsWith(\"workspace:\")) {\n\t\treturn DEFAULT_VERSION_RANGE;\n\t}\n\n\treturn /^[~^<>=]/.test(trimmed) ? trimmed : `^${trimmed}`;\n}\n\nfunction normalizeExactVersion(value: string | undefined): string {\n\tconst trimmed = value?.trim();\n\tif (!trimmed) {\n\t\treturn DEFAULT_EXACT_VERSION;\n\t}\n\tif (trimmed.startsWith(\"workspace:\")) {\n\t\treturn DEFAULT_EXACT_VERSION;\n\t}\n\treturn trimmed.replace(/^[~^<>=]+/, \"\");\n}\n\nfunction readPackageManifest(packageJsonPath: string): PackageManifest | null {\n\ttry {\n\t\treturn JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as PackageManifest;\n\t} catch (error) {\n\t\tif (getErrorCode(error) === \"ENOENT\") {\n\t\t\treturn null;\n\t\t}\n\t\tthrow error;\n\t}\n}\n\nfunction resolveInstalledPackageManifest(packageName: string): PackageManifest | null {\n\ttry {\n\t\treturn readPackageManifest(require.resolve(`${packageName}/package.json`));\n\t} catch (error) {\n\t\tif (getErrorCode(error) === \"MODULE_NOT_FOUND\") {\n\t\t\treturn null;\n\t\t}\n\t\tthrow error;\n\t}\n}\n\nexport function getPackageVersions(): PackageVersions {\n\tif (cachedPackageVersions) {\n\t\treturn cachedPackageVersions;\n\t}\n\n\tconst createManifest =\n\t\treadPackageManifest(path.join(PROJECT_TOOLS_PACKAGE_ROOT, \"package.json\")) ??\n\t\tresolveInstalledPackageManifest(\"@wp-typia/project-tools\") ??\n\t\t{};\n\tconst blockRuntimeManifest =\n\t\treadPackageManifest(\n\t\t\tpath.join(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"wp-typia-block-runtime\", \"package.json\"),\n\t\t) ??\n\t\tresolveInstalledPackageManifest(\"@wp-typia/block-runtime\") ??\n\t\t{};\n\tconst wpTypiaManifest =\n\t\treadPackageManifest(path.join(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"wp-typia\", \"package.json\")) ??\n\t\tresolveInstalledPackageManifest(\"wp-typia\") ??\n\t\t{};\n\tconst blockRuntimeDependencyVersion = normalizeVersionRange(\n\t\tcreateManifest.dependencies?.[\"@wp-typia/block-runtime\"],\n\t);\n\n\tcachedPackageVersions = {\n\t\tapiClientPackageVersion: normalizeVersionRange(\n\t\t\tcreateManifest.dependencies?.[\"@wp-typia/api-client\"] ??\n\t\t\t\tresolveInstalledPackageManifest(\"@wp-typia/api-client\")?.version,\n\t\t),\n\t\tblockRuntimePackageVersion:\n\t\t\tblockRuntimeDependencyVersion !== DEFAULT_VERSION_RANGE\n\t\t\t\t? blockRuntimeDependencyVersion\n\t\t\t\t: normalizeVersionRange(blockRuntimeManifest.version),\n\t\tblockTypesPackageVersion: normalizeVersionRange(\n\t\t\tcreateManifest.dependencies?.[\"@wp-typia/block-types\"] ??\n\t\t\t\tresolveInstalledPackageManifest(\"@wp-typia/block-types\")?.version,\n\t\t),\n\t\tprojectToolsPackageVersion: normalizeVersionRange(createManifest.version),\n\t\trestPackageVersion: normalizeVersionRange(\n\t\t\tcreateManifest.dependencies?.[\"@wp-typia/rest\"] ??\n\t\t\t\tresolveInstalledPackageManifest(\"@wp-typia/rest\")?.version,\n\t\t),\n\t\twpTypiaPackageExactVersion: normalizeExactVersion(wpTypiaManifest.version),\n\t\twpTypiaPackageVersion: normalizeVersionRange(wpTypiaManifest.version),\n\t};\n\n\treturn cachedPackageVersions;\n}\n",
62
62
  "import {\n\tformatPackageExecCommand,\n\tformatRunScript,\n} from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport { getPackageVersions } from \"./package-versions.js\";\nimport { getPrimaryDevelopmentScript } from \"./local-dev-presets.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\tisBuiltInTemplateId,\n} from \"./template-registry.js\";\n\ninterface SyncOnboardingOptions {\n\tavailableScripts?: string[];\n\tcompoundPersistenceEnabled?: boolean;\n}\n\ninterface PhpRestExtensionOptions extends SyncOnboardingOptions {\n\tslug: string;\n}\n\ninterface PhpRestSectionOptions {\n\tapiTypesPath: string;\n\textraNote?: string;\n\tmainPhpPath: string;\n\tmainPhpScope: string;\n\ttransportPath: string;\n}\n\nconst INITIAL_COMMIT_COMMANDS = [\n\t\"git init\",\n\t\"git add .\",\n\t'git commit -m \"Initial scaffold\"',\n] as const;\n\nfunction getDoctorVerificationCommand(packageManager: PackageManagerId): string {\n\treturn formatPackageExecCommand(\n\t\tpackageManager,\n\t\t`wp-typia@${getPackageVersions().wpTypiaPackageExactVersion}`,\n\t\t\"doctor\",\n\t);\n}\n\nfunction templateHasPersistenceSync(\n\ttemplateId: string,\n\t{ compoundPersistenceEnabled = false }: SyncOnboardingOptions = {},\n): boolean {\n\treturn templateId === \"persistence\" || (templateId === \"compound\" && compoundPersistenceEnabled);\n}\n\n/**\n * Returns the optional sync script names to suggest for a template.\n */\nexport function getOptionalSyncScriptNames(\n\ttemplateId: string,\n\toptions: SyncOnboardingOptions = {},\n): string[] {\n\tif (templateId === \"query-loop\") {\n\t\treturn [];\n\t}\n\n\tconst availableScripts = new Set(options.availableScripts ?? []);\n\tif (availableScripts.has(\"sync\")) {\n\t\treturn [\"sync\"];\n\t}\n\n\tconst fallbackScripts = [\"sync-types\", \"sync-rest\"].filter((scriptName) =>\n\t\tavailableScripts.has(scriptName),\n\t);\n\tif (fallbackScripts.length > 0) {\n\t\treturn fallbackScripts;\n\t}\n\n\tif (\n\t\t!isBuiltInTemplateId(templateId) &&\n\t\ttemplateId !== OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t) {\n\t\treturn [];\n\t}\n\n\treturn [\"sync\"];\n}\n\n/**\n * Formats optional onboarding sync commands for the selected package manager.\n */\nexport function getOptionalOnboardingSteps(\n\tpackageManager: PackageManagerId,\n\ttemplateId: string,\n\toptions: SyncOnboardingOptions = {},\n): string[] {\n\treturn getOptionalSyncScriptNames(templateId, options).map((scriptName) =>\n\t\tformatRunScript(packageManager, scriptName),\n\t);\n}\n\n/**\n * Returns the quick-start note explaining the scaffold's primary local loop.\n */\nexport function getQuickStartWorkflowNote(\n\tpackageManager: PackageManagerId,\n\ttemplateId = \"basic\",\n\toptions: SyncOnboardingOptions = {},\n): string {\n\tconst doctorCommand = getDoctorVerificationCommand(packageManager);\n\n\tif (templateId === \"query-loop\") {\n\t\treturn `${formatRunScript(packageManager, \"dev\")} runs the editor build/watch loop that registers your Query Loop variation in the block editor. This scaffold intentionally skips \\`src/types.ts\\`, \\`block.json\\`, and Typia manifests because the source of truth lives in the variation registration flow. Update \\`src/index.ts\\` for variation defaults, \\`src/patterns/*.php\\` for richer connected layouts, \\`src/query-extension.ts\\` for custom query params, and \\`inc/query-runtime.php\\` for frontend/editor preview parity. Use ${doctorCommand} when you want a quick environment and workspace sanity check.`;\n\t}\n\n\tconst developmentScript = getPrimaryDevelopmentScript(templateId);\n\tconst devCommand = formatRunScript(packageManager, developmentScript);\n\tconst startCommand = formatRunScript(packageManager, \"start\");\n\n\tif (developmentScript === \"start\") {\n\t\treturn `${startCommand} is the primary local entry point for this template. Use ${doctorCommand} when you want a quick environment and workspace sanity check before build or commit.`;\n\t}\n\n\tif (developmentScript !== \"dev\") {\n\t\treturn `${devCommand} is the primary local entry point for this template. Use ${startCommand} for the one-shot startup flow, and ${doctorCommand} when you want a quick verification pass before build or commit.`;\n\t}\n\n\tif (templateHasPersistenceSync(templateId, options)) {\n\t\treturn `${devCommand} keeps the editor, type-derived artifacts, and REST-derived artifacts moving together during local development. Use ${startCommand} for a one-shot sync plus editor startup, and ${doctorCommand} when you want an explicit verification pass before build or commit.`;\n\t}\n\n\treturn `${devCommand} keeps the editor and type-derived artifacts moving together during local development. Use ${startCommand} for a one-shot sync plus editor startup, and ${doctorCommand} when you want an explicit verification pass before build or commit.`;\n}\n\n/**\n * Returns the onboarding note explaining when manual sync is optional.\n */\nexport function getOptionalOnboardingNote(\n\tpackageManager: PackageManagerId,\n\ttemplateId = \"basic\",\n\toptions: SyncOnboardingOptions = {},\n): string {\n\tconst doctorCommand = getDoctorVerificationCommand(packageManager);\n\n\tif (templateId === \"query-loop\") {\n\t\treturn `This scaffold owns a \\`core/query\\` variation, so it does not generate a \\`sync\\` script, \\`src/types.ts\\`, \\`block.json\\`, or Typia manifests. Edit \\`src/index.ts\\`, \\`src/patterns/*.php\\`, \\`src/query-extension.ts\\`, and \\`inc/query-runtime.php\\` as needed, then rerun ${formatRunScript(packageManager, \"build\")}, ${formatRunScript(packageManager, \"typecheck\")}, or ${doctorCommand}.`;\n\t}\n\n\tconst optionalSyncScripts = getOptionalSyncScriptNames(templateId, options);\n\tconst hasUnifiedSync = optionalSyncScripts.includes(\"sync\");\n\tconst syncSteps = optionalSyncScripts.map((scriptName) =>\n\t\tformatRunScript(packageManager, scriptName),\n\t);\n\tconst developmentScript = getPrimaryDevelopmentScript(templateId);\n\tconst syncCommand = formatRunScript(\n\t\tpackageManager,\n\t\thasUnifiedSync ? \"sync\" : \"sync-types\",\n\t);\n\tconst syncCheckCommand = formatRunScript(\n\t\tpackageManager,\n\t\thasUnifiedSync ? \"sync\" : \"sync-types\",\n\t\t\"--check\",\n\t);\n\tconst failOnLossySyncCommand = formatRunScript(\n\t\tpackageManager,\n\t\t\"sync-types\",\n\t\t\"--fail-on-lossy\",\n\t);\n\tconst syncTypesCommand = formatRunScript(packageManager, \"sync-types\");\n\tconst syncRestCommand = formatRunScript(packageManager, \"sync-rest\");\n\tconst typecheckCommand = formatRunScript(packageManager, \"typecheck\");\n\tconst strictSyncCommand = formatRunScript(\n\t\tpackageManager,\n\t\t\"sync-types\",\n\t\t\"--strict --report json\",\n\t);\n\tconst advancedPersistenceNote = templateHasPersistenceSync(templateId, options)\n\t\t? ` ${syncRestCommand} remains available for REST-only refreshes after ${syncTypesCommand}.`\n\t\t: \"\";\n\tconst isCustomTemplate =\n\t\t!isBuiltInTemplateId(templateId) &&\n\t\ttemplateId !== OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE;\n\tconst fallbackCustomTemplateNote =\n\t\t!hasUnifiedSync &&\n\t\tsyncSteps.length > 0 &&\n\t\tisCustomTemplate\n\t\t\t? `Run ${syncSteps.join(\" then \")} manually before build, typecheck, or commit. ${syncCheckCommand} verifies the current type-derived artifacts without rewriting them.${optionalSyncScripts.includes(\"sync-rest\") ? ` ${syncRestCommand} remains available for REST-only refreshes after ${syncTypesCommand}.` : \"\"}`\n\t\t\t: null;\n\n\tif (fallbackCustomTemplateNote) {\n\t\treturn `${fallbackCustomTemplateNote} Use ${doctorCommand} when you want a quick environment and workspace sanity check.`;\n\t}\n\n\tif (isCustomTemplate && syncSteps.length === 0) {\n\t\treturn `No optional sync command was detected for this custom template. Use ${doctorCommand} for a quick environment and workspace sanity check, then follow the template's own artifact-refresh guidance before build, typecheck, or your first commit.`;\n\t}\n\n\treturn `You usually do not need to run ${syncCommand} during a normal ${formatRunScript(packageManager, developmentScript)} session. Run ${syncCommand} before ${formatRunScript(packageManager, \"build\")}, ${typecheckCommand}, or ${doctorCommand} when you want a reviewable refresh. ${syncTypesCommand} stays warn-only by default; use \\`${failOnLossySyncCommand}\\` or \\`${strictSyncCommand}\\` for stricter CI checks.${advancedPersistenceNote} Generated syncs do not create migration history, so refresh before your first commit if this directory is new.`;\n}\n\n/**\n * Returns the recommended version-control commands for a fresh scaffold.\n */\nexport function getInitialCommitCommands(): string[] {\n\treturn [...INITIAL_COMMIT_COMMANDS];\n}\n\n/**\n * Returns the version-control note shown after the initial scaffold.\n */\nexport function getInitialCommitNote(): string {\n\treturn \"Skip `git init` if this directory already lives inside an existing repository. If you want generated artifacts refreshed before the first checkpoint, run your manual sync step first and then create the commit.\";\n}\n\n/**\n * Returns source-of-truth guidance for generated artifacts by template mode.\n */\nexport function getTemplateSourceOfTruthNote(\n\ttemplateId: string,\n\t{ compoundPersistenceEnabled = false }: SyncOnboardingOptions = {},\n): string {\n\tif (templateId === \"query-loop\") {\n\t\treturn \"`src/index.ts` remains the source of truth for the Query Loop variation name, default query attributes, `allowedControls`, and the minimal inline starter `innerBlocks`. This scaffold intentionally does not generate `src/types.ts`, `block.json`, or Typia manifests because those artifacts belong to standalone block families, not `core/query` variation ownership. Use `src/patterns/*.php` for richer connected layout presets that stay tied to the same variation namespace, use `src/query-extension.ts` for custom query seed values or optional editor-only hook registration, and use `inc/query-runtime.php` to keep frontend and editor preview query mapping aligned for those custom keys. The generated plugin bootstrap should stay focused on script registration, pattern loading, and explicit runtime glue for the variation.\";\n\t}\n\n\tif (templateId === \"compound\") {\n\t\tconst compoundBase =\n\t\t\t\"`src/blocks/*/types.ts` files remain the source of truth for each block's `block.json`, `typia.manifest.json`, and `typia-validator.php`. Fresh scaffolds include starter `typia.manifest.json` files so editor imports resolve before the first sync.\";\n\n\t\tif (compoundPersistenceEnabled) {\n\t\t\treturn `${compoundBase} For persistence-enabled parents, \\`src/blocks/*/api-types.ts\\` files remain the source of truth for \\`src/blocks/*/api-schemas/*\\` when you run \\`sync\\` or \\`sync-rest\\`, while \\`src/blocks/*/transport.ts\\` is the first-class transport seam for editor and frontend requests.`;\n\t\t}\n\n\t\treturn compoundBase;\n\t}\n\n\tif (templateId === \"persistence\") {\n\t\treturn \"`src/types.ts` remains the source of truth for `block.json`, `typia.manifest.json`, and `typia-validator.php`. Fresh scaffolds include a starter `typia.manifest.json` so editor imports resolve before the first sync. `src/api-types.ts` remains the source of truth for `src/api-schemas/*` when you run `sync` or `sync-rest`, while `src/transport.ts` is the first-class transport seam for editor and frontend requests. This scaffold is intentionally server-rendered: `src/render.php` is the canonical frontend entry, `src/save.tsx` returns `null`, and session-only write data now refreshes through the dedicated `/bootstrap` endpoint after hydration instead of being frozen into markup.\";\n\t}\n\n\treturn \"`src/types.ts` remains the source of truth for `block.json`, `typia.manifest.json`, and `typia-validator.php`. Fresh scaffolds include a starter `typia.manifest.json` so editor imports resolve before the first sync. The basic scaffold stays static by design: `src/render.php` is only an opt-in server placeholder, `src/save.tsx` remains the canonical frontend output, and the generated webpack config keeps the current `@wordpress/scripts` CommonJS baseline unless you intentionally add `render` to `block.json`.\";\n}\n\n/**\n * Returns the generated-project extension workflow for compound child blocks.\n */\nexport function getCompoundExtensionWorkflowSection(\n\tpackageManager: PackageManagerId,\n\ttemplateId: string,\n): string | null {\n\tif ( templateId !== \"compound\" ) {\n\t\treturn null;\n\t}\n\nreturn `## Compound Extension Workflow\n\n\\`\\`\\`bash\n${ formatRunScript(\n\t\tpackageManager,\n\t\t\"add-child\",\n\t\t'--slug faq-item --title \"FAQ Item\"'\n\t) }\n\n${ formatRunScript(\n\t\tpackageManager,\n\t\t\"add-child\",\n\t\t'--slug section --title \"Section\" --container --inserter visible'\n\t) }\n\n${ formatRunScript(\n\t\tpackageManager,\n\t\t\"add-child\",\n\t\t'--slug clause --title \"Clause\" --ancestor section --dry-run'\n\t) }\n\n${ formatRunScript(\n\t\tpackageManager,\n\t\t\"add-child\",\n\t\t'--slug clause --title \"Clause\" --ancestor section'\n\t) }\n\\`\\`\\`\n\nThis scaffolds additional compound child block types, updates \\`scripts/block-config.ts\\` and \\`src/blocks/*/children.ts\\`, and now supports root-level hidden children, visible container children, and nested ancestor chains for richer document-style block hierarchies. Pass \\`--dry-run\\` when you want a validated child-graph preview and planned write list before the script mutates files.`;\n}\n\nfunction formatPhpRestExtensionPointsSection({\n\tapiTypesPath,\n\textraNote,\n\tmainPhpPath,\n\tmainPhpScope,\n\ttransportPath,\n}: PhpRestSectionOptions): string {\n\tconst schemaJsonGlob = apiTypesPath.replace(/api-types\\.ts$/u, \"api-schemas/*.schema.json\");\n\tconst perContractOpenApiGlob = apiTypesPath.replace(\n\t\t/api-types\\.ts$/u,\n\t\t\"api-schemas/*.openapi.json\",\n\t);\n\tconst aggregateOpenApiPath = apiTypesPath.replace(/api-types\\.ts$/u, \"api.openapi.json\");\n\n\tconst lines = [\n\t\t`- Edit \\`${mainPhpPath}\\` when you need to ${mainPhpScope}.`,\n\t\t\"- Edit `inc/rest-auth.php` or `inc/rest-public.php` when you need to customize write permissions or token/request-id/nonce checks for the selected policy.\",\n\t\t`- Edit \\`${transportPath}\\` when you need to switch between direct WordPress REST and a contract-compatible proxy or BFF without changing the endpoint contracts.`,\n\t\t`- Keep \\`${apiTypesPath}\\` as the source of truth for request and response contracts, then regenerate \\`${schemaJsonGlob}\\`, per-contract \\`${perContractOpenApiGlob}\\`, and \\`${aggregateOpenApiPath}\\` with \\`sync\\` (or \\`sync-rest\\` after \\`sync-types\\` when you only need the REST layer).`,\n\t\t\"- Avoid hand-editing generated schema and OpenAPI artifacts unless you are debugging generated output; they are meant to be regenerated from TypeScript contracts.\",\n\t];\n\n\tif (typeof extraNote === \"string\" && extraNote.length > 0) {\n\t\tlines.push(`- ${extraNote}`);\n\t}\n\n\treturn `## PHP REST Extension Points\\n\\n${lines.join(\"\\n\")}`;\n}\n\n/**\n * Returns scaffold-local guidance for the main PHP REST customization points.\n */\nexport function getPhpRestExtensionPointsSection(\n\ttemplateId: string,\n\t{ compoundPersistenceEnabled = false, slug }: PhpRestExtensionOptions,\n): string | null {\n\tif (templateId === \"persistence\") {\n\t\treturn formatPhpRestExtensionPointsSection({\n\t\t\tapiTypesPath: \"src/api-types.ts\",\n\t\t\tmainPhpPath: `${slug}.php`,\n\t\t\tmainPhpScope: \"change storage helpers, route handlers, response shaping, or route registration\",\n\t\t\ttransportPath: \"src/transport.ts\",\n\t\t\textraNote: \"Keep durable state on the `/state` endpoints and treat the dedicated `/bootstrap` endpoint as the place to return fresh session-only write access data such as nonces or public write tokens.\",\n\t\t});\n\t}\n\n\tif (templateId === \"compound\" && compoundPersistenceEnabled) {\n\t\treturn formatPhpRestExtensionPointsSection({\n\t\t\tapiTypesPath: `src/blocks/${slug}/api-types.ts`,\n\t\t\textraNote: \"The hidden child block does not own REST routes or storage. Keep durable parent-block state on the `/state` endpoints and return fresh session-only write access data from the dedicated `/bootstrap` endpoint.\",\n\t\t\tmainPhpPath: `${slug}.php`,\n\t\t\tmainPhpScope:\n\t\t\t\t\"change parent-block storage helpers, route handlers, response shaping, or route registration\",\n\t\t\ttransportPath: `src/blocks/${slug}/transport.ts`,\n\t\t});\n\t}\n\n\treturn null;\n}\n",
63
- "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { formatPackageExecCommand } from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tensureMigrationDirectories,\n\twriteInitialMigrationScaffold,\n\twriteMigrationConfig,\n} from \"./migration-project.js\";\nimport { syncPersistenceRestArtifacts } from \"./persistence-rest-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport { getPackageVersions } from \"./package-versions.js\";\nimport { getStarterManifestFiles, stringifyStarterManifest } from \"./starter-manifests.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\tPROJECT_TOOLS_PACKAGE_ROOT,\n} from \"./template-registry.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\n\nconst EPHEMERAL_NODE_MODULES_LINK_TYPE = process.platform === \"win32\" ? \"junction\" : \"dir\";\n\ninterface GeneratedPackageJson {\n\tscripts?: Record<string, string>;\n\twpTypia?: {\n\t\tprojectType?: string;\n\t\ttemplatePackage?: string;\n\t};\n}\n\n/**\n * Ensures the scaffold target directory exists and is empty unless explicitly allowed.\n *\n * @param targetDir Absolute project directory that will receive scaffold output.\n * @param allowExisting Whether an existing non-empty directory should be accepted.\n * @returns A promise that resolves once the directory precondition is satisfied.\n */\nexport async function ensureScaffoldDirectory(\n\ttargetDir: string,\n\tallowExisting = false,\n): Promise<void> {\n\tif (!fs.existsSync(targetDir)) {\n\t\tawait fsp.mkdir(targetDir, { recursive: true });\n\t\treturn;\n\t}\n\n\tif (allowExisting) {\n\t\treturn;\n\t}\n\n\tconst entries = await fsp.readdir(targetDir);\n\tif (entries.length > 0) {\n\t\tthrow new Error(formatNonEmptyTargetDirectoryError(targetDir));\n\t}\n}\n\nfunction readGeneratedPackageJson(projectDir: string): GeneratedPackageJson | null {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tif (!fs.existsSync(packageJsonPath)) {\n\t\treturn null;\n\t}\n\n\treturn JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as GeneratedPackageJson;\n}\n\n/**\n * Format the actionable error message used when a scaffold target directory\n * already exists and is not empty.\n *\n * @param targetDir Absolute path to the target directory being evaluated.\n * @returns A human-readable error string with next-step guidance.\n */\nexport function formatNonEmptyTargetDirectoryError(targetDir: string): string {\n\treturn `Target directory is not empty: ${targetDir}. Choose a new project directory, or empty this directory before rerunning the scaffold.`;\n}\n\n/**\n * Writes built-in starter manifest files into a scaffolded project.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param templateId Built-in template id being scaffolded.\n * @param variables Resolved scaffold template variables.\n * @returns A promise that resolves after all starter manifests are written.\n */\nexport async function writeStarterManifestFiles(\n\ttargetDir: string,\n\ttemplateId: string,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst manifests = getStarterManifestFiles(templateId, variables);\n\n\tfor (const { document, relativePath } of manifests) {\n\t\tconst destinationPath = path.join(targetDir, relativePath);\n\t\tawait fsp.mkdir(path.dirname(destinationPath), { recursive: true });\n\t\tawait fsp.writeFile(destinationPath, stringifyStarterManifest(document), \"utf8\");\n\t}\n}\n\n/**\n * Seed REST-derived persistence artifacts into a newly scaffolded built-in\n * project before the first manual `sync-rest` run.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param templateId Built-in template id being scaffolded.\n * @param variables Resolved scaffold template variables for the project.\n * @returns A promise that resolves after any required persistence artifacts are generated.\n */\nexport async function seedBuiltInPersistenceArtifacts(\n\ttargetDir: string,\n\ttemplateId: BuiltInTemplateId,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst needsPersistenceArtifacts =\n\t\ttemplateId === \"persistence\" ||\n\t\t(templateId === \"compound\" && variables.compoundPersistenceEnabled === \"true\");\n\n\tif (!needsPersistenceArtifacts) {\n\t\treturn;\n\t}\n\n\tawait withEphemeralScaffoldNodeModules(targetDir, async () => {\n\t\tif (templateId === \"persistence\") {\n\t\t\tawait syncPersistenceRestArtifacts({\n\t\t\t\tapiTypesFile: path.join(\"src\", \"api-types.ts\"),\n\t\t\t\toutputDir: \"src\",\n\t\t\t\tprojectDir: targetDir,\n\t\t\t\tvariables,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tawait syncPersistenceRestArtifacts({\n\t\t\tapiTypesFile: path.join(\"src\", \"blocks\", variables.slugKebabCase, \"api-types.ts\"),\n\t\t\toutputDir: path.join(\"src\", \"blocks\", variables.slugKebabCase),\n\t\t\tprojectDir: targetDir,\n\t\t\tvariables,\n\t\t});\n\t});\n}\n\n/**\n * Detects whether a scaffolded project declares the workspace project model.\n *\n * @param projectDir Absolute scaffold target directory.\n * @returns `true` when the project metadata identifies a workspace scaffold.\n */\nexport function isWorkspaceProject(projectDir: string): boolean {\n\treturn readGeneratedPackageJson(projectDir)?.wpTypia?.projectType === \"workspace\";\n}\n\n/**\n * Detects whether a scaffolded project is the official workspace template.\n *\n * @param projectDir Absolute scaffold target directory.\n * @returns `true` when the project metadata identifies the official workspace template.\n */\nexport function isOfficialWorkspaceProject(projectDir: string): boolean {\n\tconst packageJson = readGeneratedPackageJson(projectDir);\n\treturn (\n\t\tpackageJson?.wpTypia?.projectType === \"workspace\" &&\n\t\tpackageJson.wpTypia?.templatePackage === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t);\n}\n\n/**\n * Adds migration scripts and starter workspace files to the official workspace template.\n *\n * @param projectDir Absolute scaffold target directory.\n * @param packageManager Package manager used for generated script commands.\n * @returns A promise that resolves after scripts and migration starter files are written.\n */\nexport async function applyWorkspaceMigrationCapability(\n\tprojectDir: string,\n\tpackageManager: PackageManagerId,\n): Promise<void> {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tconst packageJson = JSON.parse(\n\t\tawait fsp.readFile(packageJsonPath, \"utf8\"),\n\t) as GeneratedPackageJson;\n\tconst wpTypiaPackageVersion = getPackageVersions().wpTypiaPackageVersion;\n\tconst canonicalCliSpecifier =\n\t\twpTypiaPackageVersion === \"^0.0.0\"\n\t\t\t? \"wp-typia\"\n\t\t\t: `wp-typia@${wpTypiaPackageVersion.replace(/^[~^]/u, \"\")}`;\n\tconst migrationCli = (args: string) =>\n\t\tformatPackageExecCommand(packageManager, canonicalCliSpecifier, `migrate ${args}`);\n\n\tpackageJson.scripts = {\n\t\t...(packageJson.scripts ?? {}),\n\t\t\"migration:init\": migrationCli(\"init --current-migration-version v1\"),\n\t\t\"migration:snapshot\": migrationCli(\"snapshot\"),\n\t\t\"migration:diff\": migrationCli(\"diff\"),\n\t\t\"migration:scaffold\": migrationCli(\"scaffold\"),\n\t\t\"migration:doctor\": migrationCli(\"doctor --all\"),\n\t\t\"migration:fixtures\": migrationCli(\"fixtures --all\"),\n\t\t\"migration:verify\": migrationCli(\"verify --all\"),\n\t\t\"migration:fuzz\": migrationCli(\"fuzz --all\"),\n\t};\n\n\tawait fsp.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, \"\\t\")}\\n`, \"utf8\");\n\n\twriteMigrationConfig(projectDir, {\n\t\tblocks: [],\n\t\tcurrentMigrationVersion: \"v1\",\n\t\tsnapshotDir: \"src/migrations/versions\",\n\t\tsupportedMigrationVersions: [\"v1\"],\n\t});\n\tensureMigrationDirectories(projectDir, []);\n\twriteInitialMigrationScaffold(projectDir, \"v1\", []);\n}\n\n/**\n * Locate a node_modules directory containing `typia` relative to the project\n * tools package root.\n *\n * Search order:\n * 1. `PROJECT_TOOLS_PACKAGE_ROOT/node_modules`\n * 2. The monorepo root resolved from `PROJECT_TOOLS_PACKAGE_ROOT`\n * 3. The monorepo root `node_modules`\n *\n * @returns The first matching path, or `null` when no candidate contains `typia`.\n */\nfunction resolveScaffoldGeneratorNodeModulesPath(): string | null {\n\tconst candidates = [\n\t\tpath.join(PROJECT_TOOLS_PACKAGE_ROOT, \"node_modules\"),\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"..\"),\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"..\", \"node_modules\"),\n\t];\n\n\tfor (const candidate of candidates) {\n\t\tif (fs.existsSync(path.join(candidate, \"typia\", \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * Temporarily symlink a scaffold generator node_modules directory into the\n * target project while running an async callback.\n *\n * The helper resolves the source path via `resolveScaffoldGeneratorNodeModulesPath()`\n * and uses `EPHEMERAL_NODE_MODULES_LINK_TYPE` for the symlink. The temporary\n * link is removed in the `finally` block so cleanup still happens if the\n * callback throws.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param callback Async work that requires a resolvable `node_modules`.\n * @returns A promise that resolves after the callback and cleanup complete.\n */\nasync function withEphemeralScaffoldNodeModules(\n\ttargetDir: string,\n\tcallback: () => Promise<void>,\n): Promise<void> {\n\tconst targetNodeModulesPath = path.join(targetDir, \"node_modules\");\n\tif (fs.existsSync(targetNodeModulesPath)) {\n\t\tawait callback();\n\t\treturn;\n\t}\n\n\tconst sourceNodeModulesPath = resolveScaffoldGeneratorNodeModulesPath();\n\tif (!sourceNodeModulesPath) {\n\t\tthrow new Error(\n\t\t\t\"Unable to resolve a node_modules directory with typia for scaffold-time REST artifact generation.\",\n\t\t);\n\t}\n\n\tawait fsp.symlink(sourceNodeModulesPath, targetNodeModulesPath, EPHEMERAL_NODE_MODULES_LINK_TYPE);\n\n\ttry {\n\t\tawait callback();\n\t} finally {\n\t\tawait fsp.rm(targetNodeModulesPath, { force: true, recursive: true });\n\t}\n}\n",
63
+ "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { formatPackageExecCommand } from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tensureMigrationDirectories,\n\twriteInitialMigrationScaffold,\n\twriteMigrationConfig,\n} from \"./migration-project.js\";\nimport { syncPersistenceRestArtifacts } from \"./persistence-rest-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport { getPackageVersions } from \"./package-versions.js\";\nimport { getStarterManifestFiles, stringifyStarterManifest } from \"./starter-manifests.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\tPROJECT_TOOLS_PACKAGE_ROOT,\n} from \"./template-registry.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\nimport { getScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\n\nconst EPHEMERAL_NODE_MODULES_LINK_TYPE = process.platform === \"win32\" ? \"junction\" : \"dir\";\n\ninterface GeneratedPackageJson {\n\tscripts?: Record<string, string>;\n\twpTypia?: {\n\t\tprojectType?: string;\n\t\ttemplatePackage?: string;\n\t};\n}\n\n/**\n * Ensures the scaffold target directory exists and is empty unless explicitly allowed.\n *\n * @param targetDir Absolute project directory that will receive scaffold output.\n * @param allowExisting Whether an existing non-empty directory should be accepted.\n * @returns A promise that resolves once the directory precondition is satisfied.\n */\nexport async function ensureScaffoldDirectory(\n\ttargetDir: string,\n\tallowExisting = false,\n): Promise<void> {\n\tif (!fs.existsSync(targetDir)) {\n\t\tawait fsp.mkdir(targetDir, { recursive: true });\n\t\treturn;\n\t}\n\n\tif (allowExisting) {\n\t\treturn;\n\t}\n\n\tconst entries = await fsp.readdir(targetDir);\n\tif (entries.length > 0) {\n\t\tthrow new Error(formatNonEmptyTargetDirectoryError(targetDir));\n\t}\n}\n\nfunction readGeneratedPackageJson(projectDir: string): GeneratedPackageJson | null {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tif (!fs.existsSync(packageJsonPath)) {\n\t\treturn null;\n\t}\n\n\treturn JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as GeneratedPackageJson;\n}\n\n/**\n * Format the actionable error message used when a scaffold target directory\n * already exists and is not empty.\n *\n * @param targetDir Absolute path to the target directory being evaluated.\n * @returns A human-readable error string with next-step guidance.\n */\nexport function formatNonEmptyTargetDirectoryError(targetDir: string): string {\n\treturn `Target directory is not empty: ${targetDir}. Choose a new project directory, or empty this directory before rerunning the scaffold.`;\n}\n\n/**\n * Writes built-in starter manifest files into a scaffolded project.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param templateId Built-in template id being scaffolded.\n * @param variables Resolved scaffold template variables.\n * @returns A promise that resolves after all starter manifests are written.\n */\nexport async function writeStarterManifestFiles(\n\ttargetDir: string,\n\ttemplateId: string,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst manifests = getStarterManifestFiles(templateId, variables);\n\n\tfor (const { document, relativePath } of manifests) {\n\t\tconst destinationPath = path.join(targetDir, relativePath);\n\t\tawait fsp.mkdir(path.dirname(destinationPath), { recursive: true });\n\t\tawait fsp.writeFile(destinationPath, stringifyStarterManifest(document), \"utf8\");\n\t}\n}\n\n/**\n * Seed REST-derived persistence artifacts into a newly scaffolded built-in\n * project before the first manual `sync-rest` run.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param templateId Built-in template id being scaffolded.\n * @param variables Resolved scaffold template variables for the project.\n * @returns A promise that resolves after any required persistence artifacts are generated.\n */\nexport async function seedBuiltInPersistenceArtifacts(\n\ttargetDir: string,\n\ttemplateId: BuiltInTemplateId,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst compoundGroup = getScaffoldTemplateVariableGroups(variables).compound;\n\tconst needsPersistenceArtifacts =\n\t\ttemplateId === \"persistence\" ||\n\t\t(templateId === \"compound\" &&\n\t\t\tcompoundGroup.enabled &&\n\t\t\tcompoundGroup.persistenceEnabled);\n\n\tif (!needsPersistenceArtifacts) {\n\t\treturn;\n\t}\n\n\tawait withEphemeralScaffoldNodeModules(targetDir, async () => {\n\t\tif (templateId === \"persistence\") {\n\t\t\tawait syncPersistenceRestArtifacts({\n\t\t\t\tapiTypesFile: path.join(\"src\", \"api-types.ts\"),\n\t\t\t\toutputDir: \"src\",\n\t\t\t\tprojectDir: targetDir,\n\t\t\t\tvariables,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tawait syncPersistenceRestArtifacts({\n\t\t\tapiTypesFile: path.join(\"src\", \"blocks\", variables.slugKebabCase, \"api-types.ts\"),\n\t\t\toutputDir: path.join(\"src\", \"blocks\", variables.slugKebabCase),\n\t\t\tprojectDir: targetDir,\n\t\t\tvariables,\n\t\t});\n\t});\n}\n\n/**\n * Detects whether a scaffolded project declares the workspace project model.\n *\n * @param projectDir Absolute scaffold target directory.\n * @returns `true` when the project metadata identifies a workspace scaffold.\n */\nexport function isWorkspaceProject(projectDir: string): boolean {\n\treturn readGeneratedPackageJson(projectDir)?.wpTypia?.projectType === \"workspace\";\n}\n\n/**\n * Detects whether a scaffolded project is the official workspace template.\n *\n * @param projectDir Absolute scaffold target directory.\n * @returns `true` when the project metadata identifies the official workspace template.\n */\nexport function isOfficialWorkspaceProject(projectDir: string): boolean {\n\tconst packageJson = readGeneratedPackageJson(projectDir);\n\treturn (\n\t\tpackageJson?.wpTypia?.projectType === \"workspace\" &&\n\t\tpackageJson.wpTypia?.templatePackage === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t);\n}\n\n/**\n * Adds migration scripts and starter workspace files to the official workspace template.\n *\n * @param projectDir Absolute scaffold target directory.\n * @param packageManager Package manager used for generated script commands.\n * @returns A promise that resolves after scripts and migration starter files are written.\n */\nexport async function applyWorkspaceMigrationCapability(\n\tprojectDir: string,\n\tpackageManager: PackageManagerId,\n): Promise<void> {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tconst packageJson = JSON.parse(\n\t\tawait fsp.readFile(packageJsonPath, \"utf8\"),\n\t) as GeneratedPackageJson;\n\tconst wpTypiaPackageVersion = getPackageVersions().wpTypiaPackageVersion;\n\tconst canonicalCliSpecifier =\n\t\twpTypiaPackageVersion === \"^0.0.0\"\n\t\t\t? \"wp-typia\"\n\t\t\t: `wp-typia@${wpTypiaPackageVersion.replace(/^[~^]/u, \"\")}`;\n\tconst migrationCli = (args: string) =>\n\t\tformatPackageExecCommand(packageManager, canonicalCliSpecifier, `migrate ${args}`);\n\n\tpackageJson.scripts = {\n\t\t...(packageJson.scripts ?? {}),\n\t\t\"migration:init\": migrationCli(\"init --current-migration-version v1\"),\n\t\t\"migration:snapshot\": migrationCli(\"snapshot\"),\n\t\t\"migration:diff\": migrationCli(\"diff\"),\n\t\t\"migration:scaffold\": migrationCli(\"scaffold\"),\n\t\t\"migration:doctor\": migrationCli(\"doctor --all\"),\n\t\t\"migration:fixtures\": migrationCli(\"fixtures --all\"),\n\t\t\"migration:verify\": migrationCli(\"verify --all\"),\n\t\t\"migration:fuzz\": migrationCli(\"fuzz --all\"),\n\t};\n\n\tawait fsp.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, \"\\t\")}\\n`, \"utf8\");\n\n\twriteMigrationConfig(projectDir, {\n\t\tblocks: [],\n\t\tcurrentMigrationVersion: \"v1\",\n\t\tsnapshotDir: \"src/migrations/versions\",\n\t\tsupportedMigrationVersions: [\"v1\"],\n\t});\n\tensureMigrationDirectories(projectDir, []);\n\twriteInitialMigrationScaffold(projectDir, \"v1\", []);\n}\n\n/**\n * Locate a node_modules directory containing `typia` relative to the project\n * tools package root.\n *\n * Search order:\n * 1. `PROJECT_TOOLS_PACKAGE_ROOT/node_modules`\n * 2. The monorepo root resolved from `PROJECT_TOOLS_PACKAGE_ROOT`\n * 3. The monorepo root `node_modules`\n *\n * @returns The first matching path, or `null` when no candidate contains `typia`.\n */\nfunction resolveScaffoldGeneratorNodeModulesPath(): string | null {\n\tconst candidates = [\n\t\tpath.join(PROJECT_TOOLS_PACKAGE_ROOT, \"node_modules\"),\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"..\"),\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"..\", \"node_modules\"),\n\t];\n\n\tfor (const candidate of candidates) {\n\t\tif (fs.existsSync(path.join(candidate, \"typia\", \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * Temporarily symlink a scaffold generator node_modules directory into the\n * target project while running an async callback.\n *\n * The helper resolves the source path via `resolveScaffoldGeneratorNodeModulesPath()`\n * and uses `EPHEMERAL_NODE_MODULES_LINK_TYPE` for the symlink. The temporary\n * link is removed in the `finally` block so cleanup still happens if the\n * callback throws.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param callback Async work that requires a resolvable `node_modules`.\n * @returns A promise that resolves after the callback and cleanup complete.\n */\nasync function withEphemeralScaffoldNodeModules(\n\ttargetDir: string,\n\tcallback: () => Promise<void>,\n): Promise<void> {\n\tconst targetNodeModulesPath = path.join(targetDir, \"node_modules\");\n\tif (fs.existsSync(targetNodeModulesPath)) {\n\t\tawait callback();\n\t\treturn;\n\t}\n\n\tconst sourceNodeModulesPath = resolveScaffoldGeneratorNodeModulesPath();\n\tif (!sourceNodeModulesPath) {\n\t\tthrow new Error(\n\t\t\t\"Unable to resolve a node_modules directory with typia for scaffold-time REST artifact generation.\",\n\t\t);\n\t}\n\n\tawait fsp.symlink(sourceNodeModulesPath, targetNodeModulesPath, EPHEMERAL_NODE_MODULES_LINK_TYPE);\n\n\ttry {\n\t\tawait callback();\n\t} finally {\n\t\tawait fsp.rm(targetNodeModulesPath, { force: true, recursive: true });\n\t}\n}\n",
64
64
  "import path from \"node:path\";\n\nimport {\n\tdefineEndpointManifest,\n\tsyncEndpointClient,\n\tsyncRestOpenApi,\n\tsyncTypeSchemas,\n} from \"@wp-typia/block-runtime/metadata-core\";\n\ninterface PersistenceTemplateVariablesLike {\n\tnamespace: string;\n\tpascalCase: string;\n\trestWriteAuthIntent: \"authenticated\" | \"public-write-protected\";\n\trestWriteAuthMechanism: \"public-signed-token\" | \"rest-nonce\";\n\tslugKebabCase: string;\n\ttitle: string;\n}\n\ninterface SyncPersistenceRestArtifactsOptions {\n\tapiTypesFile: string;\n\toutputDir: string;\n\tprojectDir: string;\n\tvariables: PersistenceTemplateVariablesLike;\n}\n\n/**\n * Build the canonical persistence REST endpoint manifest for scaffold-time\n * schema, OpenAPI, and client generation.\n *\n * @param variables Persistence template naming and auth metadata.\n * @returns Endpoint manifest covering bootstrap, state read, and state write operations.\n */\nexport function buildPersistenceEndpointManifest(\n\tvariables: PersistenceTemplateVariablesLike,\n) {\n\treturn defineEndpointManifest({\n\t\tcontracts: {\n\t\t\t\"bootstrap-query\": {\n\t\t\t\tsourceTypeName: `${variables.pascalCase}BootstrapQuery`,\n\t\t\t},\n\t\t\t\"bootstrap-response\": {\n\t\t\t\tsourceTypeName: `${variables.pascalCase}BootstrapResponse`,\n\t\t\t},\n\t\t\t\"state-query\": {\n\t\t\t\tsourceTypeName: `${variables.pascalCase}StateQuery`,\n\t\t\t},\n\t\t\t\"state-response\": {\n\t\t\t\tsourceTypeName: `${variables.pascalCase}StateResponse`,\n\t\t\t},\n\t\t\t\"write-state-request\": {\n\t\t\t\tsourceTypeName: `${variables.pascalCase}WriteStateRequest`,\n\t\t\t},\n\t\t},\n\t\tendpoints: [\n\t\t\t{\n\t\t\t\tauth: \"public\",\n\t\t\t\tmethod: \"GET\",\n\t\t\t\toperationId: `get${variables.pascalCase}State`,\n\t\t\t\tpath: `/${variables.namespace}/v1/${variables.slugKebabCase}/state`,\n\t\t\t\tqueryContract: \"state-query\",\n\t\t\t\tresponseContract: \"state-response\",\n\t\t\t\tsummary: \"Read the current persisted state.\",\n\t\t\t\ttags: [variables.title],\n\t\t\t},\n\t\t\t{\n\t\t\t\tauth: variables.restWriteAuthIntent,\n\t\t\t\tbodyContract: \"write-state-request\",\n\t\t\t\tmethod: \"POST\",\n\t\t\t\toperationId: `write${variables.pascalCase}State`,\n\t\t\t\tpath: `/${variables.namespace}/v1/${variables.slugKebabCase}/state`,\n\t\t\t\tresponseContract: \"state-response\",\n\t\t\t\tsummary: \"Write the current persisted state.\",\n\t\t\t\ttags: [variables.title],\n\t\t\t\twordpressAuth: {\n\t\t\t\t\tmechanism: variables.restWriteAuthMechanism,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tauth: \"public\",\n\t\t\t\tmethod: \"GET\",\n\t\t\t\toperationId: `get${variables.pascalCase}Bootstrap`,\n\t\t\t\tpath: `/${variables.namespace}/v1/${variables.slugKebabCase}/bootstrap`,\n\t\t\t\tqueryContract: \"bootstrap-query\",\n\t\t\t\tresponseContract: \"bootstrap-response\",\n\t\t\t\tsummary: \"Read fresh session bootstrap state for the current viewer.\",\n\t\t\t\ttags: [variables.title],\n\t\t\t},\n\t\t],\n\t\tinfo: {\n\t\t\ttitle: `${variables.title} REST API`,\n\t\t\tversion: \"1.0.0\",\n\t\t},\n\t});\n}\n\n/**\n * Generate the REST-derived persistence artifacts for a scaffolded block.\n *\n * @param options Scaffold output paths plus persistence template variables.\n * @returns A promise that resolves after schema, OpenAPI, and client files are written.\n */\nexport async function syncPersistenceRestArtifacts({\n\tapiTypesFile,\n\toutputDir,\n\tprojectDir,\n\tvariables,\n}: SyncPersistenceRestArtifactsOptions): Promise<void> {\n\tconst manifest = buildPersistenceEndpointManifest(variables);\n\n\tfor (const [baseName, contract] of Object.entries(manifest.contracts) as Array<\n\t\t[string, { sourceTypeName: string }]\n\t>) {\n\t\tawait syncTypeSchemas(\n\t\t\t{\n\t\t\t\tjsonSchemaFile: path.join(outputDir, \"api-schemas\", `${baseName}.schema.json`),\n\t\t\t\topenApiFile: path.join(outputDir, \"api-schemas\", `${baseName}.openapi.json`),\n\t\t\t\tprojectRoot: projectDir,\n\t\t\t\tsourceTypeName: contract.sourceTypeName,\n\t\t\t\ttypesFile: apiTypesFile,\n\t\t\t},\n\t\t);\n\t}\n\n\tawait syncRestOpenApi(\n\t\t{\n\t\t\tmanifest,\n\t\t\topenApiFile: path.join(outputDir, \"api.openapi.json\"),\n\t\t\tprojectRoot: projectDir,\n\t\t\ttypesFile: apiTypesFile,\n\t\t},\n\t);\n\n\tawait syncEndpointClient(\n\t\t{\n\t\t\tclientFile: path.join(outputDir, \"api-client.ts\"),\n\t\t\tmanifest,\n\t\t\tprojectRoot: projectDir,\n\t\t\ttypesFile: apiTypesFile,\n\t\t},\n\t);\n}\n",
65
65
  "import type {\n\tJsonValue,\n\tManifestAttribute,\n\tManifestConstraints,\n\tManifestDocument,\n} from \"./migration-types.js\";\n\n/**\n * Default placeholder copy used for generated compound child body fields.\n */\nexport const DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER =\n\t\"Add supporting details for this internal item.\";\n\ntype StarterManifestSourceType = NonNullable<ManifestAttribute[\"wp\"][\"type\"]>;\ntype WordPressAttributeSource = NonNullable<ManifestAttribute[\"wp\"][\"source\"]>;\n\ninterface StarterManifestAttributeDefinition {\n\tconstraints?: Partial<ManifestConstraints>;\n\tdefaultValue?: JsonValue;\n\tenumValues?: Array<string | number | boolean> | null;\n\tkind: ManifestAttribute[\"ts\"][\"kind\"];\n\trequired: boolean;\n\tselector?: string | null;\n\tsource?: WordPressAttributeSource | null;\n\tsourceType: StarterManifestSourceType;\n}\n\ninterface BlockJsonAttributeDefinition {\n\tdefaultValue?: JsonValue;\n\tenumValues?: Array<string | number | boolean> | null;\n\tselector?: string;\n\tsource?: WordPressAttributeSource;\n\ttype: StarterManifestSourceType;\n}\n\nexport interface AttributeDescription {\n\tlines: string[];\n}\n\n/**\n * Emitted attribute metadata shared between block.json, manifest, and type emitters.\n */\nexport interface EmittedAttributeDefinition {\n\tblockJson: BlockJsonAttributeDefinition;\n\tdescription?: AttributeDescription;\n\tmanifest: StarterManifestAttributeDefinition;\n\tname: string;\n\toptional: boolean;\n\ttypeExpression: string;\n}\n\ninterface BuiltInAttributeSpec {\n\tblockJsonDefaultValue?: JsonValue;\n\tconstraints?: Partial<ManifestConstraints>;\n\tdefaultValue?: JsonValue;\n\tdescription?: AttributeDescription;\n\tenumValues?: Array<string | number | boolean> | null;\n\tkind: ManifestAttribute[\"ts\"][\"kind\"];\n\tmanifestDefaultValue?: JsonValue;\n\tname: string;\n\toptional: boolean;\n\tselector?: string | null;\n\tsource?: WordPressAttributeSource | null;\n\tsourceType: StarterManifestSourceType;\n\ttypeExpression: string;\n}\n\ntype BuiltInAttributeValueResolver<TContext, TValue> =\n\t| TValue\n\t| ((context: TContext) => TValue);\n\nexport interface BuiltInAttributeTemplateSpec<TContext> {\n\tattributeType: \"boolean\" | \"number\" | \"string\";\n\tblockJsonDefaultValue?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tJsonValue | undefined\n\t>;\n\tconstraints?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tPartial<ManifestConstraints> | undefined\n\t>;\n\tdefaultValue?: BuiltInAttributeValueResolver<TContext, JsonValue | undefined>;\n\tdescription?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tAttributeDescription | undefined\n\t>;\n\tenumValues?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tArray<string | number | boolean> | null | undefined\n\t>;\n\tmanifestDefaultValue?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tJsonValue | undefined\n\t>;\n\tname: string;\n\toptional: boolean;\n\tselector?: BuiltInAttributeValueResolver<TContext, string | null | undefined>;\n\tsource?: BuiltInAttributeValueResolver<\n\t\tTContext,\n\t\tWordPressAttributeSource | null | undefined\n\t>;\n\ttypeExpression: BuiltInAttributeValueResolver<TContext, string>;\n}\n\nfunction createConstraints(\n\toverrides: Partial<ManifestConstraints> = {},\n): ManifestConstraints {\n\treturn {\n\t\texclusiveMaximum: null,\n\t\texclusiveMinimum: null,\n\t\tformat: null,\n\t\tmaxLength: null,\n\t\tmaxItems: null,\n\t\tmaximum: null,\n\t\tminLength: null,\n\t\tminItems: null,\n\t\tminimum: null,\n\t\tmultipleOf: null,\n\t\tpattern: null,\n\t\ttypeTag: null,\n\t\t...overrides,\n\t};\n}\n\nfunction createManifestAttribute({\n\tconstraints,\n\tdefaultValue,\n\tenumValues = null,\n\tkind,\n\trequired,\n\tselector = null,\n\tsource = null,\n\tsourceType,\n}: StarterManifestAttributeDefinition): ManifestAttribute {\n\tconst hasDefault = defaultValue !== undefined;\n\n\treturn {\n\t\tts: {\n\t\t\titems: null,\n\t\t\tkind,\n\t\t\tproperties: null,\n\t\t\trequired,\n\t\t\tunion: null,\n\t\t},\n\t\ttypia: {\n\t\t\tconstraints: createConstraints(constraints),\n\t\t\tdefaultValue: hasDefault ? defaultValue : null,\n\t\t\thasDefault,\n\t\t},\n\t\twp: {\n\t\t\tdefaultValue: hasDefault ? defaultValue : null,\n\t\t\tenum: enumValues,\n\t\t\thasDefault,\n\t\t\t...(selector ? { selector } : {}),\n\t\t\t...(source ? { source } : {}),\n\t\t\ttype: sourceType,\n\t\t},\n\t};\n}\n\nfunction createBlockJsonAttribute({\n\tdefaultValue,\n\tenumValues = null,\n\tselector,\n\tsource,\n\ttype,\n}: BlockJsonAttributeDefinition): Record<string, unknown> {\n\tconst attribute: Record<string, unknown> = {\n\t\ttype,\n\t};\n\n\tif (defaultValue !== undefined) {\n\t\tattribute.default = defaultValue;\n\t}\n\tif (enumValues !== null && enumValues.length > 0) {\n\t\tattribute.enum = enumValues;\n\t}\n\tif (source) {\n\t\tattribute.source = source;\n\t}\n\tif (selector) {\n\t\tattribute.selector = selector;\n\t}\n\n\treturn attribute;\n}\n\nexport function describe(...lines: string[]): AttributeDescription {\n\treturn {\n\t\tlines,\n\t};\n}\n\nfunction defineAttribute({\n\tblockJsonDefaultValue,\n\tconstraints,\n\tdefaultValue,\n\tdescription,\n\tenumValues = null,\n\tkind,\n\tmanifestDefaultValue,\n\tname,\n\toptional,\n\tselector = null,\n\tsource = null,\n\tsourceType,\n\ttypeExpression,\n}: BuiltInAttributeSpec): EmittedAttributeDefinition {\n\tconst resolvedBlockJsonDefaultValue =\n\t\tblockJsonDefaultValue !== undefined ? blockJsonDefaultValue : defaultValue;\n\tconst resolvedManifestDefaultValue =\n\t\tmanifestDefaultValue !== undefined ? manifestDefaultValue : defaultValue;\n\n\treturn {\n\t\tblockJson: {\n\t\t\tdefaultValue: resolvedBlockJsonDefaultValue,\n\t\t\tenumValues,\n\t\t\t...(selector ? { selector } : {}),\n\t\t\t...(source ? { source } : {}),\n\t\t\ttype: sourceType,\n\t\t},\n\t\tdescription,\n\t\tmanifest: {\n\t\t\tconstraints,\n\t\t\tdefaultValue: resolvedManifestDefaultValue,\n\t\t\tenumValues,\n\t\t\tkind,\n\t\t\trequired: !optional,\n\t\t\tselector,\n\t\t\tsource,\n\t\t\tsourceType,\n\t\t},\n\t\tname,\n\t\toptional,\n\t\ttypeExpression,\n\t};\n}\n\nfunction defineStringAttribute(\n\tspec: Omit<BuiltInAttributeSpec, \"kind\" | \"sourceType\">,\n): EmittedAttributeDefinition {\n\treturn defineAttribute({\n\t\t...spec,\n\t\tkind: \"string\",\n\t\tsourceType: \"string\",\n\t});\n}\n\nfunction defineBooleanAttribute(\n\tspec: Omit<BuiltInAttributeSpec, \"kind\" | \"sourceType\">,\n): EmittedAttributeDefinition {\n\treturn defineAttribute({\n\t\t...spec,\n\t\tkind: \"boolean\",\n\t\tsourceType: \"boolean\",\n\t});\n}\n\nfunction defineNumberAttribute(\n\tspec: Omit<BuiltInAttributeSpec, \"kind\" | \"sourceType\">,\n): EmittedAttributeDefinition {\n\treturn defineAttribute({\n\t\t...spec,\n\t\tkind: \"number\",\n\t\tsourceType: \"number\",\n\t});\n}\n\nfunction resolveBuiltInAttributeValue<TContext, TValue>(\n\tvalue: BuiltInAttributeValueResolver<TContext, TValue> | undefined,\n\tcontext: TContext,\n): TValue | undefined {\n\tif (typeof value === \"function\") {\n\t\treturn (value as (context: TContext) => TValue)(context);\n\t}\n\n\treturn value;\n}\n\nexport function buildAttributesFromSpecs<TContext>(\n\tspecs: readonly BuiltInAttributeTemplateSpec<TContext>[],\n\tcontext: TContext,\n): EmittedAttributeDefinition[] {\n\treturn specs.map((spec) => {\n\t\tconst resolvedSpec: Omit<BuiltInAttributeSpec, \"kind\" | \"sourceType\"> = {\n\t\t\tblockJsonDefaultValue: resolveBuiltInAttributeValue(\n\t\t\t\tspec.blockJsonDefaultValue,\n\t\t\t\tcontext,\n\t\t\t),\n\t\t\tconstraints: resolveBuiltInAttributeValue(spec.constraints, context),\n\t\t\tdefaultValue: resolveBuiltInAttributeValue(spec.defaultValue, context),\n\t\t\tdescription: resolveBuiltInAttributeValue(spec.description, context),\n\t\t\tenumValues: resolveBuiltInAttributeValue(spec.enumValues, context),\n\t\t\tmanifestDefaultValue: resolveBuiltInAttributeValue(\n\t\t\t\tspec.manifestDefaultValue,\n\t\t\t\tcontext,\n\t\t\t),\n\t\t\tname: spec.name,\n\t\t\toptional: spec.optional,\n\t\t\tselector: resolveBuiltInAttributeValue(spec.selector, context),\n\t\t\tsource: resolveBuiltInAttributeValue(spec.source, context),\n\t\t\ttypeExpression: resolveBuiltInAttributeValue(\n\t\t\t\tspec.typeExpression,\n\t\t\t\tcontext,\n\t\t\t) ?? \"unknown\",\n\t\t};\n\n\t\tif (spec.attributeType === \"boolean\") {\n\t\t\treturn defineBooleanAttribute(resolvedSpec);\n\t\t}\n\n\t\tif (spec.attributeType === \"number\") {\n\t\t\treturn defineNumberAttribute(resolvedSpec);\n\t\t}\n\n\t\treturn defineStringAttribute(resolvedSpec);\n\t});\n}\n\n/**\n * Builds the manifest document for a generated built-in block artifact.\n *\n * @param sourceType Generated TypeScript source type name referenced by the manifest.\n * @param attributes Emitted attribute definitions used to populate the manifest.\n * @returns A starter manifest document for the generated block.\n */\nexport function buildManifestDocument(\n\tsourceType: string,\n\tattributes: readonly EmittedAttributeDefinition[],\n): ManifestDocument {\n\treturn {\n\t\tattributes: Object.fromEntries(\n\t\t\tattributes.map((attribute) => [\n\t\t\t\tattribute.name,\n\t\t\t\tcreateManifestAttribute(attribute.manifest),\n\t\t\t]),\n\t\t),\n\t\tmanifestVersion: 2,\n\t\tsourceType,\n\t};\n}\n\n/**\n * Builds the block.json attributes object for a generated built-in block artifact.\n *\n * @param attributes Emitted attribute definitions used to populate block.json.\n * @returns A block.json-compatible attributes record.\n */\nexport function buildBlockJsonAttributes(\n\tattributes: readonly EmittedAttributeDefinition[],\n): Record<string, Record<string, unknown>> {\n\treturn Object.fromEntries(\n\t\tattributes.map((attribute) => [\n\t\t\tattribute.name,\n\t\t\tcreateBlockJsonAttribute(attribute.blockJson),\n\t\t]),\n\t);\n}\n",
66
66
  "import type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport {\n\tDEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n\tbuildAttributesFromSpecs,\n\tdescribe,\n} from \"./built-in-block-attribute-emitters.js\";\nimport type {\n\tBuiltInAttributeTemplateSpec,\n\tEmittedAttributeDefinition,\n} from \"./built-in-block-attribute-emitters.js\";\n\nconst ALIGNMENT_VALUES = [\"left\", \"center\", \"right\"] as const;\nconst BASIC_ALIGNMENT_VALUES = [\"left\", \"center\", \"right\", \"justify\"] as const;\nconst INTERACTIVE_MODE_VALUES = [\"click\", \"hover\"] as const;\nconst ANIMATION_VALUES = [\"none\", \"bounce\", \"pulse\", \"shake\", \"flip\"] as const;\ninterface CompoundChildAttributeVariables {\n\tbodyPlaceholder: string;\n\tchildCssClassName?: string | null;\n\tchildTitle: string;\n}\nconst BASIC_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 1000,\n\t\t},\n\t\tdefaultValue: \"\",\n\t\tdescription: describe(\"Main block content\"),\n\t\tname: \"content\",\n\t\toptional: false,\n\t\ttypeExpression: 'string & tags.MaxLength<1000> & tags.Default<\"\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tdefaultValue: \"left\",\n\t\tdescription: describe(\"Alignment\"),\n\t\tenumValues: [...BASIC_ALIGNMENT_VALUES],\n\t\tname: \"alignment\",\n\t\toptional: true,\n\t\ttypeExpression: 'TextAlignment & tags.Default<\"left\">',\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tdescription: describe(\"Visibility toggle\"),\n\t\tname: \"isVisible\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 100,\n\t\t},\n\t\tdefaultValue: \"\",\n\t\tdescription: describe(\"Custom CSS class\"),\n\t\tname: \"className\",\n\t\toptional: true,\n\t\ttypeExpression: 'string & tags.MaxLength<100> & tags.Default<\"\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tformat: \"uuid\",\n\t\t},\n\t\tdescription: describe(\"Generated runtime ID\"),\n\t\tname: \"id\",\n\t\toptional: true,\n\t\ttypeExpression: 'string & tags.Format<\"uuid\">',\n\t},\n\t{\n\t\tattributeType: \"number\",\n\t\tconstraints: {\n\t\t\ttypeTag: \"uint32\",\n\t\t},\n\t\tdefaultValue: 1,\n\t\tdescription: describe(\"Block version for migrations\"),\n\t\tname: \"schemaVersion\",\n\t\toptional: true,\n\t\ttypeExpression: 'number & tags.Type<\"uint32\"> & tags.Default<1>',\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<void>[];\n\nconst INTERACTIVITY_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 1000,\n\t\t},\n\t\tdefaultValue: \"\",\n\t\tname: \"content\",\n\t\toptional: false,\n\t\tselector: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`.${variables.cssClassName}__content`,\n\t\tsource: \"html\",\n\t\ttypeExpression: 'string & tags.MaxLength<1000> & tags.Default<\"\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tdefaultValue: \"left\",\n\t\tenumValues: [...ALIGNMENT_VALUES],\n\t\tname: \"alignment\",\n\t\toptional: true,\n\t\ttypeExpression: 'TextAlignment & tags.Default<\"left\">',\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"isVisible\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tdefaultValue: \"click\",\n\t\tenumValues: [...INTERACTIVE_MODE_VALUES],\n\t\tname: \"interactiveMode\",\n\t\toptional: true,\n\t\ttypeExpression: '(\"click\" | \"hover\") & tags.Default<\"click\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tdefaultValue: \"none\",\n\t\tenumValues: [...ANIMATION_VALUES],\n\t\tname: \"animation\",\n\t\toptional: true,\n\t\ttypeExpression:\n\t\t\t'(\"none\" | \"bounce\" | \"pulse\" | \"shake\" | \"flip\") & tags.Default<\"none\">',\n\t},\n\t{\n\t\tattributeType: \"number\",\n\t\tconstraints: {\n\t\t\tminimum: 0,\n\t\t\ttypeTag: \"uint32\",\n\t\t},\n\t\tdefaultValue: 0,\n\t\tname: \"clickCount\",\n\t\toptional: true,\n\t\ttypeExpression: 'number & tags.Minimum<0> & tags.Type<\"uint32\"> & tags.Default<0>',\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: false,\n\t\tname: \"isAnimating\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<false>\",\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"showCounter\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"number\",\n\t\tconstraints: {\n\t\t\tminimum: 0,\n\t\t\ttypeTag: \"uint32\",\n\t\t},\n\t\tdefaultValue: 10,\n\t\tname: \"maxClicks\",\n\t\toptional: true,\n\t\ttypeExpression: 'number & tags.Minimum<0> & tags.Type<\"uint32\"> & tags.Default<10>',\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<ScaffoldTemplateVariables>[];\n\nconst PERSISTENCE_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 250,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`${variables.title} persistence block`,\n\t\tname: \"content\",\n\t\toptional: false,\n\t\tselector: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`.${variables.cssClassName}__content`,\n\t\tsource: \"html\",\n\t\ttypeExpression: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`string & tags.MinLength<1> & tags.MaxLength<250> & tags.Default<${JSON.stringify(`${variables.title} persistence block`)}>`,\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tdefaultValue: \"left\",\n\t\tenumValues: [...ALIGNMENT_VALUES],\n\t\tname: \"alignment\",\n\t\toptional: true,\n\t\ttypeExpression: 'TextAlignment & tags.Default<\"left\">',\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"isVisible\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"showCount\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 40,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: \"Persist Count\",\n\t\tname: \"buttonLabel\",\n\t\toptional: true,\n\t\ttypeExpression:\n\t\t\t'string & tags.MinLength<1> & tags.MaxLength<40> & tags.Default<\"Persist Count\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tblockJsonDefaultValue: \"\",\n\t\tconstraints: {\n\t\t\tmaxLength: 100,\n\t\t\tminLength: 1,\n\t\t},\n\t\tmanifestDefaultValue: \"primary\",\n\t\tname: \"resourceKey\",\n\t\toptional: true,\n\t\ttypeExpression:\n\t\t\t'string & tags.MinLength<1> & tags.MaxLength<100> & tags.Default<\"primary\">',\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<ScaffoldTemplateVariables>[];\n\nconst COMPOUND_PARENT_BASE_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 80,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: (variables: ScaffoldTemplateVariables) => variables.title,\n\t\tname: \"heading\",\n\t\toptional: false,\n\t\tselector: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`.${variables.cssClassName}__heading`,\n\t\tsource: \"html\",\n\t\ttypeExpression: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`string & tags.MinLength<1> & tags.MaxLength<80> & tags.Default<${JSON.stringify(variables.title)}>`,\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 180,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: \"Add and reorder internal items inside this compound block.\",\n\t\tname: \"intro\",\n\t\toptional: true,\n\t\tselector: (variables: ScaffoldTemplateVariables) =>\n\t\t\t`.${variables.cssClassName}__intro`,\n\t\tsource: \"html\",\n\t\ttypeExpression:\n\t\t\t'string & tags.MinLength<1> & tags.MaxLength<180> & tags.Default<\"Add and reorder internal items inside this compound block.\">',\n\t},\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"showDividers\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<ScaffoldTemplateVariables>[];\n\nconst COMPOUND_PARENT_PERSISTENCE_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"boolean\",\n\t\tdefaultValue: true,\n\t\tname: \"showCount\",\n\t\toptional: true,\n\t\ttypeExpression: \"boolean & tags.Default<true>\",\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 40,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: \"Persist Count\",\n\t\tname: \"buttonLabel\",\n\t\toptional: true,\n\t\ttypeExpression:\n\t\t\t'string & tags.MinLength<1> & tags.MaxLength<40> & tags.Default<\"Persist Count\">',\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tblockJsonDefaultValue: \"\",\n\t\tconstraints: {\n\t\t\tmaxLength: 100,\n\t\t\tminLength: 1,\n\t\t},\n\t\tmanifestDefaultValue: \"primary\",\n\t\tname: \"resourceKey\",\n\t\toptional: true,\n\t\ttypeExpression:\n\t\t\t'string & tags.MinLength<1> & tags.MaxLength<100> & tags.Default<\"primary\">',\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<ScaffoldTemplateVariables>[];\n\nconst COMPOUND_CHILD_ATTRIBUTE_SPECS = [\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 80,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: ({ childTitle }: CompoundChildAttributeVariables) => childTitle,\n\t\tname: \"title\",\n\t\toptional: false,\n\t\tselector: ({ childCssClassName }: CompoundChildAttributeVariables) =>\n\t\t\tchildCssClassName ? `.${childCssClassName}__title` : null,\n\t\tsource: ({ childCssClassName }: CompoundChildAttributeVariables) =>\n\t\t\tchildCssClassName ? \"html\" : null,\n\t\ttypeExpression: ({ childTitle }: CompoundChildAttributeVariables) =>\n\t\t\t`string & tags.MinLength<1> & tags.MaxLength<80> & tags.Default<${JSON.stringify(childTitle)}>`,\n\t},\n\t{\n\t\tattributeType: \"string\",\n\t\tconstraints: {\n\t\t\tmaxLength: 280,\n\t\t\tminLength: 1,\n\t\t},\n\t\tdefaultValue: ({ bodyPlaceholder }: CompoundChildAttributeVariables) =>\n\t\t\tbodyPlaceholder,\n\t\tname: \"body\",\n\t\toptional: false,\n\t\tselector: ({ childCssClassName }: CompoundChildAttributeVariables) =>\n\t\t\tchildCssClassName ? `.${childCssClassName}__body` : null,\n\t\tsource: ({ childCssClassName }: CompoundChildAttributeVariables) =>\n\t\t\tchildCssClassName ? \"html\" : null,\n\t\ttypeExpression: ({ bodyPlaceholder }: CompoundChildAttributeVariables) =>\n\t\t\t`string & tags.MinLength<1> & tags.MaxLength<280> & tags.Default<${JSON.stringify(bodyPlaceholder)}>`,\n\t},\n] as const satisfies readonly BuiltInAttributeTemplateSpec<CompoundChildAttributeVariables>[];\n\n/**\n * Builds the emitted attribute set for the basic built-in block family.\n *\n * @returns Emitted attribute definitions for the basic template family.\n */\nexport function buildBasicAttributes(): EmittedAttributeDefinition[] {\n\treturn buildAttributesFromSpecs(BASIC_ATTRIBUTE_SPECS, undefined);\n}\n\n/**\n * Builds the emitted attribute set for the interactivity built-in block family.\n *\n * @param variables Resolved scaffold template variables for the generated block.\n * @returns Emitted attribute definitions for the interactivity template family.\n */\nexport function buildInteractivityAttributes(\n\tvariables: ScaffoldTemplateVariables,\n): EmittedAttributeDefinition[] {\n\treturn buildAttributesFromSpecs(INTERACTIVITY_ATTRIBUTE_SPECS, variables);\n}\n\n/**\n * Builds the emitted attribute set for the persistence built-in block family.\n *\n * @param variables Resolved scaffold template variables for the generated block.\n * @returns Emitted attribute definitions for the persistence template family.\n */\nexport function buildPersistenceAttributes(\n\tvariables: ScaffoldTemplateVariables,\n): EmittedAttributeDefinition[] {\n\treturn buildAttributesFromSpecs(PERSISTENCE_ATTRIBUTE_SPECS, variables);\n}\n\n/**\n * Builds the emitted attribute set for the compound parent built-in block family.\n *\n * @param variables Resolved scaffold template variables for the generated block.\n * @returns Emitted attribute definitions for the compound parent artifact.\n */\nexport function buildCompoundParentAttributes(\n\tvariables: ScaffoldTemplateVariables,\n): EmittedAttributeDefinition[] {\n\treturn buildAttributesFromSpecs(\n\t\tvariables.compoundPersistenceEnabled === \"true\"\n\t\t\t? [\n\t\t\t\t...COMPOUND_PARENT_BASE_ATTRIBUTE_SPECS,\n\t\t\t\t...COMPOUND_PARENT_PERSISTENCE_ATTRIBUTE_SPECS,\n\t\t\t]\n\t\t\t: COMPOUND_PARENT_BASE_ATTRIBUTE_SPECS,\n\t\tvariables,\n\t);\n}\n\n/**\n * Builds the emitted attribute set for the compound child built-in block family.\n *\n * @param bodyPlaceholder Placeholder text for the child body field.\n * @param childTitle Default title used by the child block.\n * @param childCssClassName Optional CSS class used for HTML-backed selectors.\n * @returns Emitted attribute definitions for the compound child artifact.\n */\nexport function buildCompoundChildAttributes(\n\tchildTitle: string,\n\tchildCssClassName?: string | null,\n\tbodyPlaceholder = DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n): EmittedAttributeDefinition[] {\n\treturn buildAttributesFromSpecs(COMPOUND_CHILD_ATTRIBUTE_SPECS, {\n\t\tbodyPlaceholder,\n\t\tchildCssClassName,\n\t\tchildTitle,\n\t});\n}\n",
67
67
  "import type {\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\n\ninterface AttributeDescription {\n\tlines: string[];\n}\n\ninterface EmittedAttributeDefinition {\n\tdescription?: AttributeDescription;\n\tname: string;\n\toptional: boolean;\n\ttypeExpression: string;\n}\n\ninterface InterfaceMemberDefinition {\n\tdescription?: AttributeDescription;\n\tname: string;\n\toptional?: boolean;\n\ttypeExpression: string;\n}\n\ninterface InterfaceDefinition {\n\tdescription?: AttributeDescription;\n\tmembers: InterfaceMemberDefinition[];\n\tname: string;\n}\n\ninterface TypeAliasDefinition {\n\tname: string;\n\tvalue: string;\n}\n\nconst STANDARD_PREAMBLE_LINES = [\n\t'import type { TextAlignment } from \"@wp-typia/block-types/block-editor/alignment\";',\n\t\"import type {\",\n\t\"\\tTypiaValidationError,\",\n\t\"\\tValidationResult,\",\n\t'} from \"@wp-typia/block-runtime/validation\";',\n\t'import { tags } from \"typia\";',\n\t\"\",\n\t'export type { TypiaValidationError, ValidationResult } from \"@wp-typia/block-runtime/validation\";',\n] as const satisfies readonly string[];\n\nconst VALIDATION_ONLY_PREAMBLE_LINES = [\n\t'import type { ValidationResult } from \"@wp-typia/block-runtime/validation\";',\n\t'import { tags } from \"typia\";',\n\t\"\",\n\t'export type { ValidationResult } from \"@wp-typia/block-runtime/validation\";',\n] as const satisfies readonly string[];\n\nfunction emitDocComment(\n\tdescription: AttributeDescription | undefined,\n\tindent = \"\",\n): string[] {\n\tif (!description) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\t`${indent}/**`,\n\t\t...description.lines.map((line) =>\n\t\t\tline.length === 0 ? `${indent} *` : `${indent} * ${line}`,\n\t\t),\n\t\t`${indent} */`,\n\t];\n}\n\nfunction emitInterface(definition: InterfaceDefinition): string[] {\n\tconst lines = [\n\t\t...emitDocComment(definition.description),\n\t\t`export interface ${definition.name} {`,\n\t];\n\n\tfor (const member of definition.members) {\n\t\tlines.push(...emitDocComment(member.description, \"\\t\"));\n\t\tlines.push(\n\t\t\t`\\t${member.name}${member.optional ? \"?\" : \"\"}: ${member.typeExpression};`,\n\t\t);\n\t}\n\n\tlines.push(\"}\");\n\treturn lines;\n}\n\nfunction emitTypesModule({\n\tpreambleLines,\n\tinterfaces,\n\ttypeAliases,\n}: {\n\tpreambleLines: string[];\n\tinterfaces: InterfaceDefinition[];\n\ttypeAliases: TypeAliasDefinition[];\n}): string {\n\tconst sections: string[] = [];\n\n\tif (preambleLines.length > 0) {\n\t\tsections.push(preambleLines.join(\"\\n\"));\n\t}\n\n\tfor (const definition of interfaces) {\n\t\tsections.push(emitInterface(definition).join(\"\\n\"));\n\t}\n\n\tif (typeAliases.length > 0) {\n\t\tsections.push(\n\t\t\ttypeAliases\n\t\t\t\t.map((alias) => `export type ${alias.name} = ${alias.value};`)\n\t\t\t\t.join(\"\\n\"),\n\t\t);\n\t}\n\n\treturn `${sections.join(\"\\n\\n\")}\\n`;\n}\n\n/**\n * Builds the generated attributes and validation type source for a basic block scaffold.\n *\n * @param variables Resolved scaffold template variables used to name emitted types.\n * @param attributes Emitted built-in attribute definitions that drive the interface members.\n * @returns TypeScript source for the basic block attribute and validation types.\n */\nexport function buildBasicTypesSource(\n\tvariables: ScaffoldTemplateVariables,\n\tattributes: readonly EmittedAttributeDefinition[],\n): string {\n\treturn emitTypesModule({\n\t\tpreambleLines: [...STANDARD_PREAMBLE_LINES],\n\t\tinterfaces: [\n\t\t\t{\n\t\t\t\tdescription: {\n\t\t\t\t\tlines: [\n\t\t\t\t\t\t\"Block attributes interface\",\n\t\t\t\t\t\t\"Typia tags define runtime validation rules\",\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tmembers: attributes.map((attribute) => ({\n\t\t\t\t\tdescription: attribute.description,\n\t\t\t\t\tname: attribute.name,\n\t\t\t\t\toptional: attribute.optional,\n\t\t\t\t\ttypeExpression: attribute.typeExpression,\n\t\t\t\t})),\n\t\t\t\tname: `${variables.pascalCase}Attributes`,\n\t\t\t},\n\t\t],\n\t\ttypeAliases: [\n\t\t\t{\n\t\t\t\tname: `${variables.pascalCase}ValidationResult`,\n\t\t\t\tvalue: `ValidationResult<${variables.pascalCase}Attributes>`,\n\t\t\t},\n\t\t],\n\t});\n}\n\n/**\n * Builds the generated attributes, context, and validation type source for an interactivity scaffold.\n *\n * @param variables Resolved scaffold template variables used to name emitted types.\n * @param attributes Emitted built-in attribute definitions that drive the interface members.\n * @returns TypeScript source for the interactivity block attribute, context, and validation types.\n */\nexport function buildInteractivityTypesSource(\n\tvariables: ScaffoldTemplateVariables,\n\tattributes: readonly EmittedAttributeDefinition[],\n): string {\n\treturn emitTypesModule({\n\t\tpreambleLines: [...STANDARD_PREAMBLE_LINES],\n\t\tinterfaces: [\n\t\t\t{\n\t\t\t\tmembers: attributes.map((attribute) => ({\n\t\t\t\t\tname: attribute.name,\n\t\t\t\t\toptional: attribute.optional,\n\t\t\t\t\ttypeExpression: attribute.typeExpression,\n\t\t\t\t})),\n\t\t\t\tname: `${variables.pascalCase}Attributes`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tmembers: [\n\t\t\t\t\t{ name: \"clicks\", typeExpression: \"number\" },\n\t\t\t\t\t{ name: \"isAnimating\", typeExpression: \"boolean\" },\n\t\t\t\t\t{ name: \"isVisible\", typeExpression: \"boolean\" },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"animation\",\n\t\t\t\t\t\ttypeExpression: '\"none\" | \"bounce\" | \"pulse\" | \"shake\" | \"flip\"',\n\t\t\t\t\t},\n\t\t\t\t\t{ name: \"maxClicks\", typeExpression: \"number\" },\n\t\t\t\t],\n\t\t\t\tname: `${variables.pascalCase}Context`,\n\t\t\t},\n\t\t],\n\t\ttypeAliases: [\n\t\t\t{\n\t\t\t\tname: `${variables.pascalCase}ValidationResult`,\n\t\t\t\tvalue: `ValidationResult<${variables.pascalCase}Attributes>`,\n\t\t\t},\n\t\t],\n\t});\n}\n\n/**\n * Builds the generated attributes, context, state, client, and validation type source for a persistence scaffold.\n *\n * @param variables Resolved scaffold template variables used to name emitted types.\n * @param attributes Emitted built-in attribute definitions that drive the interface members.\n * @returns TypeScript source for the persistence block runtime types.\n */\nexport function buildPersistenceTypesSource(\n\tvariables: ScaffoldTemplateVariables,\n\tattributes: readonly EmittedAttributeDefinition[],\n): string {\n\treturn emitTypesModule({\n\t\tpreambleLines: [...STANDARD_PREAMBLE_LINES],\n\t\tinterfaces: [\n\t\t\t{\n\t\t\t\tmembers: attributes.map((attribute) => ({\n\t\t\t\t\tname: attribute.name,\n\t\t\t\t\toptional: attribute.optional,\n\t\t\t\t\ttypeExpression: attribute.typeExpression,\n\t\t\t\t})),\n\t\t\t\tname: `${variables.pascalCase}Attributes`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tmembers: [\n\t\t\t\t\t{ name: \"buttonLabel\", typeExpression: \"string\" },\n\t\t\t\t\t{ name: \"bootstrapReady\", typeExpression: \"boolean\" },\n\t\t\t\t\t{ name: \"canWrite\", typeExpression: \"boolean\" },\n\t\t\t\t\t{ name: \"count\", typeExpression: \"number\" },\n\t\t\t\t\t{ name: \"error\", typeExpression: \"string\" },\n\t\t\t\t\t{ name: \"isBootstrapping\", typeExpression: \"boolean\" },\n\t\t\t\t\t{ name: \"isLoading\", typeExpression: \"boolean\" },\n\t\t\t\t\t{ name: \"isSaving\", typeExpression: \"boolean\" },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"persistencePolicy\",\n\t\t\t\t\t\ttypeExpression: '\"authenticated\" | \"public\"',\n\t\t\t\t\t},\n\t\t\t\t\t{ name: \"postId\", typeExpression: \"number\" },\n\t\t\t\t\t{ name: \"resourceKey\", typeExpression: \"string\" },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"storage\",\n\t\t\t\t\t\ttypeExpression: '\"post-meta\" | \"custom-table\"',\n\t\t\t\t\t},\n\t\t\t\t\t{ name: \"isVisible\", typeExpression: \"boolean\" },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"client\",\n\t\t\t\t\t\toptional: true,\n\t\t\t\t\t\ttypeExpression: `${variables.pascalCase}ClientState`,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tname: `${variables.pascalCase}Context`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tmembers: [{ name: \"isHydrated\", typeExpression: \"boolean\" }],\n\t\t\t\tname: `${variables.pascalCase}State`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tmembers: [\n\t\t\t\t\t{ name: \"bootstrapError\", typeExpression: \"string\" },\n\t\t\t\t\t{ name: \"writeExpiry\", typeExpression: \"number\" },\n\t\t\t\t\t{ name: \"writeNonce\", typeExpression: \"string\" },\n\t\t\t\t\t{ name: \"writeToken\", typeExpression: \"string\" },\n\t\t\t\t],\n\t\t\t\tname: `${variables.pascalCase}ClientState`,\n\t\t\t},\n\t\t],\n\t\ttypeAliases: [\n\t\t\t{\n\t\t\t\tname: `${variables.pascalCase}ValidationResult`,\n\t\t\t\tvalue: `ValidationResult<${variables.pascalCase}Attributes>`,\n\t\t\t},\n\t\t],\n\t});\n}\n\n/**\n * Builds the generated attributes and optional persistence runtime type source for a compound parent scaffold.\n *\n * @param variables Resolved scaffold template variables used to name emitted types.\n * @param attributes Emitted built-in attribute definitions that drive the interface members.\n * @returns TypeScript source for the compound parent runtime types.\n */\nexport function buildCompoundTypesSource(\n\tvariables: ScaffoldTemplateVariables,\n\tattributes: readonly EmittedAttributeDefinition[],\n): string {\n\tconst persistenceEnabled = variables.compoundPersistenceEnabled === \"true\";\n\n\treturn emitTypesModule({\n\t\tpreambleLines: persistenceEnabled\n\t\t\t? [...STANDARD_PREAMBLE_LINES]\n\t\t\t: [...VALIDATION_ONLY_PREAMBLE_LINES],\n\t\tinterfaces: [\n\t\t\t{\n\t\t\t\tmembers: attributes.map((attribute) => ({\n\t\t\t\t\tname: attribute.name,\n\t\t\t\t\toptional: attribute.optional,\n\t\t\t\t\ttypeExpression: attribute.typeExpression,\n\t\t\t\t})),\n\t\t\t\tname: `${variables.pascalCase}Attributes`,\n\t\t\t},\n\t\t\t...(persistenceEnabled\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmembers: [\n\t\t\t\t\t\t\t\t{ name: \"buttonLabel\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t\t{ name: \"bootstrapReady\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{ name: \"canWrite\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{ name: \"count\", typeExpression: \"number\" },\n\t\t\t\t\t\t\t\t{ name: \"error\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t\t{ name: \"isBootstrapping\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{ name: \"isLoading\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{ name: \"isSaving\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: \"persistencePolicy\",\n\t\t\t\t\t\t\t\t\ttypeExpression: '\"authenticated\" | \"public\"',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ name: \"postId\", typeExpression: \"number\" },\n\t\t\t\t\t\t\t\t{ name: \"resourceKey\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t\t{ name: \"showCount\", typeExpression: \"boolean\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: \"storage\",\n\t\t\t\t\t\t\t\t\ttypeExpression: '\"post-meta\" | \"custom-table\"',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: \"client\",\n\t\t\t\t\t\t\t\t\toptional: true,\n\t\t\t\t\t\t\t\t\ttypeExpression: `${variables.pascalCase}ClientState`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tname: `${variables.pascalCase}Context`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmembers: [{ name: \"isHydrated\", typeExpression: \"boolean\" }],\n\t\t\t\t\t\t\tname: `${variables.pascalCase}State`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmembers: [\n\t\t\t\t\t\t\t\t{ name: \"bootstrapError\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t\t{ name: \"writeExpiry\", typeExpression: \"number\" },\n\t\t\t\t\t\t\t\t{ name: \"writeNonce\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t\t{ name: \"writeToken\", typeExpression: \"string\" },\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tname: `${variables.pascalCase}ClientState`,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t],\n\t\ttypeAliases: [\n\t\t\t{\n\t\t\t\tname: `${variables.pascalCase}ValidationResult`,\n\t\t\t\tvalue: `ValidationResult<${variables.pascalCase}Attributes>`,\n\t\t\t},\n\t\t],\n\t});\n}\n\n/**\n * Builds the generated attributes and validation type source for a compound child scaffold.\n *\n * @param variables Resolved scaffold template variables used to name emitted types.\n * @param attributes Emitted built-in attribute definitions that drive the interface members.\n * @returns TypeScript source for the compound child attribute and validation types.\n */\nexport function buildCompoundChildTypesSource(\n\tvariables: ScaffoldTemplateVariables,\n\tattributes: readonly EmittedAttributeDefinition[],\n): string {\n\treturn emitTypesModule({\n\t\tpreambleLines: [...VALIDATION_ONLY_PREAMBLE_LINES],\n\t\tinterfaces: [\n\t\t\t{\n\t\t\t\tmembers: attributes.map((attribute) => ({\n\t\t\t\t\tname: attribute.name,\n\t\t\t\t\toptional: attribute.optional,\n\t\t\t\t\ttypeExpression: attribute.typeExpression,\n\t\t\t\t})),\n\t\t\t\tname: `${variables.pascalCase}ItemAttributes`,\n\t\t\t},\n\t\t],\n\t\ttypeAliases: [\n\t\t\t{\n\t\t\t\tname: `${variables.pascalCase}ItemValidationResult`,\n\t\t\t\tvalue: `ValidationResult<${variables.pascalCase}ItemAttributes>`,\n\t\t\t},\n\t\t],\n\t});\n}\n",
68
- "import type { ManifestDocument } from \"./migration-types.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\nimport {\n\tbuildBasicAttributes,\n\tbuildBlockJsonAttributes,\n\tbuildCompoundChildAttributes,\n\tbuildCompoundParentAttributes,\n\tbuildInteractivityAttributes,\n\tbuildManifestDocument,\n\tbuildPersistenceAttributes,\n\tDEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n} from \"./built-in-block-artifact-documents.js\";\nimport {\n\tbuildBasicTypesSource,\n\tbuildCompoundChildTypesSource,\n\tbuildCompoundTypesSource,\n\tbuildInteractivityTypesSource,\n\tbuildPersistenceTypesSource,\n} from \"./built-in-block-artifact-types.js\";\n\nexport interface BuiltInBlockArtifact {\n\tblockJsonDocument: Record<string, unknown>;\n\tmanifestDocument: ManifestDocument;\n\trelativeDir: string;\n\ttypesSource: string;\n}\n\nfunction stringifyBlockJsonDocument(document: Record<string, unknown>): string {\n\treturn `${JSON.stringify(document, null, \"\\t\")}\\n`;\n}\n\nfunction buildBasicArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildBasicAttributes();\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slug}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\tkeywords: [variables.keyword, \"typia\", \"block\"],\n\t\t\texample: {\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: \"Example content\",\n\t\t\t\t\talignment: \"center\",\n\t\t\t\t\tisVisible: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t},\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\teditorStyle: \"file:./index.css\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildBasicTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildInteractivityArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildInteractivityAttributes(variables);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\talign: true,\n\t\t\t\tanchor: true,\n\t\t\t\tclassName: true,\n\t\t\t\tinteractivity: true,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\teditorStyle: \"file:./index.css\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildInteractivityTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildPersistenceArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildPersistenceAttributes(variables);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\talign: true,\n\t\t\t\tanchor: true,\n\t\t\t\tclassName: true,\n\t\t\t\tinteractivity: true,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t\trender: \"file:./render.php\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildPersistenceTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildCompoundParentArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildCompoundParentAttributes(variables);\n\tconst persistenceEnabled = variables.compoundPersistenceEnabled === \"true\";\n\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tallowedBlocks: [`${variables.namespace}/${variables.slugKebabCase}-item`],\n\t\t\tsupports: persistenceEnabled\n\t\t\t\t? {\n\t\t\t\t\thtml: false,\n\t\t\t\t\tanchor: true,\n\t\t\t\t\tclassName: true,\n\t\t\t\t\tinteractivity: true,\n\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\thtml: false,\n\t\t\t\t\tanchor: true,\n\t\t\t\t\tclassName: true,\n\t\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\t...(persistenceEnabled\n\t\t\t\t? {\n\t\t\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t\t\t\trender: \"file:./render.php\",\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: `src/blocks/${variables.slugKebabCase}`,\n\t\ttypesSource: buildCompoundTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildCompoundChildArtifact(\n\tvariables: ScaffoldTemplateVariables,\n\tbodyPlaceholder = DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n): BuiltInBlockArtifact {\n\tconst attributes = buildCompoundChildAttributes(\n\t\tvariables.compoundChildTitle,\n\t\tvariables.compoundChildCssClassName,\n\t\tbodyPlaceholder,\n\t);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}-item`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.compoundChildTitle,\n\t\t\tcategory: variables.compoundChildCategory,\n\t\t\ticon: variables.compoundChildIcon,\n\t\t\tdescription: `Internal item block used by ${variables.title}.`,\n\t\t\tparent: [`${variables.namespace}/${variables.slugKebabCase}`],\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\tinserter: false,\n\t\t\t\treusable: false,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}ItemAttributes`, attributes),\n\t\trelativeDir: `src/blocks/${variables.slugKebabCase}-item`,\n\t\ttypesSource: buildCompoundChildTypesSource(variables, attributes),\n\t};\n}\n\n/**\n * Builds a starter manifest document for a generated compound child block.\n *\n * @param childTypeName TypeScript source type name for the child manifest.\n * @param childTitle Default title used by the child block.\n * @param bodyPlaceholder Optional placeholder used for the child body field.\n * @returns Starter manifest metadata for the compound child block.\n */\nexport function buildCompoundChildStarterManifestDocument(\n\tchildTypeName: string,\n\tchildTitle: string,\n\tbodyPlaceholder = DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n): ManifestDocument {\n\tconst attributes = buildCompoundChildAttributes(\n\t\tchildTitle,\n\t\tnull,\n\t\tbodyPlaceholder,\n\t);\n\treturn buildManifestDocument(childTypeName, attributes);\n}\n\n/**\n * Generates typed structural artifacts for a built-in block scaffold.\n *\n * @param options.templateId Built-in template family to emit.\n * @param options.variables Resolved scaffold template variables.\n * @returns Structural artifacts for the built-in block, including compound\n * parent and child outputs when applicable.\n */\nexport function buildBuiltInBlockArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInBlockArtifact[] {\n\tif (templateId === \"basic\") {\n\t\treturn [buildBasicArtifact(variables)];\n\t}\n\n\tif (templateId === \"interactivity\") {\n\t\treturn [buildInteractivityArtifact(variables)];\n\t}\n\n\tif (templateId === \"persistence\") {\n\t\treturn [buildPersistenceArtifact(variables)];\n\t}\n\n\tif (templateId === \"compound\") {\n\t\treturn [\n\t\t\tbuildCompoundParentArtifact(variables),\n\t\t\tbuildCompoundChildArtifact(variables),\n\t\t];\n\t}\n\n\treturn [];\n}\n\n/**\n * Serializes a generated `block.json` document using scaffold formatting.\n *\n * @param document Structured `block.json` document.\n * @returns Pretty-printed JSON with a trailing newline.\n */\nexport function stringifyBuiltInBlockJsonDocument(\n\tdocument: Record<string, unknown>,\n): string {\n\treturn stringifyBlockJsonDocument(document);\n}\n",
68
+ "export const SCAFFOLD_TEMPLATE_VARIABLE_GROUPS = Symbol(\n\t\"wp-typia.scaffold-template-variable-groups\",\n);\n\nexport type ScaffoldTemplateFamily =\n\t| \"basic\"\n\t| \"interactivity\"\n\t| \"persistence\"\n\t| \"compound\"\n\t| \"query-loop\"\n\t| \"external\";\n\nexport interface ScaffoldSharedTemplateVariableGroup {\n\tauthor: string;\n\tblockMetadataVersion: string;\n\tcategory: string;\n\tcssClassName: string;\n\tdescription: string;\n\tdescriptionJson: string;\n\tfrontendCssClassName: string;\n\ticon: string;\n\tkeyword: string;\n\tnamespace: string;\n\tpascalCase: string;\n\tphpPrefix: string;\n\tphpPrefixUpper: string;\n\tslug: string;\n\tslugCamelCase: string;\n\tslugKebabCase: string;\n\tslugSnakeCase: string;\n\ttextDomain: string;\n\ttitle: string;\n\ttitleCase: string;\n\ttitleJson: string;\n\tversions: {\n\t\tapiClient: string;\n\t\tblockRuntime: string;\n\t\tblockTypes: string;\n\t\tprojectTools: string;\n\t\trest: string;\n\t};\n}\n\nexport interface ScaffoldAlternateRenderTargetVariableGroup {\n\tcsv: string;\n\tenabled: boolean;\n\thasEmail: boolean;\n\thasMjml: boolean;\n\thasPlainText: boolean;\n\tjson: string;\n\ttargets: readonly string[];\n}\n\nexport interface DisabledScaffoldCompoundVariableGroup {\n\tenabled: false;\n\tpersistenceEnabled: false;\n}\n\nexport interface EnabledScaffoldCompoundVariableGroup {\n\tchild: {\n\t\tcategory: string;\n\t\tcssClassName: string;\n\t\ticon: string;\n\t\ttitle: string;\n\t\ttitleJson: string;\n\t};\n\tenabled: true;\n\tinnerBlocks: {\n\t\tdescription: string;\n\t\tdirectInsert: boolean;\n\t\tlabel: string;\n\t\torientation: \"\" | \"horizontal\" | \"vertical\";\n\t\torientationExpression: string;\n\t\tpreset: string;\n\t\ttemplateLockExpression: string;\n\t};\n\tpersistenceEnabled: boolean;\n}\n\nexport type ScaffoldCompoundVariableGroup =\n\t| DisabledScaffoldCompoundVariableGroup\n\t| EnabledScaffoldCompoundVariableGroup;\n\nexport interface DisabledScaffoldPersistenceVariableGroup {\n\tenabled: false;\n\tscope: \"none\";\n}\n\nexport interface EnabledScaffoldPersistenceVariableGroup {\n\tauth: {\n\t\tbootstrapCredentialDeclarations: string;\n\t\tdescriptionJson: string;\n\t\tintent: \"authenticated\" | \"public-write-protected\";\n\t\tisAuthenticated: boolean;\n\t\tisPublic: boolean;\n\t\tmechanism: \"public-signed-token\" | \"rest-nonce\";\n\t\tmode: \"authenticated-rest-nonce\" | \"public-signed-token\";\n\t\tpublicWriteRequestIdDeclaration: string;\n\t};\n\tdataStorageMode: \"custom-table\" | \"post-meta\";\n\tenabled: true;\n\tpolicy: \"authenticated\" | \"public\";\n\tscope: \"compound-parent\" | \"single\";\n}\n\nexport type ScaffoldPersistenceVariableGroup =\n\t| DisabledScaffoldPersistenceVariableGroup\n\t| EnabledScaffoldPersistenceVariableGroup;\n\nexport interface DisabledScaffoldQueryLoopVariableGroup {\n\tenabled: false;\n}\n\nexport interface EnabledScaffoldQueryLoopVariableGroup {\n\tallowedControls: readonly string[];\n\tallowedControlsJson: string;\n\tenabled: true;\n\tpostType: string;\n\tpostTypeJson: string;\n\tvariationNamespace: string;\n\tvariationNamespaceJson: string;\n}\n\nexport type ScaffoldQueryLoopVariableGroup =\n\t| DisabledScaffoldQueryLoopVariableGroup\n\t| EnabledScaffoldQueryLoopVariableGroup;\n\ninterface ScaffoldTemplateVariableGroupsBase {\n\talternateRenderTargets: ScaffoldAlternateRenderTargetVariableGroup;\n\tshared: ScaffoldSharedTemplateVariableGroup;\n\ttemplate: {\n\t\tdescription: string;\n\t};\n}\n\ntype DisabledTemplateFamilyGroups<\n\tTFamily extends \"basic\" | \"interactivity\" | \"external\",\n> = ScaffoldTemplateVariableGroupsBase & {\n\tcompound: DisabledScaffoldCompoundVariableGroup;\n\tpersistence: DisabledScaffoldPersistenceVariableGroup;\n\tqueryLoop: DisabledScaffoldQueryLoopVariableGroup;\n\ttemplateFamily: TFamily;\n};\n\nexport type BasicScaffoldTemplateVariableGroups =\n\tDisabledTemplateFamilyGroups<\"basic\">;\n\nexport type InteractivityScaffoldTemplateVariableGroups =\n\tDisabledTemplateFamilyGroups<\"interactivity\">;\n\nexport interface PersistenceScaffoldTemplateVariableGroups\n\textends ScaffoldTemplateVariableGroupsBase {\n\tcompound: DisabledScaffoldCompoundVariableGroup;\n\tpersistence: EnabledScaffoldPersistenceVariableGroup & {\n\t\tscope: \"single\";\n\t};\n\tqueryLoop: DisabledScaffoldQueryLoopVariableGroup;\n\ttemplateFamily: \"persistence\";\n}\n\nexport interface CompoundScaffoldTemplateVariableGroups\n\textends ScaffoldTemplateVariableGroupsBase {\n\tcompound: EnabledScaffoldCompoundVariableGroup;\n\tpersistence:\n\t\t| DisabledScaffoldPersistenceVariableGroup\n\t\t| (EnabledScaffoldPersistenceVariableGroup & {\n\t\t\t\tscope: \"compound-parent\";\n\t\t });\n\tqueryLoop: DisabledScaffoldQueryLoopVariableGroup;\n\ttemplateFamily: \"compound\";\n}\n\nexport interface QueryLoopScaffoldTemplateVariableGroups\n\textends ScaffoldTemplateVariableGroupsBase {\n\tcompound: DisabledScaffoldCompoundVariableGroup;\n\tpersistence: DisabledScaffoldPersistenceVariableGroup;\n\tqueryLoop: EnabledScaffoldQueryLoopVariableGroup;\n\ttemplateFamily: \"query-loop\";\n}\n\nexport type ExternalScaffoldTemplateVariableGroups =\n\tDisabledTemplateFamilyGroups<\"external\">;\n\nexport type ScaffoldTemplateVariableGroups =\n\t| BasicScaffoldTemplateVariableGroups\n\t| InteractivityScaffoldTemplateVariableGroups\n\t| PersistenceScaffoldTemplateVariableGroups\n\t| CompoundScaffoldTemplateVariableGroups\n\t| QueryLoopScaffoldTemplateVariableGroups\n\t| ExternalScaffoldTemplateVariableGroups;\n\nexport interface ScaffoldTemplateVariableGroupsCarrier {\n\treadonly [SCAFFOLD_TEMPLATE_VARIABLE_GROUPS]: ScaffoldTemplateVariableGroups;\n}\n\nexport type CompoundScaffoldTemplateVariablesLike =\n\tScaffoldTemplateVariableGroupsCarrier & {\n\t\tslugKebabCase: string;\n\t};\n\nexport type PersistenceScaffoldTemplateVariablesLike =\n\tScaffoldTemplateVariableGroupsCarrier & {\n\t\tnamespace: string;\n\t\tpascalCase: string;\n\t\tslugKebabCase: string;\n\t\ttitle: string;\n\t};\n\nexport function attachScaffoldTemplateVariableGroups<\n\tTVariables extends Record<string, string>,\n>(\n\tvariables: TVariables,\n\tgroups: ScaffoldTemplateVariableGroups,\n): TVariables & ScaffoldTemplateVariableGroupsCarrier {\n\tObject.defineProperty(variables, SCAFFOLD_TEMPLATE_VARIABLE_GROUPS, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: groups,\n\t\twritable: false,\n\t});\n\n\treturn variables as TVariables & ScaffoldTemplateVariableGroupsCarrier;\n}\n\nexport function getScaffoldTemplateVariableGroups(\n\tvariables: ScaffoldTemplateVariableGroupsCarrier,\n): ScaffoldTemplateVariableGroups {\n\treturn variables[SCAFFOLD_TEMPLATE_VARIABLE_GROUPS];\n}\n",
69
+ "import type { ManifestDocument } from \"./migration-types.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\nimport {\n\tbuildBasicAttributes,\n\tbuildBlockJsonAttributes,\n\tbuildCompoundChildAttributes,\n\tbuildCompoundParentAttributes,\n\tbuildInteractivityAttributes,\n\tbuildManifestDocument,\n\tbuildPersistenceAttributes,\n\tDEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n} from \"./built-in-block-artifact-documents.js\";\nimport {\n\tbuildBasicTypesSource,\n\tbuildCompoundChildTypesSource,\n\tbuildCompoundTypesSource,\n\tbuildInteractivityTypesSource,\n\tbuildPersistenceTypesSource,\n} from \"./built-in-block-artifact-types.js\";\nimport { getScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\n\nexport interface BuiltInBlockArtifact {\n\tblockJsonDocument: Record<string, unknown>;\n\tmanifestDocument: ManifestDocument;\n\trelativeDir: string;\n\ttypesSource: string;\n}\n\nfunction stringifyBlockJsonDocument(document: Record<string, unknown>): string {\n\treturn `${JSON.stringify(document, null, \"\\t\")}\\n`;\n}\n\nfunction buildBasicArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildBasicAttributes();\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slug}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\tkeywords: [variables.keyword, \"typia\", \"block\"],\n\t\t\texample: {\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: \"Example content\",\n\t\t\t\t\talignment: \"center\",\n\t\t\t\t\tisVisible: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t},\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\teditorStyle: \"file:./index.css\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildBasicTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildInteractivityArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildInteractivityAttributes(variables);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\talign: true,\n\t\t\t\tanchor: true,\n\t\t\t\tclassName: true,\n\t\t\t\tinteractivity: true,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\teditorStyle: \"file:./index.css\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildInteractivityTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildPersistenceArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildPersistenceAttributes(variables);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\talign: true,\n\t\t\t\tanchor: true,\n\t\t\t\tclassName: true,\n\t\t\t\tinteractivity: true,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t\trender: \"file:./render.php\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: \"src\",\n\t\ttypesSource: buildPersistenceTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildCompoundParentArtifact(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInBlockArtifact {\n\tconst attributes = buildCompoundParentAttributes(variables);\n\tconst compoundGroup = getScaffoldTemplateVariableGroups(variables).compound;\n\tconst persistenceEnabled =\n\t\tcompoundGroup.enabled && compoundGroup.persistenceEnabled;\n\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.title,\n\t\t\tcategory: variables.category,\n\t\t\ticon: variables.icon,\n\t\t\tdescription: variables.description,\n\t\t\texample: {},\n\t\t\tallowedBlocks: [`${variables.namespace}/${variables.slugKebabCase}-item`],\n\t\t\tsupports: persistenceEnabled\n\t\t\t\t? {\n\t\t\t\t\thtml: false,\n\t\t\t\t\tanchor: true,\n\t\t\t\t\tclassName: true,\n\t\t\t\t\tinteractivity: true,\n\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\thtml: false,\n\t\t\t\t\tanchor: true,\n\t\t\t\t\tclassName: true,\n\t\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t\tstyle: \"file:./style-index.css\",\n\t\t\t...(persistenceEnabled\n\t\t\t\t? {\n\t\t\t\t\tviewScriptModule: \"file:./interactivity.js\",\n\t\t\t\t\trender: \"file:./render.php\",\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}Attributes`, attributes),\n\t\trelativeDir: `src/blocks/${variables.slugKebabCase}`,\n\t\ttypesSource: buildCompoundTypesSource(variables, attributes),\n\t};\n}\n\nfunction buildCompoundChildArtifact(\n\tvariables: ScaffoldTemplateVariables,\n\tbodyPlaceholder = DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n): BuiltInBlockArtifact {\n\tconst attributes = buildCompoundChildAttributes(\n\t\tvariables.compoundChildTitle,\n\t\tvariables.compoundChildCssClassName,\n\t\tbodyPlaceholder,\n\t);\n\treturn {\n\t\tblockJsonDocument: {\n\t\t\t$schema: \"https://schemas.wp.org/trunk/block.json\",\n\t\t\tapiVersion: 3,\n\t\t\tname: `${variables.namespace}/${variables.slugKebabCase}-item`,\n\t\t\tversion: variables.blockMetadataVersion,\n\t\t\ttitle: variables.compoundChildTitle,\n\t\t\tcategory: variables.compoundChildCategory,\n\t\t\ticon: variables.compoundChildIcon,\n\t\t\tdescription: `Internal item block used by ${variables.title}.`,\n\t\t\tparent: [`${variables.namespace}/${variables.slugKebabCase}`],\n\t\t\texample: {},\n\t\t\tsupports: {\n\t\t\t\thtml: false,\n\t\t\t\tinserter: false,\n\t\t\t\treusable: false,\n\t\t\t},\n\t\t\tattributes: buildBlockJsonAttributes(attributes),\n\t\t\ttextdomain: variables.textDomain,\n\t\t\teditorScript: \"file:./index.js\",\n\t\t},\n\t\tmanifestDocument: buildManifestDocument(`${variables.pascalCase}ItemAttributes`, attributes),\n\t\trelativeDir: `src/blocks/${variables.slugKebabCase}-item`,\n\t\ttypesSource: buildCompoundChildTypesSource(variables, attributes),\n\t};\n}\n\n/**\n * Builds a starter manifest document for a generated compound child block.\n *\n * @param childTypeName TypeScript source type name for the child manifest.\n * @param childTitle Default title used by the child block.\n * @param bodyPlaceholder Optional placeholder used for the child body field.\n * @returns Starter manifest metadata for the compound child block.\n */\nexport function buildCompoundChildStarterManifestDocument(\n\tchildTypeName: string,\n\tchildTitle: string,\n\tbodyPlaceholder = DEFAULT_COMPOUND_CHILD_BODY_PLACEHOLDER,\n): ManifestDocument {\n\tconst attributes = buildCompoundChildAttributes(\n\t\tchildTitle,\n\t\tnull,\n\t\tbodyPlaceholder,\n\t);\n\treturn buildManifestDocument(childTypeName, attributes);\n}\n\n/**\n * Generates typed structural artifacts for a built-in block scaffold.\n *\n * @param options.templateId Built-in template family to emit.\n * @param options.variables Resolved scaffold template variables.\n * @returns Structural artifacts for the built-in block, including compound\n * parent and child outputs when applicable.\n */\nexport function buildBuiltInBlockArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInBlockArtifact[] {\n\tif (templateId === \"basic\") {\n\t\treturn [buildBasicArtifact(variables)];\n\t}\n\n\tif (templateId === \"interactivity\") {\n\t\treturn [buildInteractivityArtifact(variables)];\n\t}\n\n\tif (templateId === \"persistence\") {\n\t\treturn [buildPersistenceArtifact(variables)];\n\t}\n\n\tif (templateId === \"compound\") {\n\t\treturn [\n\t\t\tbuildCompoundParentArtifact(variables),\n\t\t\tbuildCompoundChildArtifact(variables),\n\t\t];\n\t}\n\n\treturn [];\n}\n\n/**\n * Serializes a generated `block.json` document using scaffold formatting.\n *\n * @param document Structured `block.json` document.\n * @returns Pretty-printed JSON with a trailing newline.\n */\nexport function stringifyBuiltInBlockJsonDocument(\n\tdocument: Record<string, unknown>,\n): string {\n\treturn stringifyBlockJsonDocument(document);\n}\n",
69
70
  "/**\n * Scaffold-time starter manifest builders for generated projects.\n *\n * These helpers now reuse the Phase 2 built-in artifact model so generated\n * `types.ts`, `block.json`, and starter `typia.manifest.json` all share the\n * same attribute metadata source of truth.\n */\nimport type { ManifestDocument } from \"./migration-types.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\n\nimport {\n\tbuildBuiltInBlockArtifacts,\n\tbuildCompoundChildStarterManifestDocument as buildCompoundChildStarterManifestFromArtifacts,\n} from \"./built-in-block-artifacts.js\";\n\n/**\n * Builds the starter manifest used by generated compound child blocks.\n */\nexport function buildCompoundChildStarterManifestDocument(\n\tchildTypeName: string,\n\tchildTitle: string,\n\tbodyPlaceholder?: string,\n): ManifestDocument {\n\treturn buildCompoundChildStarterManifestFromArtifacts(\n\t\tchildTypeName,\n\t\tchildTitle,\n\t\tbodyPlaceholder,\n\t);\n}\n\n/**\n * Returns the starter manifest files that should be seeded for a built-in\n * template before the first sync.\n */\nexport function getStarterManifestFiles(\n\ttemplateId: string,\n\tvariables: ScaffoldTemplateVariables,\n): Array<{\n\tdocument: ManifestDocument;\n\trelativePath: string;\n}> {\n\tif (\n\t\ttemplateId !== \"basic\" &&\n\t\ttemplateId !== \"interactivity\" &&\n\t\ttemplateId !== \"persistence\" &&\n\t\ttemplateId !== \"compound\"\n\t) {\n\t\treturn [];\n\t}\n\n\treturn buildBuiltInBlockArtifacts({\n\t\ttemplateId,\n\t\tvariables,\n\t}).map((artifact) => ({\n\t\tdocument: artifact.manifestDocument,\n\t\trelativePath: `${artifact.relativeDir}/typia.manifest.json`,\n\t}));\n}\n\n/**\n * Serializes a starter manifest using the generated-project JSON formatting\n * convention.\n */\nexport function stringifyStarterManifest(document: ManifestDocument): string {\n\treturn `${JSON.stringify(document, null, \"\\t\")}\\n`;\n}\n",
70
71
  "import fs from \"node:fs\";\nimport path from \"node:path\";\n\n/**\n * Normalize one optional CLI string flag by trimming whitespace and collapsing\n * empty strings to `undefined`.\n *\n * @param value Raw CLI value before normalization.\n * @returns The trimmed string when present, otherwise `undefined`.\n */\nexport function normalizeOptionalCliString(value?: string): string | undefined {\n\tif (typeof value !== \"string\") {\n\t\treturn undefined;\n\t}\n\n\tconst trimmed = value.trim();\n\treturn trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction looksLikeLocalCliPath(value: string): boolean {\n\treturn (\n\t\tpath.isAbsolute(value) ||\n\t\tvalue.startsWith(\"./\") ||\n\t\tvalue.startsWith(\"../\") ||\n\t\tvalue.startsWith(\".\\\\\") ||\n\t\tvalue.startsWith(\"..\\\\\")\n\t);\n}\n\n/**\n * Resolve one CLI path flag relative to the caller when it is expressed as a\n * local filesystem path.\n *\n * Non-local values such as npm package specs or `github:` locators pass\n * through unchanged. Local relative and absolute paths are resolved against the\n * provided `cwd` and must exist on disk.\n *\n * @param options Path resolution inputs for one CLI flag.\n * @param options.cwd Caller working directory used for relative path\n * resolution.\n * @param options.label Human-readable option label used in thrown errors.\n * @param options.value Raw CLI value before trimming and path resolution.\n * @returns The normalized string, or `undefined` when the option was omitted.\n * @throws When a local-looking path resolves to a missing filesystem entry.\n */\nexport function resolveLocalCliPathOption(options: {\n\tcwd: string;\n\tlabel: string;\n\tvalue?: string;\n}): string | undefined {\n\tconst normalizedValue = normalizeOptionalCliString(options.value);\n\tif (!normalizedValue || !looksLikeLocalCliPath(normalizedValue)) {\n\t\treturn normalizedValue;\n\t}\n\n\tconst resolvedPath = path.resolve(options.cwd, normalizedValue);\n\tif (!fs.existsSync(resolvedPath)) {\n\t\tthrow new Error(\n\t\t\t`\\`${options.label}\\` path does not exist: ${resolvedPath}. Check the path relative to ${options.cwd}.`,\n\t\t);\n\t}\n\n\treturn resolvedPath;\n}\n\n/**\n * Validate the built-in template composition rule for external layers.\n *\n * @param options External layer CLI options after normalization.\n * @param options.externalLayerId Optional selected layer id.\n * @param options.externalLayerSource Optional layer source locator or path.\n * @throws When `externalLayerId` is provided without `externalLayerSource`.\n */\nexport function assertExternalLayerCompositionOptions(options: {\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n}): void {\n\tif (options.externalLayerId && !options.externalLayerSource) {\n\t\tthrow new Error(\n\t\t\t\"externalLayerId requires externalLayerSource when composing built-in template layers.\",\n\t\t);\n\t}\n}\n\n/**\n * Build the shared error message used when a built-in template receives a\n * `--variant` override.\n *\n * @param options Built-in template context.\n * @param options.templateId Built-in template id that rejected the variant.\n * @param options.variant User-supplied variant override.\n * @returns The canonical user-facing error message.\n */\nexport function createBuiltInVariantErrorMessage(options: {\n\ttemplateId: string;\n\tvariant: string;\n}): string {\n\treturn `--variant is only supported for official external template configs. Received variant \"${options.variant}\" for built-in template \"${options.templateId}\".`;\n}\n\n/**\n * Reject unsupported `--variant` usage for built-in templates.\n *\n * @param options Built-in template validation context.\n * @param options.templateId Built-in template id being scaffolded.\n * @param options.variant Optional variant override from CLI flags.\n * @throws When a built-in template receives any explicit `--variant` value.\n */\nexport function assertBuiltInTemplateVariantAllowed(options: {\n\ttemplateId: string;\n\tvariant?: string;\n}): void {\n\tif (!options.variant) {\n\t\treturn;\n\t}\n\n\tthrow new Error(\n\t\tcreateBuiltInVariantErrorMessage({\n\t\t\ttemplateId: options.templateId,\n\t\t\tvariant: options.variant,\n\t\t}),\n\t);\n}\n",
71
72
  "export const ALTERNATE_RENDER_TARGET_IDS = [\n\t\"email\",\n\t\"mjml\",\n\t\"plain-text\",\n] as const;\n\nexport type AlternateRenderTargetId =\n\t(typeof ALTERNATE_RENDER_TARGET_IDS)[number];\n\nexport function isAlternateRenderTargetId(\n\tvalue: string,\n): value is AlternateRenderTargetId {\n\treturn (ALTERNATE_RENDER_TARGET_IDS as readonly string[]).includes(value);\n}\n\nexport function parseAlternateRenderTargets(\n\tvalue?: string,\n): AlternateRenderTargetId[] {\n\tif (typeof value !== \"string\") {\n\t\treturn [];\n\t}\n\n\tconst normalized = value\n\t\t.split(\",\")\n\t\t.map((entry) => entry.trim().toLowerCase())\n\t\t.filter(Boolean);\n\n\tif (normalized.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst deduped = Array.from(new Set(normalized));\n\tconst invalid = deduped.filter((entry) => !isAlternateRenderTargetId(entry));\n\tif (invalid.length > 0) {\n\t\tthrow new Error(\n\t\t\t`Unsupported alternate render target${invalid.length > 1 ? \"s\" : \"\"} \"${invalid.join(\", \")}\". Expected one of: ${ALTERNATE_RENDER_TARGET_IDS.join(\", \")}.`,\n\t\t);\n\t}\n\n\treturn deduped as AlternateRenderTargetId[];\n}\n\nexport function formatAlternateRenderTargets(\n\ttargets: readonly AlternateRenderTargetId[],\n): string {\n\treturn targets.join(\", \");\n}\n",
72
73
  "/**\n * Stable preset ids exposed to scaffold and UI consumers for compound\n * InnerBlocks authoring behavior.\n */\nexport const COMPOUND_INNER_BLOCKS_PRESET_IDS = [\n\t\"freeform\",\n\t\"ordered\",\n\t\"horizontal\",\n\t\"locked-structure\",\n] as const;\n\nexport type CompoundInnerBlocksPresetId =\n\t(typeof COMPOUND_INNER_BLOCKS_PRESET_IDS)[number];\n\n/**\n * Default preset applied when callers do not provide an explicit compound\n * InnerBlocks mode.\n */\nexport const DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID: CompoundInnerBlocksPresetId =\n\t\"freeform\";\n\nexport type CompoundInnerBlocksOrientation = \"horizontal\" | \"vertical\";\nexport type CompoundInnerBlocksTemplateLock = false | \"insert\" | \"all\";\n\n/**\n * Runtime-facing description of one compound InnerBlocks preset.\n */\nexport interface CompoundInnerBlocksPresetDefinition {\n\tdescription: string;\n\tdirectInsert: boolean;\n\tlabel: string;\n\torientation?: CompoundInnerBlocksOrientation;\n\ttemplateLock: CompoundInnerBlocksTemplateLock;\n}\n\n/**\n * Canonical preset registry used by the CLI, generated scaffolds, and TUI\n * forms.\n */\nexport const COMPOUND_INNER_BLOCKS_PRESET_REGISTRY = {\n\tfreeform: {\n\t\tdescription:\n\t\t\t\"Unlocked nested authoring with the default inserter and starter child template.\",\n\t\tdirectInsert: false,\n\t\tlabel: \"freeform\",\n\t\torientation: \"vertical\",\n\t\ttemplateLock: false,\n\t},\n\tordered: {\n\t\tdescription:\n\t\t\t\"Vertical ordered flow that keeps starter structure fixed while allowing new sibling inserts.\",\n\t\tdirectInsert: true,\n\t\tlabel: \"ordered\",\n\t\torientation: \"vertical\",\n\t\ttemplateLock: \"insert\",\n\t},\n\thorizontal: {\n\t\tdescription:\n\t\t\t\"Horizontal nested layout with one-click direct inserts for row or tab style containers.\",\n\t\tdirectInsert: true,\n\t\tlabel: \"horizontal\",\n\t\torientation: \"horizontal\",\n\t\ttemplateLock: false,\n\t},\n\t\"locked-structure\": {\n\t\tdescription:\n\t\t\t\"Locked starter structure for guided document shells where authors should only edit seeded children.\",\n\t\tdirectInsert: false,\n\t\tlabel: \"locked-structure\",\n\t\torientation: \"vertical\",\n\t\ttemplateLock: \"all\",\n\t},\n} as const satisfies Record<\n\tCompoundInnerBlocksPresetId,\n\tCompoundInnerBlocksPresetDefinition\n>;\n\n/**\n * Returns whether a string matches one of the supported compound preset ids.\n */\nexport function isCompoundInnerBlocksPresetId(\n\tvalue: string,\n): value is CompoundInnerBlocksPresetId {\n\treturn (\n\t\tCOMPOUND_INNER_BLOCKS_PRESET_IDS as readonly string[]\n\t).includes(value);\n}\n\n/**\n * Parses a raw CLI or config value into a supported preset id.\n *\n * Returns `undefined` for non-string or empty input, and throws when the input\n * is a non-empty unsupported preset id.\n */\nexport function parseCompoundInnerBlocksPreset(\n\tvalue?: string,\n): CompoundInnerBlocksPresetId | undefined {\n\tif (typeof value !== \"string\") {\n\t\treturn undefined;\n\t}\n\n\tconst normalizedValue = value.trim();\n\tif (normalizedValue.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (!isCompoundInnerBlocksPresetId(normalizedValue)) {\n\t\tthrow new Error(\n\t\t\t`Unsupported InnerBlocks preset \"${value}\". Expected one of: ${COMPOUND_INNER_BLOCKS_PRESET_IDS.join(\", \")}.`,\n\t\t);\n\t}\n\n\treturn normalizedValue;\n}\n\n/**\n * Resolves an optional preset id to a concrete preset, defaulting to\n * `DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID`.\n */\nexport function resolveCompoundInnerBlocksPreset(\n\tvalue?: CompoundInnerBlocksPresetId,\n): CompoundInnerBlocksPresetId {\n\treturn value ?? DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID;\n}\n\n/**\n * Looks up the preset definition for the provided preset id, applying the\n * default preset when the input is omitted.\n */\nexport function getCompoundInnerBlocksPresetDefinition(\n\tvalue?: CompoundInnerBlocksPresetId,\n): CompoundInnerBlocksPresetDefinition {\n\treturn COMPOUND_INNER_BLOCKS_PRESET_REGISTRY[\n\t\tresolveCompoundInnerBlocksPreset(value)\n\t];\n}\n",
73
74
  "import { execSync } from 'node:child_process';\n\nimport {\n PACKAGE_MANAGER_IDS,\n getPackageManager,\n} from './package-managers.js';\nimport type { PackageManagerId } from './package-managers.js';\nimport {\n normalizeBlockSlug,\n resolveScaffoldIdentifiers,\n validateBlockSlug,\n validateNamespace,\n} from './scaffold-identifiers.js';\nimport {\n OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n TEMPLATE_IDS,\n getTemplateById,\n isBuiltInTemplateId,\n} from './template-registry.js';\nimport {\n getRemovedBuiltInTemplateMessage,\n isRemovedBuiltInTemplateId,\n} from './template-defaults.js';\nimport {\n toSnakeCase,\n toTitleCase,\n} from './string-case.js';\nimport type {\n CollectScaffoldAnswersOptions,\n ResolvePackageManagerOptions,\n ResolveTemplateOptions,\n ScaffoldAnswers,\n} from './scaffold.js';\n\nconst WORKSPACE_TEMPLATE_ALIAS = 'workspace';\nconst TEMPLATE_SELECTION_HINT = `--template <${[\n ...TEMPLATE_IDS,\n WORKSPACE_TEMPLATE_ALIAS,\n].join('|')}|./path|github:owner/repo/path[#ref]|npm-package>`;\nconst TEMPLATE_SUGGESTION_IDS = [...TEMPLATE_IDS, WORKSPACE_TEMPLATE_ALIAS] as const;\nconst QUERY_POST_TYPE_RULE =\n 'Use lowercase, 1-20 chars, and only a-z, 0-9, \"_\" or \"-\".';\n\n/**\n * Detect the current author name from local Git config.\n *\n * @returns The configured Git author name, or `\"Your Name\"` when unavailable.\n */\nexport function detectAuthor(): string {\n try {\n return (\n execSync('git config user.name', {\n encoding: 'utf8',\n stdio: ['ignore', 'pipe', 'ignore'],\n }).trim() || 'Your Name'\n );\n } catch {\n return 'Your Name';\n }\n}\n\n/**\n * Compute the default scaffold answers for one project and template pair.\n *\n * @param projectName User-supplied project directory or block name seed.\n * @param templateId Selected scaffold template identifier.\n * @returns Normalized default answers for scaffold prompts and non-interactive flows.\n */\nexport function getDefaultAnswers(\n projectName: string,\n templateId: string,\n): ScaffoldAnswers {\n const template = isBuiltInTemplateId(templateId) ? getTemplateById(templateId) : null;\n const slugDefault = normalizeBlockSlug(projectName) || 'my-wp-typia-block';\n return {\n author: detectAuthor(),\n dataStorageMode: templateId === 'persistence' ? 'custom-table' : undefined,\n description: template?.description ?? 'A WordPress block scaffolded from a remote template',\n namespace: slugDefault,\n persistencePolicy: templateId === 'persistence' ? 'authenticated' : undefined,\n phpPrefix: toSnakeCase(slugDefault),\n queryPostType: templateId === 'query-loop' ? 'post' : undefined,\n slug: slugDefault,\n textDomain: slugDefault,\n title: toTitleCase(slugDefault),\n };\n}\n\nfunction validateQueryPostType(value: string): true | string {\n const rawValue = value.trim();\n const normalizedValue = rawValue.toLowerCase();\n if (normalizedValue.length === 0) {\n return 'Query post type is required.';\n }\n\n if (!/^[a-z0-9_-]{1,20}$/u.test(normalizedValue)) {\n return rawValue === normalizedValue\n ? `Query post type \"${rawValue}\" is invalid. ${QUERY_POST_TYPE_RULE}`\n : `Query post type \"${rawValue}\" normalizes to \"${normalizedValue}\", which is invalid. ${QUERY_POST_TYPE_RULE}`;\n }\n\n return true;\n}\n\nfunction normalizeQueryPostType(value: string | undefined): string | undefined {\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const validationResult = validateQueryPostType(value);\n if (validationResult !== true) {\n throw new Error(validationResult);\n }\n\n return value.trim().toLowerCase();\n}\n\nfunction normalizeTemplateSelection(templateId: string): string {\n return templateId === WORKSPACE_TEMPLATE_ALIAS\n ? OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n : templateId;\n}\n\nfunction looksLikeExplicitExternalTemplateLocator(templateId: string): boolean {\n return (\n templateId.startsWith('./') ||\n templateId.startsWith('../') ||\n templateId.startsWith('/') ||\n templateId.startsWith('@') ||\n templateId.startsWith('github:') ||\n templateId.includes('/')\n );\n}\n\nfunction getEditDistance(left: string, right: string): number {\n const previous = Array.from({ length: right.length + 1 }, (_, index) => index);\n const current = new Array<number>(right.length + 1);\n\n for (let leftIndex = 0; leftIndex < left.length; leftIndex += 1) {\n current[0] = leftIndex + 1;\n\n for (let rightIndex = 0; rightIndex < right.length; rightIndex += 1) {\n const substitutionCost = left[leftIndex] === right[rightIndex] ? 0 : 1;\n current[rightIndex + 1] = Math.min(\n current[rightIndex] + 1,\n previous[rightIndex + 1] + 1,\n previous[rightIndex] + substitutionCost,\n );\n }\n\n for (let index = 0; index < current.length; index += 1) {\n previous[index] = current[index] as number;\n }\n }\n\n return previous[right.length] as number;\n}\n\nfunction findMistypedBuiltInTemplateSuggestion(templateId: string): string | null {\n const normalizedTemplateId = templateId.trim().toLowerCase();\n if (\n normalizedTemplateId.length === 0 ||\n looksLikeExplicitExternalTemplateLocator(normalizedTemplateId)\n ) {\n return null;\n }\n\n let bestCandidate: { distance: number; id: string } | null = null;\n\n for (const candidateId of TEMPLATE_SUGGESTION_IDS) {\n const distance = getEditDistance(normalizedTemplateId, candidateId);\n if (\n bestCandidate === null ||\n distance < bestCandidate.distance\n ) {\n bestCandidate = {\n distance,\n id: candidateId,\n };\n }\n }\n\n return bestCandidate && bestCandidate.distance <= 2\n ? bestCandidate.id\n : null;\n}\n\nfunction getMistypedBuiltInTemplateMessage(templateId: string): string | null {\n const suggestion = findMistypedBuiltInTemplateSuggestion(templateId);\n if (!suggestion) {\n return null;\n }\n\n const suggestionDescription =\n suggestion === WORKSPACE_TEMPLATE_ALIAS\n ? 'official workspace scaffold'\n : 'built-in scaffold';\n\n return `Unknown template \"${templateId}\". Did you mean \"${suggestion}\"? Use \\`--template ${suggestion}\\` for the ${suggestionDescription}, or pass a local path, \\`github:owner/repo/path[#ref]\\`, or an npm package spec for an external template.`;\n}\n\n/**\n * Resolve the scaffold template id from flags, defaults, and interactive selection.\n *\n * @param options Template resolution options for interactive and non-interactive flows.\n * @returns The normalized template identifier to scaffold.\n */\nexport async function resolveTemplateId({\n templateId,\n yes = false,\n isInteractive = false,\n selectTemplate,\n}: ResolveTemplateOptions): Promise<string> {\n if (templateId) {\n const normalizedTemplateId = normalizeTemplateSelection(templateId);\n if (isRemovedBuiltInTemplateId(templateId)) {\n throw new Error(getRemovedBuiltInTemplateMessage(templateId));\n }\n if (normalizedTemplateId === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE) {\n return normalizedTemplateId;\n }\n if (isBuiltInTemplateId(normalizedTemplateId)) {\n return getTemplateById(normalizedTemplateId).id;\n }\n const mistypedBuiltInTemplateMessage = getMistypedBuiltInTemplateMessage(templateId);\n if (mistypedBuiltInTemplateMessage) {\n throw new Error(mistypedBuiltInTemplateMessage);\n }\n return normalizedTemplateId;\n }\n\n if (yes) {\n return 'basic';\n }\n\n if (!isInteractive || !selectTemplate) {\n throw new Error(\n `Template is required in non-interactive mode. Use ${TEMPLATE_SELECTION_HINT}.`,\n );\n }\n\n return normalizeTemplateSelection(await selectTemplate());\n}\n\n/**\n * Resolve the package manager id from flags, defaults, and interactive selection.\n *\n * @param options Package manager resolution options for interactive and non-interactive flows.\n * @returns The normalized package manager id.\n */\nexport async function resolvePackageManagerId({\n packageManager,\n yes = false,\n isInteractive = false,\n selectPackageManager,\n}: ResolvePackageManagerOptions): Promise<PackageManagerId> {\n if (packageManager) {\n return getPackageManager(packageManager).id;\n }\n\n if (yes) {\n return 'npm';\n }\n\n if (!isInteractive || !selectPackageManager) {\n throw new Error(\n `Package manager is required in non-interactive mode. Use --package-manager <${PACKAGE_MANAGER_IDS.join('|')}>.`,\n );\n }\n\n return selectPackageManager();\n}\n\n/**\n * Collect scaffold answers from defaults, CLI overrides, and optional prompts.\n *\n * @param options Answer collection inputs including prompt callbacks and explicit overrides.\n * @returns The normalized scaffold answers used for rendering and file generation.\n */\nexport async function collectScaffoldAnswers({\n projectName,\n templateId,\n yes = false,\n dataStorageMode,\n namespace,\n persistencePolicy,\n phpPrefix,\n promptText,\n queryPostType,\n textDomain,\n}: CollectScaffoldAnswersOptions): Promise<ScaffoldAnswers> {\n const defaults = getDefaultAnswers(projectName, templateId);\n\n if (yes) {\n const identifiers = resolveScaffoldIdentifiers({\n namespace: namespace ?? defaults.namespace,\n phpPrefix,\n slug: defaults.slug,\n textDomain,\n });\n return {\n ...defaults,\n dataStorageMode: dataStorageMode ?? defaults.dataStorageMode,\n namespace: identifiers.namespace,\n persistencePolicy: persistencePolicy ?? defaults.persistencePolicy,\n phpPrefix: identifiers.phpPrefix,\n queryPostType: normalizeQueryPostType(queryPostType ?? defaults.queryPostType),\n textDomain: identifiers.textDomain,\n };\n }\n\n if (!promptText) {\n throw new Error('Interactive answers require a promptText callback.');\n }\n\n const identifiers = resolveScaffoldIdentifiers({\n namespace:\n namespace ?? (await promptText('Namespace', defaults.namespace, validateNamespace)),\n phpPrefix,\n slug: await promptText('Block slug', defaults.slug, validateBlockSlug),\n textDomain,\n });\n\n return {\n author: await promptText('Author', defaults.author),\n dataStorageMode: dataStorageMode ?? defaults.dataStorageMode,\n description: await promptText('Description', defaults.description),\n namespace: identifiers.namespace,\n persistencePolicy: persistencePolicy ?? defaults.persistencePolicy,\n phpPrefix: identifiers.phpPrefix,\n queryPostType:\n templateId === 'query-loop'\n ? normalizeQueryPostType(\n await promptText(\n 'Query post type',\n queryPostType ?? defaults.queryPostType ?? 'post',\n validateQueryPostType,\n ),\n )\n : normalizeQueryPostType(queryPostType ?? defaults.queryPostType),\n slug: identifiers.slug,\n textDomain: identifiers.textDomain,\n title: await promptText('Block title', toTitleCase(identifiers.slug)),\n };\n}\n",
74
- "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { getPackageManager } from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tbuildGitignore,\n\tbuildReadme,\n\tmergeTextLines,\n\tremoveQueryLoopPlaceholderFiles,\n\treplaceTextRecursively,\n} from \"./scaffold-apply-utils.js\";\nimport {\n\tapplyGeneratedProjectDxPackageJson,\n\tapplyLocalDevPresetFiles,\n} from \"./local-dev-presets.js\";\nimport { applyMigrationUiCapability } from \"./migration-ui-capability.js\";\nimport {\n\tapplyWorkspaceMigrationCapability,\n\tensureScaffoldDirectory,\n\tisWorkspaceProject,\n\tseedBuiltInPersistenceArtifacts,\n\twriteStarterManifestFiles,\n} from \"./scaffold-bootstrap.js\";\nimport {\n\tdefaultInstallDependencies,\n\tnormalizePackageJson,\n\tnormalizePackageManagerFiles,\n\tremoveUnexpectedLockfiles,\n} from \"./scaffold-package-manager-files.js\";\nimport { copyInterpolatedDirectory } from \"./template-render.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\tisBuiltInTemplateId,\n} from \"./template-registry.js\";\nimport { resolveTemplateSource } from \"./template-source.js\";\nimport {\n\tBlockGeneratorService,\n} from \"./block-generator-service.js\";\nimport {\n} from \"./scaffold-answer-resolution.js\";\nimport { getTemplateVariables } from \"./scaffold-template-variables.js\";\nimport {\n\tassertExternalLayerCompositionOptions,\n} from \"./cli-validation.js\";\n\nconst WORKSPACE_TEMPLATE_ALIAS = \"workspace\";\n\n/**\n * User-facing scaffold answers before template rendering.\n *\n * `namespace`, `textDomain`, and `phpPrefix` are normalized before use so\n * callers can pass human-entered values while generated output stays\n * predictable.\n */\nexport interface ScaffoldAnswers {\n\tauthor: string;\n\tcompoundInnerBlocksPreset?: import(\"./compound-inner-blocks.js\").CompoundInnerBlocksPresetId;\n\tdataStorageMode?: DataStorageMode;\n\tdescription: string;\n\t/** Block namespace used in generated block names such as `namespace/slug`. */\n\tnamespace: string;\n\tpersistencePolicy?: PersistencePolicy;\n\t/** Snake_case PHP symbol prefix used for generated functions, constants, and keys. */\n\tphpPrefix?: string;\n\tqueryPostType?: string;\n\tslug: string;\n\t/** Kebab-case WordPress text domain used in block metadata and i18n strings. */\n\ttextDomain?: string;\n\ttitle: string;\n}\n\nexport const DATA_STORAGE_MODES = [\"post-meta\", \"custom-table\"] as const;\nexport type DataStorageMode = (typeof DATA_STORAGE_MODES)[number];\nexport const PERSISTENCE_POLICIES = [\"authenticated\", \"public\"] as const;\nexport type PersistencePolicy = (typeof PERSISTENCE_POLICIES)[number];\n\n/**\n * Normalized template variables shared by built-in and remote scaffold flows.\n */\nexport interface ScaffoldTemplateVariables extends Record<string, string> {\n\talternateRenderTargetsCsv: string;\n\talternateRenderTargetsJson: string;\n\tapiClientPackageVersion: string;\n\tauthor: string;\n\tblockRuntimePackageVersion: string;\n\tblockMetadataVersion: string;\n\tblockTypesPackageVersion: string;\n\tcategory: string;\n\ticon: string;\n\tcompoundChildTitle: string;\n\tcompoundChildCategory: string;\n\tcompoundChildCssClassName: string;\n\tcompoundChildIcon: string;\n\tcompoundChildTitleJson: string;\n\tcompoundPersistenceEnabled: \"false\" | \"true\";\n\tcompoundInnerBlocksDirectInsert: \"false\" | \"true\";\n\tcompoundInnerBlocksOrientation: \"\" | \"horizontal\" | \"vertical\";\n\tcompoundInnerBlocksOrientationExpression: string;\n\tcompoundInnerBlocksPreset: string;\n\tcompoundInnerBlocksPresetDescription: string;\n\tcompoundInnerBlocksPresetLabel: string;\n\tcompoundInnerBlocksTemplateLockExpression: string;\n\thasAlternateEmailRenderTarget: \"false\" | \"true\";\n\thasAlternateMjmlRenderTarget: \"false\" | \"true\";\n\thasAlternatePlainTextRenderTarget: \"false\" | \"true\";\n\thasAlternateRenderTargets: \"false\" | \"true\";\n\tprojectToolsPackageVersion: string;\n\tcssClassName: string;\n\tdashCase: string;\n\tdataStorageMode: DataStorageMode;\n\tdescription: string;\n\tdescriptionJson: string;\n\tfrontendCssClassName: string;\n\tkeyword: string;\n\tnamespace: string;\n\tneedsMigration: string;\n\tpascalCase: string;\n\tphpPrefix: string;\n\tphpPrefixUpper: string;\n\tqueryAllowedControlsJson: string;\n\tqueryPostTypeJson: string;\n\tqueryPostType: string;\n\tqueryVariationNamespace: string;\n\tqueryVariationNamespaceJson: string;\n\tisAuthenticatedPersistencePolicy: \"false\" | \"true\";\n\tisPublicPersistencePolicy: \"false\" | \"true\";\n\tbootstrapCredentialDeclarations: string;\n\tpersistencePolicyDescriptionJson: string;\n\tpublicWriteRequestIdDeclaration: string;\n\trestPackageVersion: string;\n\trestWriteAuthIntent: \"authenticated\" | \"public-write-protected\";\n\trestWriteAuthMechanism: \"public-signed-token\" | \"rest-nonce\";\n\trestWriteAuthMode: \"authenticated-rest-nonce\" | \"public-signed-token\";\n\tslug: string;\n\tslugCamelCase: string;\n\tslugKebabCase: string;\n\tslugSnakeCase: string;\n\ttextDomain: string;\n\ttextdomain: string;\n\ttitle: string;\n\ttitleJson: string;\n\ttitleCase: string;\n\tpersistencePolicy: PersistencePolicy;\n}\n\n/**\n * Resolve scaffold template input from either built-in template ids or custom\n * template identifiers such as local paths, GitHub refs, and npm packages.\n *\n * The callback returns `Promise<string>` on purpose so interactive selection\n * can surface custom ids. Downstream code uses `isBuiltInTemplateId()` to\n * distinguish built-in templates from custom sources.\n */\nexport interface ResolveTemplateOptions {\n\tisInteractive?: boolean;\n\tselectTemplate?: () => Promise<string>;\n\ttemplateId?: string;\n\tyes?: boolean;\n}\n\n/**\n * Options for resolving the package manager in CLI and interactive scaffold flows.\n */\nexport interface ResolvePackageManagerOptions {\n\tisInteractive?: boolean;\n\tpackageManager?: string;\n\tselectPackageManager?: () => Promise<PackageManagerId>;\n\tyes?: boolean;\n}\n\n/**\n * Options for collecting scaffold answers from defaults, overrides, and prompts.\n */\nexport interface CollectScaffoldAnswersOptions {\n\tdataStorageMode?: DataStorageMode;\n\tnamespace?: string;\n\tphpPrefix?: string;\n\tprojectName: string;\n\tpromptText?: (\n\t\tmessage: string,\n\t\tdefaultValue: string,\n\t\tvalidate?: (value: string) => true | string,\n\t) => Promise<string>;\n\tpersistencePolicy?: PersistencePolicy;\n\tqueryPostType?: string;\n\ttextDomain?: string;\n\ttemplateId: string;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n\tyes?: boolean;\n}\n\ninterface InstallDependenciesOptions {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n}\n\nexport interface ScaffoldProgressEvent {\n\tdetail: string;\n\tphase:\n\t\t| \"finalize-project\"\n\t\t| \"generate-files\"\n\t\t| \"install-dependencies\"\n\t\t| \"resolve-template\"\n\t\t| \"seed-artifacts\";\n\ttitle: string;\n}\n\ninterface ScaffoldProjectOptions {\n\tallowExistingDir?: boolean;\n\talternateRenderTargets?: string;\n\tanswers: ScaffoldAnswers;\n\tcwd?: string;\n\tdataStorageMode?: DataStorageMode;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tinstallDependencies?: ((options: InstallDependenciesOptions) => Promise<void>) | undefined;\n\tnoInstall?: boolean;\n\tonProgress?: ((event: ScaffoldProgressEvent) => void | Promise<void>) | undefined;\n\tpackageManager: PackageManagerId;\n\tpersistencePolicy?: PersistencePolicy;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\ttemplateId: string;\n\tvariant?: string;\n\twithMigrationUi?: boolean;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n}\n\nexport interface ScaffoldProjectResult {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n\tselectedVariant: string | null;\n\ttemplateId: string;\n\tvariables: ScaffoldTemplateVariables;\n\twarnings: string[];\n}\nexport { buildBlockCssClassName } from \"./scaffold-identifiers.js\";\nexport {\n\tcollectScaffoldAnswers,\n\tdetectAuthor,\n\tgetDefaultAnswers,\n\tresolvePackageManagerId,\n\tresolveTemplateId,\n} from \"./scaffold-answer-resolution.js\";\nexport { getTemplateVariables } from \"./scaffold-template-variables.js\";\n\nexport function isDataStorageMode(value: string): value is DataStorageMode {\n\treturn (DATA_STORAGE_MODES as readonly string[]).includes(value);\n}\n\nexport function isPersistencePolicy(value: string): value is PersistencePolicy {\n\treturn (PERSISTENCE_POLICIES as readonly string[]).includes(value);\n}\n\nfunction normalizeTemplateSelection(templateId: string): string {\n\treturn templateId === WORKSPACE_TEMPLATE_ALIAS\n\t\t? OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t\t: templateId;\n}\n\nasync function reportScaffoldProgress(\n\tonProgress: ScaffoldProjectOptions[\"onProgress\"],\n\tevent: ScaffoldProgressEvent,\n): Promise<void> {\n\tawait onProgress?.(event);\n}\n\nexport async function scaffoldProject({\n\tprojectDir,\n\ttemplateId,\n\tanswers,\n\talternateRenderTargets,\n\tdataStorageMode,\n\tpersistencePolicy,\n\tpackageManager,\n\texternalLayerId,\n\texternalLayerSource,\n\texternalLayerSourceLabel,\n\trepositoryReference,\n\tcwd = process.cwd(),\n\tallowExistingDir = false,\n\tnoInstall = false,\n\tinstallDependencies = undefined,\n\tonProgress = undefined,\n\tvariant,\n\twithMigrationUi = false,\n\twithTestPreset = false,\n\twithWpEnv = false,\n}: ScaffoldProjectOptions): Promise<ScaffoldProjectResult> {\n\tconst resolvedTemplateId = normalizeTemplateSelection(templateId);\n\tconst resolvedPackageManager = getPackageManager(packageManager).id;\n\tconst isBuiltInTemplate = isBuiltInTemplateId(resolvedTemplateId);\n\n\tassertExternalLayerCompositionOptions({\n\t\texternalLayerId,\n\t\texternalLayerSource,\n\t});\n\n\tif (isBuiltInTemplate) {\n\t\tconst blockGeneratorService = new BlockGeneratorService();\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Preparing template layers, variants, and generated artifact plans.\",\n\t\t\tphase: \"resolve-template\",\n\t\t\ttitle: \"Resolving scaffold template\",\n\t\t});\n\t\tconst plan = await blockGeneratorService.plan({\n\t\t\tallowExistingDir,\n\t\t\talternateRenderTargets,\n\t\t\tanswers,\n\t\t\tcwd,\n\t\t\tdataStorageMode: dataStorageMode ?? answers.dataStorageMode,\n\t\t\texternalLayerId,\n\t\t\texternalLayerSource,\n\t\t\texternalLayerSourceLabel,\n\t\t\tnoInstall,\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t\tpersistencePolicy: persistencePolicy ?? answers.persistencePolicy,\n\t\t\tprojectDir,\n\t\t\trepositoryReference,\n\t\t\ttemplateId: resolvedTemplateId,\n\t\t\tvariant,\n\t\t\twithMigrationUi,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t\tconst validated = await blockGeneratorService.validate({ plan });\n\t\tconst rendered = await blockGeneratorService.render({ validated });\n\t\treturn blockGeneratorService.apply({\n\t\t\tinstallDependencies,\n\t\t\tonProgress,\n\t\t\trendered,\n\t\t});\n\t}\n\n\tif (externalLayerSource || externalLayerId) {\n\t\tthrow new Error(\n\t\t\t\"External template layers currently compose only with built-in templates via `wp-typia create --template <basic|interactivity|persistence|compound>` or `wp-typia add block --template <family>`.\",\n\t\t);\n\t}\n\n\tconst variables = getTemplateVariables(resolvedTemplateId, {\n\t\t...answers,\n\t\tdataStorageMode: dataStorageMode ?? answers.dataStorageMode,\n\t\tpersistencePolicy: persistencePolicy ?? answers.persistencePolicy,\n\t});\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Loading template files, variants, and external package metadata when needed.\",\n\t\tphase: \"resolve-template\",\n\t\ttitle: \"Resolving scaffold template\",\n\t});\n\tconst templateSource = await resolveTemplateSource(\n\t\tresolvedTemplateId,\n\t\tcwd,\n\t\tvariables,\n\t\tvariant,\n\t);\n\tconst supportsMigrationUi =\n\t\tisBuiltInTemplate ||\n\t\ttemplateSource.isOfficialWorkspaceTemplate === true ||\n\t\ttemplateSource.supportsMigrationUi === true;\n\tif (withMigrationUi && !supportsMigrationUi) {\n\t\tawait templateSource.cleanup?.();\n\t\tthrow new Error(\n\t\t\t\"`--with-migration-ui` is currently supported only for built-in templates and workspace-capable wp-typia templates.\",\n\t\t);\n\t}\n\n\ttry {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Copying scaffold files into the target project directory.\",\n\t\t\tphase: \"generate-files\",\n\t\t\ttitle: \"Generating project files\",\n\t\t});\n\t\tawait ensureScaffoldDirectory(projectDir, allowExistingDir);\n\t\tawait copyInterpolatedDirectory(\n\t\t\ttemplateSource.templateDir,\n\t\t\tprojectDir,\n\t\t\tvariables,\n\t\t);\n\t} finally {\n\t\tif (templateSource.cleanup) {\n\t\t\tawait templateSource.cleanup();\n\t\t}\n\t}\n\tconst isWorkspace = isWorkspaceProject(projectDir);\n\tif (isBuiltInTemplate) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Writing starter manifests, local presets, and template-specific generated artifacts.\",\n\t\t\tphase: \"seed-artifacts\",\n\t\t\ttitle: \"Seeding scaffold artifacts\",\n\t\t});\n\t\tawait writeStarterManifestFiles(projectDir, resolvedTemplateId, variables);\n\t\tawait seedBuiltInPersistenceArtifacts(projectDir, resolvedTemplateId, variables);\n\t\tawait applyLocalDevPresetFiles({\n\t\t\tprojectDir,\n\t\t\tvariables,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t\tif (withMigrationUi) {\n\t\t\tawait applyMigrationUiCapability({\n\t\t\t\tpackageManager: resolvedPackageManager,\n\t\t\t\tprojectDir,\n\t\t\t\ttemplateId: resolvedTemplateId,\n\t\t\t\tvariables,\n\t\t\t});\n\t\t}\n\t\tawait removeQueryLoopPlaceholderFiles(projectDir, resolvedTemplateId);\n\t} else if (withMigrationUi && isWorkspace) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Initializing workspace migration scripts and starter migration files.\",\n\t\t\tphase: \"seed-artifacts\",\n\t\t\ttitle: \"Seeding scaffold artifacts\",\n\t\t});\n\t\tawait applyWorkspaceMigrationCapability(projectDir, resolvedPackageManager);\n\t}\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Writing README, normalizing package metadata, and aligning package-manager files.\",\n\t\tphase: \"finalize-project\",\n\t\ttitle: \"Finalizing scaffold output\",\n\t});\n\tconst readmePath = path.join(projectDir, \"README.md\");\n\tif (!fs.existsSync(readmePath)) {\n\t\tawait fsp.writeFile(\n\t\t\treadmePath,\n\t\t\tbuildReadme(resolvedTemplateId, variables, resolvedPackageManager, {\n\t\t\t\twithMigrationUi:\n\t\t\t\t\tisBuiltInTemplate || isWorkspace ? withMigrationUi : false,\n\t\t\t\twithTestPreset: isBuiltInTemplate ? withTestPreset : false,\n\t\t\t\twithWpEnv: isBuiltInTemplate ? withWpEnv : false,\n\t\t\t}),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n\tconst gitignorePath = path.join(projectDir, \".gitignore\");\n\tconst existingGitignore = fs.existsSync(gitignorePath)\n\t\t? await fsp.readFile(gitignorePath, \"utf8\")\n\t\t: \"\";\n\tawait fsp.writeFile(\n\t\tgitignorePath,\n\t\tmergeTextLines(buildGitignore(), existingGitignore),\n\t\t\"utf8\",\n\t);\n\tawait normalizePackageJson(projectDir, resolvedPackageManager);\n\tif (isBuiltInTemplate) {\n\t\tawait applyGeneratedProjectDxPackageJson({\n\t\t\tcompoundPersistenceEnabled: variables.compoundPersistenceEnabled === \"true\",\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t\tprojectDir,\n\t\t\ttemplateId: resolvedTemplateId,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t}\n\tawait normalizePackageManagerFiles(projectDir, resolvedPackageManager);\n\tawait removeUnexpectedLockfiles(projectDir, resolvedPackageManager);\n\tawait replaceTextRecursively(projectDir, resolvedPackageManager, {\n\t\trepositoryReference,\n\t});\n\n\tif (!noInstall) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Installing project dependencies with the selected package manager.\",\n\t\t\tphase: \"install-dependencies\",\n\t\t\ttitle: \"Installing dependencies\",\n\t\t});\n\t\tconst installer = installDependencies ?? defaultInstallDependencies;\n\t\tawait installer({\n\t\t\tprojectDir,\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t});\n\t}\n\n\treturn {\n\t\tprojectDir,\n\t\tselectedVariant: templateSource.selectedVariant ?? null,\n\t\ttemplateId: resolvedTemplateId,\n\t\tpackageManager: resolvedPackageManager,\n\t\tvariables,\n\t\twarnings: templateSource.warnings ?? [],\n\t};\n}\n",
75
+ "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { getPackageManager } from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tbuildGitignore,\n\tbuildReadme,\n\tmergeTextLines,\n\tremoveQueryLoopPlaceholderFiles,\n\treplaceTextRecursively,\n} from \"./scaffold-apply-utils.js\";\nimport {\n\tapplyGeneratedProjectDxPackageJson,\n\tapplyLocalDevPresetFiles,\n} from \"./local-dev-presets.js\";\nimport { applyMigrationUiCapability } from \"./migration-ui-capability.js\";\nimport {\n\tapplyWorkspaceMigrationCapability,\n\tensureScaffoldDirectory,\n\tisWorkspaceProject,\n\tseedBuiltInPersistenceArtifacts,\n\twriteStarterManifestFiles,\n} from \"./scaffold-bootstrap.js\";\nimport {\n\tdefaultInstallDependencies,\n\tnormalizePackageJson,\n\tnormalizePackageManagerFiles,\n\tremoveUnexpectedLockfiles,\n} from \"./scaffold-package-manager-files.js\";\nimport { copyInterpolatedDirectory } from \"./template-render.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\tisBuiltInTemplateId,\n} from \"./template-registry.js\";\nimport { resolveTemplateSource } from \"./template-source.js\";\nimport {\n\tBlockGeneratorService,\n} from \"./block-generator-service.js\";\nimport {\n} from \"./scaffold-answer-resolution.js\";\nimport { getTemplateVariables } from \"./scaffold-template-variables.js\";\nimport { getScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\nimport type {\n\tScaffoldTemplateVariableGroupsCarrier,\n} from \"./scaffold-template-variable-groups.js\";\nimport {\n\tassertExternalLayerCompositionOptions,\n} from \"./cli-validation.js\";\n\nconst WORKSPACE_TEMPLATE_ALIAS = \"workspace\";\n\n/**\n * User-facing scaffold answers before template rendering.\n *\n * `namespace`, `textDomain`, and `phpPrefix` are normalized before use so\n * callers can pass human-entered values while generated output stays\n * predictable.\n */\nexport interface ScaffoldAnswers {\n\tauthor: string;\n\tcompoundInnerBlocksPreset?: import(\"./compound-inner-blocks.js\").CompoundInnerBlocksPresetId;\n\tdataStorageMode?: DataStorageMode;\n\tdescription: string;\n\t/** Block namespace used in generated block names such as `namespace/slug`. */\n\tnamespace: string;\n\tpersistencePolicy?: PersistencePolicy;\n\t/** Snake_case PHP symbol prefix used for generated functions, constants, and keys. */\n\tphpPrefix?: string;\n\tqueryPostType?: string;\n\tslug: string;\n\t/** Kebab-case WordPress text domain used in block metadata and i18n strings. */\n\ttextDomain?: string;\n\ttitle: string;\n}\n\nexport const DATA_STORAGE_MODES = [\"post-meta\", \"custom-table\"] as const;\nexport type DataStorageMode = (typeof DATA_STORAGE_MODES)[number];\nexport const PERSISTENCE_POLICIES = [\"authenticated\", \"public\"] as const;\nexport type PersistencePolicy = (typeof PERSISTENCE_POLICIES)[number];\n\n/**\n * Normalized template variables shared by built-in and remote scaffold flows.\n */\nexport interface FlatScaffoldTemplateVariables extends Record<string, string> {\n\talternateRenderTargetsCsv: string;\n\talternateRenderTargetsJson: string;\n\tapiClientPackageVersion: string;\n\tauthor: string;\n\tblockRuntimePackageVersion: string;\n\tblockMetadataVersion: string;\n\tblockTypesPackageVersion: string;\n\tcategory: string;\n\ticon: string;\n\tcompoundChildTitle: string;\n\tcompoundChildCategory: string;\n\tcompoundChildCssClassName: string;\n\tcompoundChildIcon: string;\n\tcompoundChildTitleJson: string;\n\tcompoundPersistenceEnabled: \"false\" | \"true\";\n\tcompoundInnerBlocksDirectInsert: \"false\" | \"true\";\n\tcompoundInnerBlocksOrientation: \"\" | \"horizontal\" | \"vertical\";\n\tcompoundInnerBlocksOrientationExpression: string;\n\tcompoundInnerBlocksPreset: string;\n\tcompoundInnerBlocksPresetDescription: string;\n\tcompoundInnerBlocksPresetLabel: string;\n\tcompoundInnerBlocksTemplateLockExpression: string;\n\thasAlternateEmailRenderTarget: \"false\" | \"true\";\n\thasAlternateMjmlRenderTarget: \"false\" | \"true\";\n\thasAlternatePlainTextRenderTarget: \"false\" | \"true\";\n\thasAlternateRenderTargets: \"false\" | \"true\";\n\tprojectToolsPackageVersion: string;\n\tcssClassName: string;\n\tdashCase: string;\n\tdataStorageMode: DataStorageMode;\n\tdescription: string;\n\tdescriptionJson: string;\n\tfrontendCssClassName: string;\n\tkeyword: string;\n\tnamespace: string;\n\tneedsMigration: string;\n\tpascalCase: string;\n\tphpPrefix: string;\n\tphpPrefixUpper: string;\n\tqueryAllowedControlsJson: string;\n\tqueryPostTypeJson: string;\n\tqueryPostType: string;\n\tqueryVariationNamespace: string;\n\tqueryVariationNamespaceJson: string;\n\tisAuthenticatedPersistencePolicy: \"false\" | \"true\";\n\tisPublicPersistencePolicy: \"false\" | \"true\";\n\tbootstrapCredentialDeclarations: string;\n\tpersistencePolicyDescriptionJson: string;\n\tpublicWriteRequestIdDeclaration: string;\n\trestPackageVersion: string;\n\trestWriteAuthIntent: \"authenticated\" | \"public-write-protected\";\n\trestWriteAuthMechanism: \"public-signed-token\" | \"rest-nonce\";\n\trestWriteAuthMode: \"authenticated-rest-nonce\" | \"public-signed-token\";\n\tslug: string;\n\tslugCamelCase: string;\n\tslugKebabCase: string;\n\tslugSnakeCase: string;\n\ttextDomain: string;\n\ttextdomain: string;\n\ttitle: string;\n\ttitleJson: string;\n\ttitleCase: string;\n\tpersistencePolicy: PersistencePolicy;\n}\n\nexport interface ScaffoldTemplateVariables\n\textends FlatScaffoldTemplateVariables,\n\t\tScaffoldTemplateVariableGroupsCarrier {}\n\n/**\n * Resolve scaffold template input from either built-in template ids or custom\n * template identifiers such as local paths, GitHub refs, and npm packages.\n *\n * The callback returns `Promise<string>` on purpose so interactive selection\n * can surface custom ids. Downstream code uses `isBuiltInTemplateId()` to\n * distinguish built-in templates from custom sources.\n */\nexport interface ResolveTemplateOptions {\n\tisInteractive?: boolean;\n\tselectTemplate?: () => Promise<string>;\n\ttemplateId?: string;\n\tyes?: boolean;\n}\n\n/**\n * Options for resolving the package manager in CLI and interactive scaffold flows.\n */\nexport interface ResolvePackageManagerOptions {\n\tisInteractive?: boolean;\n\tpackageManager?: string;\n\tselectPackageManager?: () => Promise<PackageManagerId>;\n\tyes?: boolean;\n}\n\n/**\n * Options for collecting scaffold answers from defaults, overrides, and prompts.\n */\nexport interface CollectScaffoldAnswersOptions {\n\tdataStorageMode?: DataStorageMode;\n\tnamespace?: string;\n\tphpPrefix?: string;\n\tprojectName: string;\n\tpromptText?: (\n\t\tmessage: string,\n\t\tdefaultValue: string,\n\t\tvalidate?: (value: string) => true | string,\n\t) => Promise<string>;\n\tpersistencePolicy?: PersistencePolicy;\n\tqueryPostType?: string;\n\ttextDomain?: string;\n\ttemplateId: string;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n\tyes?: boolean;\n}\n\ninterface InstallDependenciesOptions {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n}\n\nexport interface ScaffoldProgressEvent {\n\tdetail: string;\n\tphase:\n\t\t| \"finalize-project\"\n\t\t| \"generate-files\"\n\t\t| \"install-dependencies\"\n\t\t| \"resolve-template\"\n\t\t| \"seed-artifacts\";\n\ttitle: string;\n}\n\ninterface ScaffoldProjectOptions {\n\tallowExistingDir?: boolean;\n\talternateRenderTargets?: string;\n\tanswers: ScaffoldAnswers;\n\tcwd?: string;\n\tdataStorageMode?: DataStorageMode;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tinstallDependencies?: ((options: InstallDependenciesOptions) => Promise<void>) | undefined;\n\tnoInstall?: boolean;\n\tonProgress?: ((event: ScaffoldProgressEvent) => void | Promise<void>) | undefined;\n\tpackageManager: PackageManagerId;\n\tpersistencePolicy?: PersistencePolicy;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\ttemplateId: string;\n\tvariant?: string;\n\twithMigrationUi?: boolean;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n}\n\nexport interface ScaffoldProjectResult {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n\tselectedVariant: string | null;\n\ttemplateId: string;\n\tvariables: ScaffoldTemplateVariables;\n\twarnings: string[];\n}\nexport { buildBlockCssClassName } from \"./scaffold-identifiers.js\";\nexport {\n\tcollectScaffoldAnswers,\n\tdetectAuthor,\n\tgetDefaultAnswers,\n\tresolvePackageManagerId,\n\tresolveTemplateId,\n} from \"./scaffold-answer-resolution.js\";\nexport { getTemplateVariables } from \"./scaffold-template-variables.js\";\nexport {\n\tgetScaffoldTemplateVariableGroups,\n\ttype BasicScaffoldTemplateVariableGroups,\n\ttype CompoundScaffoldTemplateVariableGroups,\n\ttype ExternalScaffoldTemplateVariableGroups,\n\ttype InteractivityScaffoldTemplateVariableGroups,\n\ttype PersistenceScaffoldTemplateVariableGroups,\n\ttype QueryLoopScaffoldTemplateVariableGroups,\n\ttype ScaffoldTemplateFamily,\n\ttype ScaffoldTemplateVariableGroups,\n\ttype ScaffoldTemplateVariableGroupsCarrier,\n} from \"./scaffold-template-variable-groups.js\";\n\nexport function isDataStorageMode(value: string): value is DataStorageMode {\n\treturn (DATA_STORAGE_MODES as readonly string[]).includes(value);\n}\n\nexport function isPersistencePolicy(value: string): value is PersistencePolicy {\n\treturn (PERSISTENCE_POLICIES as readonly string[]).includes(value);\n}\n\nfunction normalizeTemplateSelection(templateId: string): string {\n\treturn templateId === WORKSPACE_TEMPLATE_ALIAS\n\t\t? OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t\t: templateId;\n}\n\nasync function reportScaffoldProgress(\n\tonProgress: ScaffoldProjectOptions[\"onProgress\"],\n\tevent: ScaffoldProgressEvent,\n): Promise<void> {\n\tawait onProgress?.(event);\n}\n\nexport async function scaffoldProject({\n\tprojectDir,\n\ttemplateId,\n\tanswers,\n\talternateRenderTargets,\n\tdataStorageMode,\n\tpersistencePolicy,\n\tpackageManager,\n\texternalLayerId,\n\texternalLayerSource,\n\texternalLayerSourceLabel,\n\trepositoryReference,\n\tcwd = process.cwd(),\n\tallowExistingDir = false,\n\tnoInstall = false,\n\tinstallDependencies = undefined,\n\tonProgress = undefined,\n\tvariant,\n\twithMigrationUi = false,\n\twithTestPreset = false,\n\twithWpEnv = false,\n}: ScaffoldProjectOptions): Promise<ScaffoldProjectResult> {\n\tconst resolvedTemplateId = normalizeTemplateSelection(templateId);\n\tconst resolvedPackageManager = getPackageManager(packageManager).id;\n\tconst isBuiltInTemplate = isBuiltInTemplateId(resolvedTemplateId);\n\n\tassertExternalLayerCompositionOptions({\n\t\texternalLayerId,\n\t\texternalLayerSource,\n\t});\n\n\tif (isBuiltInTemplate) {\n\t\tconst blockGeneratorService = new BlockGeneratorService();\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Preparing template layers, variants, and generated artifact plans.\",\n\t\t\tphase: \"resolve-template\",\n\t\t\ttitle: \"Resolving scaffold template\",\n\t\t});\n\t\tconst plan = await blockGeneratorService.plan({\n\t\t\tallowExistingDir,\n\t\t\talternateRenderTargets,\n\t\t\tanswers,\n\t\t\tcwd,\n\t\t\tdataStorageMode: dataStorageMode ?? answers.dataStorageMode,\n\t\t\texternalLayerId,\n\t\t\texternalLayerSource,\n\t\t\texternalLayerSourceLabel,\n\t\t\tnoInstall,\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t\tpersistencePolicy: persistencePolicy ?? answers.persistencePolicy,\n\t\t\tprojectDir,\n\t\t\trepositoryReference,\n\t\t\ttemplateId: resolvedTemplateId,\n\t\t\tvariant,\n\t\t\twithMigrationUi,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t\tconst validated = await blockGeneratorService.validate({ plan });\n\t\tconst rendered = await blockGeneratorService.render({ validated });\n\t\treturn blockGeneratorService.apply({\n\t\t\tinstallDependencies,\n\t\t\tonProgress,\n\t\t\trendered,\n\t\t});\n\t}\n\n\tif (externalLayerSource || externalLayerId) {\n\t\tthrow new Error(\n\t\t\t\"External template layers currently compose only with built-in templates via `wp-typia create --template <basic|interactivity|persistence|compound>` or `wp-typia add block --template <family>`.\",\n\t\t);\n\t}\n\n\tconst variables = getTemplateVariables(resolvedTemplateId, {\n\t\t...answers,\n\t\tdataStorageMode: dataStorageMode ?? answers.dataStorageMode,\n\t\tpersistencePolicy: persistencePolicy ?? answers.persistencePolicy,\n\t});\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Loading template files, variants, and external package metadata when needed.\",\n\t\tphase: \"resolve-template\",\n\t\ttitle: \"Resolving scaffold template\",\n\t});\n\tconst templateSource = await resolveTemplateSource(\n\t\tresolvedTemplateId,\n\t\tcwd,\n\t\tvariables,\n\t\tvariant,\n\t);\n\tconst supportsMigrationUi =\n\t\tisBuiltInTemplate ||\n\t\ttemplateSource.isOfficialWorkspaceTemplate === true ||\n\t\ttemplateSource.supportsMigrationUi === true;\n\tif (withMigrationUi && !supportsMigrationUi) {\n\t\tawait templateSource.cleanup?.();\n\t\tthrow new Error(\n\t\t\t\"`--with-migration-ui` is currently supported only for built-in templates and workspace-capable wp-typia templates.\",\n\t\t);\n\t}\n\n\ttry {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Copying scaffold files into the target project directory.\",\n\t\t\tphase: \"generate-files\",\n\t\t\ttitle: \"Generating project files\",\n\t\t});\n\t\tawait ensureScaffoldDirectory(projectDir, allowExistingDir);\n\t\tawait copyInterpolatedDirectory(\n\t\t\ttemplateSource.templateDir,\n\t\t\tprojectDir,\n\t\t\tvariables,\n\t\t);\n\t} finally {\n\t\tif (templateSource.cleanup) {\n\t\t\tawait templateSource.cleanup();\n\t\t}\n\t}\n\tconst isWorkspace = isWorkspaceProject(projectDir);\n\tif (isBuiltInTemplate) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Writing starter manifests, local presets, and template-specific generated artifacts.\",\n\t\t\tphase: \"seed-artifacts\",\n\t\t\ttitle: \"Seeding scaffold artifacts\",\n\t\t});\n\t\tawait writeStarterManifestFiles(projectDir, resolvedTemplateId, variables);\n\t\tawait seedBuiltInPersistenceArtifacts(projectDir, resolvedTemplateId, variables);\n\t\tawait applyLocalDevPresetFiles({\n\t\t\tprojectDir,\n\t\t\tvariables,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t\tif (withMigrationUi) {\n\t\t\tawait applyMigrationUiCapability({\n\t\t\t\tpackageManager: resolvedPackageManager,\n\t\t\t\tprojectDir,\n\t\t\t\ttemplateId: resolvedTemplateId,\n\t\t\t\tvariables,\n\t\t\t});\n\t\t}\n\t\tawait removeQueryLoopPlaceholderFiles(projectDir, resolvedTemplateId);\n\t} else if (withMigrationUi && isWorkspace) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Initializing workspace migration scripts and starter migration files.\",\n\t\t\tphase: \"seed-artifacts\",\n\t\t\ttitle: \"Seeding scaffold artifacts\",\n\t\t});\n\t\tawait applyWorkspaceMigrationCapability(projectDir, resolvedPackageManager);\n\t}\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Writing README, normalizing package metadata, and aligning package-manager files.\",\n\t\tphase: \"finalize-project\",\n\t\ttitle: \"Finalizing scaffold output\",\n\t});\n\tconst readmePath = path.join(projectDir, \"README.md\");\n\tif (!fs.existsSync(readmePath)) {\n\t\tawait fsp.writeFile(\n\t\t\treadmePath,\n\t\t\tbuildReadme(resolvedTemplateId, variables, resolvedPackageManager, {\n\t\t\t\twithMigrationUi:\n\t\t\t\t\tisBuiltInTemplate || isWorkspace ? withMigrationUi : false,\n\t\t\t\twithTestPreset: isBuiltInTemplate ? withTestPreset : false,\n\t\t\t\twithWpEnv: isBuiltInTemplate ? withWpEnv : false,\n\t\t\t}),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n\tconst gitignorePath = path.join(projectDir, \".gitignore\");\n\tconst existingGitignore = fs.existsSync(gitignorePath)\n\t\t? await fsp.readFile(gitignorePath, \"utf8\")\n\t\t: \"\";\n\tawait fsp.writeFile(\n\t\tgitignorePath,\n\t\tmergeTextLines(buildGitignore(), existingGitignore),\n\t\t\"utf8\",\n\t);\n\tawait normalizePackageJson(projectDir, resolvedPackageManager);\n\tif (isBuiltInTemplate) {\n\t\tconst variableGroups = getScaffoldTemplateVariableGroups(variables);\n\t\tawait applyGeneratedProjectDxPackageJson({\n\t\t\tcompoundPersistenceEnabled:\n\t\t\t\tvariableGroups.compound.enabled &&\n\t\t\t\tvariableGroups.compound.persistenceEnabled,\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t\tprojectDir,\n\t\t\ttemplateId: resolvedTemplateId,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t});\n\t}\n\tawait normalizePackageManagerFiles(projectDir, resolvedPackageManager);\n\tawait removeUnexpectedLockfiles(projectDir, resolvedPackageManager);\n\tawait replaceTextRecursively(projectDir, resolvedPackageManager, {\n\t\trepositoryReference,\n\t});\n\n\tif (!noInstall) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Installing project dependencies with the selected package manager.\",\n\t\t\tphase: \"install-dependencies\",\n\t\t\ttitle: \"Installing dependencies\",\n\t\t});\n\t\tconst installer = installDependencies ?? defaultInstallDependencies;\n\t\tawait installer({\n\t\t\tprojectDir,\n\t\t\tpackageManager: resolvedPackageManager,\n\t\t});\n\t}\n\n\treturn {\n\t\tprojectDir,\n\t\tselectedVariant: templateSource.selectedVariant ?? null,\n\t\ttemplateId: resolvedTemplateId,\n\t\tpackageManager: resolvedPackageManager,\n\t\tvariables,\n\t\twarnings: templateSource.warnings ?? [],\n\t};\n}\n",
75
76
  "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\nimport { execSync } from \"node:child_process\";\nimport { fileURLToPath } from \"node:url\";\n\nimport {\n\tapplyGeneratedProjectDxPackageJson,\n\tapplyLocalDevPresetFiles,\n} from \"./local-dev-presets.js\";\nimport { applyMigrationUiCapability } from \"./migration-ui-capability.js\";\nimport { getPackageVersions } from \"./package-versions.js\";\nimport {\n\tensureMigrationDirectories,\n\twriteInitialMigrationScaffold,\n\twriteMigrationConfig,\n} from \"./migration-project.js\";\nimport {\n\tsyncPersistenceRestArtifacts,\n} from \"./persistence-rest-artifacts.js\";\nimport {\n\tbuildGitignore,\n\tbuildReadme,\n\tmergeTextLines,\n} from \"./scaffold-documents.js\";\nimport {\n\tgetStarterManifestFiles,\n\tstringifyStarterManifest,\n} from \"./starter-manifests.js\";\nimport {\n\tformatNonEmptyTargetDirectoryError,\n} from \"./scaffold-bootstrap.js\";\nimport {\n\tstringifyBuiltInBlockJsonDocument,\n\ttype BuiltInBlockArtifact,\n} from \"./built-in-block-artifacts.js\";\nimport type { BuiltInCodeArtifact } from \"./built-in-block-code-artifacts.js\";\nimport {\n\tOFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n\ttype BuiltInTemplateId,\n} from \"./template-registry.js\";\nimport { copyInterpolatedDirectory } from \"./template-render.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tformatInstallCommand,\n\tformatPackageExecCommand,\n\ttransformPackageManagerText,\n} from \"./package-managers.js\";\nimport { normalizePackageJson } from \"./scaffold-package-manager-files.js\";\nimport {\n\treplaceRepositoryReferencePlaceholders,\n\tresolveScaffoldRepositoryReference,\n} from \"./scaffold-repository-reference.js\";\nimport type {\n\tScaffoldProgressEvent,\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\n\nexport {\n\tbuildGitignore,\n\tbuildReadme,\n\tmergeTextLines,\n} from \"./scaffold-documents.js\";\n\nexport interface InstallDependenciesOptions {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n}\n\nasync function reportScaffoldProgress(\n\tonProgress:\n\t\t| ((event: ScaffoldProgressEvent) => void | Promise<void>)\n\t\t| undefined,\n\tevent: ScaffoldProgressEvent,\n): Promise<void> {\n\tawait onProgress?.(event);\n}\n\ninterface GeneratedPackageJson {\n\tdependencies?: Record<string, string>;\n\tscripts?: Record<string, string>;\n\twpTypia?: {\n\t\tprojectType?: string;\n\t\ttemplatePackage?: string;\n\t};\n\tpackageManager?: string;\n}\n\nconst EPHEMERAL_NODE_MODULES_LINK_TYPE = process.platform === \"win32\" ? \"junction\" : \"dir\";\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\nconst LOCKFILES: Record<PackageManagerId, string[]> = {\n\tbun: [\"bun.lock\", \"bun.lockb\"],\n\tnpm: [\"package-lock.json\"],\n\tpnpm: [\"pnpm-lock.yaml\"],\n\tyarn: [\"yarn.lock\"],\n};\n\nexport async function ensureDirectory(targetDir: string, allowExisting = false): Promise<void> {\n\tif (!fs.existsSync(targetDir)) {\n\t\tawait fsp.mkdir(targetDir, { recursive: true });\n\t\treturn;\n\t}\n\n\tif (allowExisting) {\n\t\treturn;\n\t}\n\n\tconst entries = await fsp.readdir(targetDir);\n\tif (entries.length > 0) {\n\t\tthrow new Error(formatNonEmptyTargetDirectoryError(targetDir));\n\t}\n}\n\nexport async function writeStarterManifestFiles(\n\ttargetDir: string,\n\ttemplateId: string,\n\tvariables: ScaffoldTemplateVariables,\n\tartifacts?: readonly BuiltInBlockArtifact[],\n): Promise<void> {\n\tconst manifests = artifacts\n\t\t? artifacts.map((artifact) => ({\n\t\t\t\tdocument: artifact.manifestDocument,\n\t\t\t\trelativePath: `${artifact.relativeDir}/typia.manifest.json`,\n\t\t\t}))\n\t\t: getStarterManifestFiles(templateId, variables);\n\n\tfor (const { document, relativePath } of manifests) {\n\t\tconst destinationPath = path.join(targetDir, relativePath);\n\t\tawait fsp.mkdir(path.dirname(destinationPath), { recursive: true });\n\t\tawait fsp.writeFile(destinationPath, stringifyStarterManifest(document), \"utf8\");\n\t}\n}\n\nasync function writeBuiltInStructuralArtifacts(\n\ttargetDir: string,\n\tartifacts: readonly BuiltInBlockArtifact[],\n): Promise<void> {\n\tfor (const artifact of artifacts) {\n\t\tconst destinationDir = path.join(targetDir, artifact.relativeDir);\n\t\tawait fsp.mkdir(destinationDir, { recursive: true });\n\t\tawait fsp.writeFile(\n\t\t\tpath.join(destinationDir, \"types.ts\"),\n\t\t\tartifact.typesSource,\n\t\t\t\"utf8\",\n\t\t);\n\t\tawait fsp.writeFile(\n\t\t\tpath.join(destinationDir, \"block.json\"),\n\t\t\tstringifyBuiltInBlockJsonDocument(artifact.blockJsonDocument),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n}\n\nasync function writeBuiltInCodeArtifacts(\n\ttargetDir: string,\n\tcodeArtifacts: readonly BuiltInCodeArtifact[],\n): Promise<void> {\n\tfor (const artifact of codeArtifacts) {\n\t\tconst destinationPath = path.join(targetDir, artifact.relativePath);\n\t\tawait fsp.mkdir(path.dirname(destinationPath), { recursive: true });\n\t\tawait fsp.writeFile(destinationPath, artifact.source, \"utf8\");\n\t}\n}\n\nfunction resolveScaffoldGeneratorNodeModulesPath(): string | null {\n\tconst projectToolsPackageRoot = path.resolve(__dirname, \"..\", \"..\");\n\tconst candidates = [\n\t\tpath.join(projectToolsPackageRoot, \"node_modules\"),\n\t\tpath.resolve(projectToolsPackageRoot, \"..\", \"..\"),\n\t\tpath.resolve(projectToolsPackageRoot, \"..\", \"..\", \"node_modules\"),\n\t];\n\n\tfor (const candidate of candidates) {\n\t\tif (fs.existsSync(path.join(candidate, \"typia\", \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nasync function withEphemeralScaffoldNodeModules(\n\ttargetDir: string,\n\tcallback: () => Promise<void>,\n): Promise<void> {\n\tconst targetNodeModulesPath = path.join(targetDir, \"node_modules\");\n\tif (fs.existsSync(targetNodeModulesPath)) {\n\t\tawait callback();\n\t\treturn;\n\t}\n\n\tconst sourceNodeModulesPath = resolveScaffoldGeneratorNodeModulesPath();\n\tif (!sourceNodeModulesPath) {\n\t\tthrow new Error(\n\t\t\t\"Unable to resolve a node_modules directory with typia for scaffold-time REST artifact generation.\",\n\t\t);\n\t}\n\n\tawait fsp.symlink(sourceNodeModulesPath, targetNodeModulesPath, EPHEMERAL_NODE_MODULES_LINK_TYPE);\n\n\ttry {\n\t\tawait callback();\n\t} finally {\n\t\tawait fsp.rm(targetNodeModulesPath, { force: true, recursive: true });\n\t}\n}\n\n/**\n * Seed REST-derived persistence artifacts into a newly scaffolded built-in\n * project before the first manual `sync-rest` run.\n */\nexport async function seedBuiltInPersistenceArtifacts(\n\ttargetDir: string,\n\ttemplateId: BuiltInTemplateId,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst needsPersistenceArtifacts =\n\t\ttemplateId === \"persistence\" ||\n\t\t(templateId === \"compound\" && variables.compoundPersistenceEnabled === \"true\");\n\n\tif (!needsPersistenceArtifacts) {\n\t\treturn;\n\t}\n\n\tawait withEphemeralScaffoldNodeModules(targetDir, async () => {\n\t\tif (templateId === \"persistence\") {\n\t\t\tawait syncPersistenceRestArtifacts({\n\t\t\t\tapiTypesFile: path.join(\"src\", \"api-types.ts\"),\n\t\t\t\toutputDir: \"src\",\n\t\t\t\tprojectDir: targetDir,\n\t\t\t\tvariables,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tawait syncPersistenceRestArtifacts({\n\t\t\tapiTypesFile: path.join(\"src\", \"blocks\", variables.slugKebabCase, \"api-types.ts\"),\n\t\t\toutputDir: path.join(\"src\", \"blocks\", variables.slugKebabCase),\n\t\t\tprojectDir: targetDir,\n\t\t\tvariables,\n\t\t});\n\t});\n}\n\nexport async function normalizePackageManagerFiles(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n): Promise<void> {\n\tconst yarnRcPath = path.join(targetDir, \".yarnrc.yml\");\n\n\tif (packageManagerId === \"yarn\") {\n\t\tawait fsp.writeFile(yarnRcPath, \"nodeLinker: node-modules\\n\", \"utf8\");\n\t\treturn;\n\t}\n\n\tif (fs.existsSync(yarnRcPath)) {\n\t\tawait fsp.rm(yarnRcPath, { force: true });\n\t}\n}\n\nexport async function removeQueryLoopPlaceholderFiles(\n\tprojectDir: string,\n\ttemplateId: string,\n): Promise<void> {\n\tif (templateId !== \"query-loop\") {\n\t\treturn;\n\t}\n\n\tawait fsp.rm(path.join(projectDir, \"src\", \"validator-toolkit.ts\"), {\n\t\tforce: true,\n\t});\n}\n\nexport async function removeUnexpectedLockfiles(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n): Promise<void> {\n\tconst keep = new Set(LOCKFILES[packageManagerId] ?? []);\n\tconst allLockfiles = Object.values(LOCKFILES).flat();\n\n\tawait Promise.all(\n\t\tallLockfiles.map(async (filename) => {\n\t\t\tif (keep.has(filename)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst filePath = path.join(targetDir, filename);\n\t\t\tif (fs.existsSync(filePath)) {\n\t\t\t\tawait fsp.rm(filePath, { force: true });\n\t\t\t}\n\t\t}),\n\t);\n}\n\n/**\n * Recursively normalizes generated text files for the selected package manager\n * and repository reference.\n */\nexport async function replaceTextRecursively(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n\t{\n\t\trepositoryManifestPaths,\n\t\trepositoryReference,\n\t}: {\n\t\trepositoryManifestPaths?: readonly string[];\n\t\trepositoryReference?: string;\n\t} = {},\n): Promise<void> {\n\tconst textExtensions = new Set([\n\t\t\".css\",\n\t\t\".js\",\n\t\t\".json\",\n\t\t\".jsx\",\n\t\t\".md\",\n\t\t\".php\",\n\t\t\".scss\",\n\t\t\".ts\",\n\t\t\".tsx\",\n\t\t\".txt\",\n\t]);\n\tconst resolvedRepositoryReference =\n\t\trepositoryReference ??\n\t\tresolveScaffoldRepositoryReference({\n\t\t\tmanifestPaths: repositoryManifestPaths,\n\t\t});\n\n\tasync function visit(currentPath: string): Promise<void> {\n\t\tconst stats = await fsp.stat(currentPath);\n\t\tif (stats.isDirectory()) {\n\t\t\tconst entries = await fsp.readdir(currentPath);\n\t\t\tfor (const entry of entries) {\n\t\t\t\tawait visit(path.join(currentPath, entry));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (path.basename(currentPath) === \"package.json\" || !textExtensions.has(path.extname(currentPath))) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = await fsp.readFile(currentPath, \"utf8\");\n\t\tconst nextContent = replaceRepositoryReferencePlaceholders(\n\t\t\ttransformPackageManagerText(content, packageManagerId),\n\t\t\tresolvedRepositoryReference,\n\t\t);\n\n\t\tif (nextContent !== content) {\n\t\t\tawait fsp.writeFile(currentPath, nextContent, \"utf8\");\n\t\t}\n\t}\n\n\tawait visit(targetDir);\n}\n\nexport async function defaultInstallDependencies({\n\tprojectDir,\n\tpackageManager,\n}: InstallDependenciesOptions): Promise<void> {\n\texecSync(formatInstallCommand(packageManager), {\n\t\tcwd: projectDir,\n\t\tstdio: \"inherit\",\n\t});\n}\n\nexport function isOfficialWorkspaceProject(projectDir: string): boolean {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tif (!fs.existsSync(packageJsonPath)) {\n\t\treturn false;\n\t}\n\n\tconst packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\")) as GeneratedPackageJson;\n\treturn (\n\t\tpackageJson.wpTypia?.projectType === \"workspace\" &&\n\t\tpackageJson.wpTypia?.templatePackage === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n\t);\n}\n\nexport async function applyWorkspaceMigrationCapability(\n\tprojectDir: string,\n\tpackageManager: PackageManagerId,\n): Promise<void> {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tconst packageJson = JSON.parse(\n\t\tawait fsp.readFile(packageJsonPath, \"utf8\"),\n\t) as GeneratedPackageJson;\n\tconst wpTypiaPackageVersion = getPackageVersions().wpTypiaPackageVersion;\n\tconst canonicalCliSpecifier =\n\t\twpTypiaPackageVersion === \"^0.0.0\"\n\t\t\t? \"wp-typia\"\n\t\t\t: `wp-typia@${wpTypiaPackageVersion.replace(/^[~^]/u, \"\")}`;\n\tconst migrationCli = (args: string) =>\n\t\tformatPackageExecCommand(packageManager, canonicalCliSpecifier, `migrate ${args}`);\n\n\tpackageJson.scripts = {\n\t\t...(packageJson.scripts ?? {}),\n\t\t\"migration:init\": migrationCli(\"init --current-migration-version v1\"),\n\t\t\"migration:snapshot\": migrationCli(\"snapshot\"),\n\t\t\"migration:diff\": migrationCli(\"diff\"),\n\t\t\"migration:scaffold\": migrationCli(\"scaffold\"),\n\t\t\"migration:doctor\": migrationCli(\"doctor --all\"),\n\t\t\"migration:fixtures\": migrationCli(\"fixtures --all\"),\n\t\t\"migration:verify\": migrationCli(\"verify --all\"),\n\t\t\"migration:fuzz\": migrationCli(\"fuzz --all\"),\n\t};\n\n\tawait fsp.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, \"\\t\")}\\n`, \"utf8\");\n\n\twriteMigrationConfig(projectDir, {\n\t\tblocks: [],\n\t\tcurrentMigrationVersion: \"v1\",\n\t\tsnapshotDir: \"src/migrations/versions\",\n\t\tsupportedMigrationVersions: [\"v1\"],\n\t});\n\tensureMigrationDirectories(projectDir, []);\n\twriteInitialMigrationScaffold(projectDir, \"v1\", []);\n}\n\n/**\n * Applies a built-in scaffold into the target directory, including generated\n * code artifacts, starter manifests, preset files, and placeholder rewrites.\n */\nexport async function applyBuiltInScaffoldProjectFiles({\n\tprojectDir,\n\ttemplateDir,\n\ttemplateId,\n\tvariables,\n\tartifacts,\n\tcodeArtifacts,\n\treadmeContent,\n\tgitignoreContent,\n\tallowExistingDir = false,\n\tpackageManager,\n\twithMigrationUi = false,\n\twithTestPreset = false,\n\twithWpEnv = false,\n\tnoInstall = false,\n\tinstallDependencies,\n\trepositoryReference,\n\tonProgress,\n}: {\n\tprojectDir: string;\n\ttemplateDir: string;\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n\tartifacts?: readonly BuiltInBlockArtifact[];\n\tcodeArtifacts?: readonly BuiltInCodeArtifact[];\n\treadmeContent?: string;\n\tgitignoreContent?: string;\n\tallowExistingDir?: boolean;\n\tpackageManager: PackageManagerId;\n\twithMigrationUi?: boolean;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n\tnoInstall?: boolean;\n\tinstallDependencies?: ((options: InstallDependenciesOptions) => Promise<void>) | undefined;\n\trepositoryReference?: string;\n\tonProgress?: ((event: ScaffoldProgressEvent) => void | Promise<void>) | undefined;\n}): Promise<void> {\n\tawait ensureDirectory(projectDir, allowExistingDir);\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Copying built-in template files and writing generated source modules.\",\n\t\tphase: \"generate-files\",\n\t\ttitle: \"Generating project files\",\n\t});\n\tawait copyInterpolatedDirectory(templateDir, projectDir, variables);\n\tif (codeArtifacts && codeArtifacts.length > 0) {\n\t\tawait writeBuiltInCodeArtifacts(projectDir, codeArtifacts);\n\t}\n\tif (artifacts && artifacts.length > 0) {\n\t\tawait writeBuiltInStructuralArtifacts(projectDir, artifacts);\n\t}\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Writing starter manifests, local presets, and seeded template artifacts.\",\n\t\tphase: \"seed-artifacts\",\n\t\ttitle: \"Seeding scaffold artifacts\",\n\t});\n\tawait writeStarterManifestFiles(projectDir, templateId, variables, artifacts);\n\tawait seedBuiltInPersistenceArtifacts(projectDir, templateId, variables);\n\tawait applyLocalDevPresetFiles({\n\t\tprojectDir,\n\t\tvariables,\n\t\twithTestPreset,\n\t\twithWpEnv,\n\t});\n\tif (withMigrationUi) {\n\t\tawait applyMigrationUiCapability({\n\t\t\tpackageManager,\n\t\t\tprojectDir,\n\t\t\ttemplateId,\n\t\t\tvariables,\n\t\t});\n\t}\n\n\tawait reportScaffoldProgress(onProgress, {\n\t\tdetail: \"Writing README, normalizing package metadata, and aligning package-manager files.\",\n\t\tphase: \"finalize-project\",\n\t\ttitle: \"Finalizing scaffold output\",\n\t});\n\tconst readmePath = path.join(projectDir, \"README.md\");\n\tif (!fs.existsSync(readmePath)) {\n\t\tawait fsp.writeFile(\n\t\t\treadmePath,\n\t\t\treadmeContent ??\n\t\t\t\tbuildReadme(templateId, variables, packageManager, {\n\t\t\t\t\twithMigrationUi,\n\t\t\t\t\twithTestPreset,\n\t\t\t\t\twithWpEnv,\n\t\t\t\t}),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n\tconst gitignorePath = path.join(projectDir, \".gitignore\");\n\tconst existingGitignore = fs.existsSync(gitignorePath)\n\t\t? await fsp.readFile(gitignorePath, \"utf8\")\n\t\t: \"\";\n\tawait fsp.writeFile(\n\t\tgitignorePath,\n\t\tmergeTextLines(gitignoreContent ?? buildGitignore(), existingGitignore),\n\t\t\"utf8\",\n\t);\n\tawait normalizePackageJson(projectDir, packageManager);\n\tawait applyGeneratedProjectDxPackageJson({\n\t\tcompoundPersistenceEnabled: variables.compoundPersistenceEnabled === \"true\",\n\t\tpackageManager,\n\t\tprojectDir,\n\t\ttemplateId,\n\t\twithTestPreset,\n\t\twithWpEnv,\n\t});\n\tawait removeQueryLoopPlaceholderFiles(projectDir, templateId);\n\tawait normalizePackageManagerFiles(projectDir, packageManager);\n\tawait removeUnexpectedLockfiles(projectDir, packageManager);\n\tawait replaceTextRecursively(projectDir, packageManager, {\n\t\trepositoryReference,\n\t});\n\n\tif (!noInstall) {\n\t\tawait reportScaffoldProgress(onProgress, {\n\t\t\tdetail: \"Installing project dependencies with the selected package manager.\",\n\t\t\tphase: \"install-dependencies\",\n\t\t\ttitle: \"Installing dependencies\",\n\t\t});\n\t\tconst installer = installDependencies ?? defaultInstallDependencies;\n\t\tawait installer({\n\t\t\tprojectDir,\n\t\t\tpackageManager,\n\t\t});\n\t}\n}\n",
76
77
  "import { promises as fsp } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { getPackageVersions } from \"./package-versions.js\";\nimport { formatPackageExecCommand } from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport { seedProjectMigrations } from \"./migrations.js\";\nimport { copyInterpolatedDirectory } from \"./template-render.js\";\nimport {\n\tSHARED_MIGRATION_UI_TEMPLATE_ROOT,\n} from \"./template-registry.js\";\nimport type { MigrationBlockConfig } from \"./migration-types.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\n\ninterface PackageJsonShape {\n\tdependencies?: Record<string, string>;\n\tscripts?: Record<string, string>;\n}\n\ninterface ApplyMigrationUiCapabilityOptions {\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n\ttemplateId: string;\n\tvariables: ScaffoldTemplateVariables;\n}\n\nconst INITIAL_MIGRATION_VERSION = \"v1\";\nconst BLOCK_METADATA_IMPORT_LINE = \"import metadata from './block-metadata';\";\nconst LEGACY_BLOCK_JSON_IMPORT_LINE = \"import metadata from './block.json';\";\n\nasync function mutatePackageJson(\n\tprojectDir: string,\n\tmutate: (packageJson: PackageJsonShape) => void,\n): Promise<void> {\n\tconst packageJsonPath = path.join(projectDir, \"package.json\");\n\tconst packageJson = JSON.parse(await fsp.readFile(packageJsonPath, \"utf8\")) as PackageJsonShape;\n\tmutate(packageJson);\n\tawait fsp.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, \"\\t\")}\\n`, \"utf8\");\n}\n\nasync function patchFile(\n\tfilePath: string,\n\ttransform: (source: string) => string,\n): Promise<void> {\n\tconst source = await fsp.readFile(filePath, \"utf8\");\n\tconst nextSource = transform(source);\n\tif (nextSource === source) {\n\t\tthrow new Error(`Unable to apply migration UI patch for ${filePath}`);\n\t}\n\tawait fsp.writeFile(filePath, nextSource, \"utf8\");\n}\n\nfunction injectAfter(source: string, needle: string, insertion: string): string {\n\tif (source.includes(insertion)) {\n\t\treturn source;\n\t}\n\tif (!source.includes(needle)) {\n\t\treturn source;\n\t}\n\treturn source.replace(needle, `${needle}\\n${insertion}`);\n}\n\nfunction injectBefore(source: string, needle: string, insertion: string): string {\n\tif (source.includes(insertion)) {\n\t\treturn source;\n\t}\n\tif (!source.includes(needle)) {\n\t\treturn source;\n\t}\n\treturn source.replace(needle, `${insertion}\\n${needle}`);\n}\n\nfunction injectAfterBlockMetadataImport(source: string, insertion: string): string {\n\tconst nextSource = injectAfter(source, BLOCK_METADATA_IMPORT_LINE, insertion);\n\tif (nextSource !== source) {\n\t\treturn nextSource;\n\t}\n\n\treturn injectAfter(source, LEGACY_BLOCK_JSON_IMPORT_LINE, insertion);\n}\n\nfunction buildMigrationBlocks(\n\ttemplateId: string,\n\tvariables: ScaffoldTemplateVariables,\n): MigrationBlockConfig[] {\n\tif (templateId === \"compound\") {\n\t\treturn [\n\t\t\t{\n\t\t\t\tblockJsonFile: `src/blocks/${variables.slugKebabCase}/block.json`,\n\t\t\t\tblockName: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\t\tkey: variables.slugKebabCase,\n\t\t\t\tmanifestFile: `src/blocks/${variables.slugKebabCase}/typia.manifest.json`,\n\t\t\t\tsaveFile: `src/blocks/${variables.slugKebabCase}/save.tsx`,\n\t\t\t\ttypesFile: `src/blocks/${variables.slugKebabCase}/types.ts`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tblockJsonFile: `src/blocks/${variables.slugKebabCase}-item/block.json`,\n\t\t\t\tblockName: `${variables.namespace}/${variables.slugKebabCase}-item`,\n\t\t\t\tkey: `${variables.slugKebabCase}-item`,\n\t\t\t\tmanifestFile: `src/blocks/${variables.slugKebabCase}-item/typia.manifest.json`,\n\t\t\t\tsaveFile: `src/blocks/${variables.slugKebabCase}-item/save.tsx`,\n\t\t\t\ttypesFile: `src/blocks/${variables.slugKebabCase}-item/types.ts`,\n\t\t\t},\n\t\t];\n\t}\n\n\treturn [\n\t\t{\n\t\t\tblockJsonFile: \"src/block.json\",\n\t\t\tblockName: `${variables.namespace}/${variables.slugKebabCase}`,\n\t\t\tkey: variables.slugKebabCase,\n\t\t\tmanifestFile: \"src/typia.manifest.json\",\n\t\t\tsaveFile: \"src/save.tsx\",\n\t\t\ttypesFile: \"src/types.ts\",\n\t\t},\n\t];\n}\n\nasync function applySingleBlockPatches(\n\tprojectDir: string,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst editPath = path.join(projectDir, \"src\", \"edit.tsx\");\n\tconst indexPath = path.join(projectDir, \"src\", \"index.tsx\");\n\tconst deprecatedImport = `import { deprecated } from './migrations/generated/${variables.slugKebabCase}/deprecated';`;\n\tconst deprecatedLine = \" deprecated,\";\n\tconst dashboardImport = `import { MigrationDashboard } from './admin/migration-dashboard';`;\n\tconst migrationPanel = `\\n <PanelBody title={__('Migration Manager', '${variables.textDomain}')}>\\n <MigrationDashboard />\\n </PanelBody>\\n </InspectorControls>`;\n\n\tawait patchFile(indexPath, (source) => {\n\t\tlet nextSource = injectAfterBlockMetadataImport(source, deprecatedImport);\n\t\tnextSource = injectBefore(nextSource, \" edit: Edit,\", deprecatedLine);\n\t\treturn nextSource;\n\t});\n\n\tawait patchFile(editPath, (source) => {\n\t\tlet nextSource = injectAfter(source, \"import { useTypiaValidation } from './hooks';\", dashboardImport);\n\t\tnextSource = nextSource.replace(\"</InspectorControls>\", migrationPanel);\n\t\treturn nextSource;\n\t});\n}\n\nasync function applyCompoundPatches(\n\tprojectDir: string,\n\tvariables: ScaffoldTemplateVariables,\n): Promise<void> {\n\tconst parentEditPath = path.join(projectDir, \"src\", \"blocks\", variables.slugKebabCase, \"edit.tsx\");\n\tconst parentIndexPath = path.join(projectDir, \"src\", \"blocks\", variables.slugKebabCase, \"index.tsx\");\n\tconst childIndexPath = path.join(projectDir, \"src\", \"blocks\", `${variables.slugKebabCase}-item`, \"index.tsx\");\n\tconst addChildScriptPath = path.join(projectDir, \"scripts\", \"add-compound-child.ts\");\n\n\tawait patchFile(parentIndexPath, (source) => {\n\t\tlet nextSource = injectAfterBlockMetadataImport(\n\t\t\tsource,\n\t\t\t`import { deprecated } from '../../migrations/generated/${variables.slugKebabCase}/deprecated';`,\n\t\t);\n\t\tnextSource = injectBefore(\n\t\t\tnextSource,\n\t\t\t\"\\tedit: Edit,\",\n\t\t\t\"\\tdeprecated,\",\n\t\t);\n\t\treturn nextSource;\n\t});\n\n\tawait patchFile(childIndexPath, (source) => {\n\t\tlet nextSource = injectAfterBlockMetadataImport(\n\t\t\tsource,\n\t\t\t`import { deprecated } from '../../migrations/generated/${variables.slugKebabCase}-item/deprecated';`,\n\t\t);\n\t\tnextSource = injectBefore(\n\t\t\tnextSource,\n\t\t\t\"\\tedit: Edit,\",\n\t\t\t\"\\tdeprecated,\",\n\t\t);\n\t\treturn nextSource;\n\t});\n\n\tawait patchFile(parentEditPath, (source) => {\n\t\tlet nextSource = injectAfter(\n\t\t\tsource,\n\t\t\t\"import { useTypiaValidation } from './hooks';\",\n\t\t\t`import { MigrationDashboard } from '../../admin/migration-dashboard';`,\n\t\t);\n\t\tnextSource = nextSource.replace(\n\t\t\t\"</InspectorControls>\",\n\t\t\t`\\n\\t\\t\\t\\t<PanelBody title={ __( 'Migration Manager', '${variables.textDomain}' ) }>\\n\\t\\t\\t\\t\\t<MigrationDashboard />\\n\\t\\t\\t\\t</PanelBody>\\n\\t\\t\\t</InspectorControls>`,\n\t\t);\n\t\treturn nextSource;\n\t});\n\n\tawait patchFile(addChildScriptPath, (source) => {\n\t\tlet nextSource = injectAfter(\n\t\t\tsource,\n\t\t\t\"const PROJECT_ROOT = process.cwd();\",\n\t\t\t\"const MIGRATION_CONFIG_FILE = path.join( PROJECT_ROOT, 'src', 'migrations', 'config.ts' );\",\n\t\t);\n\t\tnextSource = injectAfterBlockMetadataImport(\n\t\t\tnextSource,\n\t\t\t\"import { deprecated } from '../../migrations/generated/${ childFolderSlug }/deprecated';\",\n\t\t);\n\t\tnextSource = nextSource.replace(\n\t\t\t\"\\\\t\\\\tedit: Edit,\\n\\\\t\\\\tsave: Save,\",\n\t\t\t\"\\\\t\\\\tdeprecated,\\n\\\\t\\\\tedit: Edit,\\n\\\\t\\\\tsave: Save,\",\n\t\t);\n\t\tnextSource = injectAfter(\n\t\t\tnextSource,\n\t\t\t\"function insertBeforeMarker( filePath: string, marker: string, insertionLines: string[] ) {\",\n\t\t\t\"\",\n\t\t);\n\t\tif ( ! nextSource.includes( \"function appendMigrationBlockConfig\" ) ) {\n\t\t\tconst appendMigrationHelper = [\n\t\t\t\t\"function appendMigrationBlockConfig( filePath: string, childBlockName: string, childFolderSlug: string ) {\",\n\t\t\t\t\"\\tif ( ! fs.existsSync( filePath ) ) {\",\n\t\t\t\t\"\\t\\treturn;\",\n\t\t\t\t\"\\t}\",\n\t\t\t\t\"\",\n\t\t\t\t\"\\tconst source = fs.readFileSync( filePath, 'utf8' );\",\n\t\t\t\t\"\\tconst blockEntry = [\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t{`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\tkey: '${ childFolderSlug }',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\tblockName: '${ childBlockName }',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\tblockJsonFile: 'src/blocks/${ childFolderSlug }/block.json',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\tmanifestFile: 'src/blocks/${ childFolderSlug }/typia.manifest.json',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\tsaveFile: 'src/blocks/${ childFolderSlug }/save.tsx',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t\\\\ttypesFile: 'src/blocks/${ childFolderSlug }/types.ts',`,\",\n\t\t\t\t\"\\t\\t`\\\\t\\\\t},`,\",\n\t\t\t\t\"\\t].join( '\\\\n' );\",\n\t\t\t\t\"\\tif ( source.includes( `key: '${ childFolderSlug }'` ) ) {\",\n\t\t\t\t\"\\t\\treturn;\",\n\t\t\t\t\"\\t}\",\n\t\t\t\t\"\\tconst nextSource = source.replace( /\\\\tblocks:\\\\s*\\\\[([\\\\s\\\\S]*?)\\\\n\\\\t\\\\],/m, ( match ) => {\",\n\t\t\t\t\"\\t\\treturn match.replace( /\\\\n\\\\t\\\\],$/, `\\\\n${ blockEntry }\\\\n\\\\t],` );\",\n\t\t\t\t\"\\t} );\",\n\t\t\t\t\"\\tfs.writeFileSync( filePath, nextSource, 'utf8' );\",\n\t\t\t\t\"}\",\n\t\t\t\t\"\",\n\t\t\t\t\"function renderBlockJson(\",\n\t\t\t].join( \"\\n\" );\n\t\t\tnextSource = nextSource.replace(\n\t\t\t\t\"function renderBlockJson(\",\n\t\t\t\tappendMigrationHelper,\n\t\t\t);\n\t\t}\n\t\tnextSource = nextSource.replace(\n\t\t\t\"console.log( `✅ Added compound child block ${ childBlockName }` );\",\n\t\t\t\"appendMigrationBlockConfig( MIGRATION_CONFIG_FILE, childBlockName, childFolderSlug );\\n\\n\\tconsole.log( `✅ Added compound child block ${ childBlockName }` );\",\n\t\t);\n\t\treturn nextSource;\n\t});\n}\n\n/**\n * Layer the migration dashboard capability onto a freshly scaffolded project.\n *\n * This copies the shared migration UI files, wires template-specific editor\n * hooks, and injects pinned migration scripts that shell out to the matching\n * `wp-typia` CLI version.\n */\nexport async function applyMigrationUiCapability({\n\tpackageManager,\n\tprojectDir,\n\ttemplateId,\n\tvariables,\n}: ApplyMigrationUiCapabilityOptions): Promise<void> {\n\tconst commonTemplateDir = path.join(\n\t\tSHARED_MIGRATION_UI_TEMPLATE_ROOT,\n\t\t\"common\",\n\t);\n\tawait copyInterpolatedDirectory(commonTemplateDir, projectDir, variables);\n\n\tawait mutatePackageJson(projectDir, (packageJson) => {\n\t\tconst wpTypiaPackageVersion = getPackageVersions().wpTypiaPackageVersion;\n\t\tconst canonicalCliSpecifier =\n\t\t\twpTypiaPackageVersion === \"^0.0.0\"\n\t\t\t\t? \"wp-typia\"\n\t\t\t\t: `wp-typia@${wpTypiaPackageVersion.replace(/^[~^]/u, \"\")}`;\n\t\tconst migrationCli = (args: string) =>\n\t\t\tformatPackageExecCommand(packageManager, canonicalCliSpecifier, `migrate ${args}`);\n\t\tpackageJson.dependencies = {\n\t\t\t...(packageJson.dependencies ?? {}),\n\t\t\t\"@wordpress/api-fetch\": \"^7.42.0\",\n\t\t};\n\t\tpackageJson.scripts = {\n\t\t\t...(packageJson.scripts ?? {}),\n\t\t\t\"migration:init\": migrationCli(`init --current-migration-version ${INITIAL_MIGRATION_VERSION}`),\n\t\t\t\"migration:snapshot\": migrationCli(\"snapshot\"),\n\t\t\t\"migration:diff\": migrationCli(\"diff\"),\n\t\t\t\"migration:scaffold\": migrationCli(\"scaffold\"),\n\t\t\t\"migration:doctor\": migrationCli(\"doctor --all\"),\n\t\t\t\"migration:fixtures\": migrationCli(\"fixtures --all\"),\n\t\t\t\"migration:verify\": migrationCli(\"verify --all\"),\n\t\t\t\"migration:fuzz\": migrationCli(\"fuzz --all\"),\n\t\t};\n\t});\n\n\tif (templateId === \"compound\") {\n\t\tawait applyCompoundPatches(projectDir, variables);\n\t} else {\n\t\tawait applySingleBlockPatches(projectDir, variables);\n\t}\n\n\tawait seedProjectMigrations(projectDir, INITIAL_MIGRATION_VERSION, buildMigrationBlocks(templateId, variables));\n}\n",
77
- "import { getPrimaryDevelopmentScript } from './local-dev-presets.js';\nimport {\n getCompoundExtensionWorkflowSection,\n getInitialCommitCommands,\n getInitialCommitNote,\n getOptionalOnboardingNote,\n getOptionalOnboardingSteps,\n getQuickStartWorkflowNote,\n getPhpRestExtensionPointsSection,\n getTemplateSourceOfTruthNote,\n} from './scaffold-onboarding.js';\nimport type { PackageManagerId } from './package-managers.js';\nimport {\n formatPackageExecCommand,\n formatInstallCommand,\n formatRunScript,\n} from './package-managers.js';\nimport { getPackageVersions } from './package-versions.js';\nimport type { ScaffoldTemplateVariables } from './scaffold.js';\n\n/**\n * Builds the generated README markdown for one scaffolded project.\n *\n * @param templateId Scaffold template family or template identifier.\n * @param variables Interpolated scaffold variables used in generated content.\n * @param packageManager Package manager used to format install and script commands.\n * @param options Optional README sections enabled by scaffold presets.\n * @returns Markdown README content for the generated project root.\n */\nexport function buildReadme(\n templateId: string,\n variables: ScaffoldTemplateVariables,\n packageManager: PackageManagerId,\n {\n withMigrationUi = false,\n withTestPreset = false,\n withWpEnv = false,\n }: {\n withMigrationUi?: boolean;\n withTestPreset?: boolean;\n withWpEnv?: boolean;\n } = {},\n): string {\n const optionalOnboardingSteps = getOptionalOnboardingSteps(packageManager, templateId, {\n compoundPersistenceEnabled: variables.compoundPersistenceEnabled === 'true',\n });\n const initialCommitCommands = getInitialCommitCommands();\n const sourceOfTruthNote = getTemplateSourceOfTruthNote(templateId, {\n compoundPersistenceEnabled: variables.compoundPersistenceEnabled === 'true',\n });\n const compoundPersistenceEnabled = variables.compoundPersistenceEnabled === 'true';\n const publicPersistencePolicyNote =\n variables.isPublicPersistencePolicy === 'true'\n ? 'Public persistence writes use signed short-lived tokens, per-request ids, and coarse rate limiting by default. Add application-specific abuse controls before using the same pattern for high-value metrics or experiments.'\n : null;\n const alternateRenderTargetSection =\n variables.hasAlternateRenderTargets === 'true'\n ? `## Alternate Render Targets\\n\\nThis scaffold keeps \\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render.php` : 'src/render.php'}\\` as the default web render boundary and also generates ${[\n variables.hasAlternateEmailRenderTarget === 'true'\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-email.php` : 'src/render-email.php'}\\``\n : null,\n variables.hasAlternateMjmlRenderTarget === 'true'\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-mjml.php` : 'src/render-mjml.php'}\\``\n : null,\n variables.hasAlternatePlainTextRenderTarget === 'true'\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-text.php` : 'src/render-text.php'}\\``\n : null,\n ]\n .filter((value): value is string => Boolean(value))\n .join(', ')}. All of those entries delegate through \\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-targets.php` : 'src/render-targets.php'}\\`, so attribute normalization, validation, and render-target adapter hooks stay aligned across web, email, MJML, and plain-text integrations.`\n : '';\n const compoundExtensionWorkflowSection = getCompoundExtensionWorkflowSection(\n packageManager,\n templateId,\n );\n const compoundInnerBlocksSection =\n templateId === 'compound'\n ? `## Compound InnerBlocks Presets\\n\\nThis scaffold starts with the \\`${variables.compoundInnerBlocksPreset}\\` preset for compound container authoring. Static nested relationships still belong in each generated \\`block.json\\` via \\`allowedBlocks\\`, \\`parent\\`, and \\`ancestor\\`, while \\`src/blocks/${variables.slugKebabCase}/children.ts\\` owns editor-only \\`InnerBlocks\\` behavior such as \\`orientation\\`, \\`templateLock\\`, \\`defaultBlock\\`, and \\`directInsert\\`.\\n\\n- \\`freeform\\`: unlocked inserter flow with the starter child template.\\n- \\`ordered\\`: vertical ordered flow with \\`templateLock=\"insert\"\\` and direct inserts.\\n- \\`horizontal\\`: row-like nested authoring with direct inserts.\\n- \\`locked-structure\\`: fully locked starter structure.\\n\\nWhen you need to change that authoring behavior later, update the preset helpers in \\`src/blocks/${variables.slugKebabCase}/children.ts\\` and keep fixed child constraints metadata-owned instead of duplicating them in editor props. If you need tighter wrapper ownership or sibling markup control, switch the generated edit components to \\`useInnerBlocksProps\\` and reuse \\`getRootInnerBlocksPropsOptions()\\` / \\`getChildInnerBlocksPropsOptions( metadata.name )\\` so the same preset behavior carries forward without rebuilding the option set by hand.`\n : '';\n const phpRestExtensionPointsSection = getPhpRestExtensionPointsSection(templateId, {\n compoundPersistenceEnabled,\n slug: variables.slug,\n });\n const developmentScript = getPrimaryDevelopmentScript(templateId);\n const noStepsHeading =\n templateId === 'query-loop' ? 'Variation Workflow' : 'Artifact Refresh';\n const wpEnvSection = withWpEnv\n ? `## Local WordPress\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'wp-env:start')}\\n${formatRunScript(packageManager, 'wp-env:stop')}\\n${formatRunScript(packageManager, 'wp-env:reset')}\\n\\`\\`\\``\n : '';\n const testPresetSection = withTestPreset\n ? `## Local Test Preset\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'wp-env:start:test')}\\n${formatRunScript(packageManager, 'wp-env:wait:test')}\\n${formatRunScript(packageManager, 'test:e2e')}\\n\\`\\`\\`\\n\\nThe generated smoke test uses \\`.wp-env.test.json\\` and verifies that the scaffolded block registers in the WordPress editor.`\n : '';\n const migrationSection = withMigrationUi\n ? `## Migration UI\\n\\nThis scaffold already includes an initialized migration workspace at \\`v1\\`, generated deprecated/runtime artifacts, and an editor-embedded migration dashboard. Migration versions are schema lineage labels and are separate from your package or plugin release version. Use the existing CLI commands to snapshot, diff, scaffold, verify, and fuzz future schema changes.\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'migration:doctor')}\\n${formatRunScript(packageManager, 'migration:verify')}\\n${formatRunScript(packageManager, 'migration:fuzz')}\\n\\`\\`\\`\\n\\nRun \\`migration:init\\` only when retrofitting migration support into an older project that was not scaffolded with \\`--with-migration-ui\\`.`\n : '';\n const advancedSyncSection =\n optionalOnboardingSteps.length > 0\n ? `## Advanced Sync\\n\\n\\`\\`\\`bash\\n${optionalOnboardingSteps.join('\\n')}\\n\\`\\`\\`\\n\\n${getOptionalOnboardingNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}`\n : `## ${noStepsHeading}\\n\\n${getOptionalOnboardingNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}`;\n\n return `# ${variables.title}\n\n${variables.description}\n\n## Template\n\n${templateId}\n\n## Quick Start\n\n\\`\\`\\`bash\n${formatInstallCommand(packageManager)}\n${formatRunScript(packageManager, developmentScript)}\n\\`\\`\\`\n\n${getQuickStartWorkflowNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}\n\n## Build and Verify\n\n\\`\\`\\`bash\n${formatRunScript(packageManager, 'build')}\n${formatRunScript(packageManager, 'typecheck')}\n${formatPackageExecCommand(\n packageManager,\n `wp-typia@${getPackageVersions().wpTypiaPackageExactVersion}`,\n 'doctor',\n )}\n\\`\\`\\`\n\n${advancedSyncSection}\n\n## Before First Commit\n\n\\`\\`\\`bash\n${initialCommitCommands.join('\\n')}\n\\`\\`\\`\n\n${getInitialCommitNote()}\n\n${sourceOfTruthNote}${publicPersistencePolicyNote ? `\\n\\n${publicPersistencePolicyNote}` : ''}${alternateRenderTargetSection ? `\\n\\n${alternateRenderTargetSection}` : ''}${compoundInnerBlocksSection ? `\\n\\n${compoundInnerBlocksSection}` : ''}${migrationSection ? `\\n\\n${migrationSection}` : ''}${compoundExtensionWorkflowSection ? `\\n\\n${compoundExtensionWorkflowSection}` : ''}${wpEnvSection ? `\\n\\n${wpEnvSection}` : ''}${testPresetSection ? `\\n\\n${testPresetSection}` : ''}${phpRestExtensionPointsSection ? `\\n\\n${phpRestExtensionPointsSection}` : ''}\n`;\n}\n\n/**\n * Build the default `.gitignore` contents for a scaffolded project.\n *\n * @returns A newline-terminated `.gitignore` string covering dependency, build, editor, OS, and WordPress artifacts.\n */\nexport function buildGitignore(): string {\n return `# Dependencies\nnode_modules/\n.yarn/\n.pnp.*\n\n# Build\nbuild/\ndist/\n\n# Editor\n.vscode/\n.idea/\n\n# OS\n.DS_Store\nThumbs.db\n\n# WordPress\n*.log\n.wp-env/\n`;\n}\n\n/**\n * Merge generated and existing text files while keeping line order stable.\n *\n * Existing unique lines are appended after the primary content, duplicate\n * non-empty lines are removed, and runs of more than two blank lines collapse\n * to a single empty separator.\n *\n * @param primaryContent Newly generated text that should appear first.\n * @param existingContent Existing file contents preserved after unique generated lines.\n * @returns The merged text block with a trailing newline.\n */\nexport function mergeTextLines(primaryContent: string, existingContent: string): string {\n const normalizedPrimary = primaryContent.replace(/\\r\\n/g, '\\n').trimEnd();\n const normalizedExisting = existingContent.replace(/\\r\\n/g, '\\n').trimEnd();\n const mergedLines: string[] = [];\n const seen = new Set<string>();\n\n for (const line of [...normalizedPrimary.split('\\n'), ...normalizedExisting.split('\\n')]) {\n if (line.length === 0 && mergedLines[mergedLines.length - 1] === '') {\n continue;\n }\n if (line.length > 0 && seen.has(line)) {\n continue;\n }\n if (line.length > 0) {\n seen.add(line);\n }\n mergedLines.push(line);\n }\n\n return `${mergedLines.join('\\n').replace(/\\n{3,}/g, '\\n\\n')}\\n`;\n}\n",
78
+ "import { getPrimaryDevelopmentScript } from './local-dev-presets.js';\nimport {\n getCompoundExtensionWorkflowSection,\n getInitialCommitCommands,\n getInitialCommitNote,\n getOptionalOnboardingNote,\n getOptionalOnboardingSteps,\n getQuickStartWorkflowNote,\n getPhpRestExtensionPointsSection,\n getTemplateSourceOfTruthNote,\n} from './scaffold-onboarding.js';\nimport type { PackageManagerId } from './package-managers.js';\nimport {\n formatPackageExecCommand,\n formatInstallCommand,\n formatRunScript,\n} from './package-managers.js';\nimport { getPackageVersions } from './package-versions.js';\nimport type { ScaffoldTemplateVariables } from './scaffold.js';\nimport { getScaffoldTemplateVariableGroups } from './scaffold-template-variable-groups.js';\n\n/**\n * Builds the generated README markdown for one scaffolded project.\n *\n * @param templateId Scaffold template family or template identifier.\n * @param variables Interpolated scaffold variables used in generated content.\n * @param packageManager Package manager used to format install and script commands.\n * @param options Optional README sections enabled by scaffold presets.\n * @returns Markdown README content for the generated project root.\n */\nexport function buildReadme(\n templateId: string,\n variables: ScaffoldTemplateVariables,\n packageManager: PackageManagerId,\n {\n withMigrationUi = false,\n withTestPreset = false,\n withWpEnv = false,\n }: {\n withMigrationUi?: boolean;\n withTestPreset?: boolean;\n withWpEnv?: boolean;\n } = {},\n): string {\n const variableGroups = getScaffoldTemplateVariableGroups(variables);\n const compoundPersistenceEnabled =\n variableGroups.compound.enabled &&\n variableGroups.compound.persistenceEnabled;\n const optionalOnboardingSteps = getOptionalOnboardingSteps(packageManager, templateId, {\n compoundPersistenceEnabled,\n });\n const initialCommitCommands = getInitialCommitCommands();\n const sourceOfTruthNote = getTemplateSourceOfTruthNote(templateId, {\n compoundPersistenceEnabled,\n });\n const publicPersistencePolicyNote =\n variableGroups.persistence.enabled && variableGroups.persistence.auth.isPublic\n ? 'Public persistence writes use signed short-lived tokens, per-request ids, and coarse rate limiting by default. Add application-specific abuse controls before using the same pattern for high-value metrics or experiments.'\n : null;\n const alternateRenderTargetSection =\n variableGroups.alternateRenderTargets.enabled\n ? `## Alternate Render Targets\\n\\nThis scaffold keeps \\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render.php` : 'src/render.php'}\\` as the default web render boundary and also generates ${[\n variableGroups.alternateRenderTargets.hasEmail\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-email.php` : 'src/render-email.php'}\\``\n : null,\n variableGroups.alternateRenderTargets.hasMjml\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-mjml.php` : 'src/render-mjml.php'}\\``\n : null,\n variableGroups.alternateRenderTargets.hasPlainText\n ? `\\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-text.php` : 'src/render-text.php'}\\``\n : null,\n ]\n .filter((value): value is string => Boolean(value))\n .join(', ')}. All of those entries delegate through \\`${templateId === 'compound' ? `src/blocks/${variables.slugKebabCase}/render-targets.php` : 'src/render-targets.php'}\\`, so attribute normalization, validation, and render-target adapter hooks stay aligned across web, email, MJML, and plain-text integrations.`\n : '';\n const compoundExtensionWorkflowSection = getCompoundExtensionWorkflowSection(\n packageManager,\n templateId,\n );\n const compoundInnerBlocksSection =\n templateId === 'compound'\n ? `## Compound InnerBlocks Presets\\n\\nThis scaffold starts with the \\`${variables.compoundInnerBlocksPreset}\\` preset for compound container authoring. Static nested relationships still belong in each generated \\`block.json\\` via \\`allowedBlocks\\`, \\`parent\\`, and \\`ancestor\\`, while \\`src/blocks/${variables.slugKebabCase}/children.ts\\` owns editor-only \\`InnerBlocks\\` behavior such as \\`orientation\\`, \\`templateLock\\`, \\`defaultBlock\\`, and \\`directInsert\\`.\\n\\n- \\`freeform\\`: unlocked inserter flow with the starter child template.\\n- \\`ordered\\`: vertical ordered flow with \\`templateLock=\"insert\"\\` and direct inserts.\\n- \\`horizontal\\`: row-like nested authoring with direct inserts.\\n- \\`locked-structure\\`: fully locked starter structure.\\n\\nWhen you need to change that authoring behavior later, update the preset helpers in \\`src/blocks/${variables.slugKebabCase}/children.ts\\` and keep fixed child constraints metadata-owned instead of duplicating them in editor props. If you need tighter wrapper ownership or sibling markup control, switch the generated edit components to \\`useInnerBlocksProps\\` and reuse \\`getRootInnerBlocksPropsOptions()\\` / \\`getChildInnerBlocksPropsOptions( metadata.name )\\` so the same preset behavior carries forward without rebuilding the option set by hand.`\n : '';\n const phpRestExtensionPointsSection = getPhpRestExtensionPointsSection(templateId, {\n compoundPersistenceEnabled,\n slug: variables.slug,\n });\n const developmentScript = getPrimaryDevelopmentScript(templateId);\n const noStepsHeading =\n templateId === 'query-loop' ? 'Variation Workflow' : 'Artifact Refresh';\n const wpEnvSection = withWpEnv\n ? `## Local WordPress\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'wp-env:start')}\\n${formatRunScript(packageManager, 'wp-env:stop')}\\n${formatRunScript(packageManager, 'wp-env:reset')}\\n\\`\\`\\``\n : '';\n const testPresetSection = withTestPreset\n ? `## Local Test Preset\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'wp-env:start:test')}\\n${formatRunScript(packageManager, 'wp-env:wait:test')}\\n${formatRunScript(packageManager, 'test:e2e')}\\n\\`\\`\\`\\n\\nThe generated smoke test uses \\`.wp-env.test.json\\` and verifies that the scaffolded block registers in the WordPress editor.`\n : '';\n const migrationSection = withMigrationUi\n ? `## Migration UI\\n\\nThis scaffold already includes an initialized migration workspace at \\`v1\\`, generated deprecated/runtime artifacts, and an editor-embedded migration dashboard. Migration versions are schema lineage labels and are separate from your package or plugin release version. Use the existing CLI commands to snapshot, diff, scaffold, verify, and fuzz future schema changes.\\n\\n\\`\\`\\`bash\\n${formatRunScript(packageManager, 'migration:doctor')}\\n${formatRunScript(packageManager, 'migration:verify')}\\n${formatRunScript(packageManager, 'migration:fuzz')}\\n\\`\\`\\`\\n\\nRun \\`migration:init\\` only when retrofitting migration support into an older project that was not scaffolded with \\`--with-migration-ui\\`.`\n : '';\n const advancedSyncSection =\n optionalOnboardingSteps.length > 0\n ? `## Advanced Sync\\n\\n\\`\\`\\`bash\\n${optionalOnboardingSteps.join('\\n')}\\n\\`\\`\\`\\n\\n${getOptionalOnboardingNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}`\n : `## ${noStepsHeading}\\n\\n${getOptionalOnboardingNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}`;\n\n return `# ${variables.title}\n\n${variables.description}\n\n## Template\n\n${templateId}\n\n## Quick Start\n\n\\`\\`\\`bash\n${formatInstallCommand(packageManager)}\n${formatRunScript(packageManager, developmentScript)}\n\\`\\`\\`\n\n${getQuickStartWorkflowNote(packageManager, templateId, {\n compoundPersistenceEnabled,\n })}\n\n## Build and Verify\n\n\\`\\`\\`bash\n${formatRunScript(packageManager, 'build')}\n${formatRunScript(packageManager, 'typecheck')}\n${formatPackageExecCommand(\n packageManager,\n `wp-typia@${getPackageVersions().wpTypiaPackageExactVersion}`,\n 'doctor',\n )}\n\\`\\`\\`\n\n${advancedSyncSection}\n\n## Before First Commit\n\n\\`\\`\\`bash\n${initialCommitCommands.join('\\n')}\n\\`\\`\\`\n\n${getInitialCommitNote()}\n\n${sourceOfTruthNote}${publicPersistencePolicyNote ? `\\n\\n${publicPersistencePolicyNote}` : ''}${alternateRenderTargetSection ? `\\n\\n${alternateRenderTargetSection}` : ''}${compoundInnerBlocksSection ? `\\n\\n${compoundInnerBlocksSection}` : ''}${migrationSection ? `\\n\\n${migrationSection}` : ''}${compoundExtensionWorkflowSection ? `\\n\\n${compoundExtensionWorkflowSection}` : ''}${wpEnvSection ? `\\n\\n${wpEnvSection}` : ''}${testPresetSection ? `\\n\\n${testPresetSection}` : ''}${phpRestExtensionPointsSection ? `\\n\\n${phpRestExtensionPointsSection}` : ''}\n`;\n}\n\n/**\n * Build the default `.gitignore` contents for a scaffolded project.\n *\n * @returns A newline-terminated `.gitignore` string covering dependency, build, editor, OS, and WordPress artifacts.\n */\nexport function buildGitignore(): string {\n return `# Dependencies\nnode_modules/\n.yarn/\n.pnp.*\n\n# Build\nbuild/\ndist/\n\n# Editor\n.vscode/\n.idea/\n\n# OS\n.DS_Store\nThumbs.db\n\n# WordPress\n*.log\n.wp-env/\n`;\n}\n\n/**\n * Merge generated and existing text files while keeping line order stable.\n *\n * Existing unique lines are appended after the primary content, duplicate\n * non-empty lines are removed, and runs of more than two blank lines collapse\n * to a single empty separator.\n *\n * @param primaryContent Newly generated text that should appear first.\n * @param existingContent Existing file contents preserved after unique generated lines.\n * @returns The merged text block with a trailing newline.\n */\nexport function mergeTextLines(primaryContent: string, existingContent: string): string {\n const normalizedPrimary = primaryContent.replace(/\\r\\n/g, '\\n').trimEnd();\n const normalizedExisting = existingContent.replace(/\\r\\n/g, '\\n').trimEnd();\n const mergedLines: string[] = [];\n const seen = new Set<string>();\n\n for (const line of [...normalizedPrimary.split('\\n'), ...normalizedExisting.split('\\n')]) {\n if (line.length === 0 && mergedLines[mergedLines.length - 1] === '') {\n continue;\n }\n if (line.length > 0 && seen.has(line)) {\n continue;\n }\n if (line.length > 0) {\n seen.add(line);\n }\n mergedLines.push(line);\n }\n\n return `${mergedLines.join('\\n').replace(/\\n{3,}/g, '\\n\\n')}\\n`;\n}\n",
78
79
  "import fs from \"node:fs\";\nimport { promises as fsp } from \"node:fs\";\nimport { execSync } from \"node:child_process\";\nimport path from \"node:path\";\n\nimport {\n\tformatInstallCommand,\n\tgetPackageManager,\n\ttransformPackageManagerText,\n} from \"./package-managers.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\n\nconst LOCKFILES: Record<PackageManagerId, string[]> = {\n\tbun: [\"bun.lock\", \"bun.lockb\"],\n\tnpm: [\"package-lock.json\"],\n\tpnpm: [\"pnpm-lock.yaml\"],\n\tyarn: [\"yarn.lock\"],\n};\n\ninterface GeneratedPackageJson {\n\tpackageManager?: string;\n\tscripts?: Record<string, string>;\n}\n\n/**\n * Normalizes scaffolded package-manager specific files for the selected toolchain.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param packageManagerId Selected package manager id.\n * @returns A promise that resolves after any package-manager sidecar files are updated.\n */\nexport async function normalizePackageManagerFiles(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n): Promise<void> {\n\tconst yarnRcPath = path.join(targetDir, \".yarnrc.yml\");\n\n\tif (packageManagerId === \"yarn\") {\n\t\tawait fsp.writeFile(yarnRcPath, \"nodeLinker: node-modules\\n\", \"utf8\");\n\t\treturn;\n\t}\n\n\tawait fsp.rm(yarnRcPath, { force: true });\n}\n\n/**\n * Rewrites the generated package.json for the selected package manager.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param packageManagerId Selected package manager id.\n * @returns A promise that resolves after the package.json file is normalized.\n */\nexport async function normalizePackageJson(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n): Promise<void> {\n\tconst packageJsonPath = path.join(targetDir, \"package.json\");\n\tif (!fs.existsSync(packageJsonPath)) {\n\t\treturn;\n\t}\n\n\tconst packageManager = getPackageManager(packageManagerId);\n\tconst packageJson = JSON.parse(await fsp.readFile(packageJsonPath, \"utf8\")) as GeneratedPackageJson;\n\tif (packageManagerId === \"npm\") {\n\t\tdelete packageJson.packageManager;\n\t} else {\n\t\tpackageJson.packageManager = packageManager.packageManagerField;\n\t}\n\n\tif (packageJson.scripts) {\n\t\tfor (const [key, value] of Object.entries(packageJson.scripts)) {\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\tpackageJson.scripts[key] = transformPackageManagerText(value, packageManagerId);\n\t\t\t}\n\t\t}\n\t}\n\n\tawait fsp.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, \"\\t\")}\\n`, \"utf8\");\n}\n\n/**\n * Removes lockfiles that do not match the selected package manager.\n *\n * @param targetDir Absolute scaffold target directory.\n * @param packageManagerId Selected package manager id.\n * @returns A promise that resolves after stale lockfiles are removed.\n */\nexport async function removeUnexpectedLockfiles(\n\ttargetDir: string,\n\tpackageManagerId: PackageManagerId,\n): Promise<void> {\n\tconst keep = new Set(LOCKFILES[packageManagerId] ?? []);\n\tconst allLockfiles = Object.values(LOCKFILES).flat();\n\n\tawait Promise.all(\n\t\tallLockfiles.map(async (filename) => {\n\t\t\tif (keep.has(filename)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait fsp.rm(path.join(targetDir, filename), { force: true });\n\t\t}),\n\t);\n}\n\n/**\n * Installs scaffolded project dependencies with the selected package manager.\n *\n * @param options Absolute target directory and selected package manager id.\n * @returns A promise that resolves after the install command completes.\n */\nexport async function defaultInstallDependencies({\n\tprojectDir,\n\tpackageManager,\n}: {\n\tprojectDir: string;\n\tpackageManager: PackageManagerId;\n}): Promise<void> {\n\texecSync(formatInstallCommand(packageManager), {\n\t\tcwd: projectDir,\n\t\tstdio: \"inherit\",\n\t});\n}\n",
79
80
  "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\n\nimport { PROJECT_TOOLS_PACKAGE_ROOT } from \"./template-registry.js\";\n\ninterface RepositoryPackageManifest {\n\trepository?:\n\t\t| string\n\t\t| {\n\t\t\t\ttype?: string;\n\t\t\t\turl?: string;\n\t\t };\n}\n\nconst require = createRequire(import.meta.url);\n\n/**\n * Default scaffold repository reference used when no GitHub repository metadata\n * can be resolved from the current runtime package manifests.\n */\nexport const DEFAULT_SCAFFOLD_REPOSITORY_REFERENCE = \"imjlk/wp-typia\";\n\nfunction getErrorCode(error: unknown): string | undefined {\n\treturn typeof error === \"object\" && error !== null && \"code\" in error\n\t\t? String((error as { code: unknown }).code)\n\t\t: undefined;\n}\n\nfunction readRepositoryPackageManifest(\n\tpackageJsonPath: string,\n): RepositoryPackageManifest | null {\n\ttry {\n\t\treturn JSON.parse(\n\t\t\tfs.readFileSync(packageJsonPath, \"utf8\"),\n\t\t) as RepositoryPackageManifest;\n\t} catch (error) {\n\t\tif (getErrorCode(error) === \"ENOENT\") {\n\t\t\treturn null;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nfunction resolveInstalledPackageManifestPath(\n\tpackageName: string,\n): string | null {\n\ttry {\n\t\treturn require.resolve(`${packageName}/package.json`);\n\t} catch (error) {\n\t\tif (getErrorCode(error) === \"MODULE_NOT_FOUND\") {\n\t\t\treturn null;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nfunction getRepositoryFieldValue(\n\tmanifest: RepositoryPackageManifest | null,\n): string | undefined {\n\tif (!manifest?.repository) {\n\t\treturn undefined;\n\t}\n\n\treturn typeof manifest.repository === \"string\"\n\t\t? manifest.repository\n\t\t: manifest.repository.url;\n}\n\nfunction parseRepositoryReference(\n\tvalue: string | undefined,\n): string | null {\n\tconst trimmed = value?.trim();\n\tif (!trimmed) {\n\t\treturn null;\n\t}\n\n\tconst githubShorthandMatch = trimmed.match(\n\t\t/^github:([A-Za-z0-9_.-]+)\\/([A-Za-z0-9_.-]+?)(?:#.*)?$/u,\n\t);\n\tif (githubShorthandMatch) {\n\t\treturn `${githubShorthandMatch[1]}/${githubShorthandMatch[2]}`;\n\t}\n\n\tif (/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/u.test(trimmed)) {\n\t\treturn trimmed;\n\t}\n\n\tconst githubScpMatch = trimmed.match(\n\t\t/^git@github\\.com:([A-Za-z0-9_.-]+)\\/([A-Za-z0-9_.-]+?)(?:\\.git)?(?:#.*)?$/u,\n\t);\n\tif (githubScpMatch) {\n\t\treturn `${githubScpMatch[1]}/${githubScpMatch[2]}`;\n\t}\n\n\tconst normalizedValue = trimmed\n\t\t.replace(/^git\\+/u, \"\")\n\t\t.replace(/#.*$/u, \"\");\n\n\tlet parsedUrl: URL;\n\ttry {\n\t\tparsedUrl = new URL(normalizedValue);\n\t} catch {\n\t\treturn null;\n\t}\n\n\tif (parsedUrl.hostname !== \"github.com\") {\n\t\treturn null;\n\t}\n\n\tconst pathSegments = parsedUrl.pathname\n\t\t.replace(/^\\/+/u, \"\")\n\t\t.replace(/\\.git$/u, \"\")\n\t\t.split(\"/\");\n\tif (pathSegments.length < 2 || !pathSegments[0] || !pathSegments[1]) {\n\t\treturn null;\n\t}\n\n\treturn `${pathSegments[0]}/${pathSegments[1]}`;\n}\n\nfunction getDefaultRepositoryManifestPaths(): string[] {\n\tconst candidatePaths = [\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"..\", \"package.json\"),\n\t\tpath.resolve(PROJECT_TOOLS_PACKAGE_ROOT, \"..\", \"wp-typia\", \"package.json\"),\n\t\tpath.join(PROJECT_TOOLS_PACKAGE_ROOT, \"package.json\"),\n\t\tresolveInstalledPackageManifestPath(\"wp-typia\"),\n\t\tresolveInstalledPackageManifestPath(\"@wp-typia/project-tools\"),\n\t].filter((candidatePath): candidatePath is string => Boolean(candidatePath));\n\n\treturn candidatePaths.filter(\n\t\t(candidatePath, index, allPaths) =>\n\t\t\tallPaths.indexOf(candidatePath) === index,\n\t);\n}\n\n/**\n * Resolves the canonical scaffold repository reference in `owner/repo` format.\n *\n * The resolver checks candidate package manifests in priority order, extracts\n * their `repository` field, and returns the first GitHub slug it can parse.\n * When no candidate yields a GitHub repository reference, the fallback value\n * is returned instead.\n */\nexport function resolveScaffoldRepositoryReference({\n\tfallback = DEFAULT_SCAFFOLD_REPOSITORY_REFERENCE,\n\tmanifestPaths = getDefaultRepositoryManifestPaths(),\n}: {\n\tfallback?: string;\n\tmanifestPaths?: readonly string[];\n} = {}): string {\n\tfor (const manifestPath of manifestPaths) {\n\t\tconst repositoryReference = parseRepositoryReference(\n\t\t\tgetRepositoryFieldValue(readRepositoryPackageManifest(manifestPath)),\n\t\t);\n\n\t\tif (repositoryReference) {\n\t\t\treturn repositoryReference;\n\t\t}\n\t}\n\n\treturn fallback;\n}\n\n/**\n * Replaces legacy scaffold repository placeholders with a concrete\n * `owner/repo` reference.\n */\nexport function replaceRepositoryReferencePlaceholders(\n\tsource: string,\n\trepositoryReference: string,\n): string {\n\treturn source\n\t\t.replace(/yourusername\\/wp-typia-boilerplate/g, repositoryReference)\n\t\t.replace(/yourusername\\/wp-typia/g, repositoryReference);\n}\n",
80
81
  "import path from 'node:path'\n\nimport npa from 'npm-package-arg'\n\nimport {\n BUILTIN_TEMPLATE_IDS,\n isBuiltInTemplateId,\n} from './template-registry.js'\nimport {\n getRemovedBuiltInTemplateMessage,\n isRemovedBuiltInTemplateId,\n} from './template-defaults.js'\nimport type {\n GitHubTemplateLocator,\n NpmTemplateLocator,\n RemoteTemplateLocator,\n} from './template-source-contracts.js'\n\nfunction isTemplatePathLocator(templateId: string): boolean {\n return (\n path.isAbsolute(templateId) ||\n templateId.startsWith('./') ||\n templateId.startsWith('../')\n )\n}\n\nexport function parseGitHubTemplateLocator(\n templateId: string,\n): GitHubTemplateLocator | null {\n if (!templateId.startsWith('github:')) {\n return null\n }\n\n const [locatorBody, refSegment] = templateId\n .slice('github:'.length)\n .split('#', 2)\n const segments = locatorBody.split('/').filter(Boolean)\n if (segments.length < 3) {\n throw new Error(\n `GitHub template locators must look like github:owner/repo/path[#ref]. Received: ${templateId}`,\n )\n }\n\n const [owner, repo, ...sourcePathSegments] = segments\n return {\n owner,\n repo,\n ref: refSegment ?? null,\n sourcePath: sourcePathSegments.join('/'),\n }\n}\n\nexport function parseNpmTemplateLocator(\n templateId: string,\n): NpmTemplateLocator | null {\n if (\n isBuiltInTemplateId(templateId) ||\n isTemplatePathLocator(templateId) ||\n templateId.startsWith('github:')\n ) {\n return null\n }\n\n try {\n const parsed = npa(templateId)\n if (!parsed.registry || !parsed.name) {\n return null\n }\n const parsedWithRawSpec = parsed as unknown as { rawSpec?: unknown }\n const rawSpec =\n typeof parsedWithRawSpec.rawSpec === 'string'\n ? parsedWithRawSpec.rawSpec\n : ''\n\n return {\n fetchSpec: typeof parsed.fetchSpec === 'string' ? parsed.fetchSpec : '',\n name: parsed.name,\n raw: templateId,\n rawSpec,\n type: parsed.type,\n }\n } catch {\n return null\n }\n}\n\nexport function parseTemplateLocator(\n templateId: string,\n): RemoteTemplateLocator {\n if (isRemovedBuiltInTemplateId(templateId)) {\n throw new Error(getRemovedBuiltInTemplateMessage(templateId))\n }\n\n const githubLocator = parseGitHubTemplateLocator(templateId)\n if (githubLocator) {\n return { kind: 'github', locator: githubLocator }\n }\n\n if (isTemplatePathLocator(templateId)) {\n return { kind: 'path', templatePath: templateId }\n }\n\n const npmLocator = parseNpmTemplateLocator(templateId)\n if (npmLocator) {\n return { kind: 'npm', locator: npmLocator }\n }\n\n throw new Error(\n `Unknown template \"${templateId}\". Expected one of: ${BUILTIN_TEMPLATE_IDS.join(', ')}, a local path, github:owner/repo/path[#ref], or an npm package spec.`,\n )\n}\n",
81
82
  "/// <reference path=\"./external-template-modules.d.ts\" />\n\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { loadExternalTemplateLayerManifest } from './template-layers.js'\nimport { getPackageVersions } from './package-versions.js'\nimport { getExternalTemplateEntry } from './template-source-external.js'\nimport { getTemplateProjectType } from './template-source-remote.js'\nexport { renderCreateBlockExternalTemplate } from './template-source-external.js'\nexport {\n getTemplateProjectType,\n getDefaultCategory,\n normalizeCreateBlockSubset,\n normalizeWpTypiaTemplateSeed,\n} from './template-source-remote.js'\nimport type {\n TemplateSourceFormat,\n TemplateVariableContext,\n} from './template-source-contracts.js'\n\nexport function getTemplateVariableContext(variables: {\n [key: string]: string\n}): TemplateVariableContext {\n const {\n apiClientPackageVersion,\n blockRuntimePackageVersion,\n blockTypesPackageVersion,\n projectToolsPackageVersion,\n restPackageVersion,\n } = getPackageVersions()\n return {\n ...variables,\n apiClientPackageVersion:\n variables.apiClientPackageVersion ?? apiClientPackageVersion,\n blockRuntimePackageVersion:\n variables.blockRuntimePackageVersion ?? blockRuntimePackageVersion,\n blockTypesPackageVersion:\n variables.blockTypesPackageVersion ?? blockTypesPackageVersion,\n projectToolsPackageVersion:\n variables.projectToolsPackageVersion ?? projectToolsPackageVersion,\n description: variables.description,\n keyword: variables.keyword,\n namespace: variables.namespace,\n pascalCase: variables.pascalCase,\n phpPrefix: variables.phpPrefix,\n restPackageVersion: variables.restPackageVersion ?? restPackageVersion,\n slug: variables.slug,\n textDomain: variables.textDomain,\n title: variables.title,\n }\n}\n\nexport async function detectTemplateSourceFormat(\n sourceDir: string,\n): Promise<TemplateSourceFormat> {\n if (fs.existsSync(path.join(sourceDir, 'package.json.mustache'))) {\n return 'wp-typia'\n }\n\n if (await loadExternalTemplateLayerManifest(sourceDir)) {\n throw new Error(\n `Template source at ${sourceDir} is an external layer package. External layers currently compose only through built-in scaffolds via the runtime API, not as standalone template ids.`,\n )\n }\n\n if (getExternalTemplateEntry(sourceDir)) {\n return 'create-block-external'\n }\n\n if (getTemplateProjectType(sourceDir) !== null) {\n return 'wp-typia'\n }\n\n const sourceRoot = fs.existsSync(path.join(sourceDir, 'src'))\n ? path.join(sourceDir, 'src')\n : sourceDir\n const blockJsonCandidates = [\n path.join(sourceDir, 'block.json'),\n path.join(sourceRoot, 'block.json'),\n ]\n const hasBlockJson = blockJsonCandidates.some((candidate) =>\n fs.existsSync(candidate),\n )\n const hasIndexFile = ['index.js', 'index.jsx', 'index.ts', 'index.tsx'].some(\n (filename) => fs.existsSync(path.join(sourceRoot, filename)),\n )\n const hasEditFile = ['edit.js', 'edit.jsx', 'edit.ts', 'edit.tsx'].some(\n (filename) => fs.existsSync(path.join(sourceRoot, filename)),\n )\n const hasSaveFile = ['save.js', 'save.jsx', 'save.ts', 'save.tsx'].some(\n (filename) => fs.existsSync(path.join(sourceRoot, filename)),\n )\n\n if (hasBlockJson && hasIndexFile && hasEditFile && hasSaveFile) {\n return 'create-block-subset'\n }\n\n throw new Error(\n `Unsupported template source at ${sourceDir}. Expected a wp-typia template directory, an official create-block external template config, or a create-block subset with block.json and src/index/edit/save files.`,\n )\n}\n",
82
83
  "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { promises as fsp } from \"node:fs\";\n\nimport { isPlainObject } from \"./object-utils.js\";\nimport {\n\tgetBuiltInSharedTemplateLayerDir,\n\tisBuiltInSharedTemplateLayerId,\n} from \"./template-builtins.js\";\nimport { listInterpolatedDirectoryOutputs } from \"./template-render.js\";\n\nexport const TEMPLATE_LAYER_MANIFEST_FILENAME = \"wp-typia.layers.json\";\nconst TEMPLATE_LAYER_MANIFEST_VERSION = 1 as const;\n\nexport interface ExternalTemplateLayerDefinition {\n\tdescription?: string;\n\textends?: string[];\n\tpath: string;\n}\n\nexport interface ExternalTemplateLayerManifest {\n\tlayers: Record<string, ExternalTemplateLayerDefinition>;\n\tversion: typeof TEMPLATE_LAYER_MANIFEST_VERSION;\n}\n\nexport interface ResolvedTemplateLayerEntry {\n\tdir: string;\n\tid: string;\n\tkind: \"built-in\" | \"external\";\n}\n\nexport interface ResolvedExternalTemplateLayers {\n\tentries: ResolvedTemplateLayerEntry[];\n\tselectedLayerId: string;\n}\n\nexport interface SelectableExternalTemplateLayer {\n\tdescription?: string;\n\textends: string[];\n\tid: string;\n}\n\nfunction resolveLayerPath(sourceRoot: string, relativePath: string): string {\n\tconst targetPath = path.resolve(sourceRoot, relativePath);\n\tconst relativeTarget = path.relative(sourceRoot, targetPath);\n\tif (relativeTarget.startsWith(\"..\") || path.isAbsolute(relativeTarget)) {\n\t\tthrow new Error(\n\t\t\t`Template layer path \"${relativePath}\" must stay within ${sourceRoot}.`,\n\t\t);\n\t}\n\treturn targetPath;\n}\n\nasync function assertNoSymlinks(sourceDir: string): Promise<void> {\n\tconst stats = await fsp.lstat(sourceDir);\n\tif (stats.isSymbolicLink()) {\n\t\tthrow new Error(`Template layer packages may not include symbolic links: ${sourceDir}`);\n\t}\n\n\tif (!stats.isDirectory()) {\n\t\treturn;\n\t}\n\n\tfor (const entry of await fsp.readdir(sourceDir)) {\n\t\tawait assertNoSymlinks(path.join(sourceDir, entry));\n\t}\n}\n\nfunction parseLayerDefinition(\n\tlayerId: string,\n\tvalue: unknown,\n): ExternalTemplateLayerDefinition {\n\tif (isBuiltInSharedTemplateLayerId(layerId)) {\n\t\tthrow new Error(\n\t\t\t`Layer \"${layerId}\" uses a reserved built-in shared layer id and cannot be redefined in ${TEMPLATE_LAYER_MANIFEST_FILENAME}.`,\n\t\t);\n\t}\n\n\tif (!isPlainObject(value)) {\n\t\tthrow new Error(`Layer \"${layerId}\" in ${TEMPLATE_LAYER_MANIFEST_FILENAME} must be an object.`);\n\t}\n\n\tconst layerPath = value.path;\n\tif (typeof layerPath !== \"string\" || layerPath.trim().length === 0) {\n\t\tthrow new Error(`Layer \"${layerId}\" must define a non-empty string \"path\".`);\n\t}\n\n\tconst layerExtends = value.extends;\n\tif (\n\t\ttypeof layerExtends !== \"undefined\" &&\n\t\t(!Array.isArray(layerExtends) ||\n\t\t\t!layerExtends.every(\n\t\t\t\t(entry) => typeof entry === \"string\" && entry.trim().length > 0,\n\t\t\t))\n\t) {\n\t\tthrow new Error(\n\t\t\t`Layer \"${layerId}\" must define \"extends\" as an array of non-empty strings when present.`,\n\t\t);\n\t}\n\n\tconst description = value.description;\n\tif (\n\t\ttypeof description !== \"undefined\" &&\n\t\t(typeof description !== \"string\" || description.trim().length === 0)\n\t) {\n\t\tthrow new Error(\n\t\t\t`Layer \"${layerId}\" must define \"description\" as a non-empty string when present.`,\n\t\t);\n\t}\n\n\treturn {\n\t\tdescription: typeof description === \"string\" ? description : undefined,\n\t\textends: Array.isArray(layerExtends) ? [...layerExtends] : undefined,\n\t\tpath: layerPath,\n\t};\n}\n\nexport async function loadExternalTemplateLayerManifest(\n\tsourceRoot: string,\n): Promise<ExternalTemplateLayerManifest | null> {\n\tconst manifestPath = path.join(sourceRoot, TEMPLATE_LAYER_MANIFEST_FILENAME);\n\tif (!fs.existsSync(manifestPath)) {\n\t\treturn null;\n\t}\n\n\tconst raw = JSON.parse(\n\t\tawait fsp.readFile(manifestPath, \"utf8\"),\n\t) as Record<string, unknown>;\n\tif (!isPlainObject(raw)) {\n\t\tthrow new Error(`${TEMPLATE_LAYER_MANIFEST_FILENAME} must export a JSON object.`);\n\t}\n\n\tif (raw.version !== TEMPLATE_LAYER_MANIFEST_VERSION) {\n\t\tthrow new Error(\n\t\t\t`${TEMPLATE_LAYER_MANIFEST_FILENAME} must declare \"version\": ${TEMPLATE_LAYER_MANIFEST_VERSION}.`,\n\t\t);\n\t}\n\n\tif (!isPlainObject(raw.layers) || Object.keys(raw.layers).length === 0) {\n\t\tthrow new Error(\n\t\t\t`${TEMPLATE_LAYER_MANIFEST_FILENAME} must define a non-empty \"layers\" object.`,\n\t\t);\n\t}\n\n\treturn {\n\t\tlayers: Object.fromEntries(\n\t\t\tObject.entries(raw.layers).map(([layerId, value]) => [\n\t\t\t\tlayerId,\n\t\t\t\tparseLayerDefinition(layerId, value),\n\t\t\t]),\n\t\t),\n\t\tversion: TEMPLATE_LAYER_MANIFEST_VERSION,\n\t};\n}\n\nfunction getSelectableExternalLayers(\n\tmanifest: ExternalTemplateLayerManifest,\n): SelectableExternalTemplateLayer[] {\n\tconst layerIds = Object.keys(manifest.layers);\n\tconst referencedExternalLayerIds = new Set<string>();\n\tfor (const definition of Object.values(manifest.layers)) {\n\t\tfor (const ancestorId of definition.extends ?? []) {\n\t\t\tif (ancestorId in manifest.layers) {\n\t\t\t\treferencedExternalLayerIds.add(ancestorId);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst publicLayerIds = layerIds.filter(\n\t\t(layerId) => !referencedExternalLayerIds.has(layerId),\n\t);\n\treturn publicLayerIds.map((layerId) => ({\n\t\tdescription: manifest.layers[layerId]?.description,\n\t\textends: [...(manifest.layers[layerId]?.extends ?? [])],\n\t\tid: layerId,\n\t}));\n}\n\nfunction getDefaultExternalLayerId(\n\tmanifest: ExternalTemplateLayerManifest,\n): string {\n\tconst selectableLayers = getSelectableExternalLayers(manifest);\n\tif (selectableLayers.length === 1) {\n\t\treturn selectableLayers[0].id;\n\t}\n\tconst layerIds = Object.keys(manifest.layers);\n\n\tthrow new Error(\n\t\t`External layer package defines multiple selectable layers (${layerIds.join(\", \")}). Pass an explicit externalLayerId or rerun through the interactive CLI selector.`,\n\t);\n}\n\nexport async function listSelectableExternalTemplateLayers(\n\tsourceRoot: string,\n): Promise<SelectableExternalTemplateLayer[]> {\n\tconst manifest = await loadExternalTemplateLayerManifest(sourceRoot);\n\tif (!manifest) {\n\t\tthrow new Error(\n\t\t\t`No ${TEMPLATE_LAYER_MANIFEST_FILENAME} manifest found in ${sourceRoot}.`,\n\t\t);\n\t}\n\n\treturn getSelectableExternalLayers(manifest);\n}\n\nexport async function resolveExternalTemplateLayers({\n\texternalLayerId,\n\tsourceRoot,\n}: {\n\texternalLayerId?: string;\n\tsourceRoot: string;\n}): Promise<ResolvedExternalTemplateLayers> {\n\tconst manifest = await loadExternalTemplateLayerManifest(sourceRoot);\n\tif (!manifest) {\n\t\tthrow new Error(\n\t\t\t`No ${TEMPLATE_LAYER_MANIFEST_FILENAME} manifest found in ${sourceRoot}.`,\n\t\t);\n\t}\n\tconst manifestDocument = manifest;\n\n\tconst selectedLayerId =\n\t\texternalLayerId ?? getDefaultExternalLayerId(manifestDocument);\n\tif (!(selectedLayerId in manifestDocument.layers)) {\n\t\tthrow new Error(\n\t\t\t`Unknown external layer \"${selectedLayerId}\". Expected one of: ${Object.keys(manifestDocument.layers).join(\", \")}`,\n\t\t);\n\t}\n\n\tconst entries: ResolvedTemplateLayerEntry[] = [];\n\tconst emittedLayerIds = new Set<string>();\n\tconst visitingLayerIds = new Set<string>();\n\n\tasync function visitLayer(layerId: string): Promise<void> {\n\t\tif (isBuiltInSharedTemplateLayerId(layerId)) {\n\t\t\tif (!emittedLayerIds.has(layerId)) {\n\t\t\t\tentries.push({\n\t\t\t\t\tdir: getBuiltInSharedTemplateLayerDir(layerId),\n\t\t\t\t\tid: layerId,\n\t\t\t\t\tkind: \"built-in\",\n\t\t\t\t});\n\t\t\t\temittedLayerIds.add(layerId);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst definition = manifestDocument.layers[layerId];\n\t\tif (!definition) {\n\t\t\tthrow new Error(\n\t\t\t\t`Layer \"${layerId}\" is not defined in ${TEMPLATE_LAYER_MANIFEST_FILENAME}.`,\n\t\t\t);\n\t\t}\n\t\tif (visitingLayerIds.has(layerId)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Detected a cycle while resolving external layer \"${layerId}\".`,\n\t\t\t);\n\t\t}\n\n\t\tvisitingLayerIds.add(layerId);\n\t\tfor (const ancestorId of definition.extends ?? []) {\n\t\t\tawait visitLayer(ancestorId);\n\t\t}\n\t\tvisitingLayerIds.delete(layerId);\n\n\t\tif (emittedLayerIds.has(layerId)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layerDir = resolveLayerPath(sourceRoot, definition.path);\n\t\tconst stats = await fsp.stat(layerDir).catch(() => null);\n\t\tif (!stats || !stats.isDirectory()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Layer \"${layerId}\" points to a missing directory: ${definition.path}`,\n\t\t\t);\n\t\t}\n\t\tawait assertNoSymlinks(layerDir);\n\n\t\tentries.push({\n\t\t\tdir: layerDir,\n\t\t\tid: layerId,\n\t\t\tkind: \"external\",\n\t\t});\n\t\temittedLayerIds.add(layerId);\n\t}\n\n\tawait visitLayer(selectedLayerId);\n\treturn {\n\t\tentries,\n\t\tselectedLayerId,\n\t};\n}\n\nexport async function assertExternalTemplateLayersDoNotWriteProtectedOutputs({\n\texternalEntries,\n\tprotectedOutputPaths,\n\tview,\n}: {\n\texternalEntries: readonly ResolvedTemplateLayerEntry[];\n\tprotectedOutputPaths: ReadonlySet<string>;\n\tview: Record<string, string>;\n}): Promise<void> {\n\tfor (const entry of externalEntries) {\n\t\tif (entry.kind !== \"external\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst renderedOutputPaths = await listInterpolatedDirectoryOutputs(\n\t\t\tentry.dir,\n\t\t\tview,\n\t\t);\n\t\tfor (const relativePath of renderedOutputPaths) {\n\t\t\tif (!protectedOutputPaths.has(relativePath)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t`External layer \"${entry.id}\" writes protected output \"${relativePath}\".`,\n\t\t\t);\n\t\t}\n\t}\n}\n",
83
- "/// <reference path=\"./external-template-modules.d.ts\" />\n\nimport fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { pathToFileURL } from 'node:url'\n\nimport { isPlainObject, type UnknownRecord } from './object-utils.js'\nimport { toSegmentPascalCase } from './string-case.js'\nimport { copyRawDirectory, copyRenderedDirectory } from './template-render.js'\nimport type {\n ExternalTemplateConfig,\n SeedSource,\n TemplateVariableContext,\n} from './template-source-contracts.js'\n\n/**\n * Candidate filenames for official external template config entrypoints.\n */\nexport const EXTERNAL_TEMPLATE_ENTRY_CANDIDATES = [\n 'index.js',\n 'index.cjs',\n 'index.mjs',\n] as const\nconst TEMPLATE_WARNING_MESSAGE =\n 'wp-typia owns package/tooling/sync setup for generated projects, so this external template setting is ignored.'\n\nfunction getTemplateWarning(key: string): string {\n return `Ignoring external template config key \"${key}\": ${TEMPLATE_WARNING_MESSAGE}`\n}\n\nfunction resolveSourceSubpath(sourceDir: string, relativePath: string): string {\n const targetPath = path.resolve(sourceDir, relativePath)\n const relativeTarget = path.relative(sourceDir, targetPath)\n if (relativeTarget.startsWith('..') || path.isAbsolute(relativeTarget)) {\n throw new Error(\n `Template path \"${relativePath}\" must stay within ${sourceDir}.`,\n )\n }\n return targetPath\n}\n\n/**\n * Search a source directory for the first supported external template entry.\n *\n * @param sourceDir Directory that may contain an external template config entry.\n * @returns The first matching entry path, or null when no supported entry exists.\n */\nexport function getExternalTemplateEntry(sourceDir: string): string | null {\n for (const filename of EXTERNAL_TEMPLATE_ENTRY_CANDIDATES) {\n const candidate = path.join(sourceDir, filename)\n if (fs.existsSync(candidate)) {\n return candidate\n }\n }\n\n return null\n}\n\nasync function loadExternalTemplateConfig<\n TView extends UnknownRecord = TemplateVariableContext,\n>(\n sourceDir: string,\n): Promise<{\n config: ExternalTemplateConfig<TView>\n warnings: string[]\n}> {\n const entryPath = getExternalTemplateEntry(sourceDir)\n if (!entryPath) {\n throw new Error(`No external template config entry found in ${sourceDir}.`)\n }\n\n const moduleUrl = `${pathToFileURL(entryPath).href}?mtime=${fs.statSync(entryPath).mtimeMs}`\n const loadedModule = (await import(moduleUrl)) as Record<string, unknown>\n const loadedConfig = loadedModule.default ?? loadedModule\n if (!isPlainObject(loadedConfig)) {\n throw new Error(\n `External template config must export an object: ${entryPath}`,\n )\n }\n\n const warnings: string[] = []\n for (const ignoredKey of [\n 'wpScripts',\n 'wpEnv',\n 'customScripts',\n 'npmDependencies',\n 'npmDevDependencies',\n 'customPackageJSON',\n 'pluginReadme',\n 'pluginHeader',\n ]) {\n if (ignoredKey in loadedConfig) {\n warnings.push(getTemplateWarning(ignoredKey))\n }\n }\n\n return {\n config: loadedConfig as ExternalTemplateConfig<TView>,\n warnings,\n }\n}\n\nfunction getVariantFlagName(variantName: string): string {\n return `is${toSegmentPascalCase(variantName)}Variant`\n}\n\nfunction getVariantKeys<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n): string[] {\n return isPlainObject(config.variants) ? Object.keys(config.variants) : []\n}\n\nfunction getVariantConfig<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n requestedVariant?: string,\n): {\n selectedVariant: string | null\n variantConfig: Partial<TView>\n} {\n const variantKeys = getVariantKeys(config)\n if (variantKeys.length === 0) {\n if (requestedVariant) {\n throw new Error(\n `Variant \"${requestedVariant}\" was requested, but the external template does not define any variants.`,\n )\n }\n\n return {\n selectedVariant: null,\n variantConfig: {},\n }\n }\n\n const selectedVariant = requestedVariant ?? variantKeys[0]\n if (!selectedVariant || !isPlainObject(config.variants?.[selectedVariant])) {\n throw new Error(\n `Unknown template variant \"${requestedVariant}\". Expected one of: ${variantKeys.join(', ')}`,\n )\n }\n\n return {\n selectedVariant,\n variantConfig: config.variants?.[selectedVariant] ?? {},\n }\n}\n\nfunction extractVariantRenderValues<TView extends UnknownRecord>(\n variantConfig: Partial<TView>,\n): Partial<TView> {\n const values = { ...variantConfig }\n delete values.assetsPath\n delete values.blockTemplatesPath\n delete values.folderName\n delete values.pluginTemplatesPath\n delete values.transformer\n return values\n}\n\nfunction resolveConfiguredTemplatePath<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n variantConfig: Partial<TView>,\n): {\n folderName: string\n formatHint: 'create-block-subset' | 'wp-typia'\n templatePath: string\n} {\n const variantPluginTemplatesPath =\n typeof variantConfig.pluginTemplatesPath === 'string'\n ? variantConfig.pluginTemplatesPath\n : null\n const variantBlockTemplatesPath =\n typeof variantConfig.blockTemplatesPath === 'string'\n ? variantConfig.blockTemplatesPath\n : null\n const configBlockTemplatesPath =\n typeof config.blockTemplatesPath === 'string'\n ? config.blockTemplatesPath\n : null\n const configPluginTemplatesPath =\n typeof config.pluginTemplatesPath === 'string'\n ? config.pluginTemplatesPath\n : null\n\n const templatePath =\n variantPluginTemplatesPath ??\n variantBlockTemplatesPath ??\n configBlockTemplatesPath ??\n configPluginTemplatesPath\n if (!templatePath) {\n throw new Error(\n 'External template config must define blockTemplatesPath or pluginTemplatesPath.',\n )\n }\n\n const configuredFolderName =\n (typeof variantConfig.folderName === 'string'\n ? variantConfig.folderName\n : config.folderName) ?? null\n\n return {\n folderName: configuredFolderName || '.',\n formatHint:\n templatePath === variantPluginTemplatesPath ||\n templatePath === configPluginTemplatesPath\n ? 'wp-typia'\n : 'create-block-subset',\n templatePath,\n }\n}\n\nasync function buildExternalTemplateView(\n context: TemplateVariableContext,\n config: ExternalTemplateConfig<TemplateVariableContext>,\n selectedVariant: string | null,\n variantConfig: Partial<TemplateVariableContext>,\n): Promise<TemplateVariableContext> {\n const mergedView: TemplateVariableContext = {\n ...(config.defaultValues ?? {}),\n ...extractVariantRenderValues(variantConfig),\n ...context,\n }\n\n if (selectedVariant) {\n mergedView.variant = selectedVariant\n mergedView[getVariantFlagName(selectedVariant)] = true\n }\n\n if (!config.transformer) {\n return mergedView\n }\n\n const transformed = await config.transformer(mergedView)\n if (!isPlainObject(transformed)) {\n throw new Error(\n 'External template transformer(view) must return an object.',\n )\n }\n\n return {\n ...mergedView,\n ...transformed,\n }\n}\n\n/**\n * Load an official external template config and render its seed.\n *\n * @param sourceDir Source directory that contains the external template config.\n * @param context Template render context used for the selected variant.\n * @param requestedVariant Optional explicit variant override.\n * @returns A rendered temporary seed directory with optional assets and cleanup.\n */\nexport async function renderCreateBlockExternalTemplate(\n sourceDir: string,\n context: TemplateVariableContext,\n requestedVariant?: string,\n): Promise<SeedSource> {\n const { config, warnings } = await loadExternalTemplateConfig(sourceDir)\n const { selectedVariant, variantConfig } = getVariantConfig(\n config,\n requestedVariant,\n )\n\n const { folderName, formatHint, templatePath } = resolveConfiguredTemplatePath(\n config,\n variantConfig,\n )\n\n const tempRoot = await fsp.mkdtemp(\n path.join(os.tmpdir(), 'wp-typia-create-block-external-'),\n )\n const cleanup = async () => {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n }\n\n try {\n const renderedRoot = path.join(tempRoot, 'rendered')\n const blockDir = resolveSourceSubpath(renderedRoot, folderName)\n const view = await buildExternalTemplateView(\n context,\n config,\n selectedVariant,\n variantConfig,\n )\n const blockTemplateDir = resolveSourceSubpath(sourceDir, templatePath)\n await copyRenderedDirectory(blockTemplateDir, blockDir, view, {\n filter: (sourcePath, _destinationPath, entry) => {\n const mustacheVariantPath = path.join(\n path.dirname(sourcePath),\n `${entry.name}.mustache`,\n )\n return !(\n entry.isFile() &&\n (entry.name === 'package.json' || entry.name === 'README.md') &&\n fs.existsSync(mustacheVariantPath)\n )\n },\n })\n\n const assetsPath =\n typeof variantConfig.assetsPath === 'string'\n ? variantConfig.assetsPath\n : config.assetsPath\n if (typeof assetsPath === 'string' && assetsPath.trim().length > 0) {\n await copyRawDirectory(\n resolveSourceSubpath(sourceDir, assetsPath),\n path.join(tempRoot, 'assets'),\n )\n }\n\n return {\n assetsDir: fs.existsSync(path.join(tempRoot, 'assets'))\n ? path.join(tempRoot, 'assets')\n : undefined,\n blockDir,\n cleanup,\n formatHint,\n rootDir: tempRoot,\n selectedVariant,\n warnings,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n",
84
- "import fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\n\nimport {\n getBuiltInTemplateLayerDirs,\n isOmittableBuiltInTemplateLayerDir,\n} from './template-builtins.js'\nimport { copyRawDirectory } from './template-render.js'\nimport type {\n ResolvedTemplateSource,\n SeedSource,\n TemplateVariableContext,\n} from './template-source-contracts.js'\n\nfunction getDefaultCategoryFromBlockJson(\n blockJson: Record<string, unknown>,\n): string {\n return typeof blockJson.category === 'string' &&\n blockJson.category.trim().length > 0\n ? blockJson.category.trim()\n : 'widgets'\n}\n\nfunction readRemoteBlockJson(blockDir: string): Record<string, unknown> {\n const sourceRoot = fs.existsSync(path.join(blockDir, 'src'))\n ? path.join(blockDir, 'src')\n : blockDir\n for (const candidate of [\n path.join(blockDir, 'block.json'),\n path.join(sourceRoot, 'block.json'),\n ]) {\n if (fs.existsSync(candidate)) {\n return JSON.parse(fs.readFileSync(candidate, 'utf8')) as Record<\n string,\n unknown\n >\n }\n }\n\n throw new Error(`Unable to locate block.json in ${blockDir}`)\n}\n\n/**\n * Read a remote block source and return its default block category.\n *\n * @param sourceDir Block source directory that may contain a block.json file.\n * @returns The declared block category, or \"widgets\" when detection fails.\n */\nexport function getDefaultCategory(sourceDir: string): string {\n try {\n const blockJson = readRemoteBlockJson(sourceDir)\n return getDefaultCategoryFromBlockJson(blockJson)\n } catch {\n return 'widgets'\n }\n}\n\nfunction readTemplatePackageJson(\n sourceDir: string,\n): { wpTypia?: { projectType?: string } } | null {\n for (const candidate of [\n path.join(sourceDir, 'package.json.mustache'),\n path.join(sourceDir, 'package.json'),\n ]) {\n if (!fs.existsSync(candidate)) {\n continue\n }\n\n try {\n return JSON.parse(fs.readFileSync(candidate, 'utf8')) as {\n wpTypia?: { projectType?: string }\n }\n } catch {\n continue\n }\n }\n\n return null\n}\n\n/**\n * Read `wpTypia.projectType` from a rendered or source template package\n * manifest and return it when present.\n */\nexport function getTemplateProjectType(sourceDir: string): string | null {\n const packageJson = readTemplatePackageJson(sourceDir)\n return typeof packageJson?.wpTypia?.projectType === 'string'\n ? packageJson.wpTypia.projectType\n : null\n}\n\n/**\n * Copy a wp-typia seed into a normalized temporary template directory.\n *\n * @param seed Seed source whose files should be normalized into a temp root.\n * @returns A cloned seed whose cleanup removes the temp root and original seed.\n */\nexport async function normalizeWpTypiaTemplateSeed(\n seed: SeedSource,\n): Promise<SeedSource> {\n const tempRoot = await fsp.mkdtemp(\n path.join(os.tmpdir(), 'wp-typia-template-source-'),\n )\n const normalizedDir = path.join(tempRoot, 'template')\n try {\n await copyRawDirectory(seed.blockDir, normalizedDir, {\n filter: (sourcePath, _targetPath, entry) => {\n const mustacheVariantPath = path.join(\n path.dirname(sourcePath),\n `${entry.name}.mustache`,\n )\n return !(\n entry.isFile() &&\n (entry.name === 'package.json' || entry.name === 'README.md') &&\n fs.existsSync(mustacheVariantPath)\n )\n },\n })\n if (seed.assetsDir && fs.existsSync(seed.assetsDir)) {\n await fsp.cp(seed.assetsDir, path.join(normalizedDir, 'assets'), {\n recursive: true,\n force: true,\n })\n }\n } catch (error) {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n throw error\n }\n\n return {\n blockDir: normalizedDir,\n cleanup: async () => {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n await seed.cleanup?.()\n },\n rootDir: normalizedDir,\n selectedVariant: seed.selectedVariant,\n warnings: seed.warnings,\n }\n}\n\nfunction renderTypeScriptLiteral(value: unknown): string {\n if (typeof value === 'string') {\n return JSON.stringify(value)\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value)\n }\n\n return 'undefined'\n}\n\nfunction renderTagsForAttribute(attribute: Record<string, unknown>): string[] {\n const tags: string[] = []\n if (\n typeof attribute.default === 'string' ||\n typeof attribute.default === 'number' ||\n typeof attribute.default === 'boolean'\n ) {\n tags.push(`tags.Default<${renderTypeScriptLiteral(attribute.default)}>`)\n }\n return tags\n}\n\nfunction renderAttributeBaseType(\n attributeName: string,\n attribute: Record<string, unknown>,\n): string {\n if (Array.isArray(attribute.enum) && attribute.enum.length > 0) {\n return attribute.enum\n .map((item) => renderTypeScriptLiteral(item))\n .join(' | ')\n }\n\n switch (attribute.type) {\n case 'string':\n return 'string'\n case 'number':\n return 'number'\n case 'boolean':\n return 'boolean'\n case 'array':\n return 'unknown[]'\n case 'object':\n return 'Record<string, unknown>'\n default:\n if (\n typeof attributeName === 'string' &&\n attributeName.toLowerCase().includes('class')\n ) {\n return 'string'\n }\n return 'unknown'\n }\n}\n\nfunction buildRemoteTypesSource(\n blockJson: Record<string, unknown>,\n context: TemplateVariableContext,\n): string {\n const attributes = (blockJson.attributes ?? {}) as Record<\n string,\n Record<string, unknown>\n >\n const lines = [\n 'import { tags } from \"typia\";',\n '',\n `export interface ${context.pascalCase}Attributes {`,\n ]\n\n for (const [name, attribute] of Object.entries(attributes)) {\n const baseType = renderAttributeBaseType(name, attribute)\n const tagList = renderTagsForAttribute(attribute)\n const baseTypeWithGrouping =\n tagList.length > 0 && baseType.includes(' | ')\n ? `(${baseType})`\n : baseType\n const renderedType = [baseTypeWithGrouping, ...tagList].join(' & ')\n lines.push(` ${JSON.stringify(name)}?: ${renderedType};`)\n }\n\n lines.push('}', '')\n return lines.join('\\n')\n}\n\nfunction buildRemoteBlockJsonTemplate(\n blockJson: Record<string, unknown>,\n): string {\n const merged: Record<string, unknown> = {\n ...blockJson,\n description: '{{description}}',\n name: '{{namespace}}/{{slug}}',\n textdomain: '{{textDomain}}',\n title: '{{title}}',\n }\n\n if (!Array.isArray(merged.keywords) || merged.keywords.length === 0) {\n merged.keywords = ['{{keyword}}', 'typia', 'block']\n }\n\n return `${JSON.stringify(merged, null, '\\t')}\\n`\n}\n\nasync function rewriteBlockJsonImports(directory: string): Promise<void> {\n const textExtensions = new Set(['.js', '.jsx', '.ts', '.tsx'])\n const targetBlockJsonPath = path.join(directory, 'block.json')\n\n async function visit(currentPath: string): Promise<void> {\n const stats = await fsp.stat(currentPath)\n if (stats.isDirectory()) {\n const entries = await fsp.readdir(currentPath)\n for (const entry of entries) {\n await visit(path.join(currentPath, entry))\n }\n return\n }\n\n if (!textExtensions.has(path.extname(currentPath))) {\n return\n }\n\n const content = await fsp.readFile(currentPath, 'utf8')\n const relativeSpecifier = path\n .relative(path.dirname(currentPath), targetBlockJsonPath)\n .replace(/\\\\/g, '/')\n const normalizedSpecifier = relativeSpecifier.startsWith('.')\n ? relativeSpecifier\n : `./${relativeSpecifier}`\n const next = content.replace(\n /(['\"])\\.{1,2}\\/[^'\"]*block\\.json\\1/g,\n `$1${normalizedSpecifier}$1`,\n )\n if (next !== content) {\n await fsp.writeFile(currentPath, next, 'utf8')\n }\n }\n\n await visit(directory)\n}\n\nasync function patchRemotePackageJson(\n templateDir: string,\n needsInteractivity: boolean,\n): Promise<void> {\n const packageJsonPath = path.join(templateDir, 'package.json.mustache')\n const packageJson = JSON.parse(\n await fsp.readFile(packageJsonPath, 'utf8'),\n ) as {\n dependencies?: Record<string, string>\n devDependencies?: Record<string, string>\n }\n const existingDependencies = { ...(packageJson.dependencies ?? {}) }\n const existingDevDependencies = { ...(packageJson.devDependencies ?? {}) }\n\n delete existingDependencies['@wp-typia/project-tools']\n delete existingDevDependencies['@wp-typia/project-tools']\n\n packageJson.devDependencies = {\n '@wp-typia/block-runtime': '{{blockRuntimePackageVersion}}',\n '@wp-typia/block-types': '{{blockTypesPackageVersion}}',\n ...existingDevDependencies,\n }\n\n if (needsInteractivity) {\n packageJson.dependencies = {\n ...existingDependencies,\n '@wordpress/interactivity': '^6.29.0',\n }\n } else if (Object.keys(existingDependencies).length > 0) {\n packageJson.dependencies = existingDependencies\n } else {\n delete packageJson.dependencies\n }\n\n await fsp.writeFile(\n packageJsonPath,\n `${JSON.stringify(packageJson, null, 2)}\\n`,\n 'utf8',\n )\n}\n\nfunction getSeedSourceRoot(blockDir: string): string {\n return fs.existsSync(path.join(blockDir, 'src'))\n ? path.join(blockDir, 'src')\n : blockDir\n}\n\nfunction findSeedRenderPhp(seed: SeedSource): string | null {\n for (const candidate of [\n path.join(seed.blockDir, 'render.php'),\n path.join(seed.rootDir, 'render.php'),\n ]) {\n if (fs.existsSync(candidate)) {\n return candidate\n }\n }\n return null\n}\n\nasync function removeSeedEntryConflicts(templateDir: string): Promise<void> {\n for (const filename of [\n 'block.json',\n 'block.json.mustache',\n 'edit.js',\n 'edit.jsx',\n 'edit.ts',\n 'edit.tsx',\n 'edit.tsx.mustache',\n 'hooks.ts',\n 'hooks.ts.mustache',\n 'index.js',\n 'index.jsx',\n 'index.ts',\n 'index.tsx',\n 'index.tsx.mustache',\n 'save.js',\n 'save.jsx',\n 'save.ts',\n 'save.tsx',\n 'save.tsx.mustache',\n 'style.css',\n 'style.scss',\n 'style.scss.mustache',\n 'types.ts',\n 'types.ts.mustache',\n 'validators.ts',\n 'validators.ts.mustache',\n 'view.js',\n 'view.jsx',\n 'view.ts',\n 'view.tsx',\n ]) {\n await fsp.rm(path.join(templateDir, 'src', filename), { force: true })\n }\n}\n\n/**\n * Convert a create-block subset seed into a normalized wp-typia template source.\n *\n * @param seed Seed source produced from a remote create-block subset.\n * @param context Template variable context used for generated artifacts.\n * @returns A normalized template source rooted in a temporary directory.\n */\nexport async function normalizeCreateBlockSubset(\n seed: SeedSource,\n context: TemplateVariableContext,\n): Promise<ResolvedTemplateSource> {\n const tempRoot = await fsp.mkdtemp(\n path.join(os.tmpdir(), 'wp-typia-remote-template-'),\n )\n try {\n const templateDir = path.join(tempRoot, 'template')\n const blockJson = readRemoteBlockJson(seed.blockDir)\n const sourceRoot = getSeedSourceRoot(seed.blockDir)\n\n await fsp.mkdir(templateDir, { recursive: true })\n for (const layerDir of getBuiltInTemplateLayerDirs('basic')) {\n if (!fs.existsSync(layerDir)) {\n if (isOmittableBuiltInTemplateLayerDir('basic', layerDir)) {\n continue\n }\n throw new Error(`Built-in template layer is missing: ${layerDir}`)\n }\n await fsp.cp(layerDir, templateDir, {\n recursive: true,\n force: true,\n })\n }\n await removeSeedEntryConflicts(templateDir)\n await fsp.cp(sourceRoot, path.join(templateDir, 'src'), {\n recursive: true,\n force: true,\n })\n\n const remoteRenderPath = findSeedRenderPhp(seed)\n if (remoteRenderPath) {\n await fsp.copyFile(remoteRenderPath, path.join(templateDir, 'render.php'))\n }\n\n if (seed.assetsDir && fs.existsSync(seed.assetsDir)) {\n await fsp.cp(seed.assetsDir, path.join(templateDir, 'assets'), {\n recursive: true,\n force: true,\n })\n }\n\n await fsp.writeFile(\n path.join(templateDir, 'src', 'types.ts'),\n buildRemoteTypesSource(blockJson, context),\n 'utf8',\n )\n await fsp.writeFile(\n path.join(templateDir, 'src', 'block.json'),\n buildRemoteBlockJsonTemplate(blockJson),\n 'utf8',\n )\n await rewriteBlockJsonImports(path.join(templateDir, 'src'))\n\n const needsInteractivity =\n typeof blockJson.viewScriptModule === 'string' ||\n typeof blockJson.viewScript === 'string' ||\n fs.existsSync(path.join(templateDir, 'src', 'view.js')) ||\n fs.existsSync(path.join(templateDir, 'src', 'view.ts')) ||\n fs.existsSync(path.join(templateDir, 'src', 'view.tsx')) ||\n fs.existsSync(path.join(templateDir, 'src', 'interactivity.js')) ||\n fs.existsSync(path.join(templateDir, 'src', 'interactivity.ts'))\n\n await patchRemotePackageJson(templateDir, needsInteractivity)\n\n return {\n id: 'remote:create-block-subset',\n defaultCategory: getDefaultCategoryFromBlockJson(blockJson),\n description:\n 'A wp-typia scaffold normalized from a create-block subset source',\n features: [\n 'Remote source',\n 'create-block adapter',\n 'Typia metadata pipeline',\n ],\n format: 'create-block-subset',\n selectedVariant: seed.selectedVariant ?? null,\n templateDir,\n warnings: seed.warnings ?? [],\n cleanup: async () => {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n if (seed.cleanup) {\n await seed.cleanup()\n }\n },\n }\n } catch (error) {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n await seed.cleanup?.()\n throw error\n }\n}\n",
85
- "import fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { execFileSync } from 'node:child_process'\n\nimport semver from 'semver'\nimport { x as extractTarball } from 'tar'\n\nimport {\n OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n PROJECT_TOOLS_PACKAGE_ROOT,\n} from './template-registry.js'\nimport { isPlainObject } from './object-utils.js'\nimport type {\n GitHubTemplateLocator,\n NpmTemplateLocator,\n RemoteTemplateLocator,\n SeedSource,\n} from './template-source-contracts.js'\n\nfunction selectRegistryVersion(\n metadata: Record<string, unknown>,\n locator: NpmTemplateLocator,\n): string {\n const distTags = isPlainObject(metadata['dist-tags'])\n ? metadata['dist-tags']\n : {}\n const versions = isPlainObject(metadata.versions) ? metadata.versions : {}\n const versionKeys = Object.keys(versions)\n\n if (locator.type === 'version') {\n if (!versions[locator.fetchSpec]) {\n throw new Error(`npm template package version not found: ${locator.raw}`)\n }\n return locator.fetchSpec\n }\n\n if (locator.type === 'tag') {\n const taggedVersion = distTags[locator.fetchSpec]\n if (typeof taggedVersion !== 'string') {\n throw new Error(`npm template package tag not found: ${locator.raw}`)\n }\n return taggedVersion\n }\n\n const range = locator.fetchSpec.trim().length > 0 ? locator.fetchSpec : '*'\n const matchedVersion = semver.maxSatisfying(versionKeys, range)\n if (matchedVersion) {\n return matchedVersion\n }\n\n if (locator.fetchSpec.trim().length > 0) {\n throw new Error(\n `Unable to resolve npm template version for ${locator.raw}. Requested \"${locator.fetchSpec}\" but available versions are: ${versionKeys.join(', ') || '(none)'}.`,\n )\n }\n\n const latestVersion = distTags.latest\n if (typeof latestVersion === 'string' && versions[latestVersion]) {\n return latestVersion\n }\n\n throw new Error(\n `Unable to resolve a published npm template version for ${locator.raw}.`,\n )\n}\n\nasync function fetchNpmTemplateSource(\n locator: NpmTemplateLocator,\n): Promise<SeedSource> {\n const registryBase = (\n process.env.NPM_CONFIG_REGISTRY ?? 'https://registry.npmjs.org'\n ).replace(/\\/$/, '')\n const metadataResponse = await fetch(\n `${registryBase}/${encodeURIComponent(locator.name)}`,\n )\n if (!metadataResponse.ok) {\n throw new Error(\n `Failed to fetch npm template metadata for ${locator.raw}: ${metadataResponse.status}`,\n )\n }\n\n const metadata = (await metadataResponse.json()) as Record<string, unknown>\n const resolvedVersion = selectRegistryVersion(metadata, locator)\n const versions = isPlainObject(metadata.versions) ? metadata.versions : {}\n const versionMetadata = versions[resolvedVersion]\n if (!isPlainObject(versionMetadata) || !isPlainObject(versionMetadata.dist)) {\n throw new Error(\n `npm template metadata is missing dist information for ${locator.raw}@${resolvedVersion}.`,\n )\n }\n\n const tarballUrl = versionMetadata.dist.tarball\n if (typeof tarballUrl !== 'string' || tarballUrl.length === 0) {\n throw new Error(\n `npm template metadata is missing tarball URL for ${locator.raw}@${resolvedVersion}.`,\n )\n }\n\n const tempRoot = await fsp.mkdtemp(\n path.join(os.tmpdir(), 'wp-typia-template-source-'),\n )\n const cleanup = async () => {\n await fsp.rm(tempRoot, { force: true, recursive: true })\n }\n\n try {\n const tarballResponse = await fetch(tarballUrl)\n if (!tarballResponse.ok) {\n throw new Error(\n `Failed to download npm template tarball for ${locator.raw}: ${tarballResponse.status}`,\n )\n }\n\n const tarballPath = path.join(tempRoot, 'template.tgz')\n const unpackDir = path.join(tempRoot, 'source')\n await fsp.mkdir(unpackDir, { recursive: true })\n await fsp.writeFile(\n tarballPath,\n Buffer.from(await tarballResponse.arrayBuffer()),\n )\n await extractTarball({\n cwd: unpackDir,\n file: tarballPath,\n strip: 1,\n })\n await assertNoSymlinks(unpackDir)\n\n return {\n blockDir: unpackDir,\n cleanup,\n rootDir: unpackDir,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n\n/**\n * Resolve a locally installed npm template package from the caller workspace.\n *\n * Bare package ids are preferred here so monorepo and offline workflows can\n * use an already-installed template without forcing a registry fetch.\n */\nfunction resolveInstalledNpmTemplateSource(\n locator: NpmTemplateLocator,\n cwd: string,\n): SeedSource | null {\n if (locator.rawSpec !== '' && locator.rawSpec !== '*') {\n return null\n }\n\n const workspacePackagesRoot = path.resolve(PROJECT_TOOLS_PACKAGE_ROOT, '..')\n if (fs.existsSync(workspacePackagesRoot)) {\n for (const entry of fs.readdirSync(workspacePackagesRoot, {\n withFileTypes: true,\n })) {\n if (!entry.isDirectory()) {\n continue\n }\n\n const packageDir = path.join(workspacePackagesRoot, entry.name)\n const packageJsonPath = path.join(packageDir, 'package.json')\n if (!fs.existsSync(packageJsonPath)) {\n continue\n }\n\n const manifest = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')) as {\n name?: string\n }\n if (manifest.name === locator.name) {\n return {\n blockDir: packageDir,\n rootDir: packageDir,\n }\n }\n }\n }\n\n const workspaceRequire = createRequire(\n path.join(path.resolve(cwd), '__wp_typia_template_resolver__.cjs'),\n )\n try {\n const packageJsonPath = fs.realpathSync(\n workspaceRequire.resolve(`${locator.name}/package.json`),\n )\n const sourceDir = path.dirname(packageJsonPath)\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n } catch (error) {\n const errorCode =\n typeof error === 'object' && error !== null && 'code' in error\n ? String((error as { code: unknown }).code)\n : ''\n if (\n errorCode === 'MODULE_NOT_FOUND' ||\n errorCode === 'ERR_PACKAGE_PATH_NOT_EXPORTED'\n ) {\n for (const basePath of workspaceRequire.resolve.paths(locator.name) ??\n []) {\n const packageJsonPath = path.join(\n basePath,\n locator.name,\n 'package.json',\n )\n if (!fs.existsSync(packageJsonPath)) {\n continue\n }\n const sourceDir = path.dirname(fs.realpathSync(packageJsonPath))\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n }\n return null\n }\n throw error\n }\n}\n\nexport function isOfficialWorkspaceTemplateSeed(seed: SeedSource): boolean {\n const packageJsonPath = path.join(seed.rootDir, 'package.json')\n if (!fs.existsSync(packageJsonPath)) {\n return false\n }\n\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, 'utf8'),\n ) as { name?: string }\n return packageJson.name === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n } catch {\n return false\n }\n}\n\nexport async function assertNoSymlinks(sourceDir: string): Promise<void> {\n const stats = await fsp.lstat(sourceDir)\n if (stats.isSymbolicLink()) {\n throw new Error(\n `Template sources may not include symbolic links: ${sourceDir}`,\n )\n }\n\n if (!stats.isDirectory()) {\n return\n }\n\n for (const entry of await fsp.readdir(sourceDir)) {\n await assertNoSymlinks(path.join(sourceDir, entry))\n }\n}\n\nasync function resolveGitHubTemplateSource(\n locator: GitHubTemplateLocator,\n): Promise<SeedSource> {\n const remoteRoot = await fsp.mkdtemp(\n path.join(os.tmpdir(), 'wp-typia-template-source-'),\n )\n const cleanup = async () => {\n await fsp.rm(remoteRoot, { force: true, recursive: true })\n }\n const checkoutDir = path.join(remoteRoot, 'source')\n\n try {\n const args = ['clone', '--depth', '1']\n if (locator.ref) {\n args.push('--branch', locator.ref)\n }\n args.push(\n `https://github.com/${locator.owner}/${locator.repo}.git`,\n checkoutDir,\n )\n execFileSync('git', args, { stdio: 'ignore' })\n\n const sourceDir = path.resolve(checkoutDir, locator.sourcePath)\n const relativeSourceDir = path.relative(checkoutDir, sourceDir)\n if (\n relativeSourceDir.startsWith('..') ||\n path.isAbsolute(relativeSourceDir)\n ) {\n throw new Error(\n 'GitHub template path must stay within the cloned repository.',\n )\n }\n if (!fs.existsSync(sourceDir)) {\n throw new Error(\n `GitHub template path does not exist: ${locator.sourcePath}`,\n )\n }\n await assertNoSymlinks(sourceDir)\n\n return {\n blockDir: sourceDir,\n cleanup,\n rootDir: sourceDir,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n\n/**\n * Resolves a template locator into a local seed source directory.\n *\n * @param locator Remote template locator describing a local path, GitHub source, or npm package.\n * @param cwd Current working directory used to resolve local template paths.\n * @returns A local seed source containing the resolved root and block directory, plus optional cleanup.\n * @throws When the locator is invalid, the source cannot be fetched, or filesystem validation fails.\n */\nexport async function resolveTemplateSeed(\n locator: RemoteTemplateLocator,\n cwd: string,\n): Promise<SeedSource> {\n if (locator.kind === 'path') {\n const sourceDir = path.resolve(cwd, locator.templatePath)\n if (!fs.existsSync(sourceDir)) {\n throw new Error(`Template path does not exist: ${sourceDir}`)\n }\n await assertNoSymlinks(sourceDir)\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n }\n\n if (locator.kind === 'github') {\n return resolveGitHubTemplateSource(locator.locator)\n }\n\n const installedSource = resolveInstalledNpmTemplateSource(\n locator.locator,\n cwd,\n )\n if (installedSource) {\n await assertNoSymlinks(installedSource.blockDir)\n return installedSource\n }\n\n return fetchNpmTemplateSource(locator.locator)\n}\n",
84
+ "/// <reference path=\"./external-template-modules.d.ts\" />\n\nimport fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport path from 'node:path'\nimport { pathToFileURL } from 'node:url'\n\nimport { isPlainObject, type UnknownRecord } from './object-utils.js'\nimport { toSegmentPascalCase } from './string-case.js'\nimport { createManagedTempRoot } from './temp-roots.js'\nimport { copyRawDirectory, copyRenderedDirectory } from './template-render.js'\nimport type {\n ExternalTemplateConfig,\n SeedSource,\n TemplateVariableContext,\n} from './template-source-contracts.js'\n\n/**\n * Candidate filenames for official external template config entrypoints.\n */\nexport const EXTERNAL_TEMPLATE_ENTRY_CANDIDATES = [\n 'index.js',\n 'index.cjs',\n 'index.mjs',\n] as const\nexport const EXTERNAL_TEMPLATE_TRUST_WARNING =\n 'External template configs execute trusted JavaScript during scaffolding. Review the template source before using local paths, GitHub repos, or npm packages you do not already trust.'\nconst TEMPLATE_WARNING_MESSAGE =\n 'wp-typia owns package/tooling/sync setup for generated projects, so this external template setting is ignored.'\n\nfunction getTemplateWarning(key: string): string {\n return `Ignoring external template config key \"${key}\": ${TEMPLATE_WARNING_MESSAGE}`\n}\n\nfunction resolveSourceSubpath(sourceDir: string, relativePath: string): string {\n const targetPath = path.resolve(sourceDir, relativePath)\n const relativeTarget = path.relative(sourceDir, targetPath)\n if (relativeTarget.startsWith('..') || path.isAbsolute(relativeTarget)) {\n throw new Error(\n `Template path \"${relativePath}\" must stay within ${sourceDir}.`,\n )\n }\n return targetPath\n}\n\n/**\n * Search a source directory for the first supported external template entry.\n *\n * @param sourceDir Directory that may contain an external template config entry.\n * @returns The first matching entry path, or null when no supported entry exists.\n */\nexport function getExternalTemplateEntry(sourceDir: string): string | null {\n for (const filename of EXTERNAL_TEMPLATE_ENTRY_CANDIDATES) {\n const candidate = path.join(sourceDir, filename)\n if (fs.existsSync(candidate)) {\n return candidate\n }\n }\n\n return null\n}\n\nasync function loadExternalTemplateConfig<\n TView extends UnknownRecord = TemplateVariableContext,\n>(\n sourceDir: string,\n): Promise<{\n config: ExternalTemplateConfig<TView>\n warnings: string[]\n}> {\n const entryPath = getExternalTemplateEntry(sourceDir)\n if (!entryPath) {\n throw new Error(`No external template config entry found in ${sourceDir}.`)\n }\n\n const moduleUrl = `${pathToFileURL(entryPath).href}?mtime=${fs.statSync(entryPath).mtimeMs}`\n const loadedModule = (await import(moduleUrl)) as Record<string, unknown>\n const loadedConfig = loadedModule.default ?? loadedModule\n if (!isPlainObject(loadedConfig)) {\n throw new Error(\n `External template config must export an object: ${entryPath}`,\n )\n }\n\n const warnings: string[] = [EXTERNAL_TEMPLATE_TRUST_WARNING]\n for (const ignoredKey of [\n 'wpScripts',\n 'wpEnv',\n 'customScripts',\n 'npmDependencies',\n 'npmDevDependencies',\n 'customPackageJSON',\n 'pluginReadme',\n 'pluginHeader',\n ]) {\n if (ignoredKey in loadedConfig) {\n warnings.push(getTemplateWarning(ignoredKey))\n }\n }\n\n return {\n config: loadedConfig as ExternalTemplateConfig<TView>,\n warnings,\n }\n}\n\nfunction getVariantFlagName(variantName: string): string {\n return `is${toSegmentPascalCase(variantName)}Variant`\n}\n\nfunction getVariantKeys<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n): string[] {\n return isPlainObject(config.variants) ? Object.keys(config.variants) : []\n}\n\nfunction getVariantConfig<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n requestedVariant?: string,\n): {\n selectedVariant: string | null\n variantConfig: Partial<TView>\n} {\n const variantKeys = getVariantKeys(config)\n if (variantKeys.length === 0) {\n if (requestedVariant) {\n throw new Error(\n `Variant \"${requestedVariant}\" was requested, but the external template does not define any variants.`,\n )\n }\n\n return {\n selectedVariant: null,\n variantConfig: {},\n }\n }\n\n const selectedVariant = requestedVariant ?? variantKeys[0]\n if (!selectedVariant || !isPlainObject(config.variants?.[selectedVariant])) {\n throw new Error(\n `Unknown template variant \"${requestedVariant}\". Expected one of: ${variantKeys.join(', ')}`,\n )\n }\n\n return {\n selectedVariant,\n variantConfig: config.variants?.[selectedVariant] ?? {},\n }\n}\n\nfunction extractVariantRenderValues<TView extends UnknownRecord>(\n variantConfig: Partial<TView>,\n): Partial<TView> {\n const values = { ...variantConfig }\n delete values.assetsPath\n delete values.blockTemplatesPath\n delete values.folderName\n delete values.pluginTemplatesPath\n delete values.transformer\n return values\n}\n\nfunction resolveConfiguredTemplatePath<TView extends UnknownRecord>(\n config: ExternalTemplateConfig<TView>,\n variantConfig: Partial<TView>,\n): {\n folderName: string\n formatHint: 'create-block-subset' | 'wp-typia'\n templatePath: string\n} {\n const variantPluginTemplatesPath =\n typeof variantConfig.pluginTemplatesPath === 'string'\n ? variantConfig.pluginTemplatesPath\n : null\n const variantBlockTemplatesPath =\n typeof variantConfig.blockTemplatesPath === 'string'\n ? variantConfig.blockTemplatesPath\n : null\n const configBlockTemplatesPath =\n typeof config.blockTemplatesPath === 'string'\n ? config.blockTemplatesPath\n : null\n const configPluginTemplatesPath =\n typeof config.pluginTemplatesPath === 'string'\n ? config.pluginTemplatesPath\n : null\n\n const templatePath =\n variantPluginTemplatesPath ??\n variantBlockTemplatesPath ??\n configBlockTemplatesPath ??\n configPluginTemplatesPath\n if (!templatePath) {\n throw new Error(\n 'External template config must define blockTemplatesPath or pluginTemplatesPath.',\n )\n }\n\n const configuredFolderName =\n (typeof variantConfig.folderName === 'string'\n ? variantConfig.folderName\n : config.folderName) ?? null\n\n return {\n folderName: configuredFolderName || '.',\n formatHint:\n templatePath === variantPluginTemplatesPath ||\n templatePath === configPluginTemplatesPath\n ? 'wp-typia'\n : 'create-block-subset',\n templatePath,\n }\n}\n\nasync function buildExternalTemplateView(\n context: TemplateVariableContext,\n config: ExternalTemplateConfig<TemplateVariableContext>,\n selectedVariant: string | null,\n variantConfig: Partial<TemplateVariableContext>,\n): Promise<TemplateVariableContext> {\n const mergedView: TemplateVariableContext = {\n ...(config.defaultValues ?? {}),\n ...extractVariantRenderValues(variantConfig),\n ...context,\n }\n\n if (selectedVariant) {\n mergedView.variant = selectedVariant\n mergedView[getVariantFlagName(selectedVariant)] = true\n }\n\n if (!config.transformer) {\n return mergedView\n }\n\n const transformed = await config.transformer(mergedView)\n if (!isPlainObject(transformed)) {\n throw new Error(\n 'External template transformer(view) must return an object.',\n )\n }\n\n return {\n ...mergedView,\n ...transformed,\n }\n}\n\n/**\n * Load an official external template config and render its seed.\n *\n * @param sourceDir Source directory that contains the external template config.\n * @param context Template render context used for the selected variant.\n * @param requestedVariant Optional explicit variant override.\n * @returns A rendered temporary seed directory with optional assets and cleanup.\n */\nexport async function renderCreateBlockExternalTemplate(\n sourceDir: string,\n context: TemplateVariableContext,\n requestedVariant?: string,\n): Promise<SeedSource> {\n const { config, warnings } = await loadExternalTemplateConfig(sourceDir)\n const { selectedVariant, variantConfig } = getVariantConfig(\n config,\n requestedVariant,\n )\n\n const { folderName, formatHint, templatePath } = resolveConfiguredTemplatePath(\n config,\n variantConfig,\n )\n\n const { path: tempRoot, cleanup } = await createManagedTempRoot(\n 'wp-typia-create-block-external-',\n )\n\n try {\n const renderedRoot = path.join(tempRoot, 'rendered')\n const blockDir = resolveSourceSubpath(renderedRoot, folderName)\n const view = await buildExternalTemplateView(\n context,\n config,\n selectedVariant,\n variantConfig,\n )\n const blockTemplateDir = resolveSourceSubpath(sourceDir, templatePath)\n await copyRenderedDirectory(blockTemplateDir, blockDir, view, {\n filter: (sourcePath, _destinationPath, entry) => {\n const mustacheVariantPath = path.join(\n path.dirname(sourcePath),\n `${entry.name}.mustache`,\n )\n return !(\n entry.isFile() &&\n (entry.name === 'package.json' || entry.name === 'README.md') &&\n fs.existsSync(mustacheVariantPath)\n )\n },\n })\n\n const assetsPath =\n typeof variantConfig.assetsPath === 'string'\n ? variantConfig.assetsPath\n : config.assetsPath\n if (typeof assetsPath === 'string' && assetsPath.trim().length > 0) {\n await copyRawDirectory(\n resolveSourceSubpath(sourceDir, assetsPath),\n path.join(tempRoot, 'assets'),\n )\n }\n\n return {\n assetsDir: fs.existsSync(path.join(tempRoot, 'assets'))\n ? path.join(tempRoot, 'assets')\n : undefined,\n blockDir,\n cleanup,\n formatHint,\n rootDir: tempRoot,\n selectedVariant,\n warnings,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n",
85
+ "import fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport path from 'node:path'\n\nimport {\n getBuiltInTemplateLayerDirs,\n isOmittableBuiltInTemplateLayerDir,\n} from './template-builtins.js'\nimport { copyRawDirectory } from './template-render.js'\nimport { createManagedTempRoot } from './temp-roots.js'\nimport type {\n ResolvedTemplateSource,\n SeedSource,\n TemplateVariableContext,\n} from './template-source-contracts.js'\n\nasync function cleanupSeedRootPair(\n cleanup: () => Promise<void>,\n seedCleanup?: (() => Promise<void>) | undefined,\n): Promise<void> {\n let cleanupError: unknown\n\n try {\n await cleanup()\n } catch (error) {\n cleanupError = error\n }\n\n try {\n await seedCleanup?.()\n } catch (error) {\n cleanupError ??= error\n }\n\n if (cleanupError !== undefined) {\n throw cleanupError\n }\n}\n\nfunction getDefaultCategoryFromBlockJson(\n blockJson: Record<string, unknown>,\n): string {\n return typeof blockJson.category === 'string' &&\n blockJson.category.trim().length > 0\n ? blockJson.category.trim()\n : 'widgets'\n}\n\nfunction readRemoteBlockJson(blockDir: string): Record<string, unknown> {\n const sourceRoot = fs.existsSync(path.join(blockDir, 'src'))\n ? path.join(blockDir, 'src')\n : blockDir\n for (const candidate of [\n path.join(blockDir, 'block.json'),\n path.join(sourceRoot, 'block.json'),\n ]) {\n if (fs.existsSync(candidate)) {\n return JSON.parse(fs.readFileSync(candidate, 'utf8')) as Record<\n string,\n unknown\n >\n }\n }\n\n throw new Error(`Unable to locate block.json in ${blockDir}`)\n}\n\n/**\n * Read a remote block source and return its default block category.\n *\n * @param sourceDir Block source directory that may contain a block.json file.\n * @returns The declared block category, or \"widgets\" when detection fails.\n */\nexport function getDefaultCategory(sourceDir: string): string {\n try {\n const blockJson = readRemoteBlockJson(sourceDir)\n return getDefaultCategoryFromBlockJson(blockJson)\n } catch {\n return 'widgets'\n }\n}\n\nfunction readTemplatePackageJson(\n sourceDir: string,\n): {\n packageJson: { wpTypia?: { projectType?: unknown } }\n sourcePath: string\n} | null {\n for (const candidate of [\n path.join(sourceDir, 'package.json.mustache'),\n path.join(sourceDir, 'package.json'),\n ]) {\n if (!fs.existsSync(candidate)) {\n continue\n }\n\n try {\n return {\n packageJson: JSON.parse(fs.readFileSync(candidate, 'utf8')) as {\n wpTypia?: { projectType?: unknown }\n },\n sourcePath: candidate,\n }\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Unknown parse failure'\n throw new Error(\n `Failed to parse template metadata file \"${candidate}\": ${message}`,\n )\n }\n }\n\n return null\n}\n\n/**\n * Read `wpTypia.projectType` from a rendered or source template package\n * manifest and return it when present.\n */\nexport function getTemplateProjectType(sourceDir: string): string | null {\n const packageJsonEntry = readTemplatePackageJson(sourceDir)\n if (!packageJsonEntry) {\n return null\n }\n\n const projectType = packageJsonEntry.packageJson.wpTypia?.projectType\n if (projectType === undefined) {\n return null\n }\n if (typeof projectType !== 'string' || projectType.trim().length === 0) {\n throw new Error(\n `Template metadata file \"${packageJsonEntry.sourcePath}\" defines wpTypia.projectType, but it must be a non-empty string.`,\n )\n }\n\n return projectType\n}\n\n/**\n * Copy a wp-typia seed into a normalized temporary template directory.\n *\n * @param seed Seed source whose files should be normalized into a temp root.\n * @returns A cloned seed whose cleanup removes the temp root and original seed.\n */\nexport async function normalizeWpTypiaTemplateSeed(\n seed: SeedSource,\n): Promise<SeedSource> {\n const { path: tempRoot, cleanup } = await createManagedTempRoot(\n 'wp-typia-template-source-',\n )\n const normalizedDir = path.join(tempRoot, 'template')\n try {\n await copyRawDirectory(seed.blockDir, normalizedDir, {\n filter: (sourcePath, _targetPath, entry) => {\n const mustacheVariantPath = path.join(\n path.dirname(sourcePath),\n `${entry.name}.mustache`,\n )\n return !(\n entry.isFile() &&\n (entry.name === 'package.json' || entry.name === 'README.md') &&\n fs.existsSync(mustacheVariantPath)\n )\n },\n })\n if (seed.assetsDir && fs.existsSync(seed.assetsDir)) {\n await fsp.cp(seed.assetsDir, path.join(normalizedDir, 'assets'), {\n recursive: true,\n force: true,\n })\n }\n } catch (error) {\n await Promise.allSettled([cleanup(), seed.cleanup?.()])\n throw error\n }\n\n return {\n blockDir: normalizedDir,\n cleanup: async () => cleanupSeedRootPair(cleanup, seed.cleanup),\n rootDir: normalizedDir,\n selectedVariant: seed.selectedVariant,\n warnings: seed.warnings,\n }\n}\n\nfunction renderTypeScriptLiteral(value: unknown): string {\n if (typeof value === 'string') {\n return JSON.stringify(value)\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value)\n }\n\n return 'undefined'\n}\n\nfunction renderTagsForAttribute(attribute: Record<string, unknown>): string[] {\n const tags: string[] = []\n if (\n typeof attribute.default === 'string' ||\n typeof attribute.default === 'number' ||\n typeof attribute.default === 'boolean'\n ) {\n tags.push(`tags.Default<${renderTypeScriptLiteral(attribute.default)}>`)\n }\n return tags\n}\n\nfunction renderAttributeBaseType(\n attributeName: string,\n attribute: Record<string, unknown>,\n): string {\n if (Array.isArray(attribute.enum) && attribute.enum.length > 0) {\n return attribute.enum\n .map((item) => renderTypeScriptLiteral(item))\n .join(' | ')\n }\n\n switch (attribute.type) {\n case 'string':\n return 'string'\n case 'number':\n return 'number'\n case 'boolean':\n return 'boolean'\n case 'array':\n return 'unknown[]'\n case 'object':\n return 'Record<string, unknown>'\n default:\n if (\n typeof attributeName === 'string' &&\n attributeName.toLowerCase().includes('class')\n ) {\n return 'string'\n }\n return 'unknown'\n }\n}\n\nfunction buildRemoteTypesSource(\n blockJson: Record<string, unknown>,\n context: TemplateVariableContext,\n): string {\n const attributes = (blockJson.attributes ?? {}) as Record<\n string,\n Record<string, unknown>\n >\n const lines = [\n 'import { tags } from \"typia\";',\n '',\n `export interface ${context.pascalCase}Attributes {`,\n ]\n\n for (const [name, attribute] of Object.entries(attributes)) {\n const baseType = renderAttributeBaseType(name, attribute)\n const tagList = renderTagsForAttribute(attribute)\n const baseTypeWithGrouping =\n tagList.length > 0 && baseType.includes(' | ')\n ? `(${baseType})`\n : baseType\n const renderedType = [baseTypeWithGrouping, ...tagList].join(' & ')\n lines.push(` ${JSON.stringify(name)}?: ${renderedType};`)\n }\n\n lines.push('}', '')\n return lines.join('\\n')\n}\n\nfunction buildRemoteBlockJsonTemplate(\n blockJson: Record<string, unknown>,\n): string {\n const merged: Record<string, unknown> = {\n ...blockJson,\n description: '{{description}}',\n name: '{{namespace}}/{{slug}}',\n textdomain: '{{textDomain}}',\n title: '{{title}}',\n }\n\n if (!Array.isArray(merged.keywords) || merged.keywords.length === 0) {\n merged.keywords = ['{{keyword}}', 'typia', 'block']\n }\n\n return `${JSON.stringify(merged, null, '\\t')}\\n`\n}\n\nasync function rewriteBlockJsonImports(directory: string): Promise<void> {\n const textExtensions = new Set(['.js', '.jsx', '.ts', '.tsx'])\n const targetBlockJsonPath = path.join(directory, 'block.json')\n\n async function visit(currentPath: string): Promise<void> {\n const stats = await fsp.stat(currentPath)\n if (stats.isDirectory()) {\n const entries = await fsp.readdir(currentPath)\n for (const entry of entries) {\n await visit(path.join(currentPath, entry))\n }\n return\n }\n\n if (!textExtensions.has(path.extname(currentPath))) {\n return\n }\n\n const content = await fsp.readFile(currentPath, 'utf8')\n const relativeSpecifier = path\n .relative(path.dirname(currentPath), targetBlockJsonPath)\n .replace(/\\\\/g, '/')\n const normalizedSpecifier = relativeSpecifier.startsWith('.')\n ? relativeSpecifier\n : `./${relativeSpecifier}`\n const next = content.replace(\n /(['\"])\\.{1,2}\\/[^'\"]*block\\.json\\1/g,\n `$1${normalizedSpecifier}$1`,\n )\n if (next !== content) {\n await fsp.writeFile(currentPath, next, 'utf8')\n }\n }\n\n await visit(directory)\n}\n\nasync function patchRemotePackageJson(\n templateDir: string,\n needsInteractivity: boolean,\n): Promise<void> {\n const packageJsonPath = path.join(templateDir, 'package.json.mustache')\n const packageJson = JSON.parse(\n await fsp.readFile(packageJsonPath, 'utf8'),\n ) as {\n dependencies?: Record<string, string>\n devDependencies?: Record<string, string>\n }\n const existingDependencies = { ...(packageJson.dependencies ?? {}) }\n const existingDevDependencies = { ...(packageJson.devDependencies ?? {}) }\n\n delete existingDependencies['@wp-typia/project-tools']\n delete existingDevDependencies['@wp-typia/project-tools']\n\n packageJson.devDependencies = {\n '@wp-typia/block-runtime': '{{blockRuntimePackageVersion}}',\n '@wp-typia/block-types': '{{blockTypesPackageVersion}}',\n ...existingDevDependencies,\n }\n\n if (needsInteractivity) {\n packageJson.dependencies = {\n ...existingDependencies,\n '@wordpress/interactivity': '^6.29.0',\n }\n } else if (Object.keys(existingDependencies).length > 0) {\n packageJson.dependencies = existingDependencies\n } else {\n delete packageJson.dependencies\n }\n\n await fsp.writeFile(\n packageJsonPath,\n `${JSON.stringify(packageJson, null, 2)}\\n`,\n 'utf8',\n )\n}\n\nfunction getSeedSourceRoot(blockDir: string): string {\n return fs.existsSync(path.join(blockDir, 'src'))\n ? path.join(blockDir, 'src')\n : blockDir\n}\n\nfunction findSeedRenderPhp(seed: SeedSource): string | null {\n for (const candidate of [\n path.join(seed.blockDir, 'render.php'),\n path.join(seed.rootDir, 'render.php'),\n ]) {\n if (fs.existsSync(candidate)) {\n return candidate\n }\n }\n return null\n}\n\nasync function removeSeedEntryConflicts(templateDir: string): Promise<void> {\n for (const filename of [\n 'block.json',\n 'block.json.mustache',\n 'edit.js',\n 'edit.jsx',\n 'edit.ts',\n 'edit.tsx',\n 'edit.tsx.mustache',\n 'hooks.ts',\n 'hooks.ts.mustache',\n 'index.js',\n 'index.jsx',\n 'index.ts',\n 'index.tsx',\n 'index.tsx.mustache',\n 'save.js',\n 'save.jsx',\n 'save.ts',\n 'save.tsx',\n 'save.tsx.mustache',\n 'style.css',\n 'style.scss',\n 'style.scss.mustache',\n 'types.ts',\n 'types.ts.mustache',\n 'validators.ts',\n 'validators.ts.mustache',\n 'view.js',\n 'view.jsx',\n 'view.ts',\n 'view.tsx',\n ]) {\n await fsp.rm(path.join(templateDir, 'src', filename), { force: true })\n }\n}\n\n/**\n * Convert a create-block subset seed into a normalized wp-typia template source.\n *\n * @param seed Seed source produced from a remote create-block subset.\n * @param context Template variable context used for generated artifacts.\n * @returns A normalized template source rooted in a temporary directory.\n */\nexport async function normalizeCreateBlockSubset(\n seed: SeedSource,\n context: TemplateVariableContext,\n): Promise<ResolvedTemplateSource> {\n const { path: tempRoot, cleanup } = await createManagedTempRoot(\n 'wp-typia-remote-template-',\n )\n try {\n const templateDir = path.join(tempRoot, 'template')\n const blockJson = readRemoteBlockJson(seed.blockDir)\n const sourceRoot = getSeedSourceRoot(seed.blockDir)\n\n await fsp.mkdir(templateDir, { recursive: true })\n for (const layerDir of getBuiltInTemplateLayerDirs('basic')) {\n if (!fs.existsSync(layerDir)) {\n if (isOmittableBuiltInTemplateLayerDir('basic', layerDir)) {\n continue\n }\n throw new Error(`Built-in template layer is missing: ${layerDir}`)\n }\n await fsp.cp(layerDir, templateDir, {\n recursive: true,\n force: true,\n })\n }\n await removeSeedEntryConflicts(templateDir)\n await fsp.cp(sourceRoot, path.join(templateDir, 'src'), {\n recursive: true,\n force: true,\n })\n\n const remoteRenderPath = findSeedRenderPhp(seed)\n if (remoteRenderPath) {\n await fsp.copyFile(remoteRenderPath, path.join(templateDir, 'render.php'))\n }\n\n if (seed.assetsDir && fs.existsSync(seed.assetsDir)) {\n await fsp.cp(seed.assetsDir, path.join(templateDir, 'assets'), {\n recursive: true,\n force: true,\n })\n }\n\n await fsp.writeFile(\n path.join(templateDir, 'src', 'types.ts'),\n buildRemoteTypesSource(blockJson, context),\n 'utf8',\n )\n await fsp.writeFile(\n path.join(templateDir, 'src', 'block.json'),\n buildRemoteBlockJsonTemplate(blockJson),\n 'utf8',\n )\n await rewriteBlockJsonImports(path.join(templateDir, 'src'))\n\n const needsInteractivity =\n typeof blockJson.viewScriptModule === 'string' ||\n typeof blockJson.viewScript === 'string' ||\n fs.existsSync(path.join(templateDir, 'src', 'view.js')) ||\n fs.existsSync(path.join(templateDir, 'src', 'view.ts')) ||\n fs.existsSync(path.join(templateDir, 'src', 'view.tsx')) ||\n fs.existsSync(path.join(templateDir, 'src', 'interactivity.js')) ||\n fs.existsSync(path.join(templateDir, 'src', 'interactivity.ts'))\n\n await patchRemotePackageJson(templateDir, needsInteractivity)\n\n return {\n id: 'remote:create-block-subset',\n defaultCategory: getDefaultCategoryFromBlockJson(blockJson),\n description:\n 'A wp-typia scaffold normalized from a create-block subset source',\n features: [\n 'Remote source',\n 'create-block adapter',\n 'Typia metadata pipeline',\n ],\n format: 'create-block-subset',\n selectedVariant: seed.selectedVariant ?? null,\n templateDir,\n warnings: seed.warnings ?? [],\n cleanup: async () => cleanupSeedRootPair(cleanup, seed.cleanup),\n }\n } catch (error) {\n await Promise.allSettled([cleanup(), seed.cleanup?.()])\n throw error\n }\n}\n",
86
+ "import fs from 'node:fs'\nimport { promises as fsp } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport { execFileSync } from 'node:child_process'\n\nimport semver from 'semver'\nimport { x as extractTarball } from 'tar'\n\nimport {\n OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n PROJECT_TOOLS_PACKAGE_ROOT,\n} from './template-registry.js'\nimport { isPlainObject } from './object-utils.js'\nimport { createManagedTempRoot } from './temp-roots.js'\nimport type {\n GitHubTemplateLocator,\n NpmTemplateLocator,\n RemoteTemplateLocator,\n SeedSource,\n} from './template-source-contracts.js'\n\nfunction selectRegistryVersion(\n metadata: Record<string, unknown>,\n locator: NpmTemplateLocator,\n): string {\n const distTags = isPlainObject(metadata['dist-tags'])\n ? metadata['dist-tags']\n : {}\n const versions = isPlainObject(metadata.versions) ? metadata.versions : {}\n const versionKeys = Object.keys(versions)\n\n if (locator.type === 'version') {\n if (!versions[locator.fetchSpec]) {\n throw new Error(`npm template package version not found: ${locator.raw}`)\n }\n return locator.fetchSpec\n }\n\n if (locator.type === 'tag') {\n const taggedVersion = distTags[locator.fetchSpec]\n if (typeof taggedVersion !== 'string') {\n throw new Error(`npm template package tag not found: ${locator.raw}`)\n }\n return taggedVersion\n }\n\n const range = locator.fetchSpec.trim().length > 0 ? locator.fetchSpec : '*'\n const matchedVersion = semver.maxSatisfying(versionKeys, range)\n if (matchedVersion) {\n return matchedVersion\n }\n\n if (locator.fetchSpec.trim().length > 0) {\n throw new Error(\n `Unable to resolve npm template version for ${locator.raw}. Requested \"${locator.fetchSpec}\" but available versions are: ${versionKeys.join(', ') || '(none)'}.`,\n )\n }\n\n const latestVersion = distTags.latest\n if (typeof latestVersion === 'string' && versions[latestVersion]) {\n return latestVersion\n }\n\n throw new Error(\n `Unable to resolve a published npm template version for ${locator.raw}.`,\n )\n}\n\nasync function fetchNpmTemplateSource(\n locator: NpmTemplateLocator,\n): Promise<SeedSource> {\n const registryBase = (\n process.env.NPM_CONFIG_REGISTRY ?? 'https://registry.npmjs.org'\n ).replace(/\\/$/, '')\n const metadataResponse = await fetch(\n `${registryBase}/${encodeURIComponent(locator.name)}`,\n )\n if (!metadataResponse.ok) {\n throw new Error(\n `Failed to fetch npm template metadata for ${locator.raw}: ${metadataResponse.status}`,\n )\n }\n\n const metadata = (await metadataResponse.json()) as Record<string, unknown>\n const resolvedVersion = selectRegistryVersion(metadata, locator)\n const versions = isPlainObject(metadata.versions) ? metadata.versions : {}\n const versionMetadata = versions[resolvedVersion]\n if (!isPlainObject(versionMetadata) || !isPlainObject(versionMetadata.dist)) {\n throw new Error(\n `npm template metadata is missing dist information for ${locator.raw}@${resolvedVersion}.`,\n )\n }\n\n const tarballUrl = versionMetadata.dist.tarball\n if (typeof tarballUrl !== 'string' || tarballUrl.length === 0) {\n throw new Error(\n `npm template metadata is missing tarball URL for ${locator.raw}@${resolvedVersion}.`,\n )\n }\n\n const { path: tempRoot, cleanup } = await createManagedTempRoot(\n 'wp-typia-template-source-',\n )\n\n try {\n const tarballResponse = await fetch(tarballUrl)\n if (!tarballResponse.ok) {\n throw new Error(\n `Failed to download npm template tarball for ${locator.raw}: ${tarballResponse.status}`,\n )\n }\n\n const tarballPath = path.join(tempRoot, 'template.tgz')\n const unpackDir = path.join(tempRoot, 'source')\n await fsp.mkdir(unpackDir, { recursive: true })\n await fsp.writeFile(\n tarballPath,\n Buffer.from(await tarballResponse.arrayBuffer()),\n )\n await extractTarball({\n cwd: unpackDir,\n file: tarballPath,\n strip: 1,\n })\n await assertNoSymlinks(unpackDir)\n\n return {\n blockDir: unpackDir,\n cleanup,\n rootDir: unpackDir,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n\n/**\n * Resolve a locally installed npm template package from the caller workspace.\n *\n * Bare package ids are preferred here so monorepo and offline workflows can\n * use an already-installed template without forcing a registry fetch.\n */\nfunction resolveInstalledNpmTemplateSource(\n locator: NpmTemplateLocator,\n cwd: string,\n): SeedSource | null {\n if (locator.rawSpec !== '' && locator.rawSpec !== '*') {\n return null\n }\n\n const workspacePackagesRoot = path.resolve(PROJECT_TOOLS_PACKAGE_ROOT, '..')\n if (fs.existsSync(workspacePackagesRoot)) {\n for (const entry of fs.readdirSync(workspacePackagesRoot, {\n withFileTypes: true,\n })) {\n if (!entry.isDirectory()) {\n continue\n }\n\n const packageDir = path.join(workspacePackagesRoot, entry.name)\n const packageJsonPath = path.join(packageDir, 'package.json')\n if (!fs.existsSync(packageJsonPath)) {\n continue\n }\n\n const manifest = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')) as {\n name?: string\n }\n if (manifest.name === locator.name) {\n return {\n blockDir: packageDir,\n rootDir: packageDir,\n }\n }\n }\n }\n\n const workspaceRequire = createRequire(\n path.join(path.resolve(cwd), '__wp_typia_template_resolver__.cjs'),\n )\n try {\n const packageJsonPath = fs.realpathSync(\n workspaceRequire.resolve(`${locator.name}/package.json`),\n )\n const sourceDir = path.dirname(packageJsonPath)\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n } catch (error) {\n const errorCode =\n typeof error === 'object' && error !== null && 'code' in error\n ? String((error as { code: unknown }).code)\n : ''\n if (\n errorCode === 'MODULE_NOT_FOUND' ||\n errorCode === 'ERR_PACKAGE_PATH_NOT_EXPORTED'\n ) {\n for (const basePath of workspaceRequire.resolve.paths(locator.name) ??\n []) {\n const packageJsonPath = path.join(\n basePath,\n locator.name,\n 'package.json',\n )\n if (!fs.existsSync(packageJsonPath)) {\n continue\n }\n const sourceDir = path.dirname(fs.realpathSync(packageJsonPath))\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n }\n return null\n }\n throw error\n }\n}\n\nexport function isOfficialWorkspaceTemplateSeed(seed: SeedSource): boolean {\n const packageJsonPath = path.join(seed.rootDir, 'package.json')\n if (!fs.existsSync(packageJsonPath)) {\n return false\n }\n\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, 'utf8'),\n ) as { name?: string }\n return packageJson.name === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE\n } catch {\n return false\n }\n}\n\nexport async function assertNoSymlinks(sourceDir: string): Promise<void> {\n const stats = await fsp.lstat(sourceDir)\n if (stats.isSymbolicLink()) {\n throw new Error(\n `Template sources may not include symbolic links: ${sourceDir}`,\n )\n }\n\n if (!stats.isDirectory()) {\n return\n }\n\n for (const entry of await fsp.readdir(sourceDir)) {\n await assertNoSymlinks(path.join(sourceDir, entry))\n }\n}\n\nasync function resolveGitHubTemplateSource(\n locator: GitHubTemplateLocator,\n): Promise<SeedSource> {\n const { path: remoteRoot, cleanup } = await createManagedTempRoot(\n 'wp-typia-template-source-',\n )\n const checkoutDir = path.join(remoteRoot, 'source')\n\n try {\n const args = ['clone', '--depth', '1']\n if (locator.ref) {\n args.push('--branch', locator.ref)\n }\n args.push(\n `https://github.com/${locator.owner}/${locator.repo}.git`,\n checkoutDir,\n )\n execFileSync('git', args, { stdio: 'ignore' })\n\n const sourceDir = path.resolve(checkoutDir, locator.sourcePath)\n const relativeSourceDir = path.relative(checkoutDir, sourceDir)\n if (\n relativeSourceDir.startsWith('..') ||\n path.isAbsolute(relativeSourceDir)\n ) {\n throw new Error(\n 'GitHub template path must stay within the cloned repository.',\n )\n }\n if (!fs.existsSync(sourceDir)) {\n throw new Error(\n `GitHub template path does not exist: ${locator.sourcePath}`,\n )\n }\n await assertNoSymlinks(sourceDir)\n\n return {\n blockDir: sourceDir,\n cleanup,\n rootDir: sourceDir,\n }\n } catch (error) {\n await cleanup()\n throw error\n }\n}\n\n/**\n * Resolves a template locator into a local seed source directory.\n *\n * @param locator Remote template locator describing a local path, GitHub source, or npm package.\n * @param cwd Current working directory used to resolve local template paths.\n * @returns A local seed source containing the resolved root and block directory, plus optional cleanup.\n * @throws When the locator is invalid, the source cannot be fetched, or filesystem validation fails.\n */\nexport async function resolveTemplateSeed(\n locator: RemoteTemplateLocator,\n cwd: string,\n): Promise<SeedSource> {\n if (locator.kind === 'path') {\n const sourceDir = path.resolve(cwd, locator.templatePath)\n if (!fs.existsSync(sourceDir)) {\n throw new Error(`Template path does not exist: ${sourceDir}`)\n }\n await assertNoSymlinks(sourceDir)\n return {\n blockDir: sourceDir,\n rootDir: sourceDir,\n }\n }\n\n if (locator.kind === 'github') {\n return resolveGitHubTemplateSource(locator.locator)\n }\n\n const installedSource = resolveInstalledNpmTemplateSource(\n locator.locator,\n cwd,\n )\n if (installedSource) {\n await assertNoSymlinks(installedSource.blockDir)\n return installedSource\n }\n\n return fetchNpmTemplateSource(locator.locator)\n}\n",
86
87
  "var kr=Object.defineProperty;var vr=(s,t)=>{for(var e in t)kr(s,e,{get:t[e],enumerable:!0})};import Kr from\"events\";import I from\"fs\";import{EventEmitter as Ti}from\"node:events\";import Ns from\"node:stream\";import{StringDecoder as Mr}from\"node:string_decoder\";var Os=typeof process==\"object\"&&process?process:{stdout:null,stderr:null},Br=s=>!!s&&typeof s==\"object\"&&(s instanceof D||s instanceof Ns||Pr(s)||zr(s)),Pr=s=>!!s&&typeof s==\"object\"&&s instanceof Ti&&typeof s.pipe==\"function\"&&s.pipe!==Ns.Writable.prototype.pipe,zr=s=>!!s&&typeof s==\"object\"&&s instanceof Ti&&typeof s.write==\"function\"&&typeof s.end==\"function\",q=Symbol(\"EOF\"),j=Symbol(\"maybeEmitEnd\"),rt=Symbol(\"emittedEnd\"),Le=Symbol(\"emittingEnd\"),jt=Symbol(\"emittedError\"),Ne=Symbol(\"closed\"),Ts=Symbol(\"read\"),Ae=Symbol(\"flush\"),xs=Symbol(\"flushChunk\"),z=Symbol(\"encoding\"),Mt=Symbol(\"decoder\"),b=Symbol(\"flowing\"),Qt=Symbol(\"paused\"),Bt=Symbol(\"resume\"),_=Symbol(\"buffer\"),A=Symbol(\"pipes\"),g=Symbol(\"bufferLength\"),yi=Symbol(\"bufferPush\"),De=Symbol(\"bufferShift\"),L=Symbol(\"objectMode\"),w=Symbol(\"destroyed\"),Ri=Symbol(\"error\"),bi=Symbol(\"emitData\"),Ls=Symbol(\"emitEnd\"),_i=Symbol(\"emitEnd2\"),Z=Symbol(\"async\"),gi=Symbol(\"abort\"),Ie=Symbol(\"aborted\"),Jt=Symbol(\"signal\"),yt=Symbol(\"dataListeners\"),C=Symbol(\"discarded\"),te=s=>Promise.resolve().then(s),Ur=s=>s(),Hr=s=>s===\"end\"||s===\"finish\"||s===\"prefinish\",Wr=s=>s instanceof ArrayBuffer||!!s&&typeof s==\"object\"&&s.constructor&&s.constructor.name===\"ArrayBuffer\"&&s.byteLength>=0,Gr=s=>!Buffer.isBuffer(s)&&ArrayBuffer.isView(s),Ce=class{src;dest;opts;ondrain;constructor(t,e,i){this.src=t,this.dest=e,this.opts=i,this.ondrain=()=>t[Bt](),this.dest.on(\"drain\",this.ondrain)}unpipe(){this.dest.removeListener(\"drain\",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},Oi=class extends Ce{unpipe(){this.src.removeListener(\"error\",this.proxyErrors),super.unpipe()}constructor(t,e,i){super(t,e,i),this.proxyErrors=r=>this.dest.emit(\"error\",r),t.on(\"error\",this.proxyErrors)}},Zr=s=>!!s.objectMode,Yr=s=>!s.objectMode&&!!s.encoding&&s.encoding!==\"buffer\",D=class extends Ti{[b]=!1;[Qt]=!1;[A]=[];[_]=[];[L];[z];[Z];[Mt];[q]=!1;[rt]=!1;[Le]=!1;[Ne]=!1;[jt]=null;[g]=0;[w]=!1;[Jt];[Ie]=!1;[yt]=0;[C]=!1;writable=!0;readable=!0;constructor(...t){let e=t[0]||{};if(super(),e.objectMode&&typeof e.encoding==\"string\")throw new TypeError(\"Encoding and objectMode may not be used together\");Zr(e)?(this[L]=!0,this[z]=null):Yr(e)?(this[z]=e.encoding,this[L]=!1):(this[L]=!1,this[z]=null),this[Z]=!!e.async,this[Mt]=this[z]?new Mr(this[z]):null,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,\"buffer\",{get:()=>this[_]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,\"pipes\",{get:()=>this[A]});let{signal:i}=e;i&&(this[Jt]=i,i.aborted?this[gi]():i.addEventListener(\"abort\",()=>this[gi]()))}get bufferLength(){return this[g]}get encoding(){return this[z]}set encoding(t){throw new Error(\"Encoding must be set at instantiation time\")}setEncoding(t){throw new Error(\"Encoding must be set at instantiation time\")}get objectMode(){return this[L]}set objectMode(t){throw new Error(\"objectMode must be set at instantiation time\")}get async(){return this[Z]}set async(t){this[Z]=this[Z]||!!t}[gi](){this[Ie]=!0,this.emit(\"abort\",this[Jt]?.reason),this.destroy(this[Jt]?.reason)}get aborted(){return this[Ie]}set aborted(t){}write(t,e,i){if(this[Ie])return!1;if(this[q])throw new Error(\"write after end\");if(this[w])return this.emit(\"error\",Object.assign(new Error(\"Cannot call write after a stream was destroyed\"),{code:\"ERR_STREAM_DESTROYED\"})),!0;typeof e==\"function\"&&(i=e,e=\"utf8\"),e||(e=\"utf8\");let r=this[Z]?te:Ur;if(!this[L]&&!Buffer.isBuffer(t)){if(Gr(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(Wr(t))t=Buffer.from(t);else if(typeof t!=\"string\")throw new Error(\"Non-contiguous data written to non-objectMode stream\")}return this[L]?(this[b]&&this[g]!==0&&this[Ae](!0),this[b]?this.emit(\"data\",t):this[yi](t),this[g]!==0&&this.emit(\"readable\"),i&&r(i),this[b]):t.length?(typeof t==\"string\"&&!(e===this[z]&&!this[Mt]?.lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[z]&&(t=this[Mt].write(t)),this[b]&&this[g]!==0&&this[Ae](!0),this[b]?this.emit(\"data\",t):this[yi](t),this[g]!==0&&this.emit(\"readable\"),i&&r(i),this[b]):(this[g]!==0&&this.emit(\"readable\"),i&&r(i),this[b])}read(t){if(this[w])return null;if(this[C]=!1,this[g]===0||t===0||t&&t>this[g])return this[j](),null;this[L]&&(t=null),this[_].length>1&&!this[L]&&(this[_]=[this[z]?this[_].join(\"\"):Buffer.concat(this[_],this[g])]);let e=this[Ts](t||null,this[_][0]);return this[j](),e}[Ts](t,e){if(this[L])this[De]();else{let i=e;t===i.length||t===null?this[De]():typeof i==\"string\"?(this[_][0]=i.slice(t),e=i.slice(0,t),this[g]-=t):(this[_][0]=i.subarray(t),e=i.subarray(0,t),this[g]-=t)}return this.emit(\"data\",e),!this[_].length&&!this[q]&&this.emit(\"drain\"),e}end(t,e,i){return typeof t==\"function\"&&(i=t,t=void 0),typeof e==\"function\"&&(i=e,e=\"utf8\"),t!==void 0&&this.write(t,e),i&&this.once(\"end\",i),this[q]=!0,this.writable=!1,(this[b]||!this[Qt])&&this[j](),this}[Bt](){this[w]||(!this[yt]&&!this[A].length&&(this[C]=!0),this[Qt]=!1,this[b]=!0,this.emit(\"resume\"),this[_].length?this[Ae]():this[q]?this[j]():this.emit(\"drain\"))}resume(){return this[Bt]()}pause(){this[b]=!1,this[Qt]=!0,this[C]=!1}get destroyed(){return this[w]}get flowing(){return this[b]}get paused(){return this[Qt]}[yi](t){this[L]?this[g]+=1:this[g]+=t.length,this[_].push(t)}[De](){return this[L]?this[g]-=1:this[g]-=this[_][0].length,this[_].shift()}[Ae](t=!1){do;while(this[xs](this[De]())&&this[_].length);!t&&!this[_].length&&!this[q]&&this.emit(\"drain\")}[xs](t){return this.emit(\"data\",t),this[b]}pipe(t,e){if(this[w])return t;this[C]=!1;let i=this[rt];return e=e||{},t===Os.stdout||t===Os.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,i?e.end&&t.end():(this[A].push(e.proxyErrors?new Oi(this,t,e):new Ce(this,t,e)),this[Z]?te(()=>this[Bt]()):this[Bt]()),t}unpipe(t){let e=this[A].find(i=>i.dest===t);e&&(this[A].length===1?(this[b]&&this[yt]===0&&(this[b]=!1),this[A]=[]):this[A].splice(this[A].indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let i=super.on(t,e);if(t===\"data\")this[C]=!1,this[yt]++,!this[A].length&&!this[b]&&this[Bt]();else if(t===\"readable\"&&this[g]!==0)super.emit(\"readable\");else if(Hr(t)&&this[rt])super.emit(t),this.removeAllListeners(t);else if(t===\"error\"&&this[jt]){let r=e;this[Z]?te(()=>r.call(this,this[jt])):r.call(this,this[jt])}return i}removeListener(t,e){return this.off(t,e)}off(t,e){let i=super.off(t,e);return t===\"data\"&&(this[yt]=this.listeners(\"data\").length,this[yt]===0&&!this[C]&&!this[A].length&&(this[b]=!1)),i}removeAllListeners(t){let e=super.removeAllListeners(t);return(t===\"data\"||t===void 0)&&(this[yt]=0,!this[C]&&!this[A].length&&(this[b]=!1)),e}get emittedEnd(){return this[rt]}[j](){!this[Le]&&!this[rt]&&!this[w]&&this[_].length===0&&this[q]&&(this[Le]=!0,this.emit(\"end\"),this.emit(\"prefinish\"),this.emit(\"finish\"),this[Ne]&&this.emit(\"close\"),this[Le]=!1)}emit(t,...e){let i=e[0];if(t!==\"error\"&&t!==\"close\"&&t!==w&&this[w])return!1;if(t===\"data\")return!this[L]&&!i?!1:this[Z]?(te(()=>this[bi](i)),!0):this[bi](i);if(t===\"end\")return this[Ls]();if(t===\"close\"){if(this[Ne]=!0,!this[rt]&&!this[w])return!1;let n=super.emit(\"close\");return this.removeAllListeners(\"close\"),n}else if(t===\"error\"){this[jt]=i,super.emit(Ri,i);let n=!this[Jt]||this.listeners(\"error\").length?super.emit(\"error\",i):!1;return this[j](),n}else if(t===\"resume\"){let n=super.emit(\"resume\");return this[j](),n}else if(t===\"finish\"||t===\"prefinish\"){let n=super.emit(t);return this.removeAllListeners(t),n}let r=super.emit(t,...e);return this[j](),r}[bi](t){for(let i of this[A])i.dest.write(t)===!1&&this.pause();let e=this[C]?!1:super.emit(\"data\",t);return this[j](),e}[Ls](){return this[rt]?!1:(this[rt]=!0,this.readable=!1,this[Z]?(te(()=>this[_i]()),!0):this[_i]())}[_i](){if(this[Mt]){let e=this[Mt].end();if(e){for(let i of this[A])i.dest.write(e);this[C]||super.emit(\"data\",e)}}for(let e of this[A])e.end();let t=super.emit(\"end\");return this.removeAllListeners(\"end\"),t}async collect(){let t=Object.assign([],{dataLength:0});this[L]||(t.dataLength=0);let e=this.promise();return this.on(\"data\",i=>{t.push(i),this[L]||(t.dataLength+=i.length)}),await e,t}async concat(){if(this[L])throw new Error(\"cannot concat in objectMode\");let t=await this.collect();return this[z]?t.join(\"\"):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,e)=>{this.on(w,()=>e(new Error(\"stream destroyed\"))),this.on(\"error\",i=>e(i)),this.on(\"end\",()=>t())})}[Symbol.asyncIterator](){this[C]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[q])return e();let n,o,h=d=>{this.off(\"data\",a),this.off(\"end\",l),this.off(w,c),e(),o(d)},a=d=>{this.off(\"error\",h),this.off(\"end\",l),this.off(w,c),this.pause(),n({value:d,done:!!this[q]})},l=()=>{this.off(\"error\",h),this.off(\"data\",a),this.off(w,c),e(),n({done:!0,value:void 0})},c=()=>h(new Error(\"stream destroyed\"));return new Promise((d,S)=>{o=S,n=d,this.once(w,c),this.once(\"error\",h),this.once(\"end\",l),this.once(\"data\",a)})},throw:e,return:e,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[C]=!1;let t=!1,e=()=>(this.pause(),this.off(Ri,e),this.off(w,e),this.off(\"end\",e),t=!0,{done:!0,value:void 0}),i=()=>{if(t)return e();let r=this.read();return r===null?e():{done:!1,value:r}};return this.once(\"end\",e),this.once(Ri,e),this.once(w,e),{next:i,throw:e,return:e,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(t){if(this[w])return t?this.emit(\"error\",t):this.emit(w),this;this[w]=!0,this[C]=!0,this[_].length=0,this[g]=0;let e=this;return typeof e.close==\"function\"&&!this[Ne]&&e.close(),t?this.emit(\"error\",t):this.emit(w),this}static get isStream(){return Br}};var Vr=I.writev,ot=Symbol(\"_autoClose\"),H=Symbol(\"_close\"),ee=Symbol(\"_ended\"),m=Symbol(\"_fd\"),xi=Symbol(\"_finished\"),J=Symbol(\"_flags\"),Li=Symbol(\"_flush\"),Ii=Symbol(\"_handleChunk\"),Ci=Symbol(\"_makeBuf\"),se=Symbol(\"_mode\"),Fe=Symbol(\"_needDrain\"),Ut=Symbol(\"_onerror\"),Ht=Symbol(\"_onopen\"),Ni=Symbol(\"_onread\"),Pt=Symbol(\"_onwrite\"),ht=Symbol(\"_open\"),U=Symbol(\"_path\"),nt=Symbol(\"_pos\"),Y=Symbol(\"_queue\"),zt=Symbol(\"_read\"),Ai=Symbol(\"_readSize\"),Q=Symbol(\"_reading\"),ie=Symbol(\"_remain\"),Di=Symbol(\"_size\"),ke=Symbol(\"_write\"),Rt=Symbol(\"_writing\"),ve=Symbol(\"_defaultFlag\"),bt=Symbol(\"_errored\"),_t=class extends D{[bt]=!1;[m];[U];[Ai];[Q]=!1;[Di];[ie];[ot];constructor(t,e){if(e=e||{},super(e),this.readable=!0,this.writable=!1,typeof t!=\"string\")throw new TypeError(\"path must be a string\");this[bt]=!1,this[m]=typeof e.fd==\"number\"?e.fd:void 0,this[U]=t,this[Ai]=e.readSize||16*1024*1024,this[Q]=!1,this[Di]=typeof e.size==\"number\"?e.size:1/0,this[ie]=this[Di],this[ot]=typeof e.autoClose==\"boolean\"?e.autoClose:!0,typeof this[m]==\"number\"?this[zt]():this[ht]()}get fd(){return this[m]}get path(){return this[U]}write(){throw new TypeError(\"this is a readable stream\")}end(){throw new TypeError(\"this is a readable stream\")}[ht](){I.open(this[U],\"r\",(t,e)=>this[Ht](t,e))}[Ht](t,e){t?this[Ut](t):(this[m]=e,this.emit(\"open\",e),this[zt]())}[Ci](){return Buffer.allocUnsafe(Math.min(this[Ai],this[ie]))}[zt](){if(!this[Q]){this[Q]=!0;let t=this[Ci]();if(t.length===0)return process.nextTick(()=>this[Ni](null,0,t));I.read(this[m],t,0,t.length,null,(e,i,r)=>this[Ni](e,i,r))}}[Ni](t,e,i){this[Q]=!1,t?this[Ut](t):this[Ii](e,i)&&this[zt]()}[H](){if(this[ot]&&typeof this[m]==\"number\"){let t=this[m];this[m]=void 0,I.close(t,e=>e?this.emit(\"error\",e):this.emit(\"close\"))}}[Ut](t){this[Q]=!0,this[H](),this.emit(\"error\",t)}[Ii](t,e){let i=!1;return this[ie]-=t,t>0&&(i=super.write(t<e.length?e.subarray(0,t):e)),(t===0||this[ie]<=0)&&(i=!1,this[H](),super.end()),i}emit(t,...e){switch(t){case\"prefinish\":case\"finish\":return!1;case\"drain\":return typeof this[m]==\"number\"&&this[zt](),!1;case\"error\":return this[bt]?!1:(this[bt]=!0,super.emit(t,...e));default:return super.emit(t,...e)}}},Me=class extends _t{[ht](){let t=!0;try{this[Ht](null,I.openSync(this[U],\"r\")),t=!1}finally{t&&this[H]()}}[zt](){let t=!0;try{if(!this[Q]){this[Q]=!0;do{let e=this[Ci](),i=e.length===0?0:I.readSync(this[m],e,0,e.length,null);if(!this[Ii](i,e))break}while(!0);this[Q]=!1}t=!1}finally{t&&this[H]()}}[H](){if(this[ot]&&typeof this[m]==\"number\"){let t=this[m];this[m]=void 0,I.closeSync(t),this.emit(\"close\")}}},tt=class extends Kr{readable=!1;writable=!0;[bt]=!1;[Rt]=!1;[ee]=!1;[Y]=[];[Fe]=!1;[U];[se];[ot];[m];[ve];[J];[xi]=!1;[nt];constructor(t,e){e=e||{},super(e),this[U]=t,this[m]=typeof e.fd==\"number\"?e.fd:void 0,this[se]=e.mode===void 0?438:e.mode,this[nt]=typeof e.start==\"number\"?e.start:void 0,this[ot]=typeof e.autoClose==\"boolean\"?e.autoClose:!0;let i=this[nt]!==void 0?\"r+\":\"w\";this[ve]=e.flags===void 0,this[J]=e.flags===void 0?i:e.flags,this[m]===void 0&&this[ht]()}emit(t,...e){if(t===\"error\"){if(this[bt])return!1;this[bt]=!0}return super.emit(t,...e)}get fd(){return this[m]}get path(){return this[U]}[Ut](t){this[H](),this[Rt]=!0,this.emit(\"error\",t)}[ht](){I.open(this[U],this[J],this[se],(t,e)=>this[Ht](t,e))}[Ht](t,e){this[ve]&&this[J]===\"r+\"&&t&&t.code===\"ENOENT\"?(this[J]=\"w\",this[ht]()):t?this[Ut](t):(this[m]=e,this.emit(\"open\",e),this[Rt]||this[Li]())}end(t,e){return t&&this.write(t,e),this[ee]=!0,!this[Rt]&&!this[Y].length&&typeof this[m]==\"number\"&&this[Pt](null,0),this}write(t,e){return typeof t==\"string\"&&(t=Buffer.from(t,e)),this[ee]?(this.emit(\"error\",new Error(\"write() after end()\")),!1):this[m]===void 0||this[Rt]||this[Y].length?(this[Y].push(t),this[Fe]=!0,!1):(this[Rt]=!0,this[ke](t),!0)}[ke](t){I.write(this[m],t,0,t.length,this[nt],(e,i)=>this[Pt](e,i))}[Pt](t,e){t?this[Ut](t):(this[nt]!==void 0&&typeof e==\"number\"&&(this[nt]+=e),this[Y].length?this[Li]():(this[Rt]=!1,this[ee]&&!this[xi]?(this[xi]=!0,this[H](),this.emit(\"finish\")):this[Fe]&&(this[Fe]=!1,this.emit(\"drain\"))))}[Li](){if(this[Y].length===0)this[ee]&&this[Pt](null,0);else if(this[Y].length===1)this[ke](this[Y].pop());else{let t=this[Y];this[Y]=[],Vr(this[m],t,this[nt],(e,i)=>this[Pt](e,i))}}[H](){if(this[ot]&&typeof this[m]==\"number\"){let t=this[m];this[m]=void 0,I.close(t,e=>e?this.emit(\"error\",e):this.emit(\"close\"))}}},Wt=class extends tt{[ht](){let t;if(this[ve]&&this[J]===\"r+\")try{t=I.openSync(this[U],this[J],this[se])}catch(e){if(e?.code===\"ENOENT\")return this[J]=\"w\",this[ht]();throw e}else t=I.openSync(this[U],this[J],this[se]);this[Ht](null,t)}[H](){if(this[ot]&&typeof this[m]==\"number\"){let t=this[m];this[m]=void 0,I.closeSync(t),this.emit(\"close\")}}[ke](t){let e=!0;try{this[Pt](null,I.writeSync(this[m],t,0,t.length,this[nt])),e=!1}finally{if(e)try{this[H]()}catch{}}}};import nr from\"node:path\";import Vt from\"node:fs\";import{dirname as xn,parse as Ln}from\"path\";var $r=new Map([[\"C\",\"cwd\"],[\"f\",\"file\"],[\"z\",\"gzip\"],[\"P\",\"preservePaths\"],[\"U\",\"unlink\"],[\"strip-components\",\"strip\"],[\"stripComponents\",\"strip\"],[\"keep-newer\",\"newer\"],[\"keepNewer\",\"newer\"],[\"keep-newer-files\",\"newer\"],[\"keepNewerFiles\",\"newer\"],[\"k\",\"keep\"],[\"keep-existing\",\"keep\"],[\"keepExisting\",\"keep\"],[\"m\",\"noMtime\"],[\"no-mtime\",\"noMtime\"],[\"p\",\"preserveOwner\"],[\"L\",\"follow\"],[\"h\",\"follow\"],[\"onentry\",\"onReadEntry\"]]),As=s=>!!s.sync&&!!s.file,Ds=s=>!s.sync&&!!s.file,Is=s=>!!s.sync&&!s.file,Cs=s=>!s.sync&&!s.file;var Fs=s=>!!s.file;var Xr=s=>{let t=$r.get(s);return t||s},re=(s={})=>{if(!s)return{};let t={};for(let[e,i]of Object.entries(s)){let r=Xr(e);t[r]=i}return t.chmod===void 0&&t.noChmod===!1&&(t.chmod=!0),delete t.noChmod,t};var K=(s,t,e,i,r)=>Object.assign((n=[],o,h)=>{Array.isArray(n)&&(o=n,n={}),typeof o==\"function\"&&(h=o,o=void 0),o=o?Array.from(o):[];let a=re(n);if(r?.(a,o),As(a)){if(typeof h==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");return s(a,o)}else if(Ds(a)){let l=t(a,o);return h?l.then(()=>h(),h):l}else if(Is(a)){if(typeof h==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");return e(a,o)}else if(Cs(a)){if(typeof h==\"function\")throw new TypeError(\"callback only supported with file option\");return i(a,o)}throw new Error(\"impossible options??\")},{syncFile:s,asyncFile:t,syncNoFile:e,asyncNoFile:i,validate:r});import{EventEmitter as _n}from\"events\";import Mi from\"assert\";import{Buffer as gt}from\"buffer\";import*as ks from\"zlib\";import qr from\"zlib\";var jr=qr.constants||{ZLIB_VERNUM:4736},M=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},jr));var Qr=gt.concat,vs=Object.getOwnPropertyDescriptor(gt,\"concat\"),Jr=s=>s,ki=vs?.writable===!0||vs?.set!==void 0?s=>{gt.concat=s?Jr:Qr}:s=>{},Ot=Symbol(\"_superWrite\"),Gt=class extends Error{code;errno;constructor(t,e){super(\"zlib: \"+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code=\"ZLIB_ERROR\"),this.message=\"zlib: \"+t.message,Error.captureStackTrace(this,e??this.constructor)}get name(){return\"ZlibError\"}},vi=Symbol(\"flushFlag\"),ne=class extends D{#t=!1;#i=!1;#s;#n;#r;#e;#o;get sawError(){return this.#t}get handle(){return this.#e}get flushFlag(){return this.#s}constructor(t,e){if(!t||typeof t!=\"object\")throw new TypeError(\"invalid options for ZlibBase constructor\");if(super(t),this.#s=t.flush??0,this.#n=t.finishFlush??0,this.#r=t.fullFlushFlag??0,typeof ks[e]!=\"function\")throw new TypeError(\"Compression method not supported: \"+e);try{this.#e=new ks[e](t)}catch(i){throw new Gt(i,this.constructor)}this.#o=i=>{this.#t||(this.#t=!0,this.close(),this.emit(\"error\",i))},this.#e?.on(\"error\",i=>this.#o(new Gt(i))),this.once(\"end\",()=>this.close)}close(){this.#e&&(this.#e.close(),this.#e=void 0,this.emit(\"close\"))}reset(){if(!this.#t)return Mi(this.#e,\"zlib binding closed\"),this.#e.reset?.()}flush(t){this.ended||(typeof t!=\"number\"&&(t=this.#r),this.write(Object.assign(gt.alloc(0),{[vi]:t})))}end(t,e,i){return typeof t==\"function\"&&(i=t,e=void 0,t=void 0),typeof e==\"function\"&&(i=e,e=void 0),t&&(e?this.write(t,e):this.write(t)),this.flush(this.#n),this.#i=!0,super.end(i)}get ended(){return this.#i}[Ot](t){return super.write(t)}write(t,e,i){if(typeof e==\"function\"&&(i=e,e=\"utf8\"),typeof t==\"string\"&&(t=gt.from(t,e)),this.#t)return;Mi(this.#e,\"zlib binding closed\");let r=this.#e._handle,n=r.close;r.close=()=>{};let o=this.#e.close;this.#e.close=()=>{},ki(!0);let h;try{let l=typeof t[vi]==\"number\"?t[vi]:this.#s;h=this.#e._processChunk(t,l),ki(!1)}catch(l){ki(!1),this.#o(new Gt(l,this.write))}finally{this.#e&&(this.#e._handle=r,r.close=n,this.#e.close=o,this.#e.removeAllListeners(\"error\"))}this.#e&&this.#e.on(\"error\",l=>this.#o(new Gt(l,this.write)));let a;if(h)if(Array.isArray(h)&&h.length>0){let l=h[0];a=this[Ot](gt.from(l));for(let c=1;c<h.length;c++)a=this[Ot](h[c])}else a=this[Ot](gt.from(h));return i&&i(),a}},Be=class extends ne{#t;#i;constructor(t,e){t=t||{},t.flush=t.flush||M.Z_NO_FLUSH,t.finishFlush=t.finishFlush||M.Z_FINISH,t.fullFlushFlag=M.Z_FULL_FLUSH,super(t,e),this.#t=t.level,this.#i=t.strategy}params(t,e){if(!this.sawError){if(!this.handle)throw new Error(\"cannot switch params when binding is closed\");if(!this.handle.params)throw new Error(\"not supported in this implementation\");if(this.#t!==t||this.#i!==e){this.flush(M.Z_SYNC_FLUSH),Mi(this.handle,\"zlib binding closed\");let i=this.handle.flush;this.handle.flush=(r,n)=>{typeof r==\"function\"&&(n=r,r=this.flushFlag),this.flush(r),n?.()};try{this.handle.params(t,e)}finally{this.handle.flush=i}this.handle&&(this.#t=t,this.#i=e)}}}};var Pe=class extends Be{#t;constructor(t){super(t,\"Gzip\"),this.#t=t&&!!t.portable}[Ot](t){return this.#t?(this.#t=!1,t[9]=255,super[Ot](t)):super[Ot](t)}};var ze=class extends Be{constructor(t){super(t,\"Unzip\")}},Ue=class extends ne{constructor(t,e){t=t||{},t.flush=t.flush||M.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||M.BROTLI_OPERATION_FINISH,t.fullFlushFlag=M.BROTLI_OPERATION_FLUSH,super(t,e)}},He=class extends Ue{constructor(t){super(t,\"BrotliCompress\")}},We=class extends Ue{constructor(t){super(t,\"BrotliDecompress\")}},Ge=class extends ne{constructor(t,e){t=t||{},t.flush=t.flush||M.ZSTD_e_continue,t.finishFlush=t.finishFlush||M.ZSTD_e_end,t.fullFlushFlag=M.ZSTD_e_flush,super(t,e)}},Ze=class extends Ge{constructor(t){super(t,\"ZstdCompress\")}},Ye=class extends Ge{constructor(t){super(t,\"ZstdDecompress\")}};import{posix as Zt}from\"node:path\";var Ms=(s,t)=>{if(Number.isSafeInteger(s))s<0?sn(s,t):en(s,t);else throw Error(\"cannot encode number outside of javascript safe integer range\");return t},en=(s,t)=>{t[0]=128;for(var e=t.length;e>1;e--)t[e-1]=s&255,s=Math.floor(s/256)},sn=(s,t)=>{t[0]=255;var e=!1;s=s*-1;for(var i=t.length;i>1;i--){var r=s&255;s=Math.floor(s/256),e?t[i-1]=Ps(r):r===0?t[i-1]=0:(e=!0,t[i-1]=zs(r))}},Bs=s=>{let t=s[0],e=t===128?nn(s.subarray(1,s.length)):t===255?rn(s):null;if(e===null)throw Error(\"invalid base256 encoding\");if(!Number.isSafeInteger(e))throw Error(\"parsed number outside of javascript safe integer range\");return e},rn=s=>{for(var t=s.length,e=0,i=!1,r=t-1;r>-1;r--){var n=Number(s[r]),o;i?o=Ps(n):n===0?o=n:(i=!0,o=zs(n)),o!==0&&(e-=o*Math.pow(256,t-r-1))}return e},nn=s=>{for(var t=s.length,e=0,i=t-1;i>-1;i--){var r=Number(s[i]);r!==0&&(e+=r*Math.pow(256,t-i-1))}return e},Ps=s=>(255^s)&255,zs=s=>(255^s)+1&255;var Bi={};vr(Bi,{code:()=>Ke,isCode:()=>oe,isName:()=>hn,name:()=>he});var oe=s=>he.has(s),hn=s=>Ke.has(s),he=new Map([[\"0\",\"File\"],[\"\",\"OldFile\"],[\"1\",\"Link\"],[\"2\",\"SymbolicLink\"],[\"3\",\"CharacterDevice\"],[\"4\",\"BlockDevice\"],[\"5\",\"Directory\"],[\"6\",\"FIFO\"],[\"7\",\"ContiguousFile\"],[\"g\",\"GlobalExtendedHeader\"],[\"x\",\"ExtendedHeader\"],[\"A\",\"SolarisACL\"],[\"D\",\"GNUDumpDir\"],[\"I\",\"Inode\"],[\"K\",\"NextFileHasLongLinkpath\"],[\"L\",\"NextFileHasLongPath\"],[\"M\",\"ContinuationFile\"],[\"N\",\"OldGnuLongPath\"],[\"S\",\"SparseFile\"],[\"V\",\"TapeVolumeHeader\"],[\"X\",\"OldExtendedHeader\"]]),Ke=new Map(Array.from(he).map(s=>[s[1],s[0]]));var F=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#t=\"Unsupported\";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,e=0,i,r){Buffer.isBuffer(t)?this.decode(t,e||0,i,r):t&&this.#i(t)}decode(t,e,i,r){if(e||(e=0),!t||!(t.length>=e+512))throw new Error(\"need 512 bytes for header\");this.path=i?.path??Tt(t,e,100),this.mode=i?.mode??r?.mode??at(t,e+100,8),this.uid=i?.uid??r?.uid??at(t,e+108,8),this.gid=i?.gid??r?.gid??at(t,e+116,8),this.size=i?.size??r?.size??at(t,e+124,12),this.mtime=i?.mtime??r?.mtime??Pi(t,e+136,12),this.cksum=at(t,e+148,12),r&&this.#i(r,!0),i&&this.#i(i);let n=Tt(t,e+156,1);if(oe(n)&&(this.#t=n||\"0\"),this.#t===\"0\"&&this.path.slice(-1)===\"/\"&&(this.#t=\"5\"),this.#t===\"5\"&&(this.size=0),this.linkpath=Tt(t,e+157,100),t.subarray(e+257,e+265).toString()===\"ustar\\x0000\")if(this.uname=i?.uname??r?.uname??Tt(t,e+265,32),this.gname=i?.gname??r?.gname??Tt(t,e+297,32),this.devmaj=i?.devmaj??r?.devmaj??at(t,e+329,8)??0,this.devmin=i?.devmin??r?.devmin??at(t,e+337,8)??0,t[e+475]!==0){let h=Tt(t,e+345,155);this.path=h+\"/\"+this.path}else{let h=Tt(t,e+345,130);h&&(this.path=h+\"/\"+this.path),this.atime=i?.atime??r?.atime??Pi(t,e+476,12),this.ctime=i?.ctime??r?.ctime??Pi(t,e+488,12)}let o=256;for(let h=e;h<e+148;h++)o+=t[h];for(let h=e+156;h<e+512;h++)o+=t[h];this.cksumValid=o===this.cksum,this.cksum===void 0&&o===256&&(this.nullBlock=!0)}#i(t,e=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter(([i,r])=>!(r==null||i===\"path\"&&e||i===\"linkpath\"&&e||i===\"global\"))))}encode(t,e=0){if(t||(t=this.block=Buffer.alloc(512)),this.#t===\"Unsupported\"&&(this.#t=\"0\"),!(t.length>=e+512))throw new Error(\"need 512 bytes for header\");let i=this.ctime||this.atime?130:155,r=an(this.path||\"\",i),n=r[0],o=r[1];this.needPax=!!r[2],this.needPax=xt(t,e,100,n)||this.needPax,this.needPax=lt(t,e+100,8,this.mode)||this.needPax,this.needPax=lt(t,e+108,8,this.uid)||this.needPax,this.needPax=lt(t,e+116,8,this.gid)||this.needPax,this.needPax=lt(t,e+124,12,this.size)||this.needPax,this.needPax=zi(t,e+136,12,this.mtime)||this.needPax,t[e+156]=Number(this.#t.codePointAt(0)),this.needPax=xt(t,e+157,100,this.linkpath)||this.needPax,t.write(\"ustar\\x0000\",e+257,8),this.needPax=xt(t,e+265,32,this.uname)||this.needPax,this.needPax=xt(t,e+297,32,this.gname)||this.needPax,this.needPax=lt(t,e+329,8,this.devmaj)||this.needPax,this.needPax=lt(t,e+337,8,this.devmin)||this.needPax,this.needPax=xt(t,e+345,i,o)||this.needPax,t[e+475]!==0?this.needPax=xt(t,e+345,155,o)||this.needPax:(this.needPax=xt(t,e+345,130,o)||this.needPax,this.needPax=zi(t,e+476,12,this.atime)||this.needPax,this.needPax=zi(t,e+488,12,this.ctime)||this.needPax);let h=256;for(let a=e;a<e+148;a++)h+=t[a];for(let a=e+156;a<e+512;a++)h+=t[a];return this.cksum=h,lt(t,e+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#t===\"Unsupported\"?this.#t:he.get(this.#t)}get typeKey(){return this.#t}set type(t){let e=String(Ke.get(t));if(oe(e)||e===\"Unsupported\")this.#t=e;else if(oe(t))this.#t=t;else throw new TypeError(\"invalid entry type: \"+t)}},an=(s,t)=>{let i=s,r=\"\",n,o=Zt.parse(s).root||\".\";if(Buffer.byteLength(i)<100)n=[i,r,!1];else{r=Zt.dirname(i),i=Zt.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(r)<=t?n=[i,r,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(r)<=t?n=[i.slice(0,99),r,!0]:(i=Zt.join(Zt.basename(r),i),r=Zt.dirname(r));while(r!==o&&n===void 0);n||(n=[s.slice(0,99),\"\",!0])}return n},Tt=(s,t,e)=>s.subarray(t,t+e).toString(\"utf8\").replace(/\\0.*/,\"\"),Pi=(s,t,e)=>ln(at(s,t,e)),ln=s=>s===void 0?void 0:new Date(s*1e3),at=(s,t,e)=>Number(s[t])&128?Bs(s.subarray(t,t+e)):fn(s,t,e),cn=s=>isNaN(s)?void 0:s,fn=(s,t,e)=>cn(parseInt(s.subarray(t,t+e).toString(\"utf8\").replace(/\\0.*$/,\"\").trim(),8)),dn={12:8589934591,8:2097151},lt=(s,t,e,i)=>i===void 0?!1:i>dn[e]||i<0?(Ms(i,s.subarray(t,t+e)),!0):(un(s,t,e,i),!1),un=(s,t,e,i)=>s.write(mn(i,e),t,e,\"ascii\"),mn=(s,t)=>pn(Math.floor(s).toString(8),t),pn=(s,t)=>(s.length===t-1?s:new Array(t-s.length-1).join(\"0\")+s+\" \")+\"\\0\",zi=(s,t,e,i)=>i===void 0?!1:lt(s,t,e,i.getTime()/1e3),En=new Array(156).join(\"\\0\"),xt=(s,t,e,i)=>i===void 0?!1:(s.write(i+En,t,e,\"utf8\"),i.length!==Buffer.byteLength(i)||i.length>e);import{basename as wn}from\"node:path\";var ct=class s{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,e=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=e,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t===\"\")return Buffer.allocUnsafe(0);let e=Buffer.byteLength(t),i=512*Math.ceil(1+e/512),r=Buffer.allocUnsafe(i);for(let n=0;n<512;n++)r[n]=0;new F({path:(\"PaxHeader/\"+wn(this.path??\"\")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:e,mtime:this.mtime,type:this.global?\"GlobalExtendedHeader\":\"ExtendedHeader\",linkpath:\"\",uname:this.uname||\"\",gname:this.gname||\"\",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(r),r.write(t,512,e,\"utf8\");for(let n=e+512;n<r.length;n++)r[n]=0;return r}encodeBody(){return this.encodeField(\"path\")+this.encodeField(\"ctime\")+this.encodeField(\"atime\")+this.encodeField(\"dev\")+this.encodeField(\"ino\")+this.encodeField(\"nlink\")+this.encodeField(\"charset\")+this.encodeField(\"comment\")+this.encodeField(\"gid\")+this.encodeField(\"gname\")+this.encodeField(\"linkpath\")+this.encodeField(\"mtime\")+this.encodeField(\"size\")+this.encodeField(\"uid\")+this.encodeField(\"uname\")}encodeField(t){if(this[t]===void 0)return\"\";let e=this[t],i=e instanceof Date?e.getTime()/1e3:e,r=\" \"+(t===\"dev\"||t===\"ino\"||t===\"nlink\"?\"SCHILY.\":\"\")+t+\"=\"+i+`\n`,n=Buffer.byteLength(r),o=Math.floor(Math.log(n)/Math.log(10))+1;return n+o>=Math.pow(10,o)&&(o+=1),o+n+r}static parse(t,e,i=!1){return new s(Sn(yn(t),e),i)}},Sn=(s,t)=>t?Object.assign({},t,s):s,yn=s=>s.replace(/\\n$/,\"\").split(`\n`).reduce(Rn,Object.create(null)),Rn=(s,t)=>{let e=parseInt(t,10);if(e!==Buffer.byteLength(t)+1)return s;t=t.slice((e+\" \").length);let i=t.split(\"=\"),r=i.shift();if(!r)return s;let n=r.replace(/^SCHILY\\.(dev|ino|nlink)/,\"$1\"),o=i.join(\"=\");return s[n]=/^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(n)?new Date(Number(o)*1e3):/^[0-9]+$/.test(o)?+o:o,s};var bn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,f=bn!==\"win32\"?s=>s:s=>s&&s.replaceAll(/\\\\/g,\"/\");var Yt=class extends D{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,e,i){switch(super({}),this.pause(),this.extended=e,this.globalExtended=i,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case\"File\":case\"OldFile\":case\"Link\":case\"SymbolicLink\":case\"CharacterDevice\":case\"BlockDevice\":case\"Directory\":case\"FIFO\":case\"ContiguousFile\":case\"GNUDumpDir\":break;case\"NextFileHasLongLinkpath\":case\"NextFileHasLongPath\":case\"OldGnuLongPath\":case\"GlobalExtendedHeader\":case\"ExtendedHeader\":case\"OldExtendedHeader\":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error(\"no path provided for tar.ReadEntry\");this.path=f(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?f(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,e&&this.#t(e),i&&this.#t(i,!0)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");let i=this.remain,r=this.blockRemain;return this.remain=Math.max(0,i-e),this.blockRemain=Math.max(0,r-e),this.ignore?!0:i>=e?super.write(t):super.write(t.subarray(0,i))}#t(t,e=!1){t.path&&(t.path=f(t.path)),t.linkpath&&(t.linkpath=f(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([i,r])=>!(r==null||i===\"path\"&&e))))}};var Lt=(s,t,e,i={})=>{s.file&&(i.file=s.file),s.cwd&&(i.cwd=s.cwd),i.code=e instanceof Error&&e.code||t,i.tarCode=t,!s.strict&&i.recoverable!==!1?(e instanceof Error&&(i=Object.assign(e,i),e=e.message),s.emit(\"warn\",t,e,i)):e instanceof Error?s.emit(\"error\",Object.assign(e,i)):s.emit(\"error\",Object.assign(new Error(`${t}: ${e}`),i))};var gn=1024*1024,Zi=Buffer.from([31,139]),Yi=Buffer.from([40,181,47,253]),On=Math.max(Zi.length,Yi.length),B=Symbol(\"state\"),Nt=Symbol(\"writeEntry\"),et=Symbol(\"readEntry\"),Ui=Symbol(\"nextEntry\"),Us=Symbol(\"processEntry\"),V=Symbol(\"extendedHeader\"),ae=Symbol(\"globalExtendedHeader\"),ft=Symbol(\"meta\"),Hs=Symbol(\"emitMeta\"),p=Symbol(\"buffer\"),it=Symbol(\"queue\"),dt=Symbol(\"ended\"),Hi=Symbol(\"emittedEnd\"),At=Symbol(\"emit\"),y=Symbol(\"unzip\"),Ve=Symbol(\"consumeChunk\"),$e=Symbol(\"consumeChunkSub\"),Wi=Symbol(\"consumeBody\"),Ws=Symbol(\"consumeMeta\"),Gs=Symbol(\"consumeHeader\"),le=Symbol(\"consuming\"),Gi=Symbol(\"bufferConcat\"),Xe=Symbol(\"maybeEnd\"),Kt=Symbol(\"writing\"),ut=Symbol(\"aborted\"),qe=Symbol(\"onDone\"),Dt=Symbol(\"sawValidEntry\"),je=Symbol(\"sawNullBlock\"),Qe=Symbol(\"sawEOF\"),Zs=Symbol(\"closeStream\"),Tn=()=>!0,st=class extends _n{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[it]=[];[p];[et];[Nt];[B]=\"begin\";[ft]=\"\";[V];[ae];[dt]=!1;[y];[ut]=!1;[Dt];[je]=!1;[Qe]=!1;[Kt]=!1;[le]=!1;[Hi]=!1;constructor(t={}){super(),this.file=t.file||\"\",this.on(qe,()=>{(this[B]===\"begin\"||this[Dt]===!1)&&this.warn(\"TAR_BAD_ARCHIVE\",\"Unrecognized archive format\")}),t.ondone?this.on(qe,t.ondone):this.on(qe,()=>{this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||gn,this.filter=typeof t.filter==\"function\"?t.filter:Tn;let e=t.file&&(t.file.endsWith(\".tar.br\")||t.file.endsWith(\".tbr\"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:e?void 0:!1;let i=t.file&&(t.file.endsWith(\".tar.zst\")||t.file.endsWith(\".tzst\"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:i?!0:void 0,this.on(\"end\",()=>this[Zs]()),typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn),typeof t.onReadEntry==\"function\"&&this.on(\"entry\",t.onReadEntry)}warn(t,e,i={}){Lt(this,t,e,i)}[Gs](t,e){this[Dt]===void 0&&(this[Dt]=!1);let i;try{i=new F(t,e,this[V],this[ae])}catch(r){return this.warn(\"TAR_ENTRY_INVALID\",r)}if(i.nullBlock)this[je]?(this[Qe]=!0,this[B]===\"begin\"&&(this[B]=\"header\"),this[At](\"eof\")):(this[je]=!0,this[At](\"nullBlock\"));else if(this[je]=!1,!i.cksumValid)this.warn(\"TAR_ENTRY_INVALID\",\"checksum failure\",{header:i});else if(!i.path)this.warn(\"TAR_ENTRY_INVALID\",\"path is required\",{header:i});else{let r=i.type;if(/^(Symbolic)?Link$/.test(r)&&!i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath required\",{header:i});else if(!/^(Symbolic)?Link$/.test(r)&&!/^(Global)?ExtendedHeader$/.test(r)&&i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath forbidden\",{header:i});else{let n=this[Nt]=new Yt(i,this[V],this[ae]);if(!this[Dt])if(n.remain){let o=()=>{n.invalid||(this[Dt]=!0)};n.on(\"end\",o)}else this[Dt]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[At](\"ignoredEntry\",n),this[B]=\"ignore\",n.resume()):n.size>0&&(this[ft]=\"\",n.on(\"data\",o=>this[ft]+=o),this[B]=\"meta\"):(this[V]=void 0,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[At](\"ignoredEntry\",n),this[B]=n.remain?\"ignore\":\"header\",n.resume()):(n.remain?this[B]=\"body\":(this[B]=\"header\",n.end()),this[et]?this[it].push(n):(this[it].push(n),this[Ui]())))}}}[Zs](){queueMicrotask(()=>this.emit(\"close\"))}[Us](t){let e=!0;if(!t)this[et]=void 0,e=!1;else if(Array.isArray(t)){let[i,...r]=t;this.emit(i,...r)}else this[et]=t,this.emit(\"entry\",t),t.emittedEnd||(t.on(\"end\",()=>this[Ui]()),e=!1);return e}[Ui](){do;while(this[Us](this[it].shift()));if(this[it].length===0){let t=this[et];!t||t.flowing||t.size===t.remain?this[Kt]||this.emit(\"drain\"):t.once(\"drain\",()=>this.emit(\"drain\"))}}[Wi](t,e){let i=this[Nt];if(!i)throw new Error(\"attempt to consume body without entry??\");let r=i.blockRemain??0,n=r>=t.length&&e===0?t:t.subarray(e,e+r);return i.write(n),i.blockRemain||(this[B]=\"header\",this[Nt]=void 0,i.end()),n.length}[Ws](t,e){let i=this[Nt],r=this[Wi](t,e);return!this[Nt]&&i&&this[Hs](i),r}[At](t,e,i){this[it].length===0&&!this[et]?this.emit(t,e,i):this[it].push([t,e,i])}[Hs](t){switch(this[At](\"meta\",this[ft]),t.type){case\"ExtendedHeader\":case\"OldExtendedHeader\":this[V]=ct.parse(this[ft],this[V],!1);break;case\"GlobalExtendedHeader\":this[ae]=ct.parse(this[ft],this[ae],!0);break;case\"NextFileHasLongPath\":case\"OldGnuLongPath\":{let e=this[V]??Object.create(null);this[V]=e,e.path=this[ft].replace(/\\0.*/,\"\");break}case\"NextFileHasLongLinkpath\":{let e=this[V]||Object.create(null);this[V]=e,e.linkpath=this[ft].replace(/\\0.*/,\"\");break}default:throw new Error(\"unknown meta: \"+t.type)}}abort(t){this[ut]=!0,this.emit(\"abort\",t),this.warn(\"TAR_ABORT\",t,{recoverable:!1})}write(t,e,i){if(typeof e==\"function\"&&(i=e,e=void 0),typeof t==\"string\"&&(t=Buffer.from(t,typeof e==\"string\"?e:\"utf8\")),this[ut])return i?.(),!1;if((this[y]===void 0||this.brotli===void 0&&this[y]===!1)&&t){if(this[p]&&(t=Buffer.concat([this[p],t]),this[p]=void 0),t.length<On)return this[p]=t,i?.(),!0;for(let a=0;this[y]===void 0&&a<Zi.length;a++)t[a]!==Zi[a]&&(this[y]=!1);let o=!1;if(this[y]===!1&&this.zstd!==!1){o=!0;for(let a=0;a<Yi.length;a++)if(t[a]!==Yi[a]){o=!1;break}}let h=this.brotli===void 0&&!o;if(this[y]===!1&&h)if(t.length<512)if(this[dt])this.brotli=!0;else return this[p]=t,i?.(),!0;else try{new F(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[y]===void 0||this[y]===!1&&(this.brotli||o)){let a=this[dt];this[dt]=!1,this[y]=this[y]===void 0?new ze({}):o?new Ye({}):new We({}),this[y].on(\"data\",c=>this[Ve](c)),this[y].on(\"error\",c=>this.abort(c)),this[y].on(\"end\",()=>{this[dt]=!0,this[Ve]()}),this[Kt]=!0;let l=!!this[y][a?\"end\":\"write\"](t);return this[Kt]=!1,i?.(),l}}this[Kt]=!0,this[y]?this[y].write(t):this[Ve](t),this[Kt]=!1;let n=this[it].length>0?!1:this[et]?this[et].flowing:!0;return!n&&this[it].length===0&&this[et]?.once(\"drain\",()=>this.emit(\"drain\")),i?.(),n}[Gi](t){t&&!this[ut]&&(this[p]=this[p]?Buffer.concat([this[p],t]):t)}[Xe](){if(this[dt]&&!this[Hi]&&!this[ut]&&!this[le]){this[Hi]=!0;let t=this[Nt];if(t&&t.blockRemain){let e=this[p]?this[p].length:0;this.warn(\"TAR_BAD_ARCHIVE\",`Truncated input (needed ${t.blockRemain} more bytes, only ${e} available)`,{entry:t}),this[p]&&t.write(this[p]),t.end()}this[At](qe)}}[Ve](t){if(this[le]&&t)this[Gi](t);else if(!t&&!this[p])this[Xe]();else if(t){if(this[le]=!0,this[p]){this[Gi](t);let e=this[p];this[p]=void 0,this[$e](e)}else this[$e](t);for(;this[p]&&this[p]?.length>=512&&!this[ut]&&!this[Qe];){let e=this[p];this[p]=void 0,this[$e](e)}this[le]=!1}(!this[p]||this[dt])&&this[Xe]()}[$e](t){let e=0,i=t.length;for(;e+512<=i&&!this[ut]&&!this[Qe];)switch(this[B]){case\"begin\":case\"header\":this[Gs](t,e),e+=512;break;case\"ignore\":case\"body\":e+=this[Wi](t,e);break;case\"meta\":e+=this[Ws](t,e);break;default:throw new Error(\"invalid state: \"+this[B])}e<i&&(this[p]=this[p]?Buffer.concat([t.subarray(e),this[p]]):t.subarray(e))}end(t,e,i){return typeof t==\"function\"&&(i=t,e=void 0,t=void 0),typeof e==\"function\"&&(i=e,e=void 0),typeof t==\"string\"&&(t=Buffer.from(t,e)),i&&this.once(\"finish\",i),this[ut]||(this[y]?(t&&this[y].write(t),this[y].end()):(this[dt]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[Xe]())),this}};var mt=s=>{let t=s.length-1,e=-1;for(;t>-1&&s.charAt(t)===\"/\";)e=t,t--;return e===-1?s:s.slice(0,e)};var Nn=s=>{let t=s.onReadEntry;s.onReadEntry=t?e=>{t(e),e.resume()}:e=>e.resume()},Ki=(s,t)=>{let e=new Map(t.map(n=>[mt(n),!0])),i=s.filter,r=(n,o=\"\")=>{let h=o||Ln(n).root||\".\",a;if(n===h)a=!1;else{let l=e.get(n);a=l!==void 0?l:r(xn(n),h)}return e.set(n,a),a};s.filter=i?(n,o)=>i(n,o)&&r(mt(n)):n=>r(mt(n))},An=s=>{let t=new st(s),e=s.file,i;try{i=Vt.openSync(e,\"r\");let r=Vt.fstatSync(i),n=s.maxReadSize||16*1024*1024;if(r.size<n){let o=Buffer.allocUnsafe(r.size),h=Vt.readSync(i,o,0,r.size,0);t.end(h===o.byteLength?o:o.subarray(0,h))}else{let o=0,h=Buffer.allocUnsafe(n);for(;o<r.size;){let a=Vt.readSync(i,h,0,n,o);if(a===0)break;o+=a,t.write(h.subarray(0,a))}t.end()}}finally{if(typeof i==\"number\")try{Vt.closeSync(i)}catch{}}},Dn=(s,t)=>{let e=new st(s),i=s.maxReadSize||16*1024*1024,r=s.file;return new Promise((o,h)=>{e.on(\"error\",h),e.on(\"end\",o),Vt.stat(r,(a,l)=>{if(a)h(a);else{let c=new _t(r,{readSize:i,size:l.size});c.on(\"error\",h),c.pipe(e)}})})},It=K(An,Dn,s=>new st(s),s=>new st(s),(s,t)=>{t?.length&&Ki(s,t),s.noResume||Nn(s)});import fi from\"fs\";import $ from\"fs\";import $s from\"path\";var Vi=(s,t,e)=>(s&=4095,e&&(s=(s|384)&-19),t&&(s&256&&(s|=64),s&32&&(s|=8),s&4&&(s|=1)),s);import{win32 as In}from\"node:path\";var{isAbsolute:Cn,parse:Ys}=In,ce=s=>{let t=\"\",e=Ys(s);for(;Cn(s)||e.root;){let i=s.charAt(0)===\"/\"&&s.slice(0,4)!==\"//?/\"?\"/\":e.root;s=s.slice(i.length),t+=i,e=Ys(s)}return[t,s]};var Je=[\"|\",\"<\",\">\",\"?\",\":\"],$i=Je.map(s=>String.fromCodePoint(61440+Number(s.codePointAt(0)))),Fn=new Map(Je.map((s,t)=>[s,$i[t]])),kn=new Map($i.map((s,t)=>[s,Je[t]])),Xi=s=>Je.reduce((t,e)=>t.split(e).join(Fn.get(e)),s),Ks=s=>$i.reduce((t,e)=>t.split(e).join(kn.get(e)),s);var Js=(s,t)=>t?(s=f(s).replace(/^\\.(\\/|$)/,\"\"),mt(t)+\"/\"+s):f(s),vn=16*1024*1024,Xs=Symbol(\"process\"),qs=Symbol(\"file\"),js=Symbol(\"directory\"),ji=Symbol(\"symlink\"),Qs=Symbol(\"hardlink\"),fe=Symbol(\"header\"),ti=Symbol(\"read\"),Qi=Symbol(\"lstat\"),ei=Symbol(\"onlstat\"),Ji=Symbol(\"onread\"),ts=Symbol(\"onreadlink\"),es=Symbol(\"openfile\"),is=Symbol(\"onopenfile\"),pt=Symbol(\"close\"),ii=Symbol(\"mode\"),ss=Symbol(\"awaitDrain\"),qi=Symbol(\"ondrain\"),X=Symbol(\"prefix\"),de=class extends D{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||\"\";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#t=!1;constructor(t,e={}){let i=re(e);super(),this.path=f(t),this.portable=!!i.portable,this.maxReadSize=i.maxReadSize||vn,this.linkCache=i.linkCache||new Map,this.statCache=i.statCache||new Map,this.preservePaths=!!i.preservePaths,this.cwd=f(i.cwd||process.cwd()),this.strict=!!i.strict,this.noPax=!!i.noPax,this.noMtime=!!i.noMtime,this.mtime=i.mtime,this.prefix=i.prefix?f(i.prefix):void 0,this.onWriteEntry=i.onWriteEntry,typeof i.onwarn==\"function\"&&this.on(\"warn\",i.onwarn);let r=!1;if(!this.preservePaths){let[o,h]=ce(this.path);o&&typeof h==\"string\"&&(this.path=h,r=o)}this.win32=!!i.win32||process.platform===\"win32\",this.win32&&(this.path=Ks(this.path.replaceAll(/\\\\/g,\"/\")),t=t.replaceAll(/\\\\/g,\"/\")),this.absolute=f(i.absolute||$s.resolve(this.cwd,t)),this.path===\"\"&&(this.path=\"./\"),r&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${r} from absolute path`,{entry:this,path:r+this.path});let n=this.statCache.get(this.absolute);n?this[ei](n):this[Qi]()}warn(t,e,i={}){return Lt(this,t,e,i)}emit(t,...e){return t===\"error\"&&(this.#t=!0),super.emit(t,...e)}[Qi](){$.lstat(this.absolute,(t,e)=>{if(t)return this.emit(\"error\",t);this[ei](e)})}[ei](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=Mn(t),this.emit(\"stat\",t),this[Xs]()}[Xs](){switch(this.type){case\"File\":return this[qs]();case\"Directory\":return this[js]();case\"SymbolicLink\":return this[ji]();default:return this.end()}}[ii](t){return Vi(t,this.type===\"Directory\",this.portable)}[X](t){return Js(t,this.prefix)}[fe](){if(!this.stat)throw new Error(\"cannot write header before stat\");this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new F({path:this[X](this.path),linkpath:this.type===\"Link\"&&this.linkpath!==void 0?this[X](this.linkpath):this.linkpath,mode:this[ii](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type===\"Unsupported\"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:\"\",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new ct({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[X](this.path),linkpath:this.type===\"Link\"&&this.linkpath!==void 0?this[X](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error(\"failed to encode header\");super.write(t)}[js](){if(!this.stat)throw new Error(\"cannot create directory entry without stat\");this.path.slice(-1)!==\"/\"&&(this.path+=\"/\"),this.stat.size=0,this[fe](),this.end()}[ji](){$.readlink(this.absolute,(t,e)=>{if(t)return this.emit(\"error\",t);this[ts](e)})}[ts](t){this.linkpath=f(t),this[fe](),this.end()}[Qs](t){if(!this.stat)throw new Error(\"cannot create link entry without stat\");this.type=\"Link\",this.linkpath=f($s.relative(this.cwd,t)),this.stat.size=0,this[fe](),this.end()}[qs](){if(!this.stat)throw new Error(\"cannot create file entry without stat\");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,e=this.linkCache.get(t);if(e?.indexOf(this.cwd)===0)return this[Qs](e);this.linkCache.set(t,this.absolute)}if(this[fe](),this.stat.size===0)return this.end();this[es]()}[es](){$.open(this.absolute,\"r\",(t,e)=>{if(t)return this.emit(\"error\",t);this[is](e)})}[is](t){if(this.fd=t,this.#t)return this[pt]();if(!this.stat)throw new Error(\"should stat before calling onopenfile\");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let e=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(e),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[ti]()}[ti](){let{fd:t,buf:e,offset:i,length:r,pos:n}=this;if(t===void 0||e===void 0)throw new Error(\"cannot read file without first opening\");$.read(t,e,i,r,n,(o,h)=>{if(o)return this[pt](()=>this.emit(\"error\",o));this[Ji](h)})}[pt](t=()=>{}){this.fd!==void 0&&$.close(this.fd,t)}[Ji](t){if(t<=0&&this.remain>0){let r=Object.assign(new Error(\"encountered unexpected EOF\"),{path:this.absolute,syscall:\"read\",code:\"EOF\"});return this[pt](()=>this.emit(\"error\",r))}if(t>this.remain){let r=Object.assign(new Error(\"did not encounter expected EOF\"),{path:this.absolute,syscall:\"read\",code:\"EOF\"});return this[pt](()=>this.emit(\"error\",r))}if(!this.buf)throw new Error(\"should have created buffer prior to reading\");if(t===this.remain)for(let r=t;r<this.length&&t<this.blockRemain;r++)this.buf[r+this.offset]=0,t++,this.remain++;let e=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(e)?this[qi]():this[ss](()=>this[qi]())}[ss](t){this.once(\"drain\",t)}write(t,e,i){if(typeof e==\"function\"&&(i=e,e=void 0),typeof t==\"string\"&&(t=Buffer.from(t,typeof e==\"string\"?e:\"utf8\")),this.blockRemain<t.length){let r=Object.assign(new Error(\"writing more data than expected\"),{path:this.absolute});return this.emit(\"error\",r)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,i)}[qi](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[pt](t=>t?this.emit(\"error\",t):this.end());if(!this.buf)throw new Error(\"buffer lost somehow in ONDRAIN\");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[ti]()}},si=class extends de{sync=!0;[Qi](){this[ei]($.lstatSync(this.absolute))}[ji](){this[ts]($.readlinkSync(this.absolute))}[es](){this[is]($.openSync(this.absolute,\"r\"))}[ti](){let t=!0;try{let{fd:e,buf:i,offset:r,length:n,pos:o}=this;if(e===void 0||i===void 0)throw new Error(\"fd and buf must be set in READ method\");let h=$.readSync(e,i,r,n,o);this[Ji](h),t=!1}finally{if(t)try{this[pt](()=>{})}catch{}}}[ss](t){t()}[pt](t=()=>{}){this.fd!==void 0&&$.closeSync(this.fd),t()}},ri=class extends D{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,e,i={}){return Lt(this,t,e,i)}constructor(t,e={}){let i=re(e);super(),this.preservePaths=!!i.preservePaths,this.portable=!!i.portable,this.strict=!!i.strict,this.noPax=!!i.noPax,this.noMtime=!!i.noMtime,this.onWriteEntry=i.onWriteEntry,this.readEntry=t;let{type:r}=t;if(r===\"Unsupported\")throw new Error(\"writing entry that should be ignored\");this.type=r,this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.prefix=i.prefix,this.path=f(t.path),this.mode=t.mode!==void 0?this[ii](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:i.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?f(t.linkpath):void 0,typeof i.onwarn==\"function\"&&this.on(\"warn\",i.onwarn);let n=!1;if(!this.preservePaths){let[h,a]=ce(this.path);h&&typeof a==\"string\"&&(this.path=a,n=h)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new F({path:this[X](this.path),linkpath:this.type===\"Link\"&&this.linkpath!==void 0?this[X](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),n&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${n} from absolute path`,{entry:this,path:n+this.path}),this.header.encode()&&!this.noPax&&super.write(new ct({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[X](this.path),linkpath:this.type===\"Link\"&&this.linkpath!==void 0?this[X](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let o=this.header?.block;if(!o)throw new Error(\"failed to encode header\");super.write(o),t.pipe(this)}[X](t){return Js(t,this.prefix)}[ii](t){return Vi(t,this.type===\"Directory\",this.portable)}write(t,e,i){typeof e==\"function\"&&(i=e,e=void 0),typeof t==\"string\"&&(t=Buffer.from(t,typeof e==\"string\"?e:\"utf8\"));let r=t.length;if(r>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");return this.blockRemain-=r,super.write(t,i)}end(t,e,i){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t==\"function\"&&(i=t,e=void 0,t=void 0),typeof e==\"function\"&&(i=e,e=void 0),typeof t==\"string\"&&(t=Buffer.from(t,e??\"utf8\")),i&&this.once(\"finish\",i),t?super.end(t,i):super.end(i),this}},Mn=s=>s.isFile()?\"File\":s.isDirectory()?\"Directory\":s.isSymbolicLink()?\"SymbolicLink\":\"Unsupported\";var ni=class s{tail;head;length=0;static create(t=[]){return new s(t)}constructor(t=[]){for(let e of t)this.push(e)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error(\"removing node which does not belong to this list\");let e=t.next,i=t.prev;return e&&(e.prev=i),i&&(i.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=i),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,e}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let e=0,i=t.length;e<i;e++)Pn(this,t[e]);return this.length}unshift(...t){for(var e=0,i=t.length;e<i;e++)zn(this,t[e]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,e=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,e.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,e=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,e.list=void 0,this.length--,t}forEach(t,e){e=e||this;for(let i=this.head,r=0;i;r++)t.call(e,i.value,r,this),i=i.next}forEachReverse(t,e){e=e||this;for(let i=this.tail,r=this.length-1;i;r--)t.call(e,i.value,r,this),i=i.prev}get(t){let e=0,i=this.head;for(;i&&e<t;e++)i=i.next;if(e===t&&i)return i.value}getReverse(t){let e=0,i=this.tail;for(;i&&e<t;e++)i=i.prev;if(e===t&&i)return i.value}map(t,e){e=e||this;let i=new s;for(let r=this.head;r;)i.push(t.call(e,r.value,this)),r=r.next;return i}mapReverse(t,e){e=e||this;var i=new s;for(let r=this.tail;r;)i.push(t.call(e,r.value,this)),r=r.prev;return i}reduce(t,e){let i,r=this.head;if(arguments.length>1)i=e;else if(this.head)r=this.head.next,i=this.head.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=0;r;n++)i=t(i,r.value,n),r=r.next;return i}reduceReverse(t,e){let i,r=this.tail;if(arguments.length>1)i=e;else if(this.tail)r=this.tail.prev,i=this.tail.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(let n=this.length-1;r;n--)i=t(i,r.value,n),r=r.prev;return i}toArray(){let t=new Array(this.length);for(let e=0,i=this.head;i;e++)t[e]=i.value,i=i.next;return t}toArrayReverse(){let t=new Array(this.length);for(let e=0,i=this.tail;i;e++)t[e]=i.value,i=i.prev;return t}slice(t=0,e=this.length){e<0&&(e+=this.length),t<0&&(t+=this.length);let i=new s;if(e<t||e<0)return i;t<0&&(t=0),e>this.length&&(e=this.length);let r=this.head,n=0;for(n=0;r&&n<t;n++)r=r.next;for(;r&&n<e;n++,r=r.next)i.push(r.value);return i}sliceReverse(t=0,e=this.length){e<0&&(e+=this.length),t<0&&(t+=this.length);let i=new s;if(e<t||e<0)return i;t<0&&(t=0),e>this.length&&(e=this.length);let r=this.length,n=this.tail;for(;n&&r>e;r--)n=n.prev;for(;n&&r>t;r--,n=n.prev)i.push(n.value);return i}splice(t,e=0,...i){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let r=this.head;for(let o=0;r&&o<t;o++)r=r.next;let n=[];for(let o=0;r&&o<e;o++)n.push(r.value),r=this.removeNode(r);r?r!==this.tail&&(r=r.prev):r=this.tail;for(let o of i)r=Bn(this,r,o);return n}reverse(){let t=this.head,e=this.tail;for(let i=t;i;i=i.prev){let r=i.prev;i.prev=i.next,i.next=r}return this.head=e,this.tail=t,this}};function Bn(s,t,e){let i=t,r=t?t.next:s.head,n=new ue(e,i,r,s);return n.next===void 0&&(s.tail=n),n.prev===void 0&&(s.head=n),s.length++,n}function Pn(s,t){s.tail=new ue(t,s.tail,void 0,s),s.head||(s.head=s.tail),s.length++}function zn(s,t){s.head=new ue(t,void 0,s.head,s),s.tail||(s.tail=s.head),s.length++}var ue=class{list;next;prev;value;constructor(t,e,i,r){this.list=r,this.value=t,e?(e.next=this,this.prev=e):this.prev=void 0,i?(i.prev=this,this.next=i):this.next=void 0}};import sr from\"path\";var di=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(t,e){this.path=t||\"./\",this.absolute=e}},tr=Buffer.alloc(1024),oi=Symbol(\"onStat\"),me=Symbol(\"ended\"),W=Symbol(\"queue\"),Ct=Symbol(\"current\"),Ft=Symbol(\"process\"),pe=Symbol(\"processing\"),rs=Symbol(\"processJob\"),G=Symbol(\"jobs\"),ns=Symbol(\"jobDone\"),hi=Symbol(\"addFSEntry\"),er=Symbol(\"addTarEntry\"),as=Symbol(\"stat\"),ls=Symbol(\"readdir\"),ai=Symbol(\"onreaddir\"),li=Symbol(\"pipe\"),ir=Symbol(\"entry\"),os=Symbol(\"entryOpt\"),ci=Symbol(\"writeEntryClass\"),rr=Symbol(\"write\"),hs=Symbol(\"ondrain\"),Et=class extends D{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[ci];onWriteEntry;[W];[G]=0;[pe]=!1;[me]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||\"\",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=f(t.prefix||\"\"),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[ci]=de,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError(\"gzip, brotli, zstd are mutually exclusive\");if(t.gzip&&(typeof t.gzip!=\"object\"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Pe(t.gzip)),t.brotli&&(typeof t.brotli!=\"object\"&&(t.brotli={}),this.zip=new He(t.brotli)),t.zstd&&(typeof t.zstd!=\"object\"&&(t.zstd={}),this.zip=new Ze(t.zstd)),!this.zip)throw new Error(\"impossible\");let e=this.zip;e.on(\"data\",i=>super.write(i)),e.on(\"end\",()=>super.end()),e.on(\"drain\",()=>this[hs]()),this.on(\"resume\",()=>e.resume())}else this.on(\"drain\",this[hs]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter==\"function\"?t.filter:()=>!0,this[W]=new ni,this[G]=0,this.jobs=Number(t.jobs)||4,this[pe]=!1,this[me]=!1}[rr](t){return super.write(t)}add(t){return this.write(t),this}end(t,e,i){return typeof t==\"function\"&&(i=t,t=void 0),typeof e==\"function\"&&(i=e,e=void 0),t&&this.add(t),this[me]=!0,this[Ft](),i&&i(),this}write(t){if(this[me])throw new Error(\"write after end\");return t instanceof Yt?this[er](t):this[hi](t),this.flowing}[er](t){let e=f(sr.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let i=new di(t.path,e);i.entry=new ri(t,this[os](i)),i.entry.on(\"end\",()=>this[ns](i)),this[G]+=1,this[W].push(i)}this[Ft]()}[hi](t){let e=f(sr.resolve(this.cwd,t));this[W].push(new di(t,e)),this[Ft]()}[as](t){t.pending=!0,this[G]+=1;let e=this.follow?\"stat\":\"lstat\";fi[e](t.absolute,(i,r)=>{t.pending=!1,this[G]-=1,i?this.emit(\"error\",i):this[oi](t,r)})}[oi](t,e){this.statCache.set(t.absolute,e),t.stat=e,this.filter(t.path,e)?e.isFile()&&e.nlink>1&&t===this[Ct]&&!this.linkCache.get(`${e.dev}:${e.ino}`)&&!this.sync&&this[rs](t):t.ignore=!0,this[Ft]()}[ls](t){t.pending=!0,this[G]+=1,fi.readdir(t.absolute,(e,i)=>{if(t.pending=!1,this[G]-=1,e)return this.emit(\"error\",e);this[ai](t,i)})}[ai](t,e){this.readdirCache.set(t.absolute,e),t.readdir=e,this[Ft]()}[Ft](){if(!this[pe]){this[pe]=!0;for(let t=this[W].head;t&&this[G]<this.jobs;t=t.next)if(this[rs](t.value),t.value.ignore){let e=t.next;this[W].removeNode(t),t.next=e}this[pe]=!1,this[me]&&this[W].length===0&&this[G]===0&&(this.zip?this.zip.end(tr):(super.write(tr),super.end()))}}get[Ct](){return this[W]&&this[W].head&&this[W].head.value}[ns](t){this[W].shift(),this[G]-=1,this[Ft]()}[rs](t){if(!t.pending){if(t.entry){t===this[Ct]&&!t.piped&&this[li](t);return}if(!t.stat){let e=this.statCache.get(t.absolute);e?this[oi](t,e):this[as](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let e=this.readdirCache.get(t.absolute);if(e?this[ai](t,e):this[ls](t),!t.readdir)return}if(t.entry=this[ir](t),!t.entry){t.ignore=!0;return}t===this[Ct]&&!t.piped&&this[li](t)}}}[os](t){return{onwarn:(e,i,r)=>this.warn(e,i,r),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[ir](t){this[G]+=1;try{return new this[ci](t.path,this[os](t)).on(\"end\",()=>this[ns](t)).on(\"error\",i=>this.emit(\"error\",i))}catch(e){this.emit(\"error\",e)}}[hs](){this[Ct]&&this[Ct].entry&&this[Ct].entry.resume()}[li](t){t.piped=!0,t.readdir&&t.readdir.forEach(r=>{let n=t.path,o=n===\"./\"?\"\":n.replace(/\\/*$/,\"/\");this[hi](o+r)});let e=t.entry,i=this.zip;if(!e)throw new Error(\"cannot pipe without source\");i?e.on(\"data\",r=>{i.write(r)||e.pause()}):e.on(\"data\",r=>{super.write(r)||e.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,e,i={}){Lt(this,t,e,i)}},kt=class extends Et{sync=!0;constructor(t){super(t),this[ci]=si}pause(){}resume(){}[as](t){let e=this.follow?\"statSync\":\"lstatSync\";this[oi](t,fi[e](t.absolute))}[ls](t){this[ai](t,fi.readdirSync(t.absolute))}[li](t){let e=t.entry,i=this.zip;if(t.readdir&&t.readdir.forEach(r=>{let n=t.path,o=n===\"./\"?\"\":n.replace(/\\/*$/,\"/\");this[hi](o+r)}),!e)throw new Error(\"Cannot pipe without source\");i?e.on(\"data\",r=>{i.write(r)}):e.on(\"data\",r=>{super[rr](r)})}};var Un=(s,t)=>{let e=new kt(s),i=new Wt(s.file,{mode:s.mode||438});e.pipe(i),or(e,t)},Hn=(s,t)=>{let e=new Et(s),i=new tt(s.file,{mode:s.mode||438});e.pipe(i);let r=new Promise((n,o)=>{i.on(\"error\",o),i.on(\"close\",n),e.on(\"error\",o)});return hr(e,t).catch(n=>e.emit(\"error\",n)),r},or=(s,t)=>{t.forEach(e=>{e.charAt(0)===\"@\"?It({file:nr.resolve(s.cwd,e.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>s.add(i)}):s.add(e)}),s.end()},hr=async(s,t)=>{for(let e of t)e.charAt(0)===\"@\"?await It({file:nr.resolve(String(s.cwd),e.slice(1)),noResume:!0,onReadEntry:i=>{s.add(i)}}):s.add(e);s.end()},Wn=(s,t)=>{let e=new kt(s);return or(e,t),e},Gn=(s,t)=>{let e=new Et(s);return hr(e,t).catch(i=>e.emit(\"error\",i)),e},Zn=K(Un,Hn,Wn,Gn,(s,t)=>{if(!t?.length)throw new TypeError(\"no paths specified to add to archive\")});import Cr from\"node:fs\";import so from\"node:assert\";import{randomBytes as Ir}from\"node:crypto\";import u from\"node:fs\";import R from\"node:path\";import cr from\"fs\";var Yn=process.env.__FAKE_PLATFORM__||process.platform,fr=Yn===\"win32\",{O_CREAT:dr,O_NOFOLLOW:ar,O_TRUNC:ur,O_WRONLY:mr}=cr.constants,pr=Number(process.env.__FAKE_FS_O_FILENAME__)||cr.constants.UV_FS_O_FILEMAP||0,Kn=fr&&!!pr,Vn=512*1024,$n=pr|ur|dr|mr,lr=!fr&&typeof ar==\"number\"?ar|ur|dr|mr:null,cs=lr!==null?()=>lr:Kn?s=>s<Vn?$n:\"w\":()=>\"w\";import mi from\"node:fs\";import Ee from\"node:path\";var fs=(s,t,e)=>{try{return mi.lchownSync(s,t,e)}catch(i){if(i?.code!==\"ENOENT\")throw i}},ui=(s,t,e,i)=>{mi.lchown(s,t,e,r=>{i(r&&r?.code!==\"ENOENT\"?r:null)})},Xn=(s,t,e,i,r)=>{if(t.isDirectory())ds(Ee.resolve(s,t.name),e,i,n=>{if(n)return r(n);let o=Ee.resolve(s,t.name);ui(o,e,i,r)});else{let n=Ee.resolve(s,t.name);ui(n,e,i,r)}},ds=(s,t,e,i)=>{mi.readdir(s,{withFileTypes:!0},(r,n)=>{if(r){if(r.code===\"ENOENT\")return i();if(r.code!==\"ENOTDIR\"&&r.code!==\"ENOTSUP\")return i(r)}if(r||!n.length)return ui(s,t,e,i);let o=n.length,h=null,a=l=>{if(!h){if(l)return i(h=l);if(--o===0)return ui(s,t,e,i)}};for(let l of n)Xn(s,l,t,e,a)})},qn=(s,t,e,i)=>{t.isDirectory()&&us(Ee.resolve(s,t.name),e,i),fs(Ee.resolve(s,t.name),e,i)},us=(s,t,e)=>{let i;try{i=mi.readdirSync(s,{withFileTypes:!0})}catch(r){let n=r;if(n?.code===\"ENOENT\")return;if(n?.code===\"ENOTDIR\"||n?.code===\"ENOTSUP\")return fs(s,t,e);throw n}for(let r of i)qn(s,r,t,e);return fs(s,t,e)};import k from\"node:fs\";import jn from\"node:fs/promises\";import pi from\"node:path\";var we=class extends Error{path;code;syscall=\"chdir\";constructor(t,e){super(`${e}: Cannot cd into '${t}'`),this.path=t,this.code=e}get name(){return\"CwdError\"}};var wt=class extends Error{path;symlink;syscall=\"symlink\";code=\"TAR_SYMLINK_ERROR\";constructor(t,e){super(\"TAR_SYMLINK_ERROR: Cannot extract through symbolic link\"),this.symlink=t,this.path=e}get name(){return\"SymlinkError\"}};var Qn=(s,t)=>{k.stat(s,(e,i)=>{(e||!i.isDirectory())&&(e=new we(s,e?.code||\"ENOTDIR\")),t(e)})},Er=(s,t,e)=>{s=f(s);let i=t.umask??18,r=t.mode|448,n=(r&i)!==0,o=t.uid,h=t.gid,a=typeof o==\"number\"&&typeof h==\"number\"&&(o!==t.processUid||h!==t.processGid),l=t.preserve,c=t.unlink,d=f(t.cwd),S=(E,x)=>{E?e(E):x&&a?ds(x,o,h,xe=>S(xe)):n?k.chmod(s,r,e):e()};if(s===d)return Qn(s,S);if(l)return jn.mkdir(s,{mode:r,recursive:!0}).then(E=>S(null,E??void 0),S);let N=f(pi.relative(d,s)).split(\"/\");ms(d,N,r,c,d,void 0,S)},ms=(s,t,e,i,r,n,o)=>{if(t.length===0)return o(null,n);let h=t.shift(),a=f(pi.resolve(s+\"/\"+h));k.mkdir(a,e,wr(a,t,e,i,r,n,o))},wr=(s,t,e,i,r,n,o)=>h=>{h?k.lstat(s,(a,l)=>{if(a)a.path=a.path&&f(a.path),o(a);else if(l.isDirectory())ms(s,t,e,i,r,n,o);else if(i)k.unlink(s,c=>{if(c)return o(c);k.mkdir(s,e,wr(s,t,e,i,r,n,o))});else{if(l.isSymbolicLink())return o(new wt(s,s+\"/\"+t.join(\"/\")));o(h)}}):(n=n||s,ms(s,t,e,i,r,n,o))},Jn=s=>{let t=!1,e;try{t=k.statSync(s).isDirectory()}catch(i){e=i?.code}finally{if(!t)throw new we(s,e??\"ENOTDIR\")}},Sr=(s,t)=>{s=f(s);let e=t.umask??18,i=t.mode|448,r=(i&e)!==0,n=t.uid,o=t.gid,h=typeof n==\"number\"&&typeof o==\"number\"&&(n!==t.processUid||o!==t.processGid),a=t.preserve,l=t.unlink,c=f(t.cwd),d=E=>{E&&h&&us(E,n,o),r&&k.chmodSync(s,i)};if(s===c)return Jn(c),d();if(a)return d(k.mkdirSync(s,{mode:i,recursive:!0})??void 0);let T=f(pi.relative(c,s)).split(\"/\"),N;for(let E=T.shift(),x=c;E&&(x+=\"/\"+E);E=T.shift()){x=f(pi.resolve(x));try{k.mkdirSync(x,i),N=N||x}catch{let xe=k.lstatSync(x);if(xe.isDirectory())continue;if(l){k.unlinkSync(x),k.mkdirSync(x,i),N=N||x;continue}else if(xe.isSymbolicLink())return new wt(x,x+\"/\"+T.join(\"/\"))}}return d(N)};import{join as br}from\"node:path\";var ps=Object.create(null),yr=1e4,$t=new Set,Rr=s=>{$t.has(s)?$t.delete(s):ps[s]=s.normalize(\"NFD\").toLocaleLowerCase(\"en\").toLocaleUpperCase(\"en\"),$t.add(s);let t=ps[s],e=$t.size-yr;if(e>yr/10){for(let i of $t)if($t.delete(i),delete ps[i],--e<=0)break}return t};var to=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,eo=to===\"win32\",io=s=>s.split(\"/\").slice(0,-1).reduce((e,i)=>{let r=e.at(-1);return r!==void 0&&(i=br(r,i)),e.push(i||\"/\"),e},[]),Ei=class{#t=new Map;#i=new Map;#s=new Set;reserve(t,e){t=eo?[\"win32 parallelization disabled\"]:t.map(r=>mt(br(Rr(r))));let i=new Set(t.map(r=>io(r)).reduce((r,n)=>r.concat(n)));this.#i.set(e,{dirs:i,paths:t});for(let r of t){let n=this.#t.get(r);n?n.push(e):this.#t.set(r,[e])}for(let r of i){let n=this.#t.get(r);if(!n)this.#t.set(r,[new Set([e])]);else{let o=n.at(-1);o instanceof Set?o.add(e):n.push(new Set([e]))}}return this.#r(e)}#n(t){let e=this.#i.get(t);if(!e)throw new Error(\"function does not have any path reservations\");return{paths:e.paths.map(i=>this.#t.get(i)),dirs:[...e.dirs].map(i=>this.#t.get(i))}}check(t){let{paths:e,dirs:i}=this.#n(t);return e.every(r=>r&&r[0]===t)&&i.every(r=>r&&r[0]instanceof Set&&r[0].has(t))}#r(t){return this.#s.has(t)||!this.check(t)?!1:(this.#s.add(t),t(()=>this.#e(t)),!0)}#e(t){if(!this.#s.has(t))return!1;let e=this.#i.get(t);if(!e)throw new Error(\"invalid reservation\");let{paths:i,dirs:r}=e,n=new Set;for(let o of i){let h=this.#t.get(o);if(!h||h?.[0]!==t)continue;let a=h[1];if(!a){this.#t.delete(o);continue}if(h.shift(),typeof a==\"function\")n.add(a);else for(let l of a)n.add(l)}for(let o of r){let h=this.#t.get(o),a=h?.[0];if(!(!h||!(a instanceof Set)))if(a.size===1&&h.length===1){this.#t.delete(o);continue}else if(a.size===1){h.shift();let l=h[0];typeof l==\"function\"&&n.add(l)}else a.delete(t)}return this.#s.delete(t),n.forEach(o=>this.#r(o)),!0}};var _r=()=>process.umask();var gr=Symbol(\"onEntry\"),ys=Symbol(\"checkFs\"),Or=Symbol(\"checkFs2\"),Rs=Symbol(\"isReusable\"),P=Symbol(\"makeFs\"),bs=Symbol(\"file\"),_s=Symbol(\"directory\"),Si=Symbol(\"link\"),Tr=Symbol(\"symlink\"),xr=Symbol(\"hardlink\"),ye=Symbol(\"ensureNoSymlink\"),Lr=Symbol(\"unsupported\"),Nr=Symbol(\"checkPath\"),Es=Symbol(\"stripAbsolutePath\"),St=Symbol(\"mkdir\"),O=Symbol(\"onError\"),wi=Symbol(\"pending\"),Ar=Symbol(\"pend\"),Xt=Symbol(\"unpend\"),ws=Symbol(\"ended\"),Ss=Symbol(\"maybeClose\"),gs=Symbol(\"skip\"),Re=Symbol(\"doChown\"),be=Symbol(\"uid\"),_e=Symbol(\"gid\"),ge=Symbol(\"checkedCwd\"),ro=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Oe=ro===\"win32\",no=1024,oo=(s,t)=>{if(!Oe)return u.unlink(s,t);let e=s+\".DELETE.\"+Ir(16).toString(\"hex\");u.rename(s,e,i=>{if(i)return t(i);u.unlink(e,t)})},ho=s=>{if(!Oe)return u.unlinkSync(s);let t=s+\".DELETE.\"+Ir(16).toString(\"hex\");u.renameSync(s,t),u.unlinkSync(t)},Dr=(s,t,e)=>s!==void 0&&s===s>>>0?s:t!==void 0&&t===t>>>0?t:e,qt=class extends st{[ws]=!1;[ge]=!1;[wi]=0;reservations=new Ei;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[ws]=!0,this[Ss]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid==\"number\"||typeof t.gid==\"number\"){if(typeof t.uid!=\"number\"||typeof t.gid!=\"number\")throw new TypeError(\"cannot set owner without number uid and gid\");if(t.preserveOwner)throw new TypeError(\"cannot preserve owner in archive and also set owner explicitly\");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=t.preserveOwner===void 0&&typeof t.uid!=\"number\"?!!(process.getuid&&process.getuid()===0):!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth==\"number\"?t.maxDepth:no,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||Oe,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=f(R.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask==\"number\"?t.processUmask:_r():0,this.umask=typeof t.umask==\"number\"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on(\"entry\",e=>this[gr](e))}warn(t,e,i={}){return(t===\"TAR_BAD_ARCHIVE\"||t===\"TAR_ABORT\")&&(i.recoverable=!1),super.warn(t,e,i)}[Ss](){this[ws]&&this[wi]===0&&(this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"))}[Es](t,e){let i=t[e],{type:r}=t;if(!i||this.preservePaths)return!0;let[n,o]=ce(i),h=o.replaceAll(/\\\\/g,\"/\").split(\"/\");if(h.includes(\"..\")||Oe&&/^[a-z]:\\.\\.$/i.test(h[0]??\"\")){if(e===\"path\"||r===\"Link\")return this.warn(\"TAR_ENTRY_ERROR\",`${e} contains '..'`,{entry:t,[e]:i}),!1;let a=R.posix.dirname(t.path),l=R.posix.normalize(R.posix.join(a,h.join(\"/\")));if(l.startsWith(\"../\")||l===\"..\")return this.warn(\"TAR_ENTRY_ERROR\",`${e} escapes extraction directory`,{entry:t,[e]:i}),!1}return n&&(t[e]=String(o),this.warn(\"TAR_ENTRY_INFO\",`stripping ${n} from absolute ${e}`,{entry:t,[e]:i})),!0}[Nr](t){let e=f(t.path),i=e.split(\"/\");if(this.strip){if(i.length<this.strip)return!1;if(t.type===\"Link\"){let r=f(String(t.linkpath)).split(\"/\");if(r.length>=this.strip)t.linkpath=r.slice(this.strip).join(\"/\");else return!1}i.splice(0,this.strip),t.path=i.join(\"/\")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth)return this.warn(\"TAR_ENTRY_ERROR\",\"path excessively deep\",{entry:t,path:e,depth:i.length,maxDepth:this.maxDepth}),!1;if(!this[Es](t,\"path\")||!this[Es](t,\"linkpath\"))return!1;if(t.absolute=R.isAbsolute(t.path)?f(R.resolve(t.path)):f(R.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute==\"string\"&&t.absolute.indexOf(this.cwd+\"/\")!==0&&t.absolute!==this.cwd)return this.warn(\"TAR_ENTRY_ERROR\",\"path escaped extraction target\",{entry:t,path:f(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!==\"Directory\"&&t.type!==\"GNUDumpDir\")return!1;if(this.win32){let{root:r}=R.win32.parse(String(t.absolute));t.absolute=r+Xi(String(t.absolute).slice(r.length));let{root:n}=R.win32.parse(t.path);t.path=n+Xi(t.path.slice(n.length))}return!0}[gr](t){if(!this[Nr](t))return t.resume();switch(so.equal(typeof t.absolute,\"string\"),t.type){case\"Directory\":case\"GNUDumpDir\":t.mode&&(t.mode=t.mode|448);case\"File\":case\"OldFile\":case\"ContiguousFile\":case\"Link\":case\"SymbolicLink\":return this[ys](t);default:return this[Lr](t)}}[O](t,e){t.name===\"CwdError\"?this.emit(\"error\",t):(this.warn(\"TAR_ENTRY_ERROR\",t,{entry:e}),this[Xt](),e.resume())}[St](t,e,i){Er(f(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e},i)}[Re](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==\"number\"&&t.uid!==this.processUid||typeof t.gid==\"number\"&&t.gid!==this.processGid)||typeof this.uid==\"number\"&&this.uid!==this.processUid||typeof this.gid==\"number\"&&this.gid!==this.processGid}[be](t){return Dr(this.uid,t.uid,this.processUid)}[_e](t){return Dr(this.gid,t.gid,this.processGid)}[bs](t,e){let i=typeof t.mode==\"number\"?t.mode&4095:this.fmode,r=new tt(String(t.absolute),{flags:cs(t.size),mode:i,autoClose:!1});r.on(\"error\",a=>{r.fd&&u.close(r.fd,()=>{}),r.write=()=>!0,this[O](a,t),e()});let n=1,o=a=>{if(a){r.fd&&u.close(r.fd,()=>{}),this[O](a,t),e();return}--n===0&&r.fd!==void 0&&u.close(r.fd,l=>{l?this[O](l,t):this[Xt](),e()})};r.on(\"finish\",()=>{let a=String(t.absolute),l=r.fd;if(typeof l==\"number\"&&t.mtime&&!this.noMtime){n++;let c=t.atime||new Date,d=t.mtime;u.futimes(l,c,d,S=>S?u.utimes(a,c,d,T=>o(T&&S)):o())}if(typeof l==\"number\"&&this[Re](t)){n++;let c=this[be](t),d=this[_e](t);typeof c==\"number\"&&typeof d==\"number\"&&u.fchown(l,c,d,S=>S?u.chown(a,c,d,T=>o(T&&S)):o())}o()});let h=this.transform&&this.transform(t)||t;h!==t&&(h.on(\"error\",a=>{this[O](a,t),e()}),t.pipe(h)),h.pipe(r)}[_s](t,e){let i=typeof t.mode==\"number\"?t.mode&4095:this.dmode;this[St](String(t.absolute),i,r=>{if(r){this[O](r,t),e();return}let n=1,o=()=>{--n===0&&(e(),this[Xt](),t.resume())};t.mtime&&!this.noMtime&&(n++,u.utimes(String(t.absolute),t.atime||new Date,t.mtime,o)),this[Re](t)&&(n++,u.chown(String(t.absolute),Number(this[be](t)),Number(this[_e](t)),o)),o()})}[Lr](t){t.unsupported=!0,this.warn(\"TAR_ENTRY_UNSUPPORTED\",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[Tr](t,e){let i=f(R.relative(this.cwd,R.resolve(R.dirname(String(t.absolute)),String(t.linkpath)))).split(\"/\");this[ye](t,this.cwd,i,()=>this[Si](t,String(t.linkpath),\"symlink\",e),r=>{this[O](r,t),e()})}[xr](t,e){let i=f(R.resolve(this.cwd,String(t.linkpath))),r=f(String(t.linkpath)).split(\"/\");this[ye](t,this.cwd,r,()=>this[Si](t,i,\"link\",e),n=>{this[O](n,t),e()})}[ye](t,e,i,r,n){let o=i.shift();if(this.preservePaths||o===void 0)return r();let h=R.resolve(e,o);u.lstat(h,(a,l)=>{if(a)return r();if(l?.isSymbolicLink())return n(new wt(h,R.resolve(h,i.join(\"/\"))));this[ye](t,h,i,r,n)})}[Ar](){this[wi]++}[Xt](){this[wi]--,this[Ss]()}[gs](t){this[Xt](),t.resume()}[Rs](t,e){return t.type===\"File\"&&!this.unlink&&e.isFile()&&e.nlink<=1&&!Oe}[ys](t){this[Ar]();let e=[t.path];t.linkpath&&e.push(t.linkpath),this.reservations.reserve(e,i=>this[Or](t,i))}[Or](t,e){let i=h=>{e(h)},r=()=>{this[St](this.cwd,this.dmode,h=>{if(h){this[O](h,t),i();return}this[ge]=!0,n()})},n=()=>{if(t.absolute!==this.cwd){let h=f(R.dirname(String(t.absolute)));if(h!==this.cwd)return this[St](h,this.dmode,a=>{if(a){this[O](a,t),i();return}o()})}o()},o=()=>{u.lstat(String(t.absolute),(h,a)=>{if(a&&(this.keep||this.newer&&a.mtime>(t.mtime??a.mtime))){this[gs](t),i();return}if(h||this[Rs](t,a))return this[P](null,t,i);if(a.isDirectory()){if(t.type===\"Directory\"){let l=this.chmod&&t.mode&&(a.mode&4095)!==t.mode,c=d=>this[P](d??null,t,i);return l?u.chmod(String(t.absolute),Number(t.mode),c):c()}if(t.absolute!==this.cwd)return u.rmdir(String(t.absolute),l=>this[P](l??null,t,i))}if(t.absolute===this.cwd)return this[P](null,t,i);oo(String(t.absolute),l=>this[P](l??null,t,i))})};this[ge]?n():r()}[P](t,e,i){if(t){this[O](t,e),i();return}switch(e.type){case\"File\":case\"OldFile\":case\"ContiguousFile\":return this[bs](e,i);case\"Link\":return this[xr](e,i);case\"SymbolicLink\":return this[Tr](e,i);case\"Directory\":case\"GNUDumpDir\":return this[_s](e,i)}}[Si](t,e,i,r){u[i](e,String(t.absolute),n=>{n?this[O](n,t):(this[Xt](),t.resume()),r()})}},Se=s=>{try{return[null,s()]}catch(t){return[t,null]}},Te=class extends qt{sync=!0;[P](t,e){return super[P](t,e,()=>{})}[ys](t){if(!this[ge]){let n=this[St](this.cwd,this.dmode);if(n)return this[O](n,t);this[ge]=!0}if(t.absolute!==this.cwd){let n=f(R.dirname(String(t.absolute)));if(n!==this.cwd){let o=this[St](n,this.dmode);if(o)return this[O](o,t)}}let[e,i]=Se(()=>u.lstatSync(String(t.absolute)));if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime)))return this[gs](t);if(e||this[Rs](t,i))return this[P](null,t);if(i.isDirectory()){if(t.type===\"Directory\"){let o=this.chmod&&t.mode&&(i.mode&4095)!==t.mode,[h]=o?Se(()=>{u.chmodSync(String(t.absolute),Number(t.mode))}):[];return this[P](h,t)}let[n]=Se(()=>u.rmdirSync(String(t.absolute)));this[P](n,t)}let[r]=t.absolute===this.cwd?[]:Se(()=>ho(String(t.absolute)));this[P](r,t)}[bs](t,e){let i=typeof t.mode==\"number\"?t.mode&4095:this.fmode,r=h=>{let a;try{u.closeSync(n)}catch(l){a=l}(h||a)&&this[O](h||a,t),e()},n;try{n=u.openSync(String(t.absolute),cs(t.size),i)}catch(h){return r(h)}let o=this.transform&&this.transform(t)||t;o!==t&&(o.on(\"error\",h=>this[O](h,t)),t.pipe(o)),o.on(\"data\",h=>{try{u.writeSync(n,h,0,h.length)}catch(a){r(a)}}),o.on(\"end\",()=>{let h=null;if(t.mtime&&!this.noMtime){let a=t.atime||new Date,l=t.mtime;try{u.futimesSync(n,a,l)}catch(c){try{u.utimesSync(String(t.absolute),a,l)}catch{h=c}}}if(this[Re](t)){let a=this[be](t),l=this[_e](t);try{u.fchownSync(n,Number(a),Number(l))}catch(c){try{u.chownSync(String(t.absolute),Number(a),Number(l))}catch{h=h||c}}}r(h)})}[_s](t,e){let i=typeof t.mode==\"number\"?t.mode&4095:this.dmode,r=this[St](String(t.absolute),i);if(r){this[O](r,t),e();return}if(t.mtime&&!this.noMtime)try{u.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch{}if(this[Re](t))try{u.chownSync(String(t.absolute),Number(this[be](t)),Number(this[_e](t)))}catch{}e(),t.resume()}[St](t,e){try{return Sr(f(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e})}catch(i){return i}}[ye](t,e,i,r,n){if(this.preservePaths||i.length===0)return r();let o=e;for(let h of i){o=R.resolve(o,h);let[a,l]=Se(()=>u.lstatSync(o));if(a)return r();if(l.isSymbolicLink())return n(new wt(o,R.resolve(e,i.join(\"/\"))))}r()}[Si](t,e,i,r){let n=`${i}Sync`;try{u[n](e,String(t.absolute)),r(),t.resume()}catch(o){return this[O](o,t)}}};var ao=s=>{let t=new Te(s),e=s.file,i=Cr.statSync(e),r=s.maxReadSize||16*1024*1024;new Me(e,{readSize:r,size:i.size}).pipe(t)},lo=(s,t)=>{let e=new qt(s),i=s.maxReadSize||16*1024*1024,r=s.file;return new Promise((o,h)=>{e.on(\"error\",h),e.on(\"close\",o),Cr.stat(r,(a,l)=>{if(a)h(a);else{let c=new _t(r,{readSize:i,size:l.size});c.on(\"error\",h),c.pipe(e)}})})},co=K(ao,lo,s=>new Te(s),s=>new qt(s),(s,t)=>{t?.length&&Ki(s,t)});import v from\"node:fs\";import Fr from\"node:path\";var fo=(s,t)=>{let e=new kt(s),i=!0,r,n;try{try{r=v.openSync(s.file,\"r+\")}catch(a){if(a?.code===\"ENOENT\")r=v.openSync(s.file,\"w+\");else throw a}let o=v.fstatSync(r),h=Buffer.alloc(512);t:for(n=0;n<o.size;n+=512){for(let c=0,d=0;c<512;c+=d){if(d=v.readSync(r,h,c,h.length-c,n+c),n===0&&h[0]===31&&h[1]===139)throw new Error(\"cannot append to compressed archives\");if(!d)break t}let a=new F(h);if(!a.cksumValid)break;let l=512*Math.ceil((a.size||0)/512);if(n+l+512>o.size)break;n+=l,s.mtimeCache&&a.mtime&&s.mtimeCache.set(String(a.path),a.mtime)}i=!1,uo(s,e,n,r,t)}finally{if(i)try{v.closeSync(r)}catch{}}},uo=(s,t,e,i,r)=>{let n=new Wt(s.file,{fd:i,start:e});t.pipe(n),po(t,r)},mo=(s,t)=>{t=Array.from(t);let e=new Et(s),i=(n,o,h)=>{let a=(T,N)=>{T?v.close(n,E=>h(T)):h(null,N)},l=0;if(o===0)return a(null,0);let c=0,d=Buffer.alloc(512),S=(T,N)=>{if(T||N===void 0)return a(T);if(c+=N,c<512&&N)return v.read(n,d,c,d.length-c,l+c,S);if(l===0&&d[0]===31&&d[1]===139)return a(new Error(\"cannot append to compressed archives\"));if(c<512)return a(null,l);let E=new F(d);if(!E.cksumValid)return a(null,l);let x=512*Math.ceil((E.size??0)/512);if(l+x+512>o||(l+=x+512,l>=o))return a(null,l);s.mtimeCache&&E.mtime&&s.mtimeCache.set(String(E.path),E.mtime),c=0,v.read(n,d,0,512,l,S)};v.read(n,d,0,512,l,S)};return new Promise((n,o)=>{e.on(\"error\",o);let h=\"r+\",a=(l,c)=>{if(l&&l.code===\"ENOENT\"&&h===\"r+\")return h=\"w+\",v.open(s.file,h,a);if(l||!c)return o(l);v.fstat(c,(d,S)=>{if(d)return v.close(c,()=>o(d));i(c,S.size,(T,N)=>{if(T)return o(T);let E=new tt(s.file,{fd:c,start:N});e.pipe(E),E.on(\"error\",o),E.on(\"close\",n),Eo(e,t)})})};v.open(s.file,h,a)})},po=(s,t)=>{t.forEach(e=>{e.charAt(0)===\"@\"?It({file:Fr.resolve(s.cwd,e.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>s.add(i)}):s.add(e)}),s.end()},Eo=async(s,t)=>{for(let e of t)e.charAt(0)===\"@\"?await It({file:Fr.resolve(String(s.cwd),e.slice(1)),noResume:!0,onReadEntry:i=>s.add(i)}):s.add(e);s.end()},vt=K(fo,mo,()=>{throw new TypeError(\"file is required\")},()=>{throw new TypeError(\"file is required\")},(s,t)=>{if(!Fs(s))throw new TypeError(\"file is required\");if(s.gzip||s.brotli||s.zstd||s.file.endsWith(\".br\")||s.file.endsWith(\".tbr\"))throw new TypeError(\"cannot append to compressed archives\");if(!t?.length)throw new TypeError(\"no paths specified to add/replace\")});var wo=K(vt.syncFile,vt.asyncFile,vt.syncNoFile,vt.asyncNoFile,(s,t=[])=>{vt.validate?.(s,t),So(s)}),So=s=>{let t=s.filter;s.mtimeCache||(s.mtimeCache=new Map),s.filter=t?(e,i)=>t(e,i)&&!((s.mtimeCache?.get(e)??i.mtime??0)>(i.mtime??0)):(e,i)=>!((s.mtimeCache?.get(e)??i.mtime??0)>(i.mtime??0))};export{F as Header,Et as Pack,di as PackJob,kt as PackSync,st as Parser,ct as Pax,Yt as ReadEntry,qt as Unpack,Te as UnpackSync,de as WriteEntry,si as WriteEntrySync,ri as WriteEntryTar,Zn as c,Zn as create,co as extract,Ki as filesFilter,It as list,vt as r,vt as replace,It as t,Bi as types,wo as u,wo as update,co as x};\n//# sourceMappingURL=index.min.js.map\n",
87
- "import {\n OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n isBuiltInTemplateId,\n} from './template-registry.js'\nimport { resolveBuiltInTemplateSource } from './template-builtins.js'\nimport type {\n ResolvedTemplateSource,\n SeedSource,\n} from './template-source-contracts.js'\nimport {\n parseTemplateLocator,\n} from './template-source-locators.js'\nimport {\n detectTemplateSourceFormat,\n getTemplateProjectType,\n getDefaultCategory,\n getTemplateVariableContext,\n normalizeCreateBlockSubset,\n normalizeWpTypiaTemplateSeed,\n renderCreateBlockExternalTemplate,\n} from './template-source-normalization.js'\nimport {\n isOfficialWorkspaceTemplateSeed,\n resolveTemplateSeed,\n} from './template-source-seeds.js'\nimport {\n assertBuiltInTemplateVariantAllowed,\n} from './cli-validation.js'\n\nexport type {\n GitHubTemplateLocator,\n NpmTemplateLocator,\n RemoteTemplateLocator,\n ResolvedTemplateSource,\n TemplateSourceFormat,\n TemplateVariableContext,\n} from './template-source-contracts.js'\nexport {\n parseGitHubTemplateLocator,\n parseNpmTemplateLocator,\n parseTemplateLocator,\n} from './template-source-locators.js'\nexport { resolveTemplateSeed } from './template-source-seeds.js'\n\nexport async function resolveTemplateSource(\n templateId: string,\n cwd: string,\n variables: { [key: string]: string },\n variant?: string,\n): Promise<ResolvedTemplateSource> {\n if (isBuiltInTemplateId(templateId)) {\n assertBuiltInTemplateVariantAllowed({\n templateId,\n variant,\n })\n return resolveBuiltInTemplateSource(templateId, {\n persistenceEnabled: variables.compoundPersistenceEnabled === 'true',\n persistencePolicy:\n variables.persistencePolicy === 'public' ? 'public' : 'authenticated',\n })\n }\n\n const locator = parseTemplateLocator(templateId)\n const context = getTemplateVariableContext(variables)\n const seed = await resolveTemplateSeed(locator, cwd)\n const isOfficialWorkspaceTemplate =\n templateId === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE ||\n isOfficialWorkspaceTemplateSeed(seed)\n let normalizedSeed: SeedSource | null = null\n\n try {\n const format = await detectTemplateSourceFormat(seed.blockDir)\n if (format === 'wp-typia') {\n if (variant) {\n throw new Error(\n `--variant is only supported for official external template configs. Received variant \"${variant}\" for \"${templateId}\".`,\n )\n }\n normalizedSeed = await normalizeWpTypiaTemplateSeed(seed)\n const supportsMigrationUi =\n getTemplateProjectType(seed.blockDir) === 'workspace'\n return {\n id: templateId,\n defaultCategory: getDefaultCategory(seed.blockDir),\n description: 'A remote wp-typia template source',\n features: ['Remote source', 'wp-typia format'],\n format,\n isOfficialWorkspaceTemplate,\n supportsMigrationUi,\n templateDir: normalizedSeed.blockDir,\n cleanup: normalizedSeed.cleanup,\n }\n }\n\n normalizedSeed =\n format === 'create-block-external'\n ? await renderCreateBlockExternalTemplate(\n seed.blockDir,\n context,\n variant,\n )\n : variant\n ? (() => {\n throw new Error(\n `--variant is only supported for official external template configs. Received variant \"${variant}\" for \"${templateId}\".`,\n )\n })()\n : seed\n\n if (format === 'create-block-external') {\n const renderedFormat =\n normalizedSeed.formatHint ??\n (await detectTemplateSourceFormat(normalizedSeed.blockDir))\n if (renderedFormat === 'wp-typia') {\n const normalized = await normalizeWpTypiaTemplateSeed(normalizedSeed)\n const supportsMigrationUi =\n getTemplateProjectType(normalizedSeed.blockDir) === 'workspace'\n return {\n cleanup: async () => {\n await normalized.cleanup?.()\n await seed.cleanup?.()\n },\n defaultCategory: getDefaultCategory(normalizedSeed.blockDir),\n description:\n 'A wp-typia scaffold normalized from an official external template config',\n features: [\n 'Remote source',\n 'official external template',\n 'wp-typia format',\n ...(supportsMigrationUi ? ['workspace-capable scaffold'] : []),\n ],\n format,\n id: 'remote:create-block-external',\n isOfficialWorkspaceTemplate,\n selectedVariant: normalizedSeed.selectedVariant ?? null,\n supportsMigrationUi,\n templateDir: normalized.blockDir,\n warnings: normalizedSeed.warnings ?? [],\n }\n }\n\n const normalized = await normalizeCreateBlockSubset(\n normalizedSeed,\n context,\n )\n return {\n ...normalized,\n cleanup: async () => {\n await normalized.cleanup?.()\n await seed.cleanup?.()\n },\n description:\n 'A wp-typia scaffold normalized from an official create-block external template',\n features: [\n 'Remote source',\n 'official external template',\n 'Typia metadata pipeline',\n ],\n format,\n id: 'remote:create-block-external',\n isOfficialWorkspaceTemplate,\n selectedVariant: normalizedSeed.selectedVariant ?? null,\n warnings: normalizedSeed.warnings ?? [],\n }\n }\n\n const normalized = await normalizeCreateBlockSubset(\n normalizedSeed,\n context,\n )\n return {\n ...normalized,\n isOfficialWorkspaceTemplate,\n }\n } catch (error) {\n if (normalizedSeed?.cleanup && normalizedSeed !== seed) {\n await normalizedSeed.cleanup()\n }\n if (seed.cleanup) {\n await seed.cleanup()\n }\n throw error\n }\n}\n",
88
- "import { getPackageVersions } from \"./package-versions.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tBUILTIN_BLOCK_METADATA_VERSION,\n\tCOMPOUND_CHILD_BLOCK_METADATA_DEFAULTS,\n\tgetBuiltInTemplateMetadataDefaults,\n} from \"./template-defaults.js\";\nimport {\n\tformatAlternateRenderTargets,\n\tparseAlternateRenderTargets,\n\ttype AlternateRenderTargetId,\n} from \"./alternate-render-targets.js\";\nimport {\n\tDEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID,\n\tgetCompoundInnerBlocksPresetDefinition,\n\ttype CompoundInnerBlocksPresetId,\n} from \"./compound-inner-blocks.js\";\nimport {\n\tgetTemplateById,\n\ttype BuiltInTemplateId,\n} from \"./template-registry.js\";\nimport {\n\ttoPascalCase,\n\ttoSnakeCase,\n} from \"./string-case.js\";\nimport type { InstallDependenciesOptions } from \"./scaffold-apply-utils.js\";\nimport {\n\tbuildBlockCssClassName,\n\tbuildFrontendCssClassName,\n\tresolveScaffoldIdentifiers,\n} from \"./scaffold-identifiers.js\";\nimport type {\n\tDataStorageMode,\n\tPersistencePolicy,\n\tScaffoldAnswers,\n\tScaffoldProgressEvent,\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\n\nexport interface BlockSpec {\n\talternateRenderTargets: readonly AlternateRenderTargetId[];\n\tblock: {\n\t\tnamespace: string;\n\t\tphpPrefix: string;\n\t\tslug: string;\n\t\ttextDomain: string;\n\t};\n\tcompound: {\n\t\tinnerBlocksPreset: CompoundInnerBlocksPresetId;\n\t};\n\tmetadata: {\n\t\tcategory: string;\n\t\tdescription: string;\n\t\ticon: string;\n\t\tkeyword: string;\n\t\ttitle: string;\n\t};\n\tpersistence:\n\t\t| {\n\t\t\t\tenabled: false;\n\t\t }\n\t\t| {\n\t\t\t\tdataStorageMode: DataStorageMode;\n\t\t\t\tenabled: true;\n\t\t\t\tpersistencePolicy: PersistencePolicy;\n\t\t\t\tscope: \"compound-parent\" | \"single\";\n\t\t };\n\tproject: {\n\t\tauthor: string;\n\t};\n\tqueryLoop: {\n\t\tallowedControls: readonly string[];\n\t\tenabled: boolean;\n\t\tpostType: string;\n\t};\n\truntime: {\n\t\twithMigrationUi: boolean;\n\t\twithTestPreset: boolean;\n\t\twithWpEnv: boolean;\n\t};\n\ttemplate: {\n\t\tdescription: string;\n\t\tfamily: BuiltInTemplateId;\n\t\tfeatures: string[];\n\t};\n}\n\nexport interface BlockGenerationTarget {\n\tallowExistingDir: boolean;\n\tcwd: string;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tnoInstall: boolean;\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\tvariant?: string;\n}\n\nexport interface PlanBlockInput {\n\tallowExistingDir?: boolean;\n\talternateRenderTargets?: string;\n\tanswers: ScaffoldAnswers;\n\tcwd?: string;\n\tdataStorageMode?: DataStorageMode;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tnoInstall?: boolean;\n\tpackageManager: PackageManagerId;\n\tpersistencePolicy?: PersistencePolicy;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\ttemplateId: BuiltInTemplateId;\n\tvariant?: string;\n\twithMigrationUi?: boolean;\n\tqueryPostType?: string;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n}\n\nexport interface PlanBlockResult {\n\tspec: BlockSpec;\n\ttarget: BlockGenerationTarget;\n}\n\nexport interface ValidateBlockInput {\n\tplan: PlanBlockResult;\n}\n\nexport interface ValidateBlockResult extends PlanBlockResult {}\n\nexport interface RenderBlockInput {\n\tvalidated: ValidateBlockResult;\n}\n\nexport interface RenderBlockResult extends ValidateBlockResult {\n\tcleanup?: () => Promise<void>;\n\tgitignoreContent: string;\n\tpostRender: {\n\t\tapplyLocalDevPresets: boolean;\n\t\tapplyMigrationUiCapability: boolean;\n\t\tseedPersistenceArtifacts: boolean;\n\t\tseedStarterManifestFiles: boolean;\n\t};\n\treadmeContent: string;\n\tselectedVariant: null;\n\ttemplateDir: string;\n\tvariables: ScaffoldTemplateVariables;\n\twarnings: string[];\n}\n\nexport interface ApplyBlockInput {\n\trendered: RenderBlockResult;\n\tinstallDependencies?: ((options: InstallDependenciesOptions) => Promise<void>) | undefined;\n\tonProgress?: ((event: ScaffoldProgressEvent) => void | Promise<void>) | undefined;\n}\n\nfunction getBuiltInPersistenceSpec({\n\ttemplateId,\n\tdataStorageMode,\n\tpersistencePolicy,\n}: {\n\tdataStorageMode?: DataStorageMode;\n\tpersistencePolicy?: PersistencePolicy;\n\ttemplateId: BuiltInTemplateId;\n}): BlockSpec[\"persistence\"] {\n\tif (templateId === \"persistence\") {\n\t\treturn {\n\t\t\tdataStorageMode: dataStorageMode ?? \"custom-table\",\n\t\t\tenabled: true,\n\t\t\tpersistencePolicy: persistencePolicy ?? \"authenticated\",\n\t\t\tscope: \"single\",\n\t\t};\n\t}\n\n\tif (templateId === \"compound\" && (dataStorageMode || persistencePolicy)) {\n\t\treturn {\n\t\t\tdataStorageMode: dataStorageMode ?? \"custom-table\",\n\t\t\tenabled: true,\n\t\t\tpersistencePolicy: persistencePolicy ?? \"authenticated\",\n\t\t\tscope: \"compound-parent\",\n\t\t};\n\t}\n\n\treturn {\n\t\tenabled: false,\n\t};\n}\n\nconst DEFAULT_QUERY_LOOP_ALLOWED_CONTROLS = [\n\t\"inherit\",\n\t\"postType\",\n\t\"order\",\n\t\"sticky\",\n\t\"taxQuery\",\n\t\"author\",\n\t\"search\",\n] as const;\n\nexport function createBuiltInBlockSpec({\n\talternateRenderTargets,\n\tanswers,\n\tdataStorageMode,\n\tpersistencePolicy,\n\ttemplateId,\n\twithMigrationUi = false,\n\twithTestPreset = false,\n\twithWpEnv = false,\n}: Omit<PlanBlockInput, \"allowExistingDir\" | \"cwd\" | \"noInstall\" | \"packageManager\" | \"projectDir\" | \"variant\">): BlockSpec {\n\tconst template = getTemplateById(templateId);\n\tconst metadataDefaults = getBuiltInTemplateMetadataDefaults(templateId);\n\tconst identifiers = resolveScaffoldIdentifiers({\n\t\tnamespace: answers.namespace,\n\t\tphpPrefix: answers.phpPrefix,\n\t\tslug: answers.slug,\n\t\ttextDomain: answers.textDomain,\n\t});\n\tconst resolvedDataStorageMode = dataStorageMode ?? answers.dataStorageMode;\n\tconst resolvedPersistencePolicy = persistencePolicy ?? answers.persistencePolicy;\n\tconst parsedAlternateRenderTargets =\n\t\tparseAlternateRenderTargets(alternateRenderTargets);\n\tconst innerBlocksPreset =\n\t\ttemplateId === \"compound\"\n\t\t\t? (answers.compoundInnerBlocksPreset ??\n\t\t\t\tDEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID)\n\t\t\t: DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID;\n\n\treturn {\n\t\talternateRenderTargets: parsedAlternateRenderTargets,\n\t\tblock: identifiers,\n\t\tcompound: {\n\t\t\tinnerBlocksPreset,\n\t\t},\n\t\tmetadata: {\n\t\t\tcategory: metadataDefaults.category,\n\t\t\tdescription: answers.description.trim(),\n\t\t\ticon: metadataDefaults.icon,\n\t\t\tkeyword: identifiers.slug.replace(/-/g, \" \"),\n\t\t\ttitle: answers.title.trim(),\n\t\t},\n\t\tpersistence: getBuiltInPersistenceSpec({\n\t\t\tdataStorageMode: resolvedDataStorageMode,\n\t\t\tpersistencePolicy: resolvedPersistencePolicy,\n\t\t\ttemplateId,\n\t\t}),\n\t\tproject: {\n\t\t\tauthor: answers.author.trim(),\n\t\t},\n\t\tqueryLoop:\n\t\t\ttemplateId === \"query-loop\"\n\t\t\t\t? {\n\t\t\t\t\t\tallowedControls: DEFAULT_QUERY_LOOP_ALLOWED_CONTROLS,\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tpostType: (answers.queryPostType ?? \"post\").trim() || \"post\",\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tallowedControls: [],\n\t\t\t\t\t\tenabled: false,\n\t\t\t\t\t\tpostType: \"post\",\n\t\t\t\t },\n\t\truntime: {\n\t\t\twithMigrationUi,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t},\n\t\ttemplate: {\n\t\t\tdescription: template.description,\n\t\t\tfamily: templateId,\n\t\t\tfeatures: [...template.features],\n\t\t},\n\t};\n}\n\nexport function buildTemplateVariablesFromBlockSpec(spec: BlockSpec): ScaffoldTemplateVariables {\n\tconst {\n\t\tapiClientPackageVersion,\n\t\tblockRuntimePackageVersion,\n\t\tblockTypesPackageVersion,\n\t\tprojectToolsPackageVersion,\n\t\trestPackageVersion,\n\t} = getPackageVersions();\n\tconst slug = spec.block.slug;\n\tconst slugSnakeCase = toSnakeCase(slug);\n\tconst pascalCase = toPascalCase(slug);\n\tconst title = spec.metadata.title;\n\tconst namespace = spec.block.namespace;\n\tconst textDomain = spec.block.textDomain;\n\tconst phpPrefix = spec.block.phpPrefix;\n\tconst phpPrefixUpper = phpPrefix.toUpperCase();\n\tconst alternateRenderTargets = [...spec.alternateRenderTargets];\n\tconst hasAlternateEmailRenderTarget = alternateRenderTargets.includes(\"email\");\n\tconst hasAlternateMjmlRenderTarget = alternateRenderTargets.includes(\"mjml\");\n\tconst hasAlternatePlainTextRenderTarget =\n\t\talternateRenderTargets.includes(\"plain-text\");\n\tconst compoundChildTitle = `${title} Item`;\n\tconst cssClassName = buildBlockCssClassName(namespace, slug);\n\tconst compoundChildCssClassName = buildBlockCssClassName(namespace, `${slug}-item`);\n\tconst compoundInnerBlocksPreset = spec.compound.innerBlocksPreset;\n\tconst compoundInnerBlocksPresetDefinition =\n\t\tgetCompoundInnerBlocksPresetDefinition(compoundInnerBlocksPreset);\n\tconst persistenceEnabled = spec.persistence.enabled;\n\tconst dataStorageMode = persistenceEnabled ? spec.persistence.dataStorageMode : \"custom-table\";\n\tconst persistencePolicy = persistenceEnabled\n\t\t? spec.persistence.persistencePolicy\n\t\t: \"authenticated\";\n\tconst queryVariationNamespace = `${namespace}/${slug}`;\n\n\treturn {\n\t\talternateRenderTargetsCsv: formatAlternateRenderTargets(\n\t\t\talternateRenderTargets,\n\t\t),\n\t\talternateRenderTargetsJson: JSON.stringify(alternateRenderTargets),\n\t\tapiClientPackageVersion,\n\t\tauthor: spec.project.author,\n\t\tblockRuntimePackageVersion,\n\t\tblockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n\t\tblockTypesPackageVersion,\n\t\tcategory: spec.metadata.category,\n\t\ticon: spec.metadata.icon,\n\t\tcompoundChildTitle,\n\t\tcompoundChildCategory: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.category,\n\t\tcompoundChildCssClassName,\n\t\tcompoundChildIcon: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.icon,\n\t\tcompoundChildTitleJson: JSON.stringify(compoundChildTitle),\n\t\tcompoundPersistenceEnabled:\n\t\t\tspec.template.family === \"compound\" && persistenceEnabled ? \"true\" : \"false\",\n\t\tcompoundInnerBlocksDirectInsert:\n\t\t\tcompoundInnerBlocksPresetDefinition.directInsert ? \"true\" : \"false\",\n\t\tcompoundInnerBlocksOrientation:\n\t\t\tcompoundInnerBlocksPresetDefinition.orientation ?? \"\",\n\t\tcompoundInnerBlocksOrientationExpression:\n\t\t\tcompoundInnerBlocksPresetDefinition.orientation\n\t\t\t\t? `'${compoundInnerBlocksPresetDefinition.orientation}'`\n\t\t\t\t: \"undefined\",\n\t\tcompoundInnerBlocksPreset,\n\t\tcompoundInnerBlocksPresetDescription:\n\t\t\tcompoundInnerBlocksPresetDefinition.description,\n\t\tcompoundInnerBlocksPresetLabel:\n\t\t\tcompoundInnerBlocksPresetDefinition.label,\n\t\tcompoundInnerBlocksTemplateLockExpression:\n\t\t\tcompoundInnerBlocksPresetDefinition.templateLock === false\n\t\t\t\t? \"false\"\n\t\t\t\t: `'${compoundInnerBlocksPresetDefinition.templateLock}'`,\n\t\thasAlternateEmailRenderTarget: hasAlternateEmailRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternateMjmlRenderTarget: hasAlternateMjmlRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternatePlainTextRenderTarget: hasAlternatePlainTextRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternateRenderTargets: alternateRenderTargets.length > 0\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\tprojectToolsPackageVersion,\n\t\tcssClassName,\n\t\tdashCase: slug,\n\t\tdataStorageMode,\n\t\tdescription: spec.metadata.description,\n\t\tdescriptionJson: JSON.stringify(spec.metadata.description),\n\t\tfrontendCssClassName: buildFrontendCssClassName(cssClassName),\n\t\tqueryAllowedControlsJson: JSON.stringify(\n\t\t\tspec.queryLoop.enabled ? spec.queryLoop.allowedControls : [],\n\t\t\tnull,\n\t\t\t2,\n\t\t),\n\t\tqueryPostType: spec.queryLoop.enabled ? spec.queryLoop.postType : \"post\",\n\t\tqueryPostTypeJson: JSON.stringify(\n\t\t\tspec.queryLoop.enabled ? spec.queryLoop.postType : \"post\",\n\t\t),\n\t\tqueryVariationNamespace,\n\t\tqueryVariationNamespaceJson: JSON.stringify(queryVariationNamespace),\n\t\tisAuthenticatedPersistencePolicy:\n\t\t\tpersistencePolicy === \"authenticated\" ? \"true\" : \"false\",\n\t\tisPublicPersistencePolicy: persistencePolicy === \"public\" ? \"true\" : \"false\",\n\t\tbootstrapCredentialDeclarations:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"publicWriteExpiresAt?: number & tags.Type< 'uint32' >;\\n\\tpublicWriteToken?: string & tags.MinLength< 1 > & tags.MaxLength< 512 >;\"\n\t\t\t\t: \"restNonce?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n\t\tpersistencePolicyDescriptionJson: JSON.stringify(\n\t\t\tpersistencePolicy === \"authenticated\"\n\t\t\t\t? \"Writes require a logged-in user and a valid REST nonce.\"\n\t\t\t\t: \"Anonymous writes use signed short-lived public tokens, per-request ids, and coarse rate limiting.\",\n\t\t),\n\t\tkeyword: spec.metadata.keyword,\n\t\tnamespace,\n\t\tneedsMigration: \"{{needsMigration}}\",\n\t\tpascalCase,\n\t\tphpPrefix,\n\t\tphpPrefixUpper,\n\t\trestPackageVersion,\n\t\tpublicWriteRequestIdDeclaration:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"publicWriteRequestId: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\"\n\t\t\t\t: \"publicWriteRequestId?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n\t\trestWriteAuthIntent:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"public-write-protected\"\n\t\t\t\t: \"authenticated\",\n\t\trestWriteAuthMechanism:\n\t\t\tpersistencePolicy === \"public\" ? \"public-signed-token\" : \"rest-nonce\",\n\t\trestWriteAuthMode:\n\t\t\tpersistencePolicy === \"public\" ? \"public-signed-token\" : \"authenticated-rest-nonce\",\n\t\tslug,\n\t\tslugCamelCase: pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1),\n\t\tslugKebabCase: slug,\n\t\tslugSnakeCase,\n\t\ttextDomain,\n\t\ttextdomain: textDomain,\n\t\ttitle,\n\t\ttitleJson: JSON.stringify(title),\n\t\ttitleCase: pascalCase,\n\t\tpersistencePolicy,\n\t};\n}\n",
89
- "import type { BuiltInCodeArtifact } from \"./built-in-block-code-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\nimport { renderMustacheTemplateString } from \"./template-render.js\";\n\nconst BASIC_STYLE_TEMPLATE = `/**\n * {{title}} Block Styles\n */\n\n.{{cssClassName}} {\n\tpadding: 20px;\n\tborder: 1px solid #ddd;\n\tborder-radius: 4px;\n\tbackground-color: #fff;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n\n\t&.is-hidden {\n\t\tdisplay: none;\n\t}\n\n\t&__content {\n\t\tfont-size: 16px;\n\t\tline-height: 1.6;\n\t\tcolor: #333;\n\n\t\t// Alignment styles\n\t\t&[data-align=\"center\"] {\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t&[data-align=\"right\"] {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t&[data-align=\"justify\"] {\n\t\t\ttext-align: justify;\n\t\t}\n\t}\n\n\t// Hover state\n\t&:hover {\n\t\tbox-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n\t\ttransition: box-shadow 0.2s ease;\n\t}\n}\n`;\n\nconst BASIC_EDITOR_STYLE_TEMPLATE = `/**\n * {{title}} Block Editor Styles\n */\n\n.{{cssClassName}} {\n\toutline: 1px dashed #ddd;\n\toutline-offset: -1px;\n}\n`;\n\nconst BASIC_RENDER_TEMPLATE = `<?php\n/**\n * Optional server render placeholder for {{title}}.\n *\n * The basic scaffold stays static by default. Keep \\`src/save.tsx\\` as the\n * canonical frontend output unless you intentionally convert this block into a\n * dynamic render path and add \\`render\\` to \\`block.json\\`.\n *\n * @package {{slug}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n?>\n<div class=\"{{cssClassName}}__server-placeholder\" hidden>\n\t<?php esc_html_e( 'Server render placeholder.', '{{textDomain}}' ); ?>\n</div>\n`;\n\nconst INTERACTIVITY_STYLE_TEMPLATE = `.{{cssClassName}} {\n position: relative;\n padding: 1rem;\n border: 1px solid #dcdcde;\n border-radius: 0.75rem;\n background: #fff;\n\n &__content {\n display: grid;\n gap: 0.75rem;\n }\n\n &__counter {\n display: inline-flex;\n gap: 0.35rem;\n align-items: center;\n font-size: 0.9rem;\n font-weight: 600;\n }\n\n &__progress {\n width: 100%;\n height: 0.5rem;\n overflow: hidden;\n background: #f0f0f1;\n border-radius: 999px;\n }\n\n &__progress-bar {\n height: 100%;\n background: #3858e9;\n transition: width 0.2s ease;\n }\n\n &__animation {\n min-height: 1.5rem;\n font-size: 0.85rem;\n color: #3858e9;\n opacity: 0;\n transition: opacity 0.2s ease;\n\n &.is-active {\n opacity: 1;\n }\n }\n\n &__completion {\n font-weight: 700;\n color: #06752d;\n }\n\n &__reset {\n align-self: start;\n padding: 0.4rem 0.7rem;\n border: 1px solid #dcdcde;\n border-radius: 999px;\n background: transparent;\n cursor: pointer;\n }\n}\n`;\n\nconst INTERACTIVITY_EDITOR_STYLE_TEMPLATE = `/**\n * {{title}} Block Editor Styles\n */\n\n.{{cssClassName}} {\n\toutline: 1px dashed #ddd;\n\toutline-offset: -1px;\n}\n`;\n\nconst PERSISTENCE_STYLE_TEMPLATE = `.{{cssClassName}} {\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbackground: #fff;\n\n\t&__meta {\n\t\tcolor: #50575e;\n\t\tfont-size: 13px;\n\t\tmargin: 8px 0 0;\n\t}\n}\n\n.{{frontendCssClassName}} {\n\tdisplay: grid;\n\tgap: 12px;\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbackground: #f6f7f7;\n\n\t&__count {\n\t\tdisplay: inline-flex;\n\t\tmin-width: 3rem;\n\t\tjustify-content: center;\n\t\tfont-weight: 700;\n\t}\n\n\t&__notice,\n\t&__error {\n\t\tmargin: 0;\n\t\tfont-size: 13px;\n\t}\n\n\t&__notice {\n\t\tcolor: #50575e;\n\t}\n\n\t&__error {\n\t\tcolor: #b32d2e;\n\t}\n\n\tbutton {\n\t\twidth: fit-content;\n\t}\n}\n`;\n\nconst PERSISTENCE_RENDER_TEMPLATE = `<?php\n/**\n * Dynamic render entry for the {{title}} block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n$validator_path = __DIR__ . '/typia-validator.php';\nif ( ! file_exists( $validator_path ) ) {\n\treturn '';\n}\n\n$validator = require $validator_path;\nif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\treturn '';\n}\n\n$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n$validation = $validator->validate( $normalized );\n$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\nif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\treturn '';\n}\n\n$alignment = isset( $normalized['alignment'] ) ? (string) $normalized['alignment'] : 'left';\n$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n$content = isset( $normalized['content'] ) ? (string) $normalized['content'] : '';\n$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t? (int) $block->context['postId']\n\t: (int) get_queried_object_id();\n$storage_mode = '{{dataStorageMode}}';\n$persistence_policy = '{{persistencePolicy}}';\n\n{{phpPrefix}}_record_rendered_block_instance(\n\t(int) $post_id,\n\t'{{namespace}}/{{slugKebabCase}}',\n\t$resource_key\n);\n\n$notice_message = 'authenticated' === $persistence_policy\n\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n$context = array(\n\t'bootstrapReady' => false,\n\t'buttonLabel' => $button_label,\n\t'canWrite' => false,\n\t'client' => array(\n\t\t'writeExpiry' => 0,\n\t\t'writeNonce' => '',\n\t\t'writeToken' => '',\n\t),\n\t'count' => 0,\n\t'error' => '',\n\t'isBootstrapping' => false,\n\t'isLoading' => false,\n\t'isSaving' => false,\n\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t'persistencePolicy' => $persistence_policy,\n\t'postId' => (int) $post_id,\n\t'resourceKey' => $resource_key,\n\t'storage' => $storage_mode,\n);\n\n$wrapper_attributes = get_block_wrapper_attributes(\n\tarray(\n\t\t'data-wp-context' => wp_json_encode( $context ),\n\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t'data-wp-init' => 'callbacks.init',\n\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t)\n);\n?>\n\n<div <?php echo $wrapper_attributes; ?>>\n\t<div class=\"{{frontendCssClassName}}\">\n\t\t<p class=\"{{frontendCssClassName}}__content\" style=\"<?php echo esc_attr( 'text-align:' . $alignment ); ?>\">\n\t\t\t<?php echo esc_html( $content ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__notice\"\n\t\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\t\thidden\n\t\t>\n\t\t\t<?php echo esc_html( $notice_message ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__error\"\n\t\t\trole=\"status\"\n\t\t\taria-live=\"polite\"\n\t\t\taria-atomic=\"true\"\n\t\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\t\tdata-wp-text=\"context.error\"\n\t\t\thidden\n\t\t></p>\n\t\t<?php if ( ! empty( $normalized['showCount'] ) ) : ?>\n\t\t\t<span\n\t\t\t\tclass=\"{{frontendCssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>\n\t\t\t\t0\n\t\t\t</span>\n\t\t<?php endif; ?>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tdisabled\n\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t>\n\t\t\t<?php echo esc_html( $button_label ); ?>\n\t\t</button>\n\t</div>\n</div>\n`;\n\nconst PERSISTENCE_RENDER_TARGETS_TEMPLATE = `<?php\n/**\n * Alternate render target helpers for the {{title}} block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_build_render_context' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block ) {\n\t\t$validator_path = __DIR__ . '/typia-validator.php';\n\t\tif ( ! file_exists( $validator_path ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$validator = require $validator_path;\n\t\tif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n\t\t$validation = $validator->validate( $normalized );\n\t\t$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\n\t\tif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$alignment = isset( $normalized['alignment'] ) ? (string) $normalized['alignment'] : 'left';\n\t\t$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n\t\t$rendered_content = isset( $normalized['content'] ) ? (string) $normalized['content'] : '';\n\t\t$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t\t\t? (int) $block->context['postId']\n\t\t\t: (int) get_queried_object_id();\n\t\t$storage_mode = '{{dataStorageMode}}';\n\t\t$persistence_policy = '{{persistencePolicy}}';\n\n\t\t{{phpPrefix}}_record_rendered_block_instance(\n\t\t\t(int) $post_id,\n\t\t\t'{{namespace}}/{{slugKebabCase}}',\n\t\t\t$resource_key\n\t\t);\n\n\t\t$notice_message = 'authenticated' === $persistence_policy\n\t\t\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t\t\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\t\t$web_context = array(\n\t\t\t'bootstrapReady' => false,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'canWrite' => false,\n\t\t\t'client' => array(\n\t\t\t\t'writeExpiry' => 0,\n\t\t\t\t'writeNonce' => '',\n\t\t\t\t'writeToken' => '',\n\t\t\t),\n\t\t\t'count' => 0,\n\t\t\t'error' => '',\n\t\t\t'isBootstrapping' => false,\n\t\t\t'isLoading' => false,\n\t\t\t'isSaving' => false,\n\t\t\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t\t\t'persistencePolicy' => $persistence_policy,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'storage' => $storage_mode,\n\t\t);\n\n\t\treturn array(\n\t\t\t'alignment' => $alignment,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'content' => $rendered_content,\n\t\t\t'frontendClassName' => '{{frontendCssClassName}}',\n\t\t\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t\t\t'normalized' => $normalized,\n\t\t\t'noticeMessage' => $notice_message,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'showCount' => ! empty( $normalized['showCount'] ),\n\t\t\t'title' => {{titleJson}},\n\t\t\t'webContext' => $web_context,\n\t\t);\n\t}\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_render_target' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_render_target( string $target, $attributes, $content = '', $block = null ): string {\n\t\t$context = {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block );\n\t\tif ( null === $context || empty( $context['isVisible'] ) ) {\n\t\t\treturn '';\n\t\t}\n\n\t\t$target_context = apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_context',\n\t\t\t$context,\n\t\t\t$target,\n\t\t\t$attributes,\n\t\t\t$block\n\t\t);\n\n\t\t$markup = '';\n\t\tswitch ( $target ) {\n\t\t\tcase 'email':\n\t\t\t\t$parts = array(\n\t\t\t\t\t'<div class=\"' . esc_attr( $target_context['frontendClassName'] ) . '-email\">',\n\t\t\t\t\t'<p style=\"text-align:' . esc_attr( $target_context['alignment'] ) . ';\">' . esc_html( $target_context['content'] ) . '</p>',\n\t\t\t\t);\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$parts[] = '<p><strong>' . esc_html__( 'Count', '{{textDomain}}' ) . ':</strong> ' . esc_html( (string) $target_context['webContext']['count'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['noticeMessage'] ) . '</p>';\n\t\t\t\t$parts[] = '</div>';\n\t\t\t\t$markup = implode( '', $parts );\n\t\t\t\tbreak;\n\t\t\tcase 'mjml':\n\t\t\t\t$markup = '<mjml><mj-body><mj-section><mj-column><mj-text align=\"' . esc_attr( $target_context['alignment'] ) . '\">' . esc_html( $target_context['content'] ) . '</mj-text>';\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html__( 'Count', '{{textDomain}}' ) . ': ' . esc_html( (string) $target_context['webContext']['count'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['noticeMessage'] ) . '</mj-text></mj-column></mj-section></mj-body></mjml>';\n\t\t\t\tbreak;\n\t\t\tcase 'plain-text':\n\t\t\t\t$markup = implode(\n\t\t\t\t\t\"\\\\n\",\n\t\t\t\t\tarray_filter(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t$target_context['title'],\n\t\t\t\t\t\t\t$target_context['content'],\n\t\t\t\t\t\t\t! empty( $target_context['showCount'] )\n\t\t\t\t\t\t\t\t? sprintf( '%s: %s', __( 'Count', '{{textDomain}}' ), (string) $target_context['webContext']['count'] )\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t$target_context['noticeMessage'],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstatic fn( $value ) => is_string( $value ) && '' !== $value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'web':\n\t\t\tdefault:\n\t\t\t\t$wrapper_attributes = get_block_wrapper_attributes(\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'data-wp-context' => wp_json_encode( $target_context['webContext'] ),\n\t\t\t\t\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t\t\t\t\t'data-wp-init' => 'callbacks.init',\n\t\t\t\t\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tob_start();\n\t\t\t\t?>\n<div <?php echo $wrapper_attributes; ?>>\n\t<div class=\"{{frontendCssClassName}}\">\n\t\t<p class=\"{{frontendCssClassName}}__content\" style=\"<?php echo esc_attr( 'text-align:' . $target_context['alignment'] ); ?>\">\n\t\t\t<?php echo esc_html( $target_context['content'] ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__notice\"\n\t\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\t\thidden\n\t\t>\n\t\t\t<?php echo esc_html( $target_context['noticeMessage'] ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__error\"\n\t\t\trole=\"status\"\n\t\t\taria-live=\"polite\"\n\t\t\taria-atomic=\"true\"\n\t\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\t\tdata-wp-text=\"context.error\"\n\t\t\thidden\n\t\t></p>\n\t\t<?php if ( ! empty( $target_context['showCount'] ) ) : ?>\n\t\t\t<span\n\t\t\t\tclass=\"{{frontendCssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>\n\t\t\t\t0\n\t\t\t</span>\n\t\t<?php endif; ?>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tdisabled\n\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t>\n\t\t\t<?php echo esc_html( $target_context['buttonLabel'] ); ?>\n\t\t</button>\n\t</div>\n</div>\n\t\t\t\t<?php\n\t\t\t\t$markup = (string) ob_get_clean();\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_markup',\n\t\t\t$markup,\n\t\t\t$target,\n\t\t\t$target_context\n\t\t);\n\t}\n}\n`;\n\nconst COMPOUND_PERSISTENCE_RENDER_TARGETS_TEMPLATE = `<?php\n/**\n * Alternate render target helpers for the {{title}} compound parent block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_build_render_context' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block ) {\n\t\t$validator_path = __DIR__ . '/typia-validator.php';\n\t\tif ( ! file_exists( $validator_path ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$validator = require $validator_path;\n\t\tif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n\t\t$validation = $validator->validate( $normalized );\n\t\t$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\t\t$heading = isset( $normalized['heading'] ) ? (string) $normalized['heading'] : {{titlePhpLiteral}};\n\t\t$intro = isset( $normalized['intro'] ) ? (string) $normalized['intro'] : '';\n\t\t$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n\t\t$show_count = ! empty( $normalized['showCount'] );\n\t\t$show_dividers = ! empty( $normalized['showDividers'] );\n\t\t$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t\t\t? (int) $block->context['postId']\n\t\t\t: (int) get_queried_object_id();\n\t\t$storage_mode = '{{dataStorageMode}}';\n\t\t$persistence_policy = '{{persistencePolicy}}';\n\n\t\t{{phpPrefix}}_record_rendered_block_instance(\n\t\t\t(int) $post_id,\n\t\t\t'{{namespace}}/{{slugKebabCase}}',\n\t\t\t$resource_key\n\t\t);\n\n\t\t$notice_message = 'authenticated' === $persistence_policy\n\t\t\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t\t\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\n\t\tif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$web_context = array(\n\t\t\t'bootstrapReady' => false,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'canWrite' => false,\n\t\t\t'client' => array(\n\t\t\t\t'writeExpiry' => 0,\n\t\t\t\t'writeNonce' => '',\n\t\t\t\t'writeToken' => '',\n\t\t\t),\n\t\t\t'count' => 0,\n\t\t\t'error' => '',\n\t\t\t'isBootstrapping' => false,\n\t\t\t'isLoading' => false,\n\t\t\t'isSaving' => false,\n\t\t\t'persistencePolicy' => $persistence_policy,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'showCount' => $show_count,\n\t\t\t'storage' => $storage_mode,\n\t\t);\n\n\t\t$allowed_inner_html = wp_kses_allowed_html( 'post' );\n\n\t\tforeach ( $allowed_inner_html as &$allowed_attributes ) {\n\t\t\tif ( ! is_array( $allowed_attributes ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$allowed_attributes['data-wp-bind--disabled'] = true;\n\t\t\t$allowed_attributes['data-wp-bind--hidden'] = true;\n\t\t\t$allowed_attributes['data-wp-bind--value'] = true;\n\t\t\t$allowed_attributes['data-wp-class'] = true;\n\t\t\t$allowed_attributes['data-wp-class--active'] = true;\n\t\t\t$allowed_attributes['data-wp-context'] = true;\n\t\t\t$allowed_attributes['data-wp-init'] = true;\n\t\t\t$allowed_attributes['data-wp-interactive'] = true;\n\t\t\t$allowed_attributes['data-wp-on--click'] = true;\n\t\t\t$allowed_attributes['data-wp-on--mouseenter'] = true;\n\t\t\t$allowed_attributes['data-wp-on--mouseleave'] = true;\n\t\t\t$allowed_attributes['data-wp-run--mounted'] = true;\n\t\t\t$allowed_attributes['data-wp-style--width'] = true;\n\t\t\t$allowed_attributes['data-wp-text'] = true;\n\t\t}\n\t\tunset( $allowed_attributes );\n\n\t\treturn array(\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'frontendClassName' => '{{cssClassName}}',\n\t\t\t'heading' => $heading,\n\t\t\t'intro' => $intro,\n\t\t\t'isVisible' => true,\n\t\t\t'normalized' => $normalized,\n\t\t\t'noticeMessage' => $notice_message,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'sanitizedContent' => wp_kses( $content, $allowed_inner_html ),\n\t\t\t'showCount' => $show_count,\n\t\t\t'showDividers' => $show_dividers,\n\t\t\t'title' => {{titleJson}},\n\t\t\t'webContext' => $web_context,\n\t\t);\n\t}\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_render_target' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_render_target( string $target, $attributes, $content = '', $block = null ): string {\n\t\t$context = {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block );\n\t\tif ( null === $context ) {\n\t\t\treturn '';\n\t\t}\n\n\t\t$target_context = apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_context',\n\t\t\t$context,\n\t\t\t$target,\n\t\t\t$attributes,\n\t\t\t$block\n\t\t);\n\n\t\t$markup = '';\n\t\tswitch ( $target ) {\n\t\t\tcase 'email':\n\t\t\t\t$parts = array(\n\t\t\t\t\t'<div class=\"' . esc_attr( $target_context['frontendClassName'] ) . '-email\">',\n\t\t\t\t\t'<h3>' . esc_html( $target_context['heading'] ) . '</h3>',\n\t\t\t\t);\n\t\t\t\tif ( '' !== $target_context['intro'] ) {\n\t\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['intro'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$parts[] = '<p><strong>' . esc_html__( 'Count', '{{textDomain}}' ) . ':</strong> ' . esc_html( (string) $target_context['webContext']['count'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\t$parts[] = wp_kses_post( $target_context['sanitizedContent'] );\n\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['noticeMessage'] ) . '</p>';\n\t\t\t\t$parts[] = '</div>';\n\t\t\t\t$markup = implode( '', $parts );\n\t\t\t\tbreak;\n\t\t\tcase 'mjml':\n\t\t\t\t$markup = '<mjml><mj-body><mj-section><mj-column><mj-text font-weight=\"700\">' . esc_html( $target_context['heading'] ) . '</mj-text>';\n\t\t\t\tif ( '' !== $target_context['intro'] ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['intro'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html__( 'Count', '{{textDomain}}' ) . ': ' . esc_html( (string) $target_context['webContext']['count'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\t$markup .= '<mj-text>' . esc_html( wp_strip_all_tags( $target_context['sanitizedContent'] ) ) . '</mj-text>';\n\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['noticeMessage'] ) . '</mj-text></mj-column></mj-section></mj-body></mjml>';\n\t\t\t\tbreak;\n\t\t\tcase 'plain-text':\n\t\t\t\t$markup = implode(\n\t\t\t\t\t\"\\\\n\",\n\t\t\t\t\tarray_filter(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t$target_context['heading'],\n\t\t\t\t\t\t\t$target_context['intro'],\n\t\t\t\t\t\t\twp_strip_all_tags( $target_context['sanitizedContent'] ),\n\t\t\t\t\t\t\t! empty( $target_context['showCount'] )\n\t\t\t\t\t\t\t\t? sprintf( '%s: %s', __( 'Count', '{{textDomain}}' ), (string) $target_context['webContext']['count'] )\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t$target_context['noticeMessage'],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstatic fn( $value ) => is_string( $value ) && '' !== $value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'web':\n\t\t\tdefault:\n\t\t\t\t$wrapper_attributes = get_block_wrapper_attributes(\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'class' => '{{cssClassName}}',\n\t\t\t\t\t\t'data-show-dividers' => $target_context['showDividers'] ? 'true' : 'false',\n\t\t\t\t\t\t'data-wp-context' => wp_json_encode( $target_context['webContext'] ),\n\t\t\t\t\t\t'data-wp-init' => 'callbacks.init',\n\t\t\t\t\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t\t\t\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tob_start();\n\t\t\t\t?>\n<div <?php echo $wrapper_attributes; ?>>\n\t<h3 class=\"{{cssClassName}}__heading\"><?php echo esc_html( $target_context['heading'] ); ?></h3>\n\t<?php if ( '' !== $target_context['intro'] ) : ?>\n\t\t<p class=\"{{cssClassName}}__intro\"><?php echo esc_html( $target_context['intro'] ); ?></p>\n\t<?php endif; ?>\n\t<p\n\t\tclass=\"{{cssClassName}}__notice\"\n\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\thidden\n\t>\n\t\t<?php echo esc_html( $target_context['noticeMessage'] ); ?>\n\t</p>\n\t<p\n\t\tclass=\"{{cssClassName}}__error\"\n\t\trole=\"status\"\n\t\taria-live=\"polite\"\n\t\taria-atomic=\"true\"\n\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\tdata-wp-text=\"context.error\"\n\t\thidden\n\t></p>\n\t<?php if ( ! empty( $target_context['showCount'] ) ) : ?>\n\t\t<div class=\"{{cssClassName}}__counter\">\n\t\t\t<span\n\t\t\t\tclass=\"{{cssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>0</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled\n\t\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t\t>\n\t\t\t\t<?php echo esc_html( $target_context['buttonLabel'] ); ?>\n\t\t\t</button>\n\t\t</div>\n\t<?php endif; ?>\n\t<div class=\"{{cssClassName}}__items\">\n\t\t<?php echo wp_kses_post( $target_context['sanitizedContent'] ); ?>\n\t</div>\n</div>\n\t\t\t\t<?php\n\t\t\t\t$markup = (string) ob_get_clean();\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_markup',\n\t\t\t$markup,\n\t\t\t$target,\n\t\t\t$target_context\n\t\t);\n\t}\n}\n`;\n\nconst COMPOUND_STYLE_TEMPLATE = `.{{cssClassName}} {\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 1.25rem;\n\tbackground: #fff;\n}\n\n.{{cssClassName}}__heading {\n\tmargin: 0 0 0.5rem;\n\tfont-size: 1.2rem;\n}\n\n.{{cssClassName}}__intro {\n\tmargin: 0 0 1rem;\n\tcolor: #50575e;\n}\n\n.{{cssClassName}}__items {\n\tdisplay: grid;\n\tgap: 0.75rem;\n}\n\n.{{cssClassName}}[data-show-dividers='true'] .{{compoundChildCssClassName}} {\n\tborder-top: 1px solid #dcdcde;\n\tpadding-top: 0.75rem;\n}\n\n.{{cssClassName}}[data-show-dividers='true'] .{{compoundChildCssClassName}}:first-child {\n\tborder-top: 0;\n\tpadding-top: 0;\n}\n`;\n\nfunction renderArtifact(\n\trelativePath: string,\n\ttemplate: string,\n\tview: Record<string, unknown>,\n): BuiltInCodeArtifact {\n\tconst source = renderMustacheTemplateString(template, view);\n\treturn {\n\t\trelativePath,\n\t\tsource: source.endsWith(\"\\n\") ? source : `${source}\\n`,\n\t};\n}\n\nfunction buildAlternateRenderEntryArtifact(\n\trelativePath: string,\n\ttarget: \"email\" | \"mjml\" | \"plain-text\" | \"web\",\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact {\n\tconst template = `<?php\n/**\n * Alternate ${target} render entry for {{title}}.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\nrequire_once __DIR__ . '/render-targets.php';\n\nreturn {{phpPrefix}}_{{slugSnakeCase}}_render_target( '${target}', $attributes, $content ?? '', $block ?? null );\n`;\n\n\treturn renderArtifact(relativePath, template, variables);\n}\n\nfunction toPhpSingleQuotedString(value: string): string {\n\treturn `'${value.replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\'\")}'`;\n}\n\nfunction buildBasicArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\trenderArtifact(\"src/editor.scss\", BASIC_EDITOR_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\"src/style.scss\", BASIC_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\"src/render.php\", BASIC_RENDER_TEMPLATE, variables),\n\t];\n}\n\nfunction buildInteractivityArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\trenderArtifact(\n\t\t\t\"src/editor.scss\",\n\t\t\tINTERACTIVITY_EDITOR_STYLE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\trenderArtifact(\"src/style.scss\", INTERACTIVITY_STYLE_TEMPLATE, variables),\n\t];\n}\n\nfunction buildPersistenceArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tif (variables.hasAlternateRenderTargets !== \"true\") {\n\t\treturn [\n\t\t\trenderArtifact(\"src/style.scss\", PERSISTENCE_STYLE_TEMPLATE, variables),\n\t\t\trenderArtifact(\"src/render.php\", PERSISTENCE_RENDER_TEMPLATE, variables),\n\t\t];\n\t}\n\n\tconst artifacts = [\n\t\trenderArtifact(\"src/style.scss\", PERSISTENCE_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\n\t\t\t\"src/render-targets.php\",\n\t\t\tPERSISTENCE_RENDER_TARGETS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tbuildAlternateRenderEntryArtifact(\"src/render.php\", \"web\", variables),\n\t];\n\n\tif (variables.hasAlternateEmailRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\"src/render-email.php\", \"email\", variables),\n\t\t);\n\t}\n\tif (variables.hasAlternateMjmlRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\"src/render-mjml.php\", \"mjml\", variables),\n\t\t);\n\t}\n\tif (variables.hasAlternatePlainTextRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\"src/render-text.php\",\n\t\t\t\t\"plain-text\",\n\t\t\t\tvariables,\n\t\t\t),\n\t\t);\n\t}\n\n\treturn artifacts;\n}\n\nfunction buildCompoundArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tconst artifacts = [\n\t\trenderArtifact(\n\t\t\t`src/blocks/${variables.slugKebabCase}/style.scss`,\n\t\t\tCOMPOUND_STYLE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t];\n\n\tif (variables.compoundPersistenceEnabled === \"true\") {\n\t\tconst renderView = {\n\t\t\t...variables,\n\t\t\ttitlePhpLiteral: toPhpSingleQuotedString(variables.title),\n\t\t};\n\t\tif (variables.hasAlternateRenderTargets === \"true\") {\n\t\t\tartifacts.push(\n\t\t\t\trenderArtifact(\n\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-targets.php`,\n\t\t\t\t\tCOMPOUND_PERSISTENCE_RENDER_TARGETS_TEMPLATE,\n\t\t\t\t\trenderView,\n\t\t\t\t),\n\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render.php`,\n\t\t\t\t\t\"web\",\n\t\t\t\t\tvariables,\n\t\t\t\t),\n\t\t\t);\n\t\t\tif (variables.hasAlternateEmailRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-email.php`,\n\t\t\t\t\t\t\"email\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (variables.hasAlternateMjmlRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-mjml.php`,\n\t\t\t\t\t\t\"mjml\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (variables.hasAlternatePlainTextRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-text.php`,\n\t\t\t\t\t\t\"plain-text\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn artifacts;\n\t\t}\n\t\tconst renderSource = `<?php\n/**\n * Dynamic render entry for the {{title}} compound parent block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n$validator_path = __DIR__ . '/typia-validator.php';\nif ( ! file_exists( $validator_path ) ) {\n\treturn '';\n}\n\n$validator = require $validator_path;\nif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\treturn '';\n}\n\n$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n$validation = $validator->validate( $normalized );\n$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n$heading = isset( $normalized['heading'] ) ? (string) $normalized['heading'] : {{titlePhpLiteral}};\n$intro = isset( $normalized['intro'] ) ? (string) $normalized['intro'] : '';\n$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n$show_count = ! empty( $normalized['showCount'] );\n$show_dividers = ! empty( $normalized['showDividers'] );\n$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t? (int) $block->context['postId']\n\t: (int) get_queried_object_id();\n$storage_mode = '{{dataStorageMode}}';\n$persistence_policy = '{{persistencePolicy}}';\n\n{{phpPrefix}}_record_rendered_block_instance(\n\t(int) $post_id,\n\t'{{namespace}}/{{slugKebabCase}}',\n\t$resource_key\n);\n\n$notice_message = 'authenticated' === $persistence_policy\n\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\nif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\treturn '';\n}\n\n$context = array(\n\t'bootstrapReady' => false,\n\t'buttonLabel' => $button_label,\n\t'canWrite' => false,\n\t'client' => array(\n\t\t'writeExpiry' => 0,\n\t\t'writeNonce' => '',\n\t\t'writeToken' => '',\n\t),\n\t'count' => 0,\n\t'error' => '',\n\t'isBootstrapping' => false,\n\t'isLoading' => false,\n\t'isSaving' => false,\n\t'persistencePolicy' => $persistence_policy,\n\t'postId' => (int) $post_id,\n\t'resourceKey' => $resource_key,\n\t'showCount' => $show_count,\n\t'storage' => $storage_mode,\n);\n\n$allowed_inner_html = wp_kses_allowed_html( 'post' );\n\nforeach ( $allowed_inner_html as &$allowed_attributes ) {\n\tif ( ! is_array( $allowed_attributes ) ) {\n\t\tcontinue;\n\t}\n\n\t$allowed_attributes['data-wp-bind--disabled'] = true;\n\t$allowed_attributes['data-wp-bind--hidden'] = true;\n\t$allowed_attributes['data-wp-bind--value'] = true;\n\t$allowed_attributes['data-wp-class'] = true;\n\t$allowed_attributes['data-wp-class--active'] = true;\n\t$allowed_attributes['data-wp-context'] = true;\n\t$allowed_attributes['data-wp-init'] = true;\n\t$allowed_attributes['data-wp-interactive'] = true;\n\t$allowed_attributes['data-wp-on--click'] = true;\n\t$allowed_attributes['data-wp-on--mouseenter'] = true;\n\t$allowed_attributes['data-wp-on--mouseleave'] = true;\n\t$allowed_attributes['data-wp-run--mounted'] = true;\n\t$allowed_attributes['data-wp-style--width'] = true;\n\t$allowed_attributes['data-wp-text'] = true;\n}\nunset( $allowed_attributes );\n\n$sanitized_content = wp_kses( $content, $allowed_inner_html );\n\n$wrapper_attributes = get_block_wrapper_attributes(\n\tarray(\n\t\t'class' => '{{cssClassName}}',\n\t\t'data-show-dividers' => $show_dividers ? 'true' : 'false',\n\t\t'data-wp-context' => wp_json_encode( $context ),\n\t\t'data-wp-init' => 'callbacks.init',\n\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t)\n);\n?>\n\n<div <?php echo $wrapper_attributes; ?>>\n\t<h3 class=\"{{cssClassName}}__heading\"><?php echo esc_html( $heading ); ?></h3>\n\t<?php if ( '' !== $intro ) : ?>\n\t\t<p class=\"{{cssClassName}}__intro\"><?php echo esc_html( $intro ); ?></p>\n\t<?php endif; ?>\n\t<p\n\t\tclass=\"{{cssClassName}}__notice\"\n\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\thidden\n\t>\n\t\t<?php echo esc_html( $notice_message ); ?>\n\t</p>\n\t<p\n\t\tclass=\"{{cssClassName}}__error\"\n\t\trole=\"status\"\n\t\taria-live=\"polite\"\n\t\taria-atomic=\"true\"\n\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\tdata-wp-text=\"context.error\"\n\t\thidden\n\t></p>\n\t<?php if ( $show_count ) : ?>\n\t\t<div class=\"{{cssClassName}}__counter\">\n\t\t\t<span\n\t\t\t\tclass=\"{{cssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>0</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled\n\t\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t\t>\n\t\t\t\t<?php echo esc_html( $button_label ); ?>\n\t\t\t</button>\n\t\t</div>\n\t<?php endif; ?>\n\t<div class=\"{{cssClassName}}__items\">\n\t\t<?php echo $sanitized_content; ?>\n\t</div>\n</div>\n`;\n\t\tartifacts.push(\n\t\t\trenderArtifact(\n\t\t\t\t`src/blocks/${variables.slugKebabCase}/render.php`,\n\t\t\t\trenderSource,\n\t\t\t\trenderView,\n\t\t\t),\n\t\t);\n\t}\n\n\treturn artifacts;\n}\n\n/**\n * Builds non-TypeScript scaffold artifacts for built-in block templates.\n *\n * @param options Build options for the selected built-in template family.\n * @param options.templateId Built-in template identifier that controls which\n * non-TS files should be emitted.\n * @param options.variables Scaffold template variables used to render the\n * generated sources.\n * @returns An array of emitter-owned SCSS and PHP artifacts for the selected\n * built-in template family.\n */\nexport function buildBuiltInNonTsArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInCodeArtifact[] {\n\tswitch (templateId) {\n\t\tcase \"basic\":\n\t\t\treturn buildBasicArtifacts(variables);\n\t\tcase \"interactivity\":\n\t\t\treturn buildInteractivityArtifacts(variables);\n\t\tcase \"persistence\":\n\t\t\treturn buildPersistenceArtifacts(variables);\n\t\tcase \"compound\":\n\t\t\treturn buildCompoundArtifacts(variables);\n\t\tcase \"query-loop\":\n\t\t\treturn [];\n\t\tdefault: {\n\t\t\tconst unhandledTemplateId: never = templateId;\n\t\t\tthrow new Error(`Unhandled built-in template id: ${unhandledTemplateId}`);\n\t\t}\n\t}\n}\n",
88
+ "import {\n OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,\n isBuiltInTemplateId,\n} from './template-registry.js'\nimport { resolveBuiltInTemplateSource } from './template-builtins.js'\nimport type {\n ResolvedTemplateSource,\n SeedSource,\n} from './template-source-contracts.js'\nimport {\n parseTemplateLocator,\n} from './template-source-locators.js'\nimport {\n detectTemplateSourceFormat,\n getTemplateProjectType,\n getDefaultCategory,\n getTemplateVariableContext,\n normalizeCreateBlockSubset,\n normalizeWpTypiaTemplateSeed,\n renderCreateBlockExternalTemplate,\n} from './template-source-normalization.js'\nimport {\n isOfficialWorkspaceTemplateSeed,\n resolveTemplateSeed,\n} from './template-source-seeds.js'\nimport {\n assertBuiltInTemplateVariantAllowed,\n} from './cli-validation.js'\nimport type { ScaffoldTemplateVariables } from './scaffold.js'\nimport { getScaffoldTemplateVariableGroups } from './scaffold-template-variable-groups.js'\n\nexport type {\n GitHubTemplateLocator,\n NpmTemplateLocator,\n RemoteTemplateLocator,\n ResolvedTemplateSource,\n TemplateSourceFormat,\n TemplateVariableContext,\n} from './template-source-contracts.js'\nexport {\n parseGitHubTemplateLocator,\n parseNpmTemplateLocator,\n parseTemplateLocator,\n} from './template-source-locators.js'\nexport { resolveTemplateSeed } from './template-source-seeds.js'\n\nexport async function resolveTemplateSource(\n templateId: string,\n cwd: string,\n variables: ScaffoldTemplateVariables,\n variant?: string,\n): Promise<ResolvedTemplateSource> {\n if (isBuiltInTemplateId(templateId)) {\n const variableGroups = getScaffoldTemplateVariableGroups(variables)\n assertBuiltInTemplateVariantAllowed({\n templateId,\n variant,\n })\n return resolveBuiltInTemplateSource(templateId, {\n persistenceEnabled:\n variableGroups.compound.enabled &&\n variableGroups.compound.persistenceEnabled,\n persistencePolicy:\n variableGroups.persistence.enabled &&\n variableGroups.persistence.policy === 'public'\n ? 'public'\n : 'authenticated',\n })\n }\n\n const locator = parseTemplateLocator(templateId)\n const context = getTemplateVariableContext(variables)\n const seed = await resolveTemplateSeed(locator, cwd)\n const isOfficialWorkspaceTemplate =\n templateId === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE ||\n isOfficialWorkspaceTemplateSeed(seed)\n let normalizedSeed: SeedSource | null = null\n\n try {\n const format = await detectTemplateSourceFormat(seed.blockDir)\n if (format === 'wp-typia') {\n if (variant) {\n throw new Error(\n `--variant is only supported for official external template configs. Received variant \"${variant}\" for \"${templateId}\".`,\n )\n }\n normalizedSeed = await normalizeWpTypiaTemplateSeed(seed)\n const supportsMigrationUi =\n getTemplateProjectType(seed.blockDir) === 'workspace'\n return {\n id: templateId,\n defaultCategory: getDefaultCategory(seed.blockDir),\n description: 'A remote wp-typia template source',\n features: ['Remote source', 'wp-typia format'],\n format,\n isOfficialWorkspaceTemplate,\n supportsMigrationUi,\n templateDir: normalizedSeed.blockDir,\n cleanup: normalizedSeed.cleanup,\n }\n }\n\n normalizedSeed =\n format === 'create-block-external'\n ? await renderCreateBlockExternalTemplate(\n seed.blockDir,\n context,\n variant,\n )\n : variant\n ? (() => {\n throw new Error(\n `--variant is only supported for official external template configs. Received variant \"${variant}\" for \"${templateId}\".`,\n )\n })()\n : seed\n\n if (format === 'create-block-external') {\n const renderedFormat =\n normalizedSeed.formatHint ??\n (await detectTemplateSourceFormat(normalizedSeed.blockDir))\n if (renderedFormat === 'wp-typia') {\n const normalized = await normalizeWpTypiaTemplateSeed(normalizedSeed)\n const supportsMigrationUi =\n getTemplateProjectType(normalizedSeed.blockDir) === 'workspace'\n return {\n cleanup: async () => {\n await normalized.cleanup?.()\n await seed.cleanup?.()\n },\n defaultCategory: getDefaultCategory(normalizedSeed.blockDir),\n description:\n 'A wp-typia scaffold normalized from an official external template config',\n features: [\n 'Remote source',\n 'official external template',\n 'wp-typia format',\n ...(supportsMigrationUi ? ['workspace-capable scaffold'] : []),\n ],\n format,\n id: 'remote:create-block-external',\n isOfficialWorkspaceTemplate,\n selectedVariant: normalizedSeed.selectedVariant ?? null,\n supportsMigrationUi,\n templateDir: normalized.blockDir,\n warnings: normalizedSeed.warnings ?? [],\n }\n }\n\n const normalized = await normalizeCreateBlockSubset(\n normalizedSeed,\n context,\n )\n return {\n ...normalized,\n cleanup: async () => {\n await normalized.cleanup?.()\n await seed.cleanup?.()\n },\n description:\n 'A wp-typia scaffold normalized from an official create-block external template',\n features: [\n 'Remote source',\n 'official external template',\n 'Typia metadata pipeline',\n ],\n format,\n id: 'remote:create-block-external',\n isOfficialWorkspaceTemplate,\n selectedVariant: normalizedSeed.selectedVariant ?? null,\n warnings: normalizedSeed.warnings ?? [],\n }\n }\n\n const normalized = await normalizeCreateBlockSubset(\n normalizedSeed,\n context,\n )\n return {\n ...normalized,\n isOfficialWorkspaceTemplate,\n }\n } catch (error) {\n if (normalizedSeed?.cleanup && normalizedSeed !== seed) {\n await normalizedSeed.cleanup()\n }\n if (seed.cleanup) {\n await seed.cleanup()\n }\n throw error\n }\n}\n",
89
+ "import { getPackageVersions } from \"./package-versions.js\";\nimport type { PackageManagerId } from \"./package-managers.js\";\nimport {\n\tBUILTIN_BLOCK_METADATA_VERSION,\n\tCOMPOUND_CHILD_BLOCK_METADATA_DEFAULTS,\n\tgetBuiltInTemplateMetadataDefaults,\n} from \"./template-defaults.js\";\nimport {\n\tformatAlternateRenderTargets,\n\tparseAlternateRenderTargets,\n\ttype AlternateRenderTargetId,\n} from \"./alternate-render-targets.js\";\nimport {\n\tDEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID,\n\tgetCompoundInnerBlocksPresetDefinition,\n\ttype CompoundInnerBlocksPresetId,\n} from \"./compound-inner-blocks.js\";\nimport {\n\tgetTemplateById,\n\ttype BuiltInTemplateId,\n} from \"./template-registry.js\";\nimport {\n\ttoPascalCase,\n\ttoSnakeCase,\n} from \"./string-case.js\";\nimport type { InstallDependenciesOptions } from \"./scaffold-apply-utils.js\";\nimport {\n\tbuildBlockCssClassName,\n\tbuildFrontendCssClassName,\n\tresolveScaffoldIdentifiers,\n} from \"./scaffold-identifiers.js\";\nimport { attachScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\nimport type {\n\tDataStorageMode,\n\tFlatScaffoldTemplateVariables,\n\tPersistencePolicy,\n\tScaffoldAnswers,\n\tScaffoldProgressEvent,\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\n\nexport interface BlockSpec {\n\talternateRenderTargets: readonly AlternateRenderTargetId[];\n\tblock: {\n\t\tnamespace: string;\n\t\tphpPrefix: string;\n\t\tslug: string;\n\t\ttextDomain: string;\n\t};\n\tcompound: {\n\t\tinnerBlocksPreset: CompoundInnerBlocksPresetId;\n\t};\n\tmetadata: {\n\t\tcategory: string;\n\t\tdescription: string;\n\t\ticon: string;\n\t\tkeyword: string;\n\t\ttitle: string;\n\t};\n\tpersistence:\n\t\t| {\n\t\t\t\tenabled: false;\n\t\t }\n\t\t| {\n\t\t\t\tdataStorageMode: DataStorageMode;\n\t\t\t\tenabled: true;\n\t\t\t\tpersistencePolicy: PersistencePolicy;\n\t\t\t\tscope: \"compound-parent\" | \"single\";\n\t\t };\n\tproject: {\n\t\tauthor: string;\n\t};\n\tqueryLoop: {\n\t\tallowedControls: readonly string[];\n\t\tenabled: boolean;\n\t\tpostType: string;\n\t};\n\truntime: {\n\t\twithMigrationUi: boolean;\n\t\twithTestPreset: boolean;\n\t\twithWpEnv: boolean;\n\t};\n\ttemplate: {\n\t\tdescription: string;\n\t\tfamily: BuiltInTemplateId;\n\t\tfeatures: string[];\n\t};\n}\n\nexport interface BlockGenerationTarget {\n\tallowExistingDir: boolean;\n\tcwd: string;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tnoInstall: boolean;\n\tpackageManager: PackageManagerId;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\tvariant?: string;\n}\n\nexport interface PlanBlockInput {\n\tallowExistingDir?: boolean;\n\talternateRenderTargets?: string;\n\tanswers: ScaffoldAnswers;\n\tcwd?: string;\n\tdataStorageMode?: DataStorageMode;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\texternalLayerSourceLabel?: string;\n\tnoInstall?: boolean;\n\tpackageManager: PackageManagerId;\n\tpersistencePolicy?: PersistencePolicy;\n\tprojectDir: string;\n\trepositoryReference?: string;\n\ttemplateId: BuiltInTemplateId;\n\tvariant?: string;\n\twithMigrationUi?: boolean;\n\tqueryPostType?: string;\n\twithTestPreset?: boolean;\n\twithWpEnv?: boolean;\n}\n\nexport interface PlanBlockResult {\n\tspec: BlockSpec;\n\ttarget: BlockGenerationTarget;\n}\n\nexport interface ValidateBlockInput {\n\tplan: PlanBlockResult;\n}\n\nexport interface ValidateBlockResult extends PlanBlockResult {}\n\nexport interface RenderBlockInput {\n\tvalidated: ValidateBlockResult;\n}\n\nexport interface RenderBlockResult extends ValidateBlockResult {\n\tcleanup?: () => Promise<void>;\n\tgitignoreContent: string;\n\tpostRender: {\n\t\tapplyLocalDevPresets: boolean;\n\t\tapplyMigrationUiCapability: boolean;\n\t\tseedPersistenceArtifacts: boolean;\n\t\tseedStarterManifestFiles: boolean;\n\t};\n\treadmeContent: string;\n\tselectedVariant: null;\n\ttemplateDir: string;\n\tvariables: ScaffoldTemplateVariables;\n\twarnings: string[];\n}\n\nexport interface ApplyBlockInput {\n\trendered: RenderBlockResult;\n\tinstallDependencies?: ((options: InstallDependenciesOptions) => Promise<void>) | undefined;\n\tonProgress?: ((event: ScaffoldProgressEvent) => void | Promise<void>) | undefined;\n}\n\nfunction getBuiltInPersistenceSpec({\n\ttemplateId,\n\tdataStorageMode,\n\tpersistencePolicy,\n}: {\n\tdataStorageMode?: DataStorageMode;\n\tpersistencePolicy?: PersistencePolicy;\n\ttemplateId: BuiltInTemplateId;\n}): BlockSpec[\"persistence\"] {\n\tif (templateId === \"persistence\") {\n\t\treturn {\n\t\t\tdataStorageMode: dataStorageMode ?? \"custom-table\",\n\t\t\tenabled: true,\n\t\t\tpersistencePolicy: persistencePolicy ?? \"authenticated\",\n\t\t\tscope: \"single\",\n\t\t};\n\t}\n\n\tif (templateId === \"compound\" && (dataStorageMode || persistencePolicy)) {\n\t\treturn {\n\t\t\tdataStorageMode: dataStorageMode ?? \"custom-table\",\n\t\t\tenabled: true,\n\t\t\tpersistencePolicy: persistencePolicy ?? \"authenticated\",\n\t\t\tscope: \"compound-parent\",\n\t\t};\n\t}\n\n\treturn {\n\t\tenabled: false,\n\t};\n}\n\nconst DEFAULT_QUERY_LOOP_ALLOWED_CONTROLS = [\n\t\"inherit\",\n\t\"postType\",\n\t\"order\",\n\t\"sticky\",\n\t\"taxQuery\",\n\t\"author\",\n\t\"search\",\n] as const;\n\nexport function createBuiltInBlockSpec({\n\talternateRenderTargets,\n\tanswers,\n\tdataStorageMode,\n\tpersistencePolicy,\n\ttemplateId,\n\twithMigrationUi = false,\n\twithTestPreset = false,\n\twithWpEnv = false,\n}: Omit<PlanBlockInput, \"allowExistingDir\" | \"cwd\" | \"noInstall\" | \"packageManager\" | \"projectDir\" | \"variant\">): BlockSpec {\n\tconst template = getTemplateById(templateId);\n\tconst metadataDefaults = getBuiltInTemplateMetadataDefaults(templateId);\n\tconst identifiers = resolveScaffoldIdentifiers({\n\t\tnamespace: answers.namespace,\n\t\tphpPrefix: answers.phpPrefix,\n\t\tslug: answers.slug,\n\t\ttextDomain: answers.textDomain,\n\t});\n\tconst resolvedDataStorageMode = dataStorageMode ?? answers.dataStorageMode;\n\tconst resolvedPersistencePolicy = persistencePolicy ?? answers.persistencePolicy;\n\tconst parsedAlternateRenderTargets =\n\t\tparseAlternateRenderTargets(alternateRenderTargets);\n\tconst innerBlocksPreset =\n\t\ttemplateId === \"compound\"\n\t\t\t? (answers.compoundInnerBlocksPreset ??\n\t\t\t\tDEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID)\n\t\t\t: DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID;\n\n\treturn {\n\t\talternateRenderTargets: parsedAlternateRenderTargets,\n\t\tblock: identifiers,\n\t\tcompound: {\n\t\t\tinnerBlocksPreset,\n\t\t},\n\t\tmetadata: {\n\t\t\tcategory: metadataDefaults.category,\n\t\t\tdescription: answers.description.trim(),\n\t\t\ticon: metadataDefaults.icon,\n\t\t\tkeyword: identifiers.slug.replace(/-/g, \" \"),\n\t\t\ttitle: answers.title.trim(),\n\t\t},\n\t\tpersistence: getBuiltInPersistenceSpec({\n\t\t\tdataStorageMode: resolvedDataStorageMode,\n\t\t\tpersistencePolicy: resolvedPersistencePolicy,\n\t\t\ttemplateId,\n\t\t}),\n\t\tproject: {\n\t\t\tauthor: answers.author.trim(),\n\t\t},\n\t\tqueryLoop:\n\t\t\ttemplateId === \"query-loop\"\n\t\t\t\t? {\n\t\t\t\t\t\tallowedControls: DEFAULT_QUERY_LOOP_ALLOWED_CONTROLS,\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tpostType: (answers.queryPostType ?? \"post\").trim() || \"post\",\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tallowedControls: [],\n\t\t\t\t\t\tenabled: false,\n\t\t\t\t\t\tpostType: \"post\",\n\t\t\t\t },\n\t\truntime: {\n\t\t\twithMigrationUi,\n\t\t\twithTestPreset,\n\t\t\twithWpEnv,\n\t\t},\n\t\ttemplate: {\n\t\t\tdescription: template.description,\n\t\t\tfamily: templateId,\n\t\t\tfeatures: [...template.features],\n\t\t},\n\t};\n}\n\nexport function buildTemplateVariablesFromBlockSpec(spec: BlockSpec): ScaffoldTemplateVariables {\n\tconst {\n\t\tapiClientPackageVersion,\n\t\tblockRuntimePackageVersion,\n\t\tblockTypesPackageVersion,\n\t\tprojectToolsPackageVersion,\n\t\trestPackageVersion,\n\t} = getPackageVersions();\n\tconst slug = spec.block.slug;\n\tconst slugSnakeCase = toSnakeCase(slug);\n\tconst pascalCase = toPascalCase(slug);\n\tconst title = spec.metadata.title;\n\tconst namespace = spec.block.namespace;\n\tconst textDomain = spec.block.textDomain;\n\tconst phpPrefix = spec.block.phpPrefix;\n\tconst phpPrefixUpper = phpPrefix.toUpperCase();\n\tconst alternateRenderTargets = [...spec.alternateRenderTargets];\n\tconst hasAlternateEmailRenderTarget = alternateRenderTargets.includes(\"email\");\n\tconst hasAlternateMjmlRenderTarget = alternateRenderTargets.includes(\"mjml\");\n\tconst hasAlternatePlainTextRenderTarget =\n\t\talternateRenderTargets.includes(\"plain-text\");\n\tconst compoundChildTitle = `${title} Item`;\n\tconst cssClassName = buildBlockCssClassName(namespace, slug);\n\tconst compoundChildCssClassName = buildBlockCssClassName(namespace, `${slug}-item`);\n\tconst compoundInnerBlocksPreset = spec.compound.innerBlocksPreset;\n\tconst compoundInnerBlocksPresetDefinition =\n\t\tgetCompoundInnerBlocksPresetDefinition(compoundInnerBlocksPreset);\n\tconst compoundInnerBlocksOrientation: \"\" | \"horizontal\" | \"vertical\" =\n\t\tcompoundInnerBlocksPresetDefinition.orientation ?? \"\";\n\tconst persistenceEnabled = spec.persistence.enabled;\n\tconst dataStorageMode = persistenceEnabled ? spec.persistence.dataStorageMode : \"custom-table\";\n\tconst persistencePolicy = persistenceEnabled\n\t\t? spec.persistence.persistencePolicy\n\t\t: \"authenticated\";\n\tconst queryVariationNamespace = `${namespace}/${slug}`;\n\n\tconst flatVariables: FlatScaffoldTemplateVariables = {\n\t\talternateRenderTargetsCsv: formatAlternateRenderTargets(\n\t\t\talternateRenderTargets,\n\t\t),\n\t\talternateRenderTargetsJson: JSON.stringify(alternateRenderTargets),\n\t\tapiClientPackageVersion,\n\t\tauthor: spec.project.author,\n\t\tblockRuntimePackageVersion,\n\t\tblockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n\t\tblockTypesPackageVersion,\n\t\tcategory: spec.metadata.category,\n\t\ticon: spec.metadata.icon,\n\t\tcompoundChildTitle,\n\t\tcompoundChildCategory: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.category,\n\t\tcompoundChildCssClassName,\n\t\tcompoundChildIcon: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.icon,\n\t\tcompoundChildTitleJson: JSON.stringify(compoundChildTitle),\n\t\tcompoundPersistenceEnabled:\n\t\t\tspec.template.family === \"compound\" && persistenceEnabled ? \"true\" : \"false\",\n\t\tcompoundInnerBlocksDirectInsert:\n\t\t\tcompoundInnerBlocksPresetDefinition.directInsert ? \"true\" : \"false\",\n\t\tcompoundInnerBlocksOrientation: compoundInnerBlocksOrientation,\n\t\tcompoundInnerBlocksOrientationExpression:\n\t\t\tcompoundInnerBlocksPresetDefinition.orientation\n\t\t\t\t? `'${compoundInnerBlocksPresetDefinition.orientation}'`\n\t\t\t\t: \"undefined\",\n\t\tcompoundInnerBlocksPreset,\n\t\tcompoundInnerBlocksPresetDescription:\n\t\t\tcompoundInnerBlocksPresetDefinition.description,\n\t\tcompoundInnerBlocksPresetLabel:\n\t\t\tcompoundInnerBlocksPresetDefinition.label,\n\t\tcompoundInnerBlocksTemplateLockExpression:\n\t\t\tcompoundInnerBlocksPresetDefinition.templateLock === false\n\t\t\t\t? \"false\"\n\t\t\t\t: `'${compoundInnerBlocksPresetDefinition.templateLock}'`,\n\t\thasAlternateEmailRenderTarget: hasAlternateEmailRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternateMjmlRenderTarget: hasAlternateMjmlRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternatePlainTextRenderTarget: hasAlternatePlainTextRenderTarget\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\thasAlternateRenderTargets: alternateRenderTargets.length > 0\n\t\t\t? \"true\"\n\t\t\t: \"false\",\n\t\tprojectToolsPackageVersion,\n\t\tcssClassName,\n\t\tdashCase: slug,\n\t\tdataStorageMode,\n\t\tdescription: spec.metadata.description,\n\t\tdescriptionJson: JSON.stringify(spec.metadata.description),\n\t\tfrontendCssClassName: buildFrontendCssClassName(cssClassName),\n\t\tqueryAllowedControlsJson: JSON.stringify(\n\t\t\tspec.queryLoop.enabled ? spec.queryLoop.allowedControls : [],\n\t\t\tnull,\n\t\t\t2,\n\t\t),\n\t\tqueryPostType: spec.queryLoop.enabled ? spec.queryLoop.postType : \"post\",\n\t\tqueryPostTypeJson: JSON.stringify(\n\t\t\tspec.queryLoop.enabled ? spec.queryLoop.postType : \"post\",\n\t\t),\n\t\tqueryVariationNamespace,\n\t\tqueryVariationNamespaceJson: JSON.stringify(queryVariationNamespace),\n\t\tisAuthenticatedPersistencePolicy:\n\t\t\tpersistencePolicy === \"authenticated\" ? \"true\" : \"false\",\n\t\tisPublicPersistencePolicy: persistencePolicy === \"public\" ? \"true\" : \"false\",\n\t\tbootstrapCredentialDeclarations:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"publicWriteExpiresAt?: number & tags.Type< 'uint32' >;\\n\\tpublicWriteToken?: string & tags.MinLength< 1 > & tags.MaxLength< 512 >;\"\n\t\t\t\t: \"restNonce?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n\t\tpersistencePolicyDescriptionJson: JSON.stringify(\n\t\t\tpersistencePolicy === \"authenticated\"\n\t\t\t\t? \"Writes require a logged-in user and a valid REST nonce.\"\n\t\t\t\t: \"Anonymous writes use signed short-lived public tokens, per-request ids, and coarse rate limiting.\",\n\t\t),\n\t\tkeyword: spec.metadata.keyword,\n\t\tnamespace,\n\t\tneedsMigration: \"{{needsMigration}}\",\n\t\tpascalCase,\n\t\tphpPrefix,\n\t\tphpPrefixUpper,\n\t\trestPackageVersion,\n\t\tpublicWriteRequestIdDeclaration:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"publicWriteRequestId: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\"\n\t\t\t\t: \"publicWriteRequestId?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n\t\trestWriteAuthIntent:\n\t\t\tpersistencePolicy === \"public\"\n\t\t\t\t? \"public-write-protected\"\n\t\t\t\t: \"authenticated\",\n\t\trestWriteAuthMechanism:\n\t\t\tpersistencePolicy === \"public\" ? \"public-signed-token\" : \"rest-nonce\",\n\t\trestWriteAuthMode:\n\t\t\tpersistencePolicy === \"public\" ? \"public-signed-token\" : \"authenticated-rest-nonce\",\n\t\tslug,\n\t\tslugCamelCase: pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1),\n\t\tslugKebabCase: slug,\n\t\tslugSnakeCase,\n\t\ttextDomain,\n\t\ttextdomain: textDomain,\n\t\ttitle,\n\t\ttitleJson: JSON.stringify(title),\n\t\ttitleCase: pascalCase,\n\t\tpersistencePolicy,\n\t};\n\n\tconst shared = {\n\t\tauthor: spec.project.author,\n\t\tblockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n\t\tcategory: spec.metadata.category,\n\t\tcssClassName,\n\t\tdescription: spec.metadata.description,\n\t\tdescriptionJson: flatVariables.descriptionJson,\n\t\tfrontendCssClassName: flatVariables.frontendCssClassName,\n\t\ticon: spec.metadata.icon,\n\t\tkeyword: spec.metadata.keyword,\n\t\tnamespace,\n\t\tpascalCase,\n\t\tphpPrefix,\n\t\tphpPrefixUpper,\n\t\tslug,\n\t\tslugCamelCase: flatVariables.slugCamelCase,\n\t\tslugKebabCase: slug,\n\t\tslugSnakeCase,\n\t\ttextDomain,\n\t\ttitle,\n\t\ttitleCase: pascalCase,\n\t\ttitleJson: flatVariables.titleJson,\n\t\tversions: {\n\t\t\tapiClient: apiClientPackageVersion,\n\t\t\tblockRuntime: blockRuntimePackageVersion,\n\t\t\tblockTypes: blockTypesPackageVersion,\n\t\t\tprojectTools: projectToolsPackageVersion,\n\t\t\trest: restPackageVersion,\n\t\t},\n\t};\n\tconst alternateRenderTargetsGroup = {\n\t\tcsv: flatVariables.alternateRenderTargetsCsv,\n\t\tenabled: alternateRenderTargets.length > 0,\n\t\thasEmail: hasAlternateEmailRenderTarget,\n\t\thasMjml: hasAlternateMjmlRenderTarget,\n\t\thasPlainText: hasAlternatePlainTextRenderTarget,\n\t\tjson: flatVariables.alternateRenderTargetsJson,\n\t\ttargets: alternateRenderTargets,\n\t};\n\tconst compoundGroup = {\n\t\tchild: {\n\t\t\tcategory: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.category,\n\t\t\tcssClassName: compoundChildCssClassName,\n\t\t\ticon: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.icon,\n\t\t\ttitle: compoundChildTitle,\n\t\t\ttitleJson: JSON.stringify(compoundChildTitle),\n\t\t},\n\t\tenabled: true as const,\n\t\tinnerBlocks: {\n\t\t\tdescription: compoundInnerBlocksPresetDefinition.description,\n\t\t\tdirectInsert: compoundInnerBlocksPresetDefinition.directInsert,\n\t\t\tlabel: compoundInnerBlocksPresetDefinition.label,\n\t\t\torientation: compoundInnerBlocksOrientation,\n\t\t\torientationExpression:\n\t\t\t\tcompoundInnerBlocksPresetDefinition.orientation\n\t\t\t\t\t? `'${compoundInnerBlocksPresetDefinition.orientation}'`\n\t\t\t\t\t: \"undefined\",\n\t\t\tpreset: compoundInnerBlocksPreset,\n\t\t\ttemplateLockExpression:\n\t\t\t\tcompoundInnerBlocksPresetDefinition.templateLock === false\n\t\t\t\t\t? \"false\"\n\t\t\t\t\t: `'${compoundInnerBlocksPresetDefinition.templateLock}'`,\n\t\t},\n\t\tpersistenceEnabled: persistenceEnabled,\n\t};\n\tconst persistenceGroup = persistenceEnabled\n\t\t? {\n\t\t\t\tauth: {\n\t\t\t\t\tbootstrapCredentialDeclarations:\n\t\t\t\t\t\tflatVariables.bootstrapCredentialDeclarations,\n\t\t\t\t\tdescriptionJson: flatVariables.persistencePolicyDescriptionJson,\n\t\t\t\t\tintent: flatVariables.restWriteAuthIntent,\n\t\t\t\t\tisAuthenticated: persistencePolicy === \"authenticated\",\n\t\t\t\t\tisPublic: persistencePolicy === \"public\",\n\t\t\t\t\tmechanism: flatVariables.restWriteAuthMechanism,\n\t\t\t\t\tmode: flatVariables.restWriteAuthMode,\n\t\t\t\t\tpublicWriteRequestIdDeclaration:\n\t\t\t\t\t\tflatVariables.publicWriteRequestIdDeclaration,\n\t\t\t\t},\n\t\t\t\tdataStorageMode,\n\t\t\t\tenabled: true as const,\n\t\t\t\tpolicy: persistencePolicy,\n\t\t\t\tscope: spec.persistence.scope,\n\t\t }\n\t\t: null;\n\tconst queryLoopGroup = {\n\t\tallowedControls: spec.queryLoop.allowedControls,\n\t\tallowedControlsJson: flatVariables.queryAllowedControlsJson,\n\t\tenabled: true as const,\n\t\tpostType: spec.queryLoop.postType,\n\t\tpostTypeJson: flatVariables.queryPostTypeJson,\n\t\tvariationNamespace: queryVariationNamespace,\n\t\tvariationNamespaceJson: flatVariables.queryVariationNamespaceJson,\n\t};\n\n\tswitch (spec.template.family) {\n\t\tcase \"basic\":\n\t\t\treturn attachScaffoldTemplateVariableGroups(flatVariables, {\n\t\t\t\talternateRenderTargets: alternateRenderTargetsGroup,\n\t\t\t\tcompound: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tpersistenceEnabled: false,\n\t\t\t\t},\n\t\t\t\tpersistence: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tscope: \"none\",\n\t\t\t\t},\n\t\t\t\tqueryLoop: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\tshared,\n\t\t\t\ttemplate: {\n\t\t\t\t\tdescription: spec.template.description,\n\t\t\t\t},\n\t\t\t\ttemplateFamily: \"basic\",\n\t\t\t});\n\t\tcase \"interactivity\":\n\t\t\treturn attachScaffoldTemplateVariableGroups(flatVariables, {\n\t\t\t\talternateRenderTargets: alternateRenderTargetsGroup,\n\t\t\t\tcompound: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tpersistenceEnabled: false,\n\t\t\t\t},\n\t\t\t\tpersistence: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tscope: \"none\",\n\t\t\t\t},\n\t\t\t\tqueryLoop: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\tshared,\n\t\t\t\ttemplate: {\n\t\t\t\t\tdescription: spec.template.description,\n\t\t\t\t},\n\t\t\t\ttemplateFamily: \"interactivity\",\n\t\t\t});\n\t\tcase \"persistence\": {\n\t\t\tif (persistenceGroup === null) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Persistence scaffolds must provide persistence template variables.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn attachScaffoldTemplateVariableGroups(flatVariables, {\n\t\t\t\talternateRenderTargets: alternateRenderTargetsGroup,\n\t\t\t\tcompound: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tpersistenceEnabled: false,\n\t\t\t\t},\n\t\t\t\tpersistence: {\n\t\t\t\t\t...persistenceGroup,\n\t\t\t\t\tscope: \"single\",\n\t\t\t\t},\n\t\t\t\tqueryLoop: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\tshared,\n\t\t\t\ttemplate: {\n\t\t\t\t\tdescription: spec.template.description,\n\t\t\t\t},\n\t\t\t\ttemplateFamily: \"persistence\",\n\t\t\t});\n\t\t}\n\t\tcase \"compound\": {\n\t\t\tconst compoundPersistenceGroup =\n\t\t\t\tpersistenceGroup === null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tenabled: false as const,\n\t\t\t\t\t\t\tscope: \"none\" as const,\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t...persistenceGroup,\n\t\t\t\t\t\t\tscope: \"compound-parent\" as const,\n\t\t\t\t\t };\n\t\t\treturn attachScaffoldTemplateVariableGroups(flatVariables, {\n\t\t\t\talternateRenderTargets: alternateRenderTargetsGroup,\n\t\t\t\tcompound: compoundGroup,\n\t\t\t\tpersistence: compoundPersistenceGroup,\n\t\t\t\tqueryLoop: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t},\n\t\t\t\tshared,\n\t\t\t\ttemplate: {\n\t\t\t\t\tdescription: spec.template.description,\n\t\t\t\t},\n\t\t\t\ttemplateFamily: \"compound\",\n\t\t\t});\n\t\t}\n\t\tcase \"query-loop\":\n\t\t\treturn attachScaffoldTemplateVariableGroups(flatVariables, {\n\t\t\t\talternateRenderTargets: alternateRenderTargetsGroup,\n\t\t\t\tcompound: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tpersistenceEnabled: false,\n\t\t\t\t},\n\t\t\t\tpersistence: {\n\t\t\t\t\tenabled: false,\n\t\t\t\t\tscope: \"none\",\n\t\t\t\t},\n\t\t\t\tqueryLoop: queryLoopGroup,\n\t\t\t\tshared,\n\t\t\t\ttemplate: {\n\t\t\t\t\tdescription: spec.template.description,\n\t\t\t\t},\n\t\t\t\ttemplateFamily: \"query-loop\",\n\t\t\t});\n\t\tdefault: {\n\t\t\tconst unreachableTemplateFamily: never = spec.template.family;\n\t\t\tthrow new Error(\n\t\t\t\t`Unhandled scaffold template family: ${unreachableTemplateFamily}`,\n\t\t\t);\n\t\t}\n\t}\n}\n",
90
+ "import type { BuiltInCodeArtifact } from \"./built-in-block-code-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport { renderMustacheTemplateString } from \"./template-render.js\";\n\n/**\n * Renders a non-TypeScript artifact and normalizes the output to a trailing newline.\n *\n * @param relativePath Relative output path for the generated artifact.\n * @param template Mustache template source to render.\n * @param view Template view data passed to the Mustache renderer.\n * @returns A built-in code artifact with normalized source text.\n */\nexport function renderArtifact(\n\trelativePath: string,\n\ttemplate: string,\n\tview: Record<string, unknown>,\n): BuiltInCodeArtifact {\n\tconst source = renderMustacheTemplateString(template, view);\n\treturn {\n\t\trelativePath,\n\t\tsource: source.endsWith(\"\\n\") ? source : `${source}\\n`,\n\t};\n}\n\n/**\n * Builds a PHP entrypoint for a specific alternate render target.\n *\n * @param relativePath Relative output path for the generated PHP file.\n * @param target Alternate render target identifier to dispatch.\n * @param variables Scaffold template variables used to render the entrypoint.\n * @returns A built-in code artifact for the requested alternate render target.\n */\nexport function buildAlternateRenderEntryArtifact(\n\trelativePath: string,\n\ttarget: \"email\" | \"mjml\" | \"plain-text\" | \"web\",\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact {\n\tconst template = `<?php\n/**\n * Alternate ${target} render entry for {{title}}.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\\texit;\n}\n\nrequire_once __DIR__ . '/render-targets.php';\n\nreturn {{phpPrefix}}_{{slugSnakeCase}}_render_target( '${target}', $attributes, $content ?? '', $block ?? null );\n`;\n\n\treturn renderArtifact(relativePath, template, variables);\n}\n\n/**\n * Escapes a string for safe embedding in a PHP single-quoted literal.\n *\n * @param value Source string to escape.\n * @returns A PHP single-quoted string literal.\n */\nexport function toPhpSingleQuotedString(value: string): string {\n\treturn `'${value.replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\'\")}'`;\n}\n",
91
+ "import type { BuiltInCodeArtifact } from \"./built-in-block-code-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport {\n\tbuildAlternateRenderEntryArtifact,\n\trenderArtifact,\n\ttoPhpSingleQuotedString,\n} from \"./built-in-block-non-ts-render-utils.js\";\n\nconst BASIC_STYLE_TEMPLATE = `/**\n * {{title}} Block Styles\n */\n\n.{{cssClassName}} {\n\tpadding: 20px;\n\tborder: 1px solid #ddd;\n\tborder-radius: 4px;\n\tbackground-color: #fff;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n\n\t&.is-hidden {\n\t\tdisplay: none;\n\t}\n\n\t&__content {\n\t\tfont-size: 16px;\n\t\tline-height: 1.6;\n\t\tcolor: #333;\n\n\t\t// Alignment styles\n\t\t&[data-align=\"center\"] {\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t&[data-align=\"right\"] {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t&[data-align=\"justify\"] {\n\t\t\ttext-align: justify;\n\t\t}\n\t}\n\n\t// Hover state\n\t&:hover {\n\t\tbox-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n\t\ttransition: box-shadow 0.2s ease;\n\t}\n}\n`;\n\nconst BASIC_EDITOR_STYLE_TEMPLATE = `/**\n * {{title}} Block Editor Styles\n */\n\n.{{cssClassName}} {\n\toutline: 1px dashed #ddd;\n\toutline-offset: -1px;\n}\n`;\n\nconst BASIC_RENDER_TEMPLATE = `<?php\n/**\n * Optional server render placeholder for {{title}}.\n *\n * The basic scaffold stays static by default. Keep \\`src/save.tsx\\` as the\n * canonical frontend output unless you intentionally convert this block into a\n * dynamic render path and add \\`render\\` to \\`block.json\\`.\n *\n * @package {{slug}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n?>\n<div class=\"{{cssClassName}}__server-placeholder\" hidden>\n\t<?php esc_html_e( 'Server render placeholder.', '{{textDomain}}' ); ?>\n</div>\n`;\n\nconst INTERACTIVITY_STYLE_TEMPLATE = `.{{cssClassName}} {\n position: relative;\n padding: 1rem;\n border: 1px solid #dcdcde;\n border-radius: 0.75rem;\n background: #fff;\n\n &__content {\n display: grid;\n gap: 0.75rem;\n }\n\n &__counter {\n display: inline-flex;\n gap: 0.35rem;\n align-items: center;\n font-size: 0.9rem;\n font-weight: 600;\n }\n\n &__progress {\n width: 100%;\n height: 0.5rem;\n overflow: hidden;\n background: #f0f0f1;\n border-radius: 999px;\n }\n\n &__progress-bar {\n height: 100%;\n background: #3858e9;\n transition: width 0.2s ease;\n }\n\n &__animation {\n min-height: 1.5rem;\n font-size: 0.85rem;\n color: #3858e9;\n opacity: 0;\n transition: opacity 0.2s ease;\n\n &.is-active {\n opacity: 1;\n }\n }\n\n &__completion {\n font-weight: 700;\n color: #06752d;\n }\n\n &__reset {\n align-self: start;\n padding: 0.4rem 0.7rem;\n border: 1px solid #dcdcde;\n border-radius: 999px;\n background: transparent;\n cursor: pointer;\n }\n}\n`;\n\nconst INTERACTIVITY_EDITOR_STYLE_TEMPLATE = `/**\n * {{title}} Block Editor Styles\n */\n\n.{{cssClassName}} {\n\toutline: 1px dashed #ddd;\n\toutline-offset: -1px;\n}\n`;\n\nconst PERSISTENCE_STYLE_TEMPLATE = `.{{cssClassName}} {\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbackground: #fff;\n\n\t&__meta {\n\t\tcolor: #50575e;\n\t\tfont-size: 13px;\n\t\tmargin: 8px 0 0;\n\t}\n}\n\n.{{frontendCssClassName}} {\n\tdisplay: grid;\n\tgap: 12px;\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbackground: #f6f7f7;\n\n\t&__count {\n\t\tdisplay: inline-flex;\n\t\tmin-width: 3rem;\n\t\tjustify-content: center;\n\t\tfont-weight: 700;\n\t}\n\n\t&__notice,\n\t&__error {\n\t\tmargin: 0;\n\t\tfont-size: 13px;\n\t}\n\n\t&__notice {\n\t\tcolor: #50575e;\n\t}\n\n\t&__error {\n\t\tcolor: #b32d2e;\n\t}\n\n\tbutton {\n\t\twidth: fit-content;\n\t}\n}\n`;\n\nconst PERSISTENCE_RENDER_TEMPLATE = `<?php\n/**\n * Dynamic render entry for the {{title}} block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n$validator_path = __DIR__ . '/typia-validator.php';\nif ( ! file_exists( $validator_path ) ) {\n\treturn '';\n}\n\n$validator = require $validator_path;\nif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\treturn '';\n}\n\n$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n$validation = $validator->validate( $normalized );\n$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\nif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\treturn '';\n}\n\n$alignment = isset( $normalized['alignment'] ) ? (string) $normalized['alignment'] : 'left';\n$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n$content = isset( $normalized['content'] ) ? (string) $normalized['content'] : '';\n$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t? (int) $block->context['postId']\n\t: (int) get_queried_object_id();\n$storage_mode = '{{dataStorageMode}}';\n$persistence_policy = '{{persistencePolicy}}';\n\n{{phpPrefix}}_record_rendered_block_instance(\n\t(int) $post_id,\n\t'{{namespace}}/{{slugKebabCase}}',\n\t$resource_key\n);\n\n$notice_message = 'authenticated' === $persistence_policy\n\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n$context = array(\n\t'bootstrapReady' => false,\n\t'buttonLabel' => $button_label,\n\t'canWrite' => false,\n\t'client' => array(\n\t\t'writeExpiry' => 0,\n\t\t'writeNonce' => '',\n\t\t'writeToken' => '',\n\t),\n\t'count' => 0,\n\t'error' => '',\n\t'isBootstrapping' => false,\n\t'isLoading' => false,\n\t'isSaving' => false,\n\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t'persistencePolicy' => $persistence_policy,\n\t'postId' => (int) $post_id,\n\t'resourceKey' => $resource_key,\n\t'storage' => $storage_mode,\n);\n\n$wrapper_attributes = get_block_wrapper_attributes(\n\tarray(\n\t\t'data-wp-context' => wp_json_encode( $context ),\n\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t'data-wp-init' => 'callbacks.init',\n\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t)\n);\n?>\n\n<div <?php echo $wrapper_attributes; ?>>\n\t<div class=\"{{frontendCssClassName}}\">\n\t\t<p class=\"{{frontendCssClassName}}__content\" style=\"<?php echo esc_attr( 'text-align:' . $alignment ); ?>\">\n\t\t\t<?php echo esc_html( $content ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__notice\"\n\t\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\t\thidden\n\t\t>\n\t\t\t<?php echo esc_html( $notice_message ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__error\"\n\t\t\trole=\"status\"\n\t\t\taria-live=\"polite\"\n\t\t\taria-atomic=\"true\"\n\t\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\t\tdata-wp-text=\"context.error\"\n\t\t\thidden\n\t\t></p>\n\t\t<?php if ( ! empty( $normalized['showCount'] ) ) : ?>\n\t\t\t<span\n\t\t\t\tclass=\"{{frontendCssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>\n\t\t\t\t0\n\t\t\t</span>\n\t\t<?php endif; ?>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tdisabled\n\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t>\n\t\t\t<?php echo esc_html( $button_label ); ?>\n\t\t</button>\n\t</div>\n</div>\n`;\n\nconst PERSISTENCE_RENDER_TARGETS_TEMPLATE = `<?php\n/**\n * Alternate render target helpers for the {{title}} block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_build_render_context' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block ) {\n\t\t$validator_path = __DIR__ . '/typia-validator.php';\n\t\tif ( ! file_exists( $validator_path ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$validator = require $validator_path;\n\t\tif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n\t\t$validation = $validator->validate( $normalized );\n\t\t$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\n\t\tif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$alignment = isset( $normalized['alignment'] ) ? (string) $normalized['alignment'] : 'left';\n\t\t$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n\t\t$rendered_content = isset( $normalized['content'] ) ? (string) $normalized['content'] : '';\n\t\t$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t\t\t? (int) $block->context['postId']\n\t\t\t: (int) get_queried_object_id();\n\t\t$storage_mode = '{{dataStorageMode}}';\n\t\t$persistence_policy = '{{persistencePolicy}}';\n\n\t\t{{phpPrefix}}_record_rendered_block_instance(\n\t\t\t(int) $post_id,\n\t\t\t'{{namespace}}/{{slugKebabCase}}',\n\t\t\t$resource_key\n\t\t);\n\n\t\t$notice_message = 'authenticated' === $persistence_policy\n\t\t\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t\t\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\t\t$web_context = array(\n\t\t\t'bootstrapReady' => false,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'canWrite' => false,\n\t\t\t'client' => array(\n\t\t\t\t'writeExpiry' => 0,\n\t\t\t\t'writeNonce' => '',\n\t\t\t\t'writeToken' => '',\n\t\t\t),\n\t\t\t'count' => 0,\n\t\t\t'error' => '',\n\t\t\t'isBootstrapping' => false,\n\t\t\t'isLoading' => false,\n\t\t\t'isSaving' => false,\n\t\t\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t\t\t'persistencePolicy' => $persistence_policy,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'storage' => $storage_mode,\n\t\t);\n\n\t\treturn array(\n\t\t\t'alignment' => $alignment,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'content' => $rendered_content,\n\t\t\t'frontendClassName' => '{{frontendCssClassName}}',\n\t\t\t'isVisible' => ! empty( $normalized['isVisible'] ),\n\t\t\t'normalized' => $normalized,\n\t\t\t'noticeMessage' => $notice_message,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'showCount' => ! empty( $normalized['showCount'] ),\n\t\t\t'title' => {{titleJson}},\n\t\t\t'webContext' => $web_context,\n\t\t);\n\t}\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_render_target' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_render_target( string $target, $attributes, $content = '', $block = null ): string {\n\t\t$context = {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block );\n\t\tif ( null === $context || empty( $context['isVisible'] ) ) {\n\t\t\treturn '';\n\t\t}\n\n\t\t$target_context = apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_context',\n\t\t\t$context,\n\t\t\t$target,\n\t\t\t$attributes,\n\t\t\t$block\n\t\t);\n\n\t\t$markup = '';\n\t\tswitch ( $target ) {\n\t\t\tcase 'email':\n\t\t\t\t$parts = array(\n\t\t\t\t\t'<div class=\"' . esc_attr( $target_context['frontendClassName'] ) . '-email\">',\n\t\t\t\t\t'<p style=\"text-align:' . esc_attr( $target_context['alignment'] ) . ';\">' . esc_html( $target_context['content'] ) . '</p>',\n\t\t\t\t);\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$parts[] = '<p><strong>' . esc_html__( 'Count', '{{textDomain}}' ) . ':</strong> ' . esc_html( (string) $target_context['webContext']['count'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['noticeMessage'] ) . '</p>';\n\t\t\t\t$parts[] = '</div>';\n\t\t\t\t$markup = implode( '', $parts );\n\t\t\t\tbreak;\n\t\t\tcase 'mjml':\n\t\t\t\t$markup = '<mjml><mj-body><mj-section><mj-column><mj-text align=\"' . esc_attr( $target_context['alignment'] ) . '\">' . esc_html( $target_context['content'] ) . '</mj-text>';\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html__( 'Count', '{{textDomain}}' ) . ': ' . esc_html( (string) $target_context['webContext']['count'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['noticeMessage'] ) . '</mj-text></mj-column></mj-section></mj-body></mjml>';\n\t\t\t\tbreak;\n\t\t\tcase 'plain-text':\n\t\t\t\t$markup = implode(\n\t\t\t\t\t\"\\\\n\",\n\t\t\t\t\tarray_filter(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t$target_context['title'],\n\t\t\t\t\t\t\t$target_context['content'],\n\t\t\t\t\t\t\t! empty( $target_context['showCount'] )\n\t\t\t\t\t\t\t\t? sprintf( '%s: %s', __( 'Count', '{{textDomain}}' ), (string) $target_context['webContext']['count'] )\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t$target_context['noticeMessage'],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstatic fn( $value ) => is_string( $value ) && '' !== $value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'web':\n\t\t\tdefault:\n\t\t\t\t$wrapper_attributes = get_block_wrapper_attributes(\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'data-wp-context' => wp_json_encode( $target_context['webContext'] ),\n\t\t\t\t\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t\t\t\t\t'data-wp-init' => 'callbacks.init',\n\t\t\t\t\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tob_start();\n\t\t\t\t?>\n<div <?php echo $wrapper_attributes; ?>>\n\t<div class=\"{{frontendCssClassName}}\">\n\t\t<p class=\"{{frontendCssClassName}}__content\" style=\"<?php echo esc_attr( 'text-align:' . $target_context['alignment'] ); ?>\">\n\t\t\t<?php echo esc_html( $target_context['content'] ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__notice\"\n\t\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\t\thidden\n\t\t>\n\t\t\t<?php echo esc_html( $target_context['noticeMessage'] ); ?>\n\t\t</p>\n\t\t<p\n\t\t\tclass=\"{{frontendCssClassName}}__error\"\n\t\t\trole=\"status\"\n\t\t\taria-live=\"polite\"\n\t\t\taria-atomic=\"true\"\n\t\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\t\tdata-wp-text=\"context.error\"\n\t\t\thidden\n\t\t></p>\n\t\t<?php if ( ! empty( $target_context['showCount'] ) ) : ?>\n\t\t\t<span\n\t\t\t\tclass=\"{{frontendCssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>\n\t\t\t\t0\n\t\t\t</span>\n\t\t<?php endif; ?>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tdisabled\n\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t>\n\t\t\t<?php echo esc_html( $target_context['buttonLabel'] ); ?>\n\t\t</button>\n\t</div>\n</div>\n\t\t\t\t<?php\n\t\t\t\t$markup = (string) ob_get_clean();\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_markup',\n\t\t\t$markup,\n\t\t\t$target,\n\t\t\t$target_context\n\t\t);\n\t}\n}\n`;\n\nconst COMPOUND_PERSISTENCE_RENDER_TARGETS_TEMPLATE = `<?php\n/**\n * Alternate render target helpers for the {{title}} compound parent block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_build_render_context' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block ) {\n\t\t$validator_path = __DIR__ . '/typia-validator.php';\n\t\tif ( ! file_exists( $validator_path ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$validator = require $validator_path;\n\t\tif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n\t\t$validation = $validator->validate( $normalized );\n\t\t$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n\t\t$heading = isset( $normalized['heading'] ) ? (string) $normalized['heading'] : {{titlePhpLiteral}};\n\t\t$intro = isset( $normalized['intro'] ) ? (string) $normalized['intro'] : '';\n\t\t$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n\t\t$show_count = ! empty( $normalized['showCount'] );\n\t\t$show_dividers = ! empty( $normalized['showDividers'] );\n\t\t$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t\t\t? (int) $block->context['postId']\n\t\t\t: (int) get_queried_object_id();\n\t\t$storage_mode = '{{dataStorageMode}}';\n\t\t$persistence_policy = '{{persistencePolicy}}';\n\n\t\t$notice_message = 'authenticated' === $persistence_policy\n\t\t\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t\t\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\n\t\tif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t{{phpPrefix}}_record_rendered_block_instance(\n\t\t\t(int) $post_id,\n\t\t\t'{{namespace}}/{{slugKebabCase}}',\n\t\t\t$resource_key\n\t\t);\n\n\t\t$web_context = array(\n\t\t\t'bootstrapReady' => false,\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'canWrite' => false,\n\t\t\t'client' => array(\n\t\t\t\t'writeExpiry' => 0,\n\t\t\t\t'writeNonce' => '',\n\t\t\t\t'writeToken' => '',\n\t\t\t),\n\t\t\t'count' => 0,\n\t\t\t'error' => '',\n\t\t\t'isBootstrapping' => false,\n\t\t\t'isLoading' => false,\n\t\t\t'isSaving' => false,\n\t\t\t'persistencePolicy' => $persistence_policy,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'showCount' => $show_count,\n\t\t\t'storage' => $storage_mode,\n\t\t);\n\n\t\t$allowed_inner_html = wp_kses_allowed_html( 'post' );\n\n\t\tforeach ( $allowed_inner_html as &$allowed_attributes ) {\n\t\t\tif ( ! is_array( $allowed_attributes ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$allowed_attributes['data-wp-bind--disabled'] = true;\n\t\t\t$allowed_attributes['data-wp-bind--hidden'] = true;\n\t\t\t$allowed_attributes['data-wp-bind--value'] = true;\n\t\t\t$allowed_attributes['data-wp-class'] = true;\n\t\t\t$allowed_attributes['data-wp-class--active'] = true;\n\t\t\t$allowed_attributes['data-wp-context'] = true;\n\t\t\t$allowed_attributes['data-wp-init'] = true;\n\t\t\t$allowed_attributes['data-wp-interactive'] = true;\n\t\t\t$allowed_attributes['data-wp-on--click'] = true;\n\t\t\t$allowed_attributes['data-wp-on--mouseenter'] = true;\n\t\t\t$allowed_attributes['data-wp-on--mouseleave'] = true;\n\t\t\t$allowed_attributes['data-wp-run--mounted'] = true;\n\t\t\t$allowed_attributes['data-wp-style--width'] = true;\n\t\t\t$allowed_attributes['data-wp-text'] = true;\n\t\t}\n\t\tunset( $allowed_attributes );\n\n\t\treturn array(\n\t\t\t'buttonLabel' => $button_label,\n\t\t\t'frontendClassName' => '{{cssClassName}}',\n\t\t\t'heading' => $heading,\n\t\t\t'intro' => $intro,\n\t\t\t'isVisible' => true,\n\t\t\t'normalized' => $normalized,\n\t\t\t'noticeMessage' => $notice_message,\n\t\t\t'postId' => (int) $post_id,\n\t\t\t'resourceKey' => $resource_key,\n\t\t\t'sanitizedContent' => wp_kses( $content, $allowed_inner_html ),\n\t\t\t'showCount' => $show_count,\n\t\t\t'showDividers' => $show_dividers,\n\t\t\t'title' => {{titleJson}},\n\t\t\t'webContext' => $web_context,\n\t\t);\n\t}\n}\n\nif ( ! function_exists( '{{phpPrefix}}_{{slugSnakeCase}}_render_target' ) ) {\n\tfunction {{phpPrefix}}_{{slugSnakeCase}}_render_target( string $target, $attributes, $content = '', $block = null ): string {\n\t\t$context = {{phpPrefix}}_{{slugSnakeCase}}_build_render_context( $attributes, $content, $block );\n\t\tif ( null === $context ) {\n\t\t\treturn '';\n\t\t}\n\n\t\t$target_context = apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_context',\n\t\t\t$context,\n\t\t\t$target,\n\t\t\t$attributes,\n\t\t\t$block\n\t\t);\n\n\t\t$markup = '';\n\t\tswitch ( $target ) {\n\t\t\tcase 'email':\n\t\t\t\t$parts = array(\n\t\t\t\t\t'<div class=\"' . esc_attr( $target_context['frontendClassName'] ) . '-email\">',\n\t\t\t\t\t'<h3>' . esc_html( $target_context['heading'] ) . '</h3>',\n\t\t\t\t);\n\t\t\t\tif ( '' !== $target_context['intro'] ) {\n\t\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['intro'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$parts[] = '<p><strong>' . esc_html__( 'Count', '{{textDomain}}' ) . ':</strong> ' . esc_html( (string) $target_context['webContext']['count'] ) . '</p>';\n\t\t\t\t}\n\t\t\t\t$parts[] = wp_kses_post( $target_context['sanitizedContent'] );\n\t\t\t\t$parts[] = '<p>' . esc_html( $target_context['noticeMessage'] ) . '</p>';\n\t\t\t\t$parts[] = '</div>';\n\t\t\t\t$markup = implode( '', $parts );\n\t\t\t\tbreak;\n\t\t\tcase 'mjml':\n\t\t\t\t$markup = '<mjml><mj-body><mj-section><mj-column><mj-text font-weight=\"700\">' . esc_html( $target_context['heading'] ) . '</mj-text>';\n\t\t\t\tif ( '' !== $target_context['intro'] ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['intro'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\tif ( ! empty( $target_context['showCount'] ) ) {\n\t\t\t\t\t$markup .= '<mj-text>' . esc_html__( 'Count', '{{textDomain}}' ) . ': ' . esc_html( (string) $target_context['webContext']['count'] ) . '</mj-text>';\n\t\t\t\t}\n\t\t\t\t$markup .= '<mj-text>' . esc_html( wp_strip_all_tags( $target_context['sanitizedContent'] ) ) . '</mj-text>';\n\t\t\t\t$markup .= '<mj-text>' . esc_html( $target_context['noticeMessage'] ) . '</mj-text></mj-column></mj-section></mj-body></mjml>';\n\t\t\t\tbreak;\n\t\t\tcase 'plain-text':\n\t\t\t\t$markup = implode(\n\t\t\t\t\t\"\\\\n\",\n\t\t\t\t\tarray_filter(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t$target_context['heading'],\n\t\t\t\t\t\t\t$target_context['intro'],\n\t\t\t\t\t\t\twp_strip_all_tags( $target_context['sanitizedContent'] ),\n\t\t\t\t\t\t\t! empty( $target_context['showCount'] )\n\t\t\t\t\t\t\t\t? sprintf( '%s: %s', __( 'Count', '{{textDomain}}' ), (string) $target_context['webContext']['count'] )\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t$target_context['noticeMessage'],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstatic fn( $value ) => is_string( $value ) && '' !== $value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'web':\n\t\t\tdefault:\n\t\t\t\t$wrapper_attributes = get_block_wrapper_attributes(\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'class' => '{{cssClassName}}',\n\t\t\t\t\t\t'data-show-dividers' => $target_context['showDividers'] ? 'true' : 'false',\n\t\t\t\t\t\t'data-wp-context' => wp_json_encode( $target_context['webContext'] ),\n\t\t\t\t\t\t'data-wp-init' => 'callbacks.init',\n\t\t\t\t\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t\t\t\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tob_start();\n\t\t\t\t?>\n<div <?php echo $wrapper_attributes; ?>>\n\t<h3 class=\"{{cssClassName}}__heading\"><?php echo esc_html( $target_context['heading'] ); ?></h3>\n\t<?php if ( '' !== $target_context['intro'] ) : ?>\n\t\t<p class=\"{{cssClassName}}__intro\"><?php echo esc_html( $target_context['intro'] ); ?></p>\n\t<?php endif; ?>\n\t<p\n\t\tclass=\"{{cssClassName}}__notice\"\n\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\thidden\n\t>\n\t\t<?php echo esc_html( $target_context['noticeMessage'] ); ?>\n\t</p>\n\t<p\n\t\tclass=\"{{cssClassName}}__error\"\n\t\trole=\"status\"\n\t\taria-live=\"polite\"\n\t\taria-atomic=\"true\"\n\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\tdata-wp-text=\"context.error\"\n\t\thidden\n\t></p>\n\t<?php if ( ! empty( $target_context['showCount'] ) ) : ?>\n\t\t<div class=\"{{cssClassName}}__counter\">\n\t\t\t<span\n\t\t\t\tclass=\"{{cssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>0</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled\n\t\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t\t>\n\t\t\t\t<?php echo esc_html( $target_context['buttonLabel'] ); ?>\n\t\t\t</button>\n\t\t</div>\n\t<?php endif; ?>\n\t<div class=\"{{cssClassName}}__items\">\n\t\t<?php echo wp_kses_post( $target_context['sanitizedContent'] ); ?>\n\t</div>\n</div>\n\t\t\t\t<?php\n\t\t\t\t$markup = (string) ob_get_clean();\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn apply_filters(\n\t\t\t'{{phpPrefix}}_{{slugSnakeCase}}_render_target_markup',\n\t\t\t$markup,\n\t\t\t$target,\n\t\t\t$target_context\n\t\t);\n\t}\n}\n`;\n\nconst COMPOUND_STYLE_TEMPLATE = `.{{cssClassName}} {\n\tborder: 1px solid #dcdcde;\n\tborder-radius: 12px;\n\tpadding: 1.25rem;\n\tbackground: #fff;\n}\n\n.{{cssClassName}}__heading {\n\tmargin: 0 0 0.5rem;\n\tfont-size: 1.2rem;\n}\n\n.{{cssClassName}}__intro {\n\tmargin: 0 0 1rem;\n\tcolor: #50575e;\n}\n\n.{{cssClassName}}__items {\n\tdisplay: grid;\n\tgap: 0.75rem;\n}\n\n.{{cssClassName}}[data-show-dividers='true'] .{{compoundChildCssClassName}} {\n\tborder-top: 1px solid #dcdcde;\n\tpadding-top: 0.75rem;\n}\n\n.{{cssClassName}}[data-show-dividers='true'] .{{compoundChildCssClassName}}:first-child {\n\tborder-top: 0;\n\tpadding-top: 0;\n}\n`;\n\n/**\n * Builds the basic family non-TypeScript scaffold artifacts.\n *\n * @param variables Scaffold template variables used to render the artifact set.\n * @returns The SCSS and PHP artifacts owned by the basic template family.\n */\nexport function buildBasicArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\trenderArtifact(\"src/editor.scss\", BASIC_EDITOR_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\"src/style.scss\", BASIC_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\"src/render.php\", BASIC_RENDER_TEMPLATE, variables),\n\t];\n}\n\n/**\n * Builds the interactivity family non-TypeScript scaffold artifacts.\n *\n * @param variables Scaffold template variables used to render the artifact set.\n * @returns The SCSS artifacts owned by the interactivity template family.\n */\nexport function buildInteractivityArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\trenderArtifact(\n\t\t\t\"src/editor.scss\",\n\t\t\tINTERACTIVITY_EDITOR_STYLE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\trenderArtifact(\"src/style.scss\", INTERACTIVITY_STYLE_TEMPLATE, variables),\n\t];\n}\n\n/**\n * Builds the persistence family non-TypeScript scaffold artifacts.\n *\n * @param variables Scaffold template variables used to render the artifact set.\n * @returns The persistence SCSS and PHP artifacts for the selected render targets.\n */\nexport function buildPersistenceArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tif (variables.hasAlternateRenderTargets !== \"true\") {\n\t\treturn [\n\t\t\trenderArtifact(\"src/style.scss\", PERSISTENCE_STYLE_TEMPLATE, variables),\n\t\t\trenderArtifact(\"src/render.php\", PERSISTENCE_RENDER_TEMPLATE, variables),\n\t\t];\n\t}\n\n\tconst artifacts = [\n\t\trenderArtifact(\"src/style.scss\", PERSISTENCE_STYLE_TEMPLATE, variables),\n\t\trenderArtifact(\n\t\t\t\"src/render-targets.php\",\n\t\t\tPERSISTENCE_RENDER_TARGETS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tbuildAlternateRenderEntryArtifact(\"src/render.php\", \"web\", variables),\n\t];\n\n\tif (variables.hasAlternateEmailRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\"src/render-email.php\", \"email\", variables),\n\t\t);\n\t}\n\tif (variables.hasAlternateMjmlRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\"src/render-mjml.php\", \"mjml\", variables),\n\t\t);\n\t}\n\tif (variables.hasAlternatePlainTextRenderTarget === \"true\") {\n\t\tartifacts.push(\n\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\"src/render-text.php\",\n\t\t\t\t\"plain-text\",\n\t\t\t\tvariables,\n\t\t\t),\n\t\t);\n\t}\n\n\treturn artifacts;\n}\n\n/**\n * Builds the compound family non-TypeScript scaffold artifacts.\n *\n * @param variables Scaffold template variables used to render the artifact set.\n * @returns The compound SCSS and PHP artifacts, including persistence variants when enabled.\n */\nexport function buildCompoundArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tconst artifacts = [\n\t\trenderArtifact(\n\t\t\t`src/blocks/${variables.slugKebabCase}/style.scss`,\n\t\t\tCOMPOUND_STYLE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t];\n\n\tif (variables.compoundPersistenceEnabled === \"true\") {\n\t\tconst renderView = {\n\t\t\t...variables,\n\t\t\ttitlePhpLiteral: toPhpSingleQuotedString(variables.title),\n\t\t};\n\t\tif (variables.hasAlternateRenderTargets === \"true\") {\n\t\t\tartifacts.push(\n\t\t\t\trenderArtifact(\n\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-targets.php`,\n\t\t\t\t\tCOMPOUND_PERSISTENCE_RENDER_TARGETS_TEMPLATE,\n\t\t\t\t\trenderView,\n\t\t\t\t),\n\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render.php`,\n\t\t\t\t\t\"web\",\n\t\t\t\t\tvariables,\n\t\t\t\t),\n\t\t\t);\n\t\t\tif (variables.hasAlternateEmailRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-email.php`,\n\t\t\t\t\t\t\"email\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (variables.hasAlternateMjmlRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-mjml.php`,\n\t\t\t\t\t\t\"mjml\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (variables.hasAlternatePlainTextRenderTarget === \"true\") {\n\t\t\t\tartifacts.push(\n\t\t\t\t\tbuildAlternateRenderEntryArtifact(\n\t\t\t\t\t\t`src/blocks/${variables.slugKebabCase}/render-text.php`,\n\t\t\t\t\t\t\"plain-text\",\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn artifacts;\n\t\t}\n\t\tconst renderSource = `<?php\n/**\n * Dynamic render entry for the {{title}} compound parent block.\n *\n * @package {{pascalCase}}\n */\n\nif ( ! defined( 'ABSPATH' ) ) {\n\texit;\n}\n\n$validator_path = __DIR__ . '/typia-validator.php';\nif ( ! file_exists( $validator_path ) ) {\n\treturn '';\n}\n\n$validator = require $validator_path;\nif ( ! is_object( $validator ) || ! method_exists( $validator, 'apply_defaults' ) || ! method_exists( $validator, 'validate' ) ) {\n\treturn '';\n}\n\n$normalized = $validator->apply_defaults( is_array( $attributes ) ? $attributes : array() );\n$validation = $validator->validate( $normalized );\n$resource_key = isset( $normalized['resourceKey'] ) ? (string) $normalized['resourceKey'] : '';\n$heading = isset( $normalized['heading'] ) ? (string) $normalized['heading'] : {{titlePhpLiteral}};\n$intro = isset( $normalized['intro'] ) ? (string) $normalized['intro'] : '';\n$button_label = isset( $normalized['buttonLabel'] ) ? (string) $normalized['buttonLabel'] : 'Persist Count';\n$show_count = ! empty( $normalized['showCount'] );\n$show_dividers = ! empty( $normalized['showDividers'] );\n$post_id = is_object( $block ) && isset( $block->context['postId'] )\n\t? (int) $block->context['postId']\n\t: (int) get_queried_object_id();\n$storage_mode = '{{dataStorageMode}}';\n$persistence_policy = '{{persistencePolicy}}';\n\n$notice_message = 'authenticated' === $persistence_policy\n\t? __( 'Sign in to persist this counter.', '{{textDomain}}' )\n\t: __( 'Public writes are temporarily unavailable.', '{{textDomain}}' );\n\nif ( empty( $validation['valid'] ) || '' === $resource_key ) {\n\treturn '';\n}\n\n{{phpPrefix}}_record_rendered_block_instance(\n\t(int) $post_id,\n\t'{{namespace}}/{{slugKebabCase}}',\n\t$resource_key\n);\n\n$context = array(\n\t'bootstrapReady' => false,\n\t'buttonLabel' => $button_label,\n\t'canWrite' => false,\n\t'client' => array(\n\t\t'writeExpiry' => 0,\n\t\t'writeNonce' => '',\n\t\t'writeToken' => '',\n\t),\n\t'count' => 0,\n\t'error' => '',\n\t'isBootstrapping' => false,\n\t'isLoading' => false,\n\t'isSaving' => false,\n\t'persistencePolicy' => $persistence_policy,\n\t'postId' => (int) $post_id,\n\t'resourceKey' => $resource_key,\n\t'showCount' => $show_count,\n\t'storage' => $storage_mode,\n);\n\n$allowed_inner_html = wp_kses_allowed_html( 'post' );\n\nforeach ( $allowed_inner_html as &$allowed_attributes ) {\n\tif ( ! is_array( $allowed_attributes ) ) {\n\t\tcontinue;\n\t}\n\n\t$allowed_attributes['data-wp-bind--disabled'] = true;\n\t$allowed_attributes['data-wp-bind--hidden'] = true;\n\t$allowed_attributes['data-wp-bind--value'] = true;\n\t$allowed_attributes['data-wp-class'] = true;\n\t$allowed_attributes['data-wp-class--active'] = true;\n\t$allowed_attributes['data-wp-context'] = true;\n\t$allowed_attributes['data-wp-init'] = true;\n\t$allowed_attributes['data-wp-interactive'] = true;\n\t$allowed_attributes['data-wp-on--click'] = true;\n\t$allowed_attributes['data-wp-on--mouseenter'] = true;\n\t$allowed_attributes['data-wp-on--mouseleave'] = true;\n\t$allowed_attributes['data-wp-run--mounted'] = true;\n\t$allowed_attributes['data-wp-style--width'] = true;\n\t$allowed_attributes['data-wp-text'] = true;\n}\nunset( $allowed_attributes );\n\n$sanitized_content = wp_kses( $content, $allowed_inner_html );\n\n$wrapper_attributes = get_block_wrapper_attributes(\n\tarray(\n\t\t'class' => '{{cssClassName}}',\n\t\t'data-show-dividers' => $show_dividers ? 'true' : 'false',\n\t\t'data-wp-context' => wp_json_encode( $context ),\n\t\t'data-wp-init' => 'callbacks.init',\n\t\t'data-wp-interactive' => '{{slugKebabCase}}',\n\t\t'data-wp-run--mounted' => 'callbacks.mounted',\n\t)\n);\n?>\n\n<div <?php echo $wrapper_attributes; ?>>\n\t<h3 class=\"{{cssClassName}}__heading\"><?php echo esc_html( $heading ); ?></h3>\n\t<?php if ( '' !== $intro ) : ?>\n\t\t<p class=\"{{cssClassName}}__intro\"><?php echo esc_html( $intro ); ?></p>\n\t<?php endif; ?>\n\t<p\n\t\tclass=\"{{cssClassName}}__notice\"\n\t\tdata-wp-bind--hidden=\"!context.bootstrapReady || context.canWrite\"\n\t\thidden\n\t>\n\t\t<?php echo esc_html( $notice_message ); ?>\n\t</p>\n\t<p\n\t\tclass=\"{{cssClassName}}__error\"\n\t\trole=\"status\"\n\t\taria-live=\"polite\"\n\t\taria-atomic=\"true\"\n\t\tdata-wp-bind--hidden=\"!context.error\"\n\t\tdata-wp-text=\"context.error\"\n\t\thidden\n\t></p>\n\t<?php if ( $show_count ) : ?>\n\t\t<div class=\"{{cssClassName}}__counter\">\n\t\t\t<span\n\t\t\t\tclass=\"{{cssClassName}}__count\"\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tdata-wp-text=\"context.count\"\n\t\t\t>0</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled\n\t\t\t\tdata-wp-bind--disabled=\"!context.canWrite\"\n\t\t\t\tdata-wp-on--click=\"actions.increment\"\n\t\t\t>\n\t\t\t\t<?php echo esc_html( $button_label ); ?>\n\t\t\t</button>\n\t\t</div>\n\t<?php endif; ?>\n\t<div class=\"{{cssClassName}}__items\">\n\t\t<?php echo $sanitized_content; ?>\n\t</div>\n</div>\n`;\n\t\tartifacts.push(\n\t\t\trenderArtifact(\n\t\t\t\t`src/blocks/${variables.slugKebabCase}/render.php`,\n\t\t\t\trenderSource,\n\t\t\t\trenderView,\n\t\t\t),\n\t\t);\n\t}\n\n\treturn artifacts;\n}\n",
92
+ "import type { BuiltInCodeArtifact } from \"./built-in-block-code-artifacts.js\";\nimport {\n\tbuildBasicArtifacts,\n\tbuildCompoundArtifacts,\n\tbuildInteractivityArtifacts,\n\tbuildPersistenceArtifacts,\n} from \"./built-in-block-non-ts-family-artifacts.js\";\nimport type { ScaffoldTemplateVariables } from \"./scaffold.js\";\nimport type { BuiltInTemplateId } from \"./template-registry.js\";\n\n/**\n * Builds non-TypeScript scaffold artifacts for built-in block templates.\n *\n * @param options Build options for the selected built-in template family.\n * @param options.templateId Built-in template identifier that controls which\n * non-TS files should be emitted.\n * @param options.variables Scaffold template variables used to render the\n * generated sources.\n * @returns An array of emitter-owned SCSS and PHP artifacts for the selected\n * built-in template family.\n */\nexport function buildBuiltInNonTsArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInCodeArtifact[] {\n\tswitch (templateId) {\n\t\tcase \"basic\":\n\t\t\treturn buildBasicArtifacts(variables);\n\t\tcase \"interactivity\":\n\t\t\treturn buildInteractivityArtifacts(variables);\n\t\tcase \"persistence\":\n\t\t\treturn buildPersistenceArtifacts(variables);\n\t\tcase \"compound\":\n\t\t\treturn buildCompoundArtifacts(variables);\n\t\tcase \"query-loop\":\n\t\t\treturn [];\n\t\tdefault: {\n\t\t\tconst unhandledTemplateId: never = templateId;\n\t\t\tthrow new Error(`Unhandled built-in template id: ${unhandledTemplateId}`);\n\t\t}\n\t}\n}\n",
90
93
  "/**\n * Template for the shared validation hooks module used by built-in scaffolds.\n */\nexport const SHARED_HOOKS_TEMPLATE = `import { useMemo } from '@wordpress/element';\n\nimport {\n\tcreateUseTypiaValidationHook,\n\tformatValidationError,\n\tformatValidationErrors,\n} from '@wp-typia/block-runtime/validation';\n\nexport {\n\tformatValidationError,\n\tformatValidationErrors,\n\ttype TypiaValidationError,\n\ttype ValidationResult,\n\ttype ValidationState,\n} from '@wp-typia/block-runtime/validation';\n\nexport const useTypiaValidation = createUseTypiaValidationHook( {\n\tuseMemo,\n} );\n`;\n\n/**\n * Template for the generated block metadata wrapper around `block.json`.\n */\nexport const BLOCK_METADATA_WRAPPER_TEMPLATE = `import rawMetadata from './block.json';\nimport { defineScaffoldBlockMetadata } from '@wp-typia/block-runtime/blocks';\n\nconst metadata = defineScaffoldBlockMetadata(rawMetadata);\n\nexport default metadata;\n`;\n\n/**\n * Template for the generated manifest document wrapper around `typia.manifest.json`.\n */\nexport const MANIFEST_DOCUMENT_WRAPPER_TEMPLATE = `import rawCurrentManifest from './typia.manifest.json';\nimport { defineManifestDocument } from '@wp-typia/block-runtime/editor';\n\nconst currentManifest = defineManifestDocument(rawCurrentManifest);\n\nexport default currentManifest;\n`;\n\n/**\n * Template for the generated manifest-defaults wrapper used by validators.\n */\nexport const MANIFEST_DEFAULTS_DOCUMENT_WRAPPER_TEMPLATE = `import rawCurrentManifest from './typia.manifest.json';\nimport { defineManifestDefaultsDocument } from '@wp-typia/block-runtime/defaults';\n\nconst currentManifest = defineManifestDefaultsDocument(rawCurrentManifest);\n\nexport default currentManifest;\n`;\n",
91
94
  "export const BASIC_EDIT_TEMPLATE = `/**\n * Editor component for {{title}} Block\n */\n\nimport type { BlockEditProps } from '@wp-typia/block-types/blocks/registration';\nimport {\n InspectorControls,\n RichText,\n useBlockProps,\n} from '@wordpress/block-editor';\nimport { Notice, PanelBody, TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport currentManifest from './manifest-document';\nimport {\n InspectorFromManifest,\n useEditorFields,\n useTypedAttributeUpdater,\n} from '@wp-typia/block-runtime/inspector';\nimport { {{pascalCase}}Attributes } from './types';\nimport {\n sanitize{{pascalCase}}Attributes,\n validate{{pascalCase}}Attributes,\n} from './validators';\nimport { useTypiaValidation } from './hooks';\n\ntype EditProps = BlockEditProps<{{pascalCase}}Attributes>;\n\nconst validationErrorItemStyle = { color: '#cc1818', fontSize: '12px' };\nconst validationListStyle = { margin: 0, paddingLeft: '1em' };\n\nfunction Edit({ attributes, setAttributes }: EditProps) {\n const isVisible = attributes.isVisible !== false;\n const blockProps = useBlockProps({\n className: \\`{{cssClassName}}\\${isVisible ? '' : ' is-hidden'}\\`,\n });\n const editorFields = useEditorFields(currentManifest, {\n hidden: ['id', 'schemaVersion'],\n manual: ['content'],\n labels: {\n alignment: __('Alignment', '{{textDomain}}'),\n className: __('CSS Class', '{{textDomain}}'),\n content: __('Content', '{{textDomain}}'),\n isVisible: __('Visible', '{{textDomain}}'),\n },\n });\n const classNameField = editorFields.getField('className');\n const { errorMessages, isValid } = useTypiaValidation(\n attributes,\n validate{{pascalCase}}Attributes\n );\n const validateEditorUpdate = (nextAttributes: {{pascalCase}}Attributes) => {\n try {\n return {\n data: sanitize{{pascalCase}}Attributes(nextAttributes),\n errors: [],\n isValid: true as const,\n };\n } catch {\n return validate{{pascalCase}}Attributes(nextAttributes);\n }\n };\n const { updateField } = useTypedAttributeUpdater(\n attributes,\n setAttributes,\n validateEditorUpdate\n );\n\n return (\n <>\n <InspectorControls>\n <InspectorFromManifest\n attributes={attributes}\n fieldLookup={editorFields}\n onChange={updateField}\n paths={['alignment', 'isVisible']}\n title={__('Settings', '{{textDomain}}')}\n >\n <TextControl\n label={__('Content', '{{textDomain}}')}\n value={attributes.content || ''}\n onChange={(value) => updateField('content', value)}\n help={__('Mirrors the main block content.', '{{textDomain}}')}\n />\n\n <TextControl\n label={classNameField?.label || __('CSS Class', '{{textDomain}}')}\n value={attributes.className || ''}\n onChange={(value) => updateField('className', value)}\n help={__('Add an optional CSS class name.', '{{textDomain}}')}\n />\n </InspectorFromManifest>\n\n {!isValid && (\n <PanelBody title={__('Validation Errors', '{{textDomain}}')} initialOpen>\n {errorMessages.map((error, index) => (\n <div key={index} style={validationErrorItemStyle}>\n • {error}\n </div>\n ))}\n </PanelBody>\n )}\n </InspectorControls>\n\n <div {...blockProps}>\n <div className=\"{{cssClassName}}__content\">\n <RichText\n tagName=\"p\"\n value={attributes.content || ''}\n onChange={(value) => updateField('content', value)}\n placeholder={__('Add your content...', '{{textDomain}}')}\n />\n </div>\n {!isValid && (\n <Notice status=\"error\" isDismissible={false}>\n <p>\n <strong>{__('Validation Errors', '{{textDomain}}')}</strong>\n </p>\n <ul style={validationListStyle}>\n {errorMessages.map((error, index) => (\n <li key={index}>{error}</li>\n ))}\n </ul>\n </Notice>\n )}\n </div>\n </>\n );\n}\n\nexport default Edit;\n`;\n\nexport const BASIC_SAVE_TEMPLATE = `/**\n * Save/Frontend component for {{title}} Block\n */\n\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { {{pascalCase}}Attributes } from './types';\n\ninterface SaveProps {\n attributes: {{pascalCase}}Attributes;\n}\n\nexport default function Save({ attributes }: SaveProps) {\n const isVisible = attributes.isVisible !== false;\n const blockProps = useBlockProps.save({\n className: \\`{{cssClassName}}\\${isVisible ? '' : ' is-hidden'}\\`,\n hidden: isVisible ? undefined : true,\n 'aria-hidden': isVisible ? undefined : 'true',\n });\n\n return (\n <div {...blockProps}>\n <div\n className=\"{{cssClassName}}__content\"\n data-align={attributes.alignment || 'left'}\n >\n <RichText.Content tagName=\"p\" value={attributes.content} />\n </div>\n </div>\n );\n}\n`;\n\nexport const BASIC_INDEX_TEMPLATE = `/**\n * WordPress {{title}} Block\n *\n * Typia-powered type-safe block\n */\n\nimport {\n registerScaffoldBlockType,\n type BlockConfiguration,\n} from '@wp-typia/block-types/blocks/registration';\nimport type { BlockSupports } from '@wp-typia/block-types/blocks/supports';\nimport { __ } from '@wordpress/i18n';\nimport {\n buildScaffoldBlockRegistration,\n parseScaffoldBlockMetadata,\n} from '@wp-typia/block-runtime/blocks';\n\n// Import components\nimport Edit from './edit';\nimport Save from './save';\nimport metadata from './block-metadata';\nimport './editor.scss';\nimport './style.scss';\n\n// Import types\nimport { {{pascalCase}}Attributes } from './types';\nimport { validators } from './validators';\n\nconst scaffoldSupports = {\n html: false,\n multiple: true,\n align: ['wide', 'full'],\n} satisfies BlockSupports;\n\n// Register the block\nconst registration = buildScaffoldBlockRegistration(\n parseScaffoldBlockMetadata<BlockConfiguration<{{pascalCase}}Attributes>>(metadata),\n {\n supports: scaffoldSupports,\n example: {\n attributes: validators.random(),\n },\n edit: Edit,\n save: Save,\n }\n);\n\nregisterScaffoldBlockType(registration.name, registration.settings);\n`;\n\nexport const BASIC_VALIDATORS_TEMPLATE = `import typia from 'typia';\nimport currentManifest from \"./manifest-defaults-document\";\nimport { {{pascalCase}}Attributes, {{pascalCase}}ValidationResult } from \"./types\";\nimport { generateBlockId } from \"@wp-typia/block-runtime/identifiers\";\nimport { createTemplateValidatorToolkit } from \"./validator-toolkit\";\n\nconst scaffoldValidators = createTemplateValidatorToolkit<{{pascalCase}}Attributes>({\n assert: typia.createAssert<{{pascalCase}}Attributes>(),\n clone: typia.misc.createClone<{{pascalCase}}Attributes>() as (\n value: {{pascalCase}}Attributes,\n ) => {{pascalCase}}Attributes,\n is: typia.createIs<{{pascalCase}}Attributes>(),\n manifest: currentManifest,\n prune: typia.misc.createPrune<{{pascalCase}}Attributes>(),\n random: typia.createRandom<{{pascalCase}}Attributes>() as (\n ...args: unknown[]\n ) => {{pascalCase}}Attributes,\n finalize: (normalized) => ({\n ...normalized,\n id: normalized.id && normalized.id.length > 0 ? normalized.id : generateBlockId(),\n }),\n validate: typia.createValidate<{{pascalCase}}Attributes>(),\n});\n\nexport const validate{{pascalCase}}Attributes =\n scaffoldValidators.validateAttributes as (\n attributes: unknown,\n ) => {{pascalCase}}ValidationResult;\n\nexport const validators = scaffoldValidators.validators;\n\nexport const sanitize{{pascalCase}}Attributes =\n scaffoldValidators.sanitizeAttributes as (\n attributes: Partial<{{pascalCase}}Attributes>,\n ) => {{pascalCase}}Attributes;\n\nexport const createAttributeUpdater = scaffoldValidators.createAttributeUpdater;\n`;\n",
92
95
  "export const INTERACTIVITY_EDIT_TEMPLATE = `import type { BlockEditProps } from '@wp-typia/block-types/blocks/registration';\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, InspectorControls, RichText, BlockControls, AlignmentToolbar } from '@wordpress/block-editor';\nimport { PanelBody, RangeControl, Button, Notice } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport currentManifest from './manifest-document';\nimport {\n InspectorFromManifest,\n useEditorFields,\n useTypedAttributeUpdater,\n} from '@wp-typia/block-runtime/inspector';\nimport type { {{pascalCase}}Attributes } from './types';\nimport {\n sanitize{{pascalCase}}Attributes,\n validate{{pascalCase}}Attributes,\n} from './validators';\nimport { useTypiaValidation } from './hooks';\n\ntype EditProps = BlockEditProps<{{pascalCase}}Attributes>;\n\nconst actionButtonRowStyle = { display: 'flex', gap: '8px', marginTop: '16px' };\nconst validationListStyle = { margin: 0, paddingLeft: '1em' };\n\nexport default function Edit({ attributes, setAttributes, isSelected }: EditProps) {\n const [isPreviewing, setIsPreviewing] = useState(false);\n const editorFields = useEditorFields(currentManifest, {\n manual: ['content', 'clickCount', 'maxClicks'],\n labels: {\n alignment: __('Alignment', '{{textDomain}}'),\n animation: __('Animation', '{{textDomain}}'),\n interactiveMode: __('Interactive Mode', '{{textDomain}}'),\n isVisible: __('Visible', '{{textDomain}}'),\n showCounter: __('Show Counter', '{{textDomain}}'),\n },\n });\n const { errorMessages, isValid } = useTypiaValidation(\n attributes,\n validate{{pascalCase}}Attributes,\n );\n const validateEditorUpdate = (nextAttributes: {{pascalCase}}Attributes) => {\n try {\n return {\n data: sanitize{{pascalCase}}Attributes(nextAttributes),\n errors: [],\n isValid: true as const,\n };\n } catch {\n return validate{{pascalCase}}Attributes(nextAttributes);\n }\n };\n const { updateField } = useTypedAttributeUpdater(\n attributes,\n setAttributes,\n validateEditorUpdate\n );\n const alignmentValue = editorFields.getStringValue(\n attributes,\n 'alignment',\n 'left'\n ) as NonNullable<{{pascalCase}}Attributes['alignment']>;\n const clickCount = attributes.clickCount ?? 0;\n const isVisible = editorFields.getBooleanValue(\n attributes,\n 'isVisible',\n true\n );\n const isAnimating = attributes.isAnimating ?? false;\n const maxClicks = attributes.maxClicks ?? 0;\n const showCounter = editorFields.getBooleanValue(\n attributes,\n 'showCounter',\n true\n );\n const interactiveMode = editorFields.getStringValue(\n attributes,\n 'interactiveMode',\n 'click'\n ) as NonNullable<{{pascalCase}}Attributes['interactiveMode']>;\n const animation = editorFields.getStringValue(\n attributes,\n 'animation',\n 'none'\n ) as NonNullable<{{pascalCase}}Attributes['animation']>;\n\n const blockProps = useBlockProps({\n className: \\`{{cssClassName}} {{cssClassName}}--\\${interactiveMode}\\`,\n 'data-wp-interactive': '{{slugKebabCase}}',\n 'data-wp-context': JSON.stringify({\n clicks: clickCount,\n isAnimating,\n isVisible,\n animation,\n maxClicks,\n })\n });\n const previewContentStyle = { textAlign: alignmentValue };\n const progressBarStyle = { width: \\`\\${(clickCount / maxClicks) * 100}%\\` };\n\n const resetCounter = () => {\n updateField('clickCount', 0);\n updateField('isAnimating', false);\n };\n\n const testAnimation = () => {\n updateField('isAnimating', true);\n setTimeout(() => {\n updateField('isAnimating', false);\n }, 1000);\n };\n\n return (\n <>\n <BlockControls>\n <AlignmentToolbar\n value={alignmentValue}\n onChange={(value) => updateField('alignment', (value || alignmentValue) as NonNullable<{{pascalCase}}Attributes['alignment']>)}\n />\n </BlockControls>\n\n <InspectorControls>\n <InspectorFromManifest\n attributes={attributes}\n fieldLookup={editorFields}\n onChange={updateField}\n paths={['alignment', 'interactiveMode', 'animation', 'showCounter', 'isVisible']}\n title={__('Interactive Settings', '{{textDomain}}')}\n />\n\n <PanelBody title={__('Counter Settings', '{{textDomain}}')}>\n <RangeControl\n label={__('Max Clicks', '{{textDomain}}')}\n value={maxClicks}\n onChange={(value) => updateField('maxClicks', value ?? maxClicks)}\n min={0}\n max={100}\n help={__('Set to 0 for unlimited clicks', '{{textDomain}}')}\n />\n\n <div style={actionButtonRowStyle}>\n <Button\n variant=\"secondary\"\n onClick={resetCounter}\n isSmall\n >\n {__('Reset Counter', '{{textDomain}}')}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={testAnimation}\n isSmall\n >\n {__('Test Animation', '{{textDomain}}')}\n </Button>\n </div>\n </PanelBody>\n\n {!isValid && (\n <PanelBody title={__('Validation Errors', '{{textDomain}}')} initialOpen>\n {errorMessages.map((error, index) => (\n <Notice key={index} status=\"error\" isDismissible={false}>\n {error}\n </Notice>\n ))}\n </PanelBody>\n )}\n\n {isSelected && (\n <PanelBody title={__('Preview', '{{textDomain}}')}>\n <Button\n variant={isPreviewing ? 'primary' : 'secondary'}\n onClick={() => setIsPreviewing(!isPreviewing)}\n aria-pressed={isPreviewing}\n isSmall\n >\n {isPreviewing\n ? __('Disable Preview Mode', '{{textDomain}}')\n : __('Enable Preview Mode', '{{textDomain}}')}\n </Button>\n\n {clickCount > 0 && (\n <Notice status=\"info\" isDismissible={false}>\n {__('Current clicks:', '{{textDomain}}')} {clickCount}\n {maxClicks > 0 && \\` / \\${maxClicks}\\`}\n </Notice>\n )}\n </PanelBody>\n )}\n </InspectorControls>\n\n <div {...blockProps}>\n <div\n className={\\`{{cssClassName}}__content \\${isAnimating ? 'is-animating' : ''}\\`}\n style={previewContentStyle}\n data-wp-on--click={isPreviewing ? 'actions.handleClick' : undefined}\n data-wp-on--mouseenter={isPreviewing && interactiveMode === 'hover' ? 'actions.handleMouseEnter' : undefined}\n data-wp-on--mouseleave={isPreviewing && interactiveMode === 'hover' ? 'actions.handleMouseLeave' : undefined}\n >\n <RichText\n tagName=\"p\"\n value={attributes.content}\n onChange={(value) => updateField('content', value)}\n placeholder={__( {{titleJson}} + ' – click me to interact!', '{{textDomain}}')}\n />\n\n {!isValid && (\n <Notice status=\"error\" isDismissible={false}>\n <p>\n <strong>{__('Validation Errors', '{{textDomain}}')}</strong>\n </p>\n <ul style={validationListStyle}>\n {errorMessages.map((error, index) => (\n <li key={index}>{error}</li>\n ))}\n </ul>\n </Notice>\n )}\n\n {showCounter && (\n <div className=\"{{cssClassName}}__counter\">\n <span className=\"{{cssClassName}}__counter-label\">\n {__('Clicks:', '{{textDomain}}')}\n </span>\n <span\n className=\"{{cssClassName}}__counter-value\"\n data-wp-text=\"state.clicks\"\n >\n {clickCount}\n </span>\n </div>\n )}\n\n {maxClicks > 0 && (\n <div className=\"{{cssClassName}}__progress\">\n <div\n className=\"{{cssClassName}}__progress-bar\"\n style={progressBarStyle}\n data-wp-style--width=\"state.progress + '%'\"\n />\n </div>\n )}\n\n {animation !== 'none' && (\n <div\n className={\\`{{cssClassName}}__animation \\${isAnimating ? 'is-active' : ''}\\`}\n data-wp-class--is-active=\"state.isAnimating\"\n >\n {animation}\n </div>\n )}\n </div>\n </div>\n </>\n );\n}\n`;\n\nexport const INTERACTIVITY_SAVE_TEMPLATE = `import { useBlockProps, RichText } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport type { {{pascalCase}}Attributes } from './types';\n\nexport default function Save({ attributes }: { attributes: {{pascalCase}}Attributes }) {\n const clickCount = attributes.clickCount ?? 0;\n const interactiveMode = attributes.interactiveMode ?? 'click';\n const animation = attributes.animation ?? 'none';\n const isAnimating = attributes.isAnimating ?? false;\n const isVisible = attributes.isVisible ?? true;\n const maxClicks = attributes.maxClicks ?? 0;\n const showCounter = attributes.showCounter ?? true;\n const contentStyle = { textAlign: attributes.alignment };\n const blockProps = useBlockProps.save({\n className: \\`{{cssClassName}} {{cssClassName}}--\\${interactiveMode}\\`,\n 'data-wp-interactive': '{{slugKebabCase}}',\n 'data-wp-context': JSON.stringify({\n clicks: clickCount,\n isAnimating,\n isVisible,\n animation,\n maxClicks,\n })\n });\n\n return (\n <div {...blockProps}>\n <div\n className={\\`{{cssClassName}}__content \\${isAnimating ? 'is-animating' : ''}\\`}\n style={contentStyle}\n data-wp-on--click=\"actions.handleClick\"\n data-wp-on--mouseenter={interactiveMode === 'hover' ? 'actions.handleMouseEnter' : undefined}\n data-wp-on--mouseleave={interactiveMode === 'hover' ? 'actions.handleMouseLeave' : undefined}\n data-wp-bind--hidden=\"!state.isVisible\"\n >\n <RichText.Content\n tagName=\"p\"\n value={attributes.content}\n className=\"{{cssClassName}}__text\"\n />\n\n {showCounter && (\n <div\n className=\"{{cssClassName}}__counter\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <span className=\"{{cssClassName}}__counter-label\">\n { __( 'Clicks:', '{{textDomain}}' ) }\n </span>\n <span\n className=\"{{cssClassName}}__counter-value\"\n data-wp-text=\"state.clicks\"\n >\n {clickCount}\n </span>\n </div>\n )}\n\n {maxClicks > 0 && (\n <div className=\"{{cssClassName}}__progress\">\n <div\n className=\"{{cssClassName}}__progress-bar\"\n role=\"progressbar\"\n aria-label={ __( 'Click progress', '{{textDomain}}' ) }\n aria-valuemin={0}\n aria-valuemax={maxClicks}\n aria-valuenow={Math.min(clickCount, maxClicks)}\n data-wp-bind--aria-valuenow=\"state.clampedClicks\"\n data-wp-style--width=\"state.progress + '%'\"\n />\n </div>\n )}\n\n <div\n className={\\`{{cssClassName}}__animation \\${animation}\\`}\n aria-hidden=\"true\"\n data-wp-class--is-active=\"state.isAnimating\"\n />\n\n {maxClicks > 0 && (\n <div\n className=\"{{cssClassName}}__completion\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n data-wp-bind--hidden=\"!state.isComplete\"\n >\n { __( '🎉 Complete!', '{{textDomain}}' ) }\n </div>\n )}\n\n <button\n className=\"{{cssClassName}}__reset\"\n data-wp-on--click=\"actions.reset\"\n aria-label={ __( 'Reset counter', '{{textDomain}}' ) }\n >\n <span aria-hidden=\"true\">↻</span>\n <span className=\"screen-reader-text\">\n { __( 'Reset counter', '{{textDomain}}' ) }\n </span>\n </button>\n </div>\n </div>\n );\n}\n`;\n\nexport const INTERACTIVITY_INDEX_TEMPLATE = `import {\n registerScaffoldBlockType,\n type BlockConfiguration,\n} from '@wp-typia/block-types/blocks/registration';\nimport type { BlockSupports } from '@wp-typia/block-types/blocks/supports';\nimport {\n buildScaffoldBlockRegistration,\n parseScaffoldBlockMetadata,\n} from '@wp-typia/block-runtime/blocks';\n\nimport Edit from './edit';\nimport Save from './save';\nimport metadata from './block-metadata';\nimport './editor.scss';\nimport './style.scss';\n\nimport type { {{pascalCase}}Attributes } from './types';\n\nconst scaffoldSupports = {\n html: false,\n align: true,\n anchor: true,\n className: true,\n interactivity: true,\n} satisfies BlockSupports;\n\nconst registration = buildScaffoldBlockRegistration(\n parseScaffoldBlockMetadata<BlockConfiguration<{{pascalCase}}Attributes>>(metadata),\n {\n supports: scaffoldSupports,\n edit: Edit,\n save: Save,\n }\n);\n\nregisterScaffoldBlockType(registration.name, registration.settings);\n`;\n\nexport const INTERACTIVITY_SCRIPT_TEMPLATE = `/**\n * WordPress Interactivity API implementation for {{title}} block\n */\nimport { store, getContext, getElement, withSyncEvent } from '@wordpress/interactivity';\nimport type { {{pascalCase}}Context } from './types';\n\nfunction getBlockContext() {\n return getContext<{{pascalCase}}Context>();\n}\n\n// Store configuration\nstore('{{slugKebabCase}}', {\n // State - reactive data that updates the UI\n state: {\n get clicks() {\n return getBlockContext().clicks;\n },\n get isAnimating() {\n return getBlockContext().isAnimating;\n },\n get isVisible() {\n return getBlockContext().isVisible;\n },\n get progress() {\n const context = getBlockContext();\n const clampedClicks =\n context.maxClicks > 0\n ? Math.min(context.clicks, context.maxClicks)\n : context.clicks;\n return context.maxClicks > 0 ? (clampedClicks / context.maxClicks) * 100 : 0;\n },\n get clampedClicks() {\n const context = getBlockContext();\n return context.maxClicks > 0\n ? Math.min(context.clicks, context.maxClicks)\n : context.clicks;\n },\n get isComplete() {\n const context = getBlockContext();\n return context.clicks >= context.maxClicks && context.maxClicks > 0;\n }\n },\n\n // Actions - user interactions\n actions: {\n // Handle block click\n handleClick: () => {\n const context = getBlockContext();\n const { ref } = getElement();\n\n if (!ref) {\n return;\n }\n\n if (context.maxClicks > 0 && context.clicks >= context.maxClicks) {\n return;\n }\n\n const previousClicks = context.clicks;\n\n // Increment click counter\n context.clicks += 1;\n\n // Trigger animation\n if (context.animation !== 'none') {\n context.isAnimating = true;\n setTimeout(() => {\n context.isAnimating = false;\n }, 1000);\n }\n\n // Emit custom event\n ref.dispatchEvent(new CustomEvent('{{slugKebabCase}}:click', {\n detail: { clicks: context.clicks }\n }));\n\n // Check if max clicks reached\n if (context.maxClicks > 0 && previousClicks < context.maxClicks && context.clicks === context.maxClicks) {\n ref.dispatchEvent(new CustomEvent('{{slugKebabCase}}:complete', {\n detail: { totalClicks: context.clicks }\n }));\n }\n },\n\n // Handle hover events\n handleMouseEnter: () => {\n const context = getBlockContext();\n if (context.animation === 'none') return;\n context.isAnimating = true;\n },\n\n handleMouseLeave: () => {\n const context = getBlockContext();\n if (context.animation === 'none') return;\n context.isAnimating = false;\n },\n\n // Reset counter\n reset: withSyncEvent((event: Event) => {\n event.stopPropagation();\n const context = getBlockContext();\n context.clicks = 0;\n context.isAnimating = false;\n })\n }\n});\n`;\n\nexport const INTERACTIVITY_VALIDATORS_TEMPLATE = `import typia from 'typia';\nimport currentManifest from \"./manifest-defaults-document\";\nimport { {{pascalCase}}Attributes, {{pascalCase}}ValidationResult } from \"./types\";\nimport { createTemplateValidatorToolkit } from \"./validator-toolkit\";\n\nconst scaffoldValidators = createTemplateValidatorToolkit<{{pascalCase}}Attributes>({\n assert: typia.createAssert<{{pascalCase}}Attributes>(),\n clone: typia.misc.createClone<{{pascalCase}}Attributes>() as (\n value: {{pascalCase}}Attributes,\n ) => {{pascalCase}}Attributes,\n is: typia.createIs<{{pascalCase}}Attributes>(),\n manifest: currentManifest,\n prune: typia.misc.createPrune<{{pascalCase}}Attributes>(),\n random: typia.createRandom<{{pascalCase}}Attributes>() as (\n ...args: unknown[]\n ) => {{pascalCase}}Attributes,\n validate: typia.createValidate<{{pascalCase}}Attributes>(),\n});\n\nexport const validate{{pascalCase}}Attributes =\n scaffoldValidators.validateAttributes as (\n attributes: unknown,\n ) => {{pascalCase}}ValidationResult;\n\nexport const validators = scaffoldValidators.validators;\n\nexport const sanitize{{pascalCase}}Attributes =\n scaffoldValidators.sanitizeAttributes as (\n attributes: Partial<{{pascalCase}}Attributes>,\n ) => {{pascalCase}}Attributes;\n\n/**\n * Runtime type guard for checking if an object is {{pascalCase}}Attributes.\n */\nexport const is{{pascalCase}}Attributes = (obj: unknown): obj is {{pascalCase}}Attributes => {\n return validators.is(obj);\n};\n\nexport const createAttributeUpdater = scaffoldValidators.createAttributeUpdater;\n`;\n",
@@ -95,12 +98,12 @@
95
98
  "export const COMPOUND_PARENT_EDIT_TEMPLATE = `import type { BlockEditProps } from '@wp-typia/block-types/blocks/registration';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Notice, PanelBody, ToggleControl } from '@wordpress/components';\n\nimport {\n\tgetRootInnerBlocksPropsOptions,\n} from './children';\nimport { useTypiaValidation } from './hooks';\nimport type { {{pascalCase}}Attributes } from './types';\nimport {\n\tcreateAttributeUpdater,\n\tvalidate{{pascalCase}}Attributes,\n} from './validators';\n\ntype EditProps = BlockEditProps< {{pascalCase}}Attributes >;\ntype CompoundInnerBlocksProps = Parameters< typeof InnerBlocks >[ 0 ] & {\n\tdefaultBlock?: [ string, Record< string, unknown > ];\n\tdirectInsert?: boolean;\n};\n\nconst TypedInnerBlocks = InnerBlocks as unknown as (\n\tprops: CompoundInnerBlocksProps\n) => ReturnType< typeof InnerBlocks >;\n\nexport default function Edit( {\n\tattributes,\n\tsetAttributes,\n}: EditProps ) {\n\tconst { errorMessages, isValid } = useTypiaValidation(\n\t\tattributes,\n\t\tvalidate{{pascalCase}}Attributes\n\t);\n\tconst updateAttribute = createAttributeUpdater( attributes, setAttributes );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: '{{cssClassName}}',\n\t} );\n\tconst rootInnerBlocksPropsOptions = getRootInnerBlocksPropsOptions();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Compound Settings', '{{textDomain}}' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show dividers between items', '{{textDomain}}' ) }\n\t\t\t\t\t\tchecked={ attributes.showDividers ?? true }\n\t\t\t\t\t\tonChange={ ( value ) => updateAttribute( 'showDividers', value ) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ ! isValid && (\n\t\t\t\t\t<PanelBody title={ __( 'Validation Errors', '{{textDomain}}' ) } initialOpen>\n\t\t\t\t\t\t{ errorMessages.map( ( error, index ) => (\n\t\t\t\t\t\t\t<Notice key={ index } status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ error }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"h3\"\n\t\t\t\t\tclassName=\"{{cssClassName}}__heading\"\n\t\t\t\t\tvalue={ attributes.heading }\n\t\t\t\t\tonChange={ ( heading ) => updateAttribute( 'heading', heading ) }\n\t\t\t\t\tplaceholder={ __( {{titleJson}}, '{{textDomain}}' ) }\n\t\t\t\t/>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tclassName=\"{{cssClassName}}__intro\"\n\t\t\t\t\tvalue={ attributes.intro ?? '' }\n\t\t\t\t\tonChange={ ( intro ) => updateAttribute( 'intro', intro ) }\n\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t'Add and reorder internal items inside this compound block.',\n\t\t\t\t\t\t'{{textDomain}}'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t{ ! isValid && (\n\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t{ errorMessages.map( ( error, index ) => <li key={ index }>{ error }</li> ) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t<div className=\"{{cssClassName}}__items\">\n\t\t\t\t\t<TypedInnerBlocks { ...rootInnerBlocksPropsOptions } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n`;\n\nexport const COMPOUND_PARENT_SAVE_TEMPLATE = `import { InnerBlocks, RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport type { {{pascalCase}}Attributes } from './types';\n\nexport default function Save( {\n\tattributes,\n}: {\n\tattributes: {{pascalCase}}Attributes;\n} ) {\n\treturn (\n\t\t<div\n\t\t\t{ ...useBlockProps.save( {\n\t\t\t\tclassName: '{{cssClassName}}',\n\t\t\t\t'data-show-dividers': ( attributes.showDividers ?? true ) ? 'true' : 'false',\n\t\t\t} ) }\n\t\t>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"h3\"\n\t\t\t\tclassName=\"{{cssClassName}}__heading\"\n\t\t\t\tvalue={ attributes.heading }\n\t\t\t/>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"p\"\n\t\t\t\tclassName=\"{{cssClassName}}__intro\"\n\t\t\t\tvalue={ attributes.intro ?? '' }\n\t\t\t/>\n\t\t\t<div className=\"{{cssClassName}}__items\">\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n`;\n\nexport const COMPOUND_PARENT_INDEX_TEMPLATE = `import {\n\\tregisterScaffoldBlockType,\n\\ttype BlockConfiguration,\n} from '@wp-typia/block-types/blocks/registration';\nimport {\n\\tbuildScaffoldBlockRegistration,\n\\tparseScaffoldBlockMetadata,\n} from '@wp-typia/block-runtime/blocks';\n\nimport Edit from './edit';\nimport Save from './save';\nimport metadata from './block-metadata';\nimport './style.scss';\n\nimport type { {{pascalCase}}Attributes } from './types';\n\nconst registration = buildScaffoldBlockRegistration(\n\\tparseScaffoldBlockMetadata<BlockConfiguration< {{pascalCase}}Attributes >>( metadata ),\n\\t{\n\\t\\tedit: Edit,\n\\t\\tsave: Save,\n\\t}\n);\n\nregisterScaffoldBlockType(registration.name, registration.settings);\n`;\n\nexport const COMPOUND_LOCAL_HOOKS_TEMPLATE = `export {\n\tformatValidationError,\n\tformatValidationErrors,\n\tuseTypiaValidation,\n} from '../../hooks';\n\nexport type {\n\tTypiaValidationError,\n\tValidationResult,\n\tValidationState,\n} from '../../hooks';\n`;\n\nexport const COMPOUND_PARENT_VALIDATORS_TEMPLATE = `import typia from 'typia';\nimport currentManifest from './manifest-defaults-document';\nimport type {\n\\t{{pascalCase}}Attributes,\n\\t{{pascalCase}}ValidationResult,\n} from './types';\nimport { createTemplateValidatorToolkit } from '../../validator-toolkit';\n\nconst scaffoldValidators = createTemplateValidatorToolkit< {{pascalCase}}Attributes >( {\n\\tassert: typia.createAssert< {{pascalCase}}Attributes >(),\n\\tclone: typia.misc.createClone< {{pascalCase}}Attributes >() as (\n\\t\\tvalue: {{pascalCase}}Attributes,\n\\t) => {{pascalCase}}Attributes,\n\\tis: typia.createIs< {{pascalCase}}Attributes >(),\n\\tmanifest: currentManifest,\n\\tprune: typia.misc.createPrune< {{pascalCase}}Attributes >(),\n\\trandom: typia.createRandom< {{pascalCase}}Attributes >() as (\n\\t\\t...args: unknown[]\n\\t) => {{pascalCase}}Attributes,\n\\tvalidate: typia.createValidate< {{pascalCase}}Attributes >(),\n} );\n\nexport const validate{{pascalCase}}Attributes =\n\\tscaffoldValidators.validateAttributes as (\n\\t\\tattributes: unknown\n\\t) => {{pascalCase}}ValidationResult;\n\nexport const validators = scaffoldValidators.validators;\n\nexport const sanitize{{pascalCase}}Attributes =\n\\tscaffoldValidators.sanitizeAttributes as (\n\\t\\tattributes: Partial< {{pascalCase}}Attributes >\n\\t) => {{pascalCase}}Attributes;\n\nexport const createAttributeUpdater = scaffoldValidators.createAttributeUpdater;\n`;\n\nexport const COMPOUND_CHILDREN_TEMPLATE = `import type { BlockTemplate } from '@wp-typia/block-types/blocks/registration';\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nexport const DEFAULT_CHILD_BLOCK_NAME = '{{namespace}}/{{slugKebabCase}}-item';\n\nexport interface CompoundChildSpec {\n\\tancestorKeys: string[];\n\\tblockName: string;\n\\tbodyPlaceholder: string;\n\\tcontainer: boolean;\n\\tfolderSlug: string;\n\\tkey: string;\n\\tplacement: 'nested' | 'root';\n\\tsupportsInserter: boolean;\n\\ttemplateInstances: Array< Record< string, unknown > >;\n\\ttitle: string;\n}\n\nexport interface CompoundInnerBlocksConfig {\n\\tdefaultBlock?: [ string, Record< string, unknown > ];\n\\tdirectInsert: boolean;\n\\torientation?: 'horizontal' | 'vertical';\n\\ttemplate?: BlockTemplate;\n\\ttemplateLock: false | 'insert' | 'all';\n}\n\nexport type CompoundInnerBlocksPropsOptions = CompoundInnerBlocksConfig & {\n\\trenderAppender?: typeof InnerBlocks.ButtonBlockAppender;\n};\n\nexport const ROOT_INNER_BLOCKS_PRESET_ID = '{{compoundInnerBlocksPreset}}';\nexport const ROOT_INNER_BLOCKS_PRESET_DESCRIPTION =\n\\t'{{compoundInnerBlocksPresetDescription}}';\n\nconst BASE_INNER_BLOCKS_CONFIG: Omit<\n\\tCompoundInnerBlocksConfig,\n\\t'defaultBlock' | 'template'\n> = {\n\\tdirectInsert: {{compoundInnerBlocksDirectInsert}},\n\\torientation: {{compoundInnerBlocksOrientationExpression}},\n\\ttemplateLock: {{compoundInnerBlocksTemplateLockExpression}},\n};\n\nconst ROOT_BLOCK_NAME = '{{namespace}}/{{slugKebabCase}}';\n\nexport const COMPOUND_CHILD_SPECS: CompoundChildSpec[] = [\n\\t{\n\\t\\tancestorKeys: [],\n\\t\\tblockName: DEFAULT_CHILD_BLOCK_NAME,\n\\t\\tbodyPlaceholder: 'Add supporting details for this internal item.',\n\\t\\tcontainer: false,\n\\t\\tfolderSlug: '{{slugKebabCase}}-item',\n\\t\\tkey: 'item',\n\\t\\tplacement: 'root',\n\\t\\tsupportsInserter: false,\n\\t\\ttemplateInstances: [\n\\t\\t\\t{\n\\t\\t\\t\\tbody: 'Add supporting details for the first internal item.',\n\\t\\t\\t\\ttitle: 'First Item',\n\\t\\t\\t},\n\\t\\t\\t{\n\\t\\t\\t\\tbody: 'Add supporting details for the second internal item.',\n\\t\\t\\t\\ttitle: 'Second Item',\n\\t\\t\\t},\n\\t\\t],\n\\t\\ttitle: '{{compoundChildTitle}}',\n\\t},\n\\t// add-child: insert new child specs here\n];\n\nfunction buildTemplateEntriesForSpec( spec: CompoundChildSpec ): BlockTemplate {\n\\tconst nestedTemplate = buildNestedTemplateForKey( spec.key );\n\n\\treturn spec.templateInstances.map( ( attributes ) =>\n\\t\\tnestedTemplate.length > 0\n\\t\\t\\t? [ spec.blockName, attributes, nestedTemplate ]\n\\t\\t\\t: [ spec.blockName, attributes ]\n\\t);\n}\n\nfunction buildNestedTemplateForKey( key: string ): BlockTemplate {\n\\treturn COMPOUND_CHILD_SPECS.filter(\n\\t\\t( spec ) =>\n\\t\\t\\tspec.placement === 'nested' &&\n\\t\\t\\tspec.ancestorKeys[ spec.ancestorKeys.length - 1 ] === key\n\\t).flatMap( ( spec ) => buildTemplateEntriesForSpec( spec ) );\n}\n\nexport const DEFAULT_CHILD_TEMPLATE: BlockTemplate =\n\\tCOMPOUND_CHILD_SPECS.filter( ( spec ) => spec.placement === 'root' ).flatMap(\n\\t\\t( spec ) => buildTemplateEntriesForSpec( spec )\n\\t);\n\nfunction buildDefaultBlockEntry(\n\\ttemplate?: BlockTemplate\n): [ string, Record< string, unknown > ] | undefined {\n\\tif (\n\\t\\t! BASE_INNER_BLOCKS_CONFIG.directInsert ||\n\\t\\t! Array.isArray( template ) ||\n\\t\\ttemplate.length === 0 ||\n\\t\\ttypeof template[ 0 ]?.[ 0 ] !== 'string'\n\\t) {\n\\t\\treturn undefined;\n\\t}\n\n\\treturn [ template[ 0 ][ 0 ], {} ];\n}\n\nfunction buildInnerBlocksPropsOptions(\n\\tconfig: CompoundInnerBlocksConfig\n): CompoundInnerBlocksPropsOptions {\n\\treturn {\n\\t\\t...config,\n\\t\\trenderAppender:\n\\t\\t\\tconfig.templateLock === 'all'\n\\t\\t\\t\\t? undefined\n\\t\\t\\t\\t: InnerBlocks.ButtonBlockAppender,\n\\t};\n}\n\nexport function getRootInnerBlocksConfig(): CompoundInnerBlocksConfig {\n\\treturn {\n\\t\\t...BASE_INNER_BLOCKS_CONFIG,\n\\t\\tdefaultBlock: buildDefaultBlockEntry( DEFAULT_CHILD_TEMPLATE ),\n\\t\\ttemplate: DEFAULT_CHILD_TEMPLATE,\n\\t};\n}\n\nexport function getRootInnerBlocksPropsOptions(): CompoundInnerBlocksPropsOptions {\n\\treturn buildInnerBlocksPropsOptions( getRootInnerBlocksConfig() );\n}\n\nexport function getChildSpec( blockName: string ): CompoundChildSpec | undefined {\n\\treturn COMPOUND_CHILD_SPECS.find( ( spec ) => spec.blockName === blockName );\n}\n\nexport function getChildTemplate(\n\\tblockName: string\n): BlockTemplate | undefined {\n\\tconst childSpec = getChildSpec( blockName );\n\\tif ( ! childSpec ) {\n\\t\\treturn undefined;\n\\t}\n\n\\tconst nestedTemplate = buildNestedTemplateForKey( childSpec.key );\n\\tif ( nestedTemplate.length > 0 ) {\n\\t\\treturn nestedTemplate;\n\\t}\n\n\\treturn childSpec.container ? [] : undefined;\n}\n\nexport function getChildInnerBlocksConfig(\n\\tblockName: string\n): CompoundInnerBlocksConfig | undefined {\n\\tconst childSpec = getChildSpec( blockName );\n\\tif ( ! childSpec ) {\n\\t\\treturn undefined;\n\\t}\n\n\\tconst template = getChildTemplate( blockName );\n\n\\tif ( ! childSpec.container && ! template ) {\n\\t\\treturn undefined;\n\\t}\n\n\\treturn {\n\\t\\t...BASE_INNER_BLOCKS_CONFIG,\n\\t\\tdefaultBlock: buildDefaultBlockEntry( template ),\n\\t\\ttemplate,\n\\t};\n}\n\nexport function getChildInnerBlocksPropsOptions(\n\\tblockName: string\n): CompoundInnerBlocksPropsOptions | undefined {\n\\tconst config = getChildInnerBlocksConfig( blockName );\n\\tif ( ! config ) {\n\\t\\treturn undefined;\n\\t}\n\n\\treturn buildInnerBlocksPropsOptions( config );\n}\n\nexport function hasNestedChildBlocks( blockName: string ): boolean {\n\\tconst childSpec = getChildSpec( blockName );\n\\tif ( ! childSpec ) {\n\\t\\treturn false;\n\\t}\n\n\\treturn childSpec.container || buildNestedTemplateForKey( childSpec.key ).length > 0;\n}\n\nexport function isRootCompoundChildBlock( blockName: string ): boolean {\n\\tconst childSpec = getChildSpec( blockName );\n\\treturn childSpec?.placement === 'root';\n}\n\nexport { ROOT_BLOCK_NAME };\n`;\n",
96
99
  "export const COMPOUND_CHILD_EDIT_TEMPLATE = `import type { BlockEditProps } from '@wp-typia/block-types/blocks/registration';\nimport { InnerBlocks, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nimport metadata from './block-metadata';\nimport {\n\\tgetChildInnerBlocksPropsOptions,\n\\thasNestedChildBlocks,\n} from '../{{slugKebabCase}}/children';\nimport { useTypiaValidation } from './hooks';\nimport type { {{pascalCase}}ItemAttributes } from './types';\nimport {\n\\tcreateAttributeUpdater,\n\\tvalidate{{pascalCase}}ItemAttributes,\n} from './validators';\n\ntype EditProps = BlockEditProps< {{pascalCase}}ItemAttributes >;\ntype CompoundInnerBlocksProps = Parameters< typeof InnerBlocks >[ 0 ] & {\n\\tdefaultBlock?: [ string, Record< string, unknown > ];\n\\tdirectInsert?: boolean;\n};\n\nconst TypedInnerBlocks = InnerBlocks as unknown as (\n\\tprops: CompoundInnerBlocksProps\n) => ReturnType< typeof InnerBlocks >;\n\nexport default function Edit( {\n\\tattributes,\n\\tsetAttributes,\n}: EditProps ) {\n\\tconst updateAttribute = createAttributeUpdater( attributes, setAttributes );\n\\tconst { errorMessages, isValid } = useTypiaValidation(\n\\t\\tattributes,\n\\t\\tvalidate{{pascalCase}}ItemAttributes\n\\t);\n\\tconst nestedInnerBlocksPropsOptions = getChildInnerBlocksPropsOptions(\n\\t\\tmetadata.name\n\\t);\n\\tconst showsNestedChildren = hasNestedChildBlocks( metadata.name );\n\n\\treturn (\n\\t\\t<div { ...useBlockProps( { className: '{{compoundChildCssClassName}}' } ) }>\n\\t\\t\\t<RichText\n\\t\\t\\t\\ttagName=\"h4\"\n\\t\\t\\t\\tclassName=\"{{compoundChildCssClassName}}__title\"\n\\t\\t\\t\\tvalue={ attributes.title ?? '' }\n\\t\\t\\t\\tonChange={ ( title ) => updateAttribute( 'title', title ) }\n\\t\\t\\t\\tplaceholder={ __( {{compoundChildTitleJson}}, '{{textDomain}}' ) }\n\\t\\t\\t/>\n\\t\\t\\t<RichText\n\\t\\t\\t\\ttagName=\"p\"\n\\t\\t\\t\\tclassName=\"{{compoundChildCssClassName}}__body\"\n\\t\\t\\t\\tvalue={ attributes.body ?? '' }\n\\t\\t\\t\\tonChange={ ( body ) => updateAttribute( 'body', body ) }\n\\t\\t\\t\\tplaceholder={ __( 'Add supporting details for this internal item.', '{{textDomain}}' ) }\n\\t\\t\\t/>\n\\t\\t\\t{ ! isValid && (\n\\t\\t\\t\\t<Notice status=\"error\" isDismissible={ false }>\n\\t\\t\\t\\t\\t<ul>\n\\t\\t\\t\\t\\t\\t{ errorMessages.map( ( error, index ) => <li key={ index }>{ error }</li> ) }\n\\t\\t\\t\\t\\t</ul>\n\\t\\t\\t\\t</Notice>\n\\t\\t\\t) }\n\\t\\t\\t{ showsNestedChildren && (\n\\t\\t\\t\\t<div className=\"{{compoundChildCssClassName}}__children\">\n\\t\\t\\t\\t\\t<TypedInnerBlocks\n\\t\\t\\t\\t\\t\\t{ ...( nestedInnerBlocksPropsOptions ?? {} ) }\n\\t\\t\\t\\t\\t/>\n\\t\\t\\t\\t</div>\n\\t\\t\\t) }\n\\t\\t</div>\n\\t);\n}\n`;\n\nexport const COMPOUND_CHILD_SAVE_TEMPLATE = `import { InnerBlocks, RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport metadata from './block-metadata';\nimport { hasNestedChildBlocks } from '../{{slugKebabCase}}/children';\nimport type { {{pascalCase}}ItemAttributes } from './types';\n\nexport default function Save( {\n\\tattributes,\n}: {\n\\tattributes: {{pascalCase}}ItemAttributes;\n} ) {\n\\tconst showsNestedChildren = hasNestedChildBlocks( metadata.name );\n\n\\treturn (\n\\t\\t<div { ...useBlockProps.save( { className: '{{compoundChildCssClassName}}' } ) }>\n\\t\\t\\t<RichText.Content\n\\t\\t\\t\\ttagName=\"h4\"\n\\t\\t\\t\\tclassName=\"{{compoundChildCssClassName}}__title\"\n\\t\\t\\t\\tvalue={ attributes.title }\n\\t\\t\\t/>\n\\t\\t\\t<RichText.Content\n\\t\\t\\t\\ttagName=\"p\"\n\\t\\t\\t\\tclassName=\"{{compoundChildCssClassName}}__body\"\n\\t\\t\\t\\tvalue={ attributes.body }\n\\t\\t\\t/>\n\\t\\t\\t{ showsNestedChildren && (\n\\t\\t\\t\\t<div className=\"{{compoundChildCssClassName}}__children\">\n\\t\\t\\t\\t\\t<InnerBlocks.Content />\n\\t\\t\\t\\t</div>\n\\t\\t\\t) }\n\\t\\t</div>\n\\t);\n}\n`;\n\nexport const COMPOUND_CHILD_INDEX_TEMPLATE = `import {\n\\tregisterScaffoldBlockType,\n\\ttype BlockConfiguration,\n} from '@wp-typia/block-types/blocks/registration';\nimport {\n\\tbuildScaffoldBlockRegistration,\n\\tparseScaffoldBlockMetadata,\n} from '@wp-typia/block-runtime/blocks';\n\nimport Edit from './edit';\nimport Save from './save';\nimport metadata from './block-metadata';\nimport '../{{slugKebabCase}}/style.scss';\n\nimport type { {{pascalCase}}ItemAttributes } from './types';\n\nconst registration = buildScaffoldBlockRegistration(\n\\tparseScaffoldBlockMetadata<BlockConfiguration< {{pascalCase}}ItemAttributes >>( metadata ),\n\\t{\n\\t\\tedit: Edit,\n\\t\\tsave: Save,\n\\t}\n);\n\nregisterScaffoldBlockType(registration.name, registration.settings);\n`;\n\nexport const COMPOUND_CHILD_VALIDATORS_TEMPLATE = `import typia from 'typia';\nimport currentManifest from './manifest-defaults-document';\nimport type {\n\\t{{pascalCase}}ItemAttributes,\n\\t{{pascalCase}}ItemValidationResult,\n} from './types';\nimport { createTemplateValidatorToolkit } from '../../validator-toolkit';\n\nconst scaffoldValidators = createTemplateValidatorToolkit< {{pascalCase}}ItemAttributes >( {\n\\tassert: typia.createAssert< {{pascalCase}}ItemAttributes >(),\n\\tclone: typia.misc.createClone< {{pascalCase}}ItemAttributes >() as (\n\\t\\tvalue: {{pascalCase}}ItemAttributes,\n\\t) => {{pascalCase}}ItemAttributes,\n\\tis: typia.createIs< {{pascalCase}}ItemAttributes >(),\n\\tmanifest: currentManifest,\n\\tprune: typia.misc.createPrune< {{pascalCase}}ItemAttributes >(),\n\\trandom: typia.createRandom< {{pascalCase}}ItemAttributes >() as (\n\\t\\t...args: unknown[]\n\\t) => {{pascalCase}}ItemAttributes,\n\\tvalidate: typia.createValidate< {{pascalCase}}ItemAttributes >(),\n} );\n\nexport const validate{{pascalCase}}ItemAttributes =\n\\tscaffoldValidators.validateAttributes as (\n\\t\\tattributes: unknown\n\\t) => {{pascalCase}}ItemValidationResult;\n\nexport const validators = scaffoldValidators.validators;\n\nexport const sanitize{{pascalCase}}ItemAttributes =\n\\tscaffoldValidators.sanitizeAttributes as (\n\\t\\tattributes: Partial< {{pascalCase}}ItemAttributes >\n\\t) => {{pascalCase}}ItemAttributes;\n\nexport const createAttributeUpdater = scaffoldValidators.createAttributeUpdater;\n`;\n",
97
100
  "export const COMPOUND_PERSISTENCE_PARENT_EDIT_TEMPLATE = `import type { BlockEditProps } from '@wp-typia/block-types/blocks/registration';\nimport { __ } from '@wordpress/i18n';\nimport {\n\\tInspectorControls,\n\\tInnerBlocks,\n\\tRichText,\n\\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\\tNotice,\n\\tPanelBody,\n\\tTextControl,\n\\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\\tgetRootInnerBlocksPropsOptions,\n} from './children';\nimport { useTypiaValidation } from './hooks';\nimport type { {{pascalCase}}Attributes } from './types';\nimport {\n\\tcreateAttributeUpdater,\n\\tvalidate{{pascalCase}}Attributes,\n} from './validators';\n\ntype EditProps = BlockEditProps< {{pascalCase}}Attributes >;\ntype CompoundInnerBlocksProps = Parameters< typeof InnerBlocks >[ 0 ] & {\n\\tdefaultBlock?: [ string, Record< string, unknown > ];\n\\tdirectInsert?: boolean;\n};\n\nconst TypedInnerBlocks = InnerBlocks as unknown as (\n\\tprops: CompoundInnerBlocksProps\n) => ReturnType< typeof InnerBlocks >;\n\nexport default function Edit( {\n\\tattributes,\n\\tsetAttributes,\n}: EditProps ) {\n\\tconst { errorMessages, isValid } = useTypiaValidation(\n\\t\\tattributes,\n\\t\\tvalidate{{pascalCase}}Attributes\n\\t);\n\\tconst updateAttribute = createAttributeUpdater( attributes, setAttributes );\n\\tconst blockProps = useBlockProps( {\n\\t\\tclassName: '{{cssClassName}}',\n\\t} );\n\\tconst rootInnerBlocksPropsOptions = getRootInnerBlocksPropsOptions();\n\n\\treturn (\n\\t\\t<>\n\\t\\t\\t<InspectorControls>\n\\t\\t\\t\\t<PanelBody title={ __( 'Compound Settings', '{{textDomain}}' ) }>\n\\t\\t\\t\\t\\t<ToggleControl\n\\t\\t\\t\\t\\t\\tlabel={ __( 'Show dividers between items', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t\\tchecked={ attributes.showDividers ?? true }\n\\t\\t\\t\\t\\t\\tonChange={ ( value ) => updateAttribute( 'showDividers', value ) }\n\\t\\t\\t\\t\\t/>\n\\t\\t\\t\\t\\t<ToggleControl\n\\t\\t\\t\\t\\t\\tlabel={ __( 'Show persisted count', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t\\tchecked={ attributes.showCount ?? true }\n\\t\\t\\t\\t\\t\\tonChange={ ( value ) => updateAttribute( 'showCount', value ) }\n\\t\\t\\t\\t\\t/>\n\\t\\t\\t\\t\\t<TextControl\n\\t\\t\\t\\t\\t\\tlabel={ __( 'Button label', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t\\tvalue={ attributes.buttonLabel ?? 'Persist Count' }\n\\t\\t\\t\\t\\t\\tonChange={ ( buttonLabel ) => updateAttribute( 'buttonLabel', buttonLabel ) }\n\\t\\t\\t\\t\\t/>\n\\t\\t\\t\\t\\t<TextControl\n\\t\\t\\t\\t\\t\\tlabel={ __( 'Resource key', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t\\tvalue={ attributes.resourceKey ?? '' }\n\\t\\t\\t\\t\\t\\tonChange={ ( resourceKey ) => updateAttribute( 'resourceKey', resourceKey ) }\n\\t\\t\\t\\t\\t\\thelp={ __( 'Stable key used by the persisted counter endpoint.', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t/>\n\\t\\t\\t\\t\\t<Notice status=\"info\" isDismissible={ false }>\n\\t\\t\\t\\t\\t\\t{ __( 'Storage mode: {{dataStorageMode}}', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t</Notice>\n\\t\\t\\t\\t\\t<Notice status=\"info\" isDismissible={ false }>\n\\t\\t\\t\\t\\t\\t{ __( 'Persistence policy: {{persistencePolicy}}', '{{textDomain}}' ) }\n\\t\\t\\t\\t\\t</Notice>\n\\t\\t\\t\\t</PanelBody>\n\\t\\t\\t\\t{ ! isValid && (\n\\t\\t\\t\\t\\t<PanelBody title={ __( 'Validation Errors', '{{textDomain}}' ) } initialOpen>\n\\t\\t\\t\\t\\t\\t{ errorMessages.map( ( error, index ) => (\n\\t\\t\\t\\t\\t\\t\\t<Notice key={ index } status=\"error\" isDismissible={ false }>\n\\t\\t\\t\\t\\t\\t\\t\\t{ error }\n\\t\\t\\t\\t\\t\\t\\t</Notice>\n\\t\\t\\t\\t\\t\\t) ) }\n\\t\\t\\t\\t\\t</PanelBody>\n\\t\\t\\t\\t) }\n\\t\\t\\t</InspectorControls>\n\\t\\t\\t<div { ...blockProps }>\n\\t\\t\\t\\t<RichText\n\\t\\t\\t\\t\\ttagName=\"h3\"\n\\t\\t\\t\\t\\tclassName=\"{{cssClassName}}__heading\"\n\\t\\t\\t\\t\\tvalue={ attributes.heading }\n\\t\\t\\t\\t\\tonChange={ ( heading ) => updateAttribute( 'heading', heading ) }\n\\t\\t\\t\\t\\tplaceholder={ __( {{titleJson}}, '{{textDomain}}' ) }\n\\t\\t\\t\\t/>\n\\t\\t\\t\\t<RichText\n\\t\\t\\t\\t\\ttagName=\"p\"\n\\t\\t\\t\\t\\tclassName=\"{{cssClassName}}__intro\"\n\\t\\t\\t\\t\\tvalue={ attributes.intro ?? '' }\n\\t\\t\\t\\t\\tonChange={ ( intro ) => updateAttribute( 'intro', intro ) }\n\\t\\t\\t\\t\\tplaceholder={ __(\n\\t\\t\\t\\t\\t\\t'Add and reorder internal items inside this compound block.',\n\\t\\t\\t\\t\\t\\t'{{textDomain}}'\n\\t\\t\\t\\t\\t) }\n\\t\\t\\t\\t/>\n\\t\\t\\t\\t{ ! isValid && (\n\\t\\t\\t\\t\\t<Notice status=\"error\" isDismissible={ false }>\n\\t\\t\\t\\t\\t\\t<ul>\n\\t\\t\\t\\t\\t\\t\\t{ errorMessages.map( ( error, index ) => <li key={ index }>{ error }</li> ) }\n\\t\\t\\t\\t\\t\\t</ul>\n\\t\\t\\t\\t\\t</Notice>\n\\t\\t\\t\\t) }\n\\t\\t\\t\\t<p className=\"{{cssClassName}}__meta\">\n\\t\\t\\t\\t\\t{ __( 'Resource key:', '{{textDomain}}' ) } { attributes.resourceKey || '—' }\n\\t\\t\\t\\t</p>\n\\t\\t\\t\\t<div className=\"{{cssClassName}}__items\">\n\\t\\t\\t\\t\\t<TypedInnerBlocks { ...rootInnerBlocksPropsOptions } />\n\\t\\t\\t\\t</div>\n\\t\\t\\t</div>\n\\t\\t</>\n\\t);\n}\n`;\n\nexport const COMPOUND_PERSISTENCE_PARENT_SAVE_TEMPLATE = `export default function Save() {\n\\treturn null;\n}\n`;\n\nexport const COMPOUND_PERSISTENCE_PARENT_VALIDATORS_TEMPLATE = `import typia from 'typia';\nimport currentManifest from './manifest-defaults-document';\nimport type {\n\\t{{pascalCase}}Attributes,\n\\t{{pascalCase}}ValidationResult,\n} from './types';\nimport { generateResourceKey } from '@wp-typia/block-runtime/identifiers';\nimport { createTemplateValidatorToolkit } from '../../validator-toolkit';\n\nconst scaffoldValidators = createTemplateValidatorToolkit< {{pascalCase}}Attributes >( {\n\\tassert: typia.createAssert< {{pascalCase}}Attributes >(),\n\\tclone: typia.misc.createClone< {{pascalCase}}Attributes >() as (\n\\t\\tvalue: {{pascalCase}}Attributes,\n\\t) => {{pascalCase}}Attributes,\n\\tis: typia.createIs< {{pascalCase}}Attributes >(),\n\\tmanifest: currentManifest,\n\\tprune: typia.misc.createPrune< {{pascalCase}}Attributes >(),\n\\trandom: typia.createRandom< {{pascalCase}}Attributes >() as (\n\\t\\t...args: unknown[]\n\\t) => {{pascalCase}}Attributes,\n\\tfinalize: ( normalized ) => ( {\n\\t\\t...normalized,\n\\t\\tresourceKey:\n\\t\\t\\tnormalized.resourceKey && normalized.resourceKey.length > 0\n\\t\\t\\t\\t? normalized.resourceKey\n\\t\\t\\t\\t: generateResourceKey( '{{slugKebabCase}}' ),\n\\t} ),\n\\tvalidate: typia.createValidate< {{pascalCase}}Attributes >(),\n} );\n\nexport const validators = scaffoldValidators.validators;\n\nexport const validate{{pascalCase}}Attributes =\n\\tscaffoldValidators.validateAttributes as (\n\\t\\tattributes: unknown\n\\t) => {{pascalCase}}ValidationResult;\n\nexport const sanitize{{pascalCase}}Attributes =\n\\tscaffoldValidators.sanitizeAttributes as (\n\\t\\tattributes: Partial< {{pascalCase}}Attributes >\n\\t) => {{pascalCase}}Attributes;\n\nexport const createAttributeUpdater = scaffoldValidators.createAttributeUpdater;\n`;\n\nexport const COMPOUND_PERSISTENCE_PARENT_INTERACTIVITY_TEMPLATE = `import { getContext, store } from '@wordpress/interactivity';\nimport { generatePublicWriteRequestId } from '@wp-typia/block-runtime/identifiers';\n\nimport { fetchBootstrap, fetchState, writeState } from './api';\nimport type {\n\\t{{pascalCase}}ClientState,\n\\t{{pascalCase}}Context,\n\\t{{pascalCase}}State,\n} from './types';\n\nfunction hasExpiredPublicWriteToken(\n\\texpiresAt?: number\n): boolean {\n\\treturn (\n\\t\\ttypeof expiresAt === 'number' &&\n\\t\\texpiresAt > 0 &&\n\\t\\tDate.now() >= expiresAt * 1000\n\\t);\n}\n\nfunction getWriteBlockedMessage(\n\\tcontext: {{pascalCase}}Context\n): string {\n\\treturn context.persistencePolicy === 'authenticated'\n\\t\\t? 'Sign in to persist this counter.'\n\\t\\t: 'Public writes are temporarily unavailable.';\n}\n\nconst BOOTSTRAP_MAX_ATTEMPTS = 3;\nconst BOOTSTRAP_RETRY_DELAYS_MS = [ 250, 500 ];\n\nasync function waitForBootstrapRetry( delayMs: number ): Promise< void > {\n\\tawait new Promise( ( resolve ) => {\n\\t\\tsetTimeout( resolve, delayMs );\n\\t} );\n}\n\nfunction getClientState(\n\\tcontext: {{pascalCase}}Context\n): {{pascalCase}}ClientState {\n\\tif ( context.client ) {\n\\t\\treturn context.client;\n\\t}\n\n\\tcontext.client = {\n\\t\\tbootstrapError: '',\n\\t\\twriteExpiry: 0,\n\\t\\twriteNonce: '',\n\\t\\twriteToken: '',\n\\t};\n\n\\treturn context.client;\n}\n\nfunction clearBootstrapError(\n\\tcontext: {{pascalCase}}Context,\n\\tclientState: {{pascalCase}}ClientState\n): void {\n\\tif ( context.error === clientState.bootstrapError ) {\n\\t\\tcontext.error = '';\n\\t}\n\\tclientState.bootstrapError = '';\n}\n\nfunction setBootstrapError(\n\\tcontext: {{pascalCase}}Context,\n\\tclientState: {{pascalCase}}ClientState,\n\\tmessage: string\n): void {\n\\tclientState.bootstrapError = message;\n\\tcontext.error = message;\n}\n\nconst { actions, state } = store( '{{slugKebabCase}}', {\n\\tstate: {\n\\t\\tisHydrated: false,\n\\t} as {{pascalCase}}State,\n\n\\tactions: {\n\\t\\tasync loadState() {\n\\t\\t\\tconst context = getContext< {{pascalCase}}Context >();\n\\t\\t\\tif ( context.postId <= 0 || ! context.resourceKey ) {\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\n\\t\\t\\tcontext.isLoading = true;\n\\t\\t\\tcontext.error = '';\n\n\\t\\t\\ttry {\n\\t\\t\\t\\tconst result = await fetchState( {\n\\t\\t\\t\\t\\tpostId: context.postId,\n\\t\\t\\t\\t\\tresourceKey: context.resourceKey,\n\\t\\t\\t\\t}, {\n\\t\\t\\t\\t\\ttransportTarget: 'frontend',\n\\t\\t\\t\\t} );\n\\t\\t\\t\\tif ( ! result.isValid || ! result.data ) {\n\\t\\t\\t\\t\\tcontext.error = result.errors[ 0 ]?.expected ?? 'Unable to load counter';\n\\t\\t\\t\\t\\treturn;\n\\t\\t\\t\\t}\n\\t\\t\\t\\tcontext.count = result.data.count;\n\\t\\t\\t} catch ( error ) {\n\\t\\t\\t\\tcontext.error =\n\\t\\t\\t\\t\\terror instanceof Error ? error.message : 'Unknown loading error';\n\\t\\t\\t} finally {\n\\t\\t\\t\\tcontext.isLoading = false;\n\\t\\t\\t}\n\\t\\t},\n\\t\\tasync loadBootstrap() {\n\\t\\t\\tconst context = getContext< {{pascalCase}}Context >();\n\\t\\t\\tconst clientState = getClientState( context );\n\\t\\t\\tif ( context.postId <= 0 || ! context.resourceKey ) {\n\\t\\t\\t\\tcontext.bootstrapReady = true;\n\\t\\t\\t\\tcontext.canWrite = false;\n\\t\\t\\t\\tclientState.bootstrapError = '';\n\\t\\t\\t\\tclientState.writeExpiry = 0;\n\\t\\t\\t\\tclientState.writeNonce = '';\n\\t\\t\\t\\tclientState.writeToken = '';\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\n\\t\\t\\tcontext.isBootstrapping = true;\n\n\\t\\t\\tlet bootstrapSucceeded = false;\n\\t\\t\\tlet lastBootstrapError =\n\\t\\t\\t\\t'Unable to initialize write access';\n\\t\\t\\tconst includePublicWriteCredentials = {{isPublicPersistencePolicy}};\n\\t\\t\\tconst includeRestNonce = {{isAuthenticatedPersistencePolicy}};\n\n\\t\\t\\tfor ( let attempt = 1; attempt <= BOOTSTRAP_MAX_ATTEMPTS; attempt += 1 ) {\n\\t\\t\\t\\ttry {\n\\t\\t\\t\\t\\tconst result = await fetchBootstrap( {\n\\t\\t\\t\\t\\t\\tpostId: context.postId,\n\\t\\t\\t\\t\\t\\tresourceKey: context.resourceKey,\n\\t\\t\\t\\t\\t}, {\n\\t\\t\\t\\t\\t\\ttransportTarget: 'frontend',\n\\t\\t\\t\\t\\t} );\n\\t\\t\\t\\t\\tif ( ! result.isValid || ! result.data ) {\n\\t\\t\\t\\t\\t\\tlastBootstrapError =\n\\t\\t\\t\\t\\t\\t\\tresult.errors[ 0 ]?.expected ??\n\\t\\t\\t\\t\\t\\t\\t'Unable to initialize write access';\n\\t\\t\\t\\t\\t\\tif ( attempt < BOOTSTRAP_MAX_ATTEMPTS ) {\n\\t\\t\\t\\t\\t\\t\\tawait waitForBootstrapRetry(\n\\t\\t\\t\\t\\t\\t\\t\\tBOOTSTRAP_RETRY_DELAYS_MS[ attempt - 1 ] ?? 750\n\\t\\t\\t\\t\\t\\t\\t);\n\\t\\t\\t\\t\\t\\t\\tcontinue;\n\\t\\t\\t\\t\\t\\t}\n\\t\\t\\t\\t\\t\\tbreak;\n\\t\\t\\t\\t\\t}\n\n\\t\\t\\t\\t\\tclientState.writeExpiry =\n\\t\\t\\t\\t\\t\\tincludePublicWriteCredentials &&\n\\t\\t\\t\\t\\t\\t'publicWriteExpiresAt' in result.data &&\n\\t\\t\\t\\t\\t\\ttypeof result.data.publicWriteExpiresAt === 'number' &&\n\\t\\t\\t\\t\\t\\tresult.data.publicWriteExpiresAt > 0\n\\t\\t\\t\\t\\t\\t\\t? result.data.publicWriteExpiresAt\n\\t\\t\\t\\t\\t\\t\\t: 0;\n\\t\\t\\t\\t\\tclientState.writeToken =\n\\t\\t\\t\\t\\t\\tincludePublicWriteCredentials &&\n\\t\\t\\t\\t\\t\\t'publicWriteToken' in result.data &&\n\\t\\t\\t\\t\\t\\ttypeof result.data.publicWriteToken === 'string' &&\n\\t\\t\\t\\t\\t\\tresult.data.publicWriteToken.length > 0\n\\t\\t\\t\\t\\t\\t\\t? result.data.publicWriteToken\n\\t\\t\\t\\t\\t\\t\\t: '';\n\\t\\t\\t\\t\\tclientState.writeNonce =\n\\t\\t\\t\\t\\t\\tincludeRestNonce &&\n\\t\\t\\t\\t\\t\\t'restNonce' in result.data &&\n\\t\\t\\t\\t\\t\\ttypeof result.data.restNonce === 'string' &&\n\\t\\t\\t\\t\\t\\tresult.data.restNonce.length > 0\n\\t\\t\\t\\t\\t\\t\\t? result.data.restNonce\n\\t\\t\\t\\t\\t\\t\\t: '';\n\\t\\t\\t\\t\\tcontext.bootstrapReady = true;\n\\t\\t\\t\\t\\tcontext.canWrite =\n\\t\\t\\t\\t\\t\\tresult.data.canWrite === true &&\n\\t\\t\\t\\t\\t\\t(\n\\t\\t\\t\\t\\t\\t\\tcontext.persistencePolicy === 'authenticated'\n\\t\\t\\t\\t\\t\\t\\t\\t? clientState.writeNonce.length > 0\n\\t\\t\\t\\t\\t\\t\\t\\t: clientState.writeToken.length > 0 &&\n\\t\\t\\t\\t\\t\\t\\t\\t\\t! hasExpiredPublicWriteToken( clientState.writeExpiry )\n\\t\\t\\t\\t\\t\\t);\n\\t\\t\\t\\t\\tclearBootstrapError( context, clientState );\n\\t\\t\\t\\t\\tbootstrapSucceeded = true;\n\\t\\t\\t\\t\\tbreak;\n\\t\\t\\t\\t} catch ( error ) {\n\\t\\t\\t\\t\\tlastBootstrapError =\n\\t\\t\\t\\t\\t\\terror instanceof Error ? error.message : 'Unknown bootstrap error';\n\\t\\t\\t\\t\\tif ( attempt < BOOTSTRAP_MAX_ATTEMPTS ) {\n\\t\\t\\t\\t\\t\\tawait waitForBootstrapRetry(\n\\t\\t\\t\\t\\t\\t\\tBOOTSTRAP_RETRY_DELAYS_MS[ attempt - 1 ] ?? 750\n\\t\\t\\t\\t\\t\\t);\n\\t\\t\\t\\t\\t\\tcontinue;\n\\t\\t\\t\\t\\t}\n\\t\\t\\t\\t\\tbreak;\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\n\\t\\t\\tif ( ! bootstrapSucceeded ) {\n\\t\\t\\t\\tcontext.bootstrapReady = false;\n\\t\\t\\t\\tcontext.canWrite = false;\n\\t\\t\\t\\tclientState.writeExpiry = 0;\n\\t\\t\\t\\tclientState.writeNonce = '';\n\\t\\t\\t\\tclientState.writeToken = '';\n\\t\\t\\t\\tsetBootstrapError( context, clientState, lastBootstrapError );\n\\t\\t\\t}\n\\t\\t\\tcontext.isBootstrapping = false;\n\\t\\t},\n\\t\\tasync increment() {\n\\t\\t\\tconst context = getContext< {{pascalCase}}Context >();\n\\t\\t\\tconst clientState = getClientState( context );\n\\t\\t\\tif ( context.postId <= 0 || ! context.resourceKey ) {\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\\t\\t\\tif ( ! context.bootstrapReady ) {\n\\t\\t\\t\\tawait actions.loadBootstrap();\n\\t\\t\\t}\n\\t\\t\\tif ( ! context.bootstrapReady ) {\n\\t\\t\\t\\tcontext.error = 'Write access is still initializing.';\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\\t\\t\\tif (\n\\t\\t\\t\\tcontext.persistencePolicy === 'public' &&\n\\t\\t\\t\\thasExpiredPublicWriteToken( clientState.writeExpiry )\n\\t\\t\\t) {\n\\t\\t\\t\\tawait actions.loadBootstrap();\n\\t\\t\\t}\n\\t\\t\\tif (\n\\t\\t\\t\\tcontext.persistencePolicy === 'public' &&\n\\t\\t\\t\\thasExpiredPublicWriteToken( clientState.writeExpiry )\n\\t\\t\\t) {\n\\t\\t\\t\\tcontext.canWrite = false;\n\\t\\t\\t\\tcontext.error = getWriteBlockedMessage( context );\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\\t\\t\\tif ( ! context.canWrite ) {\n\\t\\t\\t\\tcontext.error = getWriteBlockedMessage( context );\n\\t\\t\\t\\treturn;\n\\t\\t\\t}\n\n\\t\\t\\tcontext.isSaving = true;\n\\t\\t\\tcontext.error = '';\n\n\\t\\t\\ttry {\n\\t\\t\\t\\tconst result = await writeState( {\n\\t\\t\\t\\t\\tdelta: 1,\n\\t\\t\\t\\t\\tpostId: context.postId,\n\\t\\t\\t\\t\\tpublicWriteRequestId:\n\\t\\t\\t\\t\\t\\tcontext.persistencePolicy === 'public'\n\\t\\t\\t\\t\\t\\t\\t? generatePublicWriteRequestId()\n\\t\\t\\t\\t\\t\\t\\t: undefined,\n\\t\\t\\t\\t\\tpublicWriteToken:\n\\t\\t\\t\\t\\t\\tcontext.persistencePolicy === 'public' &&\n\\t\\t\\t\\t\\t\\tclientState.writeToken.length > 0\n\\t\\t\\t\\t\\t\\t\\t? clientState.writeToken\n\\t\\t\\t\\t\\t\\t\\t: undefined,\n\\t\\t\\t\\t\\tresourceKey: context.resourceKey,\n\\t\\t\\t\\t}, {\n\\t\\t\\t\\t\\trestNonce:\n\\t\\t\\t\\t\\t\\tclientState.writeNonce.length > 0\n\\t\\t\\t\\t\\t\\t\\t? clientState.writeNonce\n\\t\\t\\t\\t\\t\\t\\t: undefined,\n\\t\\t\\t\\t\\ttransportTarget: 'frontend',\n\\t\\t\\t\\t} );\n\\t\\t\\t\\tif ( ! result.isValid || ! result.data ) {\n\\t\\t\\t\\t\\tcontext.error = result.errors[ 0 ]?.expected ?? 'Unable to update counter';\n\\t\\t\\t\\t\\treturn;\n\\t\\t\\t\\t}\n\\t\\t\\t\\tcontext.count = result.data.count;\n\\t\\t\\t\\tcontext.storage = result.data.storage;\n\\t\\t\\t} catch ( error ) {\n\\t\\t\\t\\tcontext.error =\n\\t\\t\\t\\t\\terror instanceof Error ? error.message : 'Unknown update error';\n\\t\\t\\t} finally {\n\\t\\t\\t\\tcontext.isSaving = false;\n\\t\\t\\t}\n\\t\\t},\n\\t},\n\n\\tcallbacks: {\n\\t\\tinit() {\n\\t\\t\\tconst context = getContext< {{pascalCase}}Context >();\n\\t\\t\\tcontext.client = {\n\\t\\t\\t\\tbootstrapError: '',\n\\t\\t\\t\\twriteExpiry: 0,\n\\t\\t\\t\\twriteNonce: '',\n\\t\\t\\t\\twriteToken: '',\n\\t\\t\\t};\n\\t\\t\\tcontext.bootstrapReady = false;\n\\t\\t\\tcontext.canWrite = false;\n\\t\\t\\tcontext.count = 0;\n\\t\\t\\tcontext.error = '';\n\\t\\t\\tcontext.isBootstrapping = false;\n\\t\\t\\tcontext.isLoading = false;\n\\t\\t\\tcontext.isSaving = false;\n\\t\\t},\n\\t\\tmounted() {\n\\t\\t\\tstate.isHydrated = true;\n\\t\\t\\tif ( typeof document !== 'undefined' ) {\n\\t\\t\\t\\tdocument.documentElement.dataset[ '{{slugCamelCase}}Hydrated' ] = 'true';\n\\t\\t\\t}\n\\t\\t\\tvoid Promise.allSettled( [\n\\t\\t\\t\\tactions.loadState(),\n\\t\\t\\t\\tactions.loadBootstrap(),\n\\t\\t\\t] );\n\\t\\t},\n\\t},\n} );\n`;\n",
98
- "import type {\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\nimport type {\n\tBuiltInTemplateId,\n} from \"./template-registry.js\";\nimport { buildBuiltInNonTsArtifacts } from \"./built-in-block-non-ts-artifacts.js\";\nimport {\n\tBASIC_EDIT_TEMPLATE,\n\tBASIC_INDEX_TEMPLATE,\n\tBASIC_SAVE_TEMPLATE,\n\tBASIC_VALIDATORS_TEMPLATE,\n\tBLOCK_METADATA_WRAPPER_TEMPLATE,\n\tCOMPOUND_CHILD_EDIT_TEMPLATE,\n\tCOMPOUND_CHILD_INDEX_TEMPLATE,\n\tCOMPOUND_CHILD_SAVE_TEMPLATE,\n\tCOMPOUND_CHILD_VALIDATORS_TEMPLATE,\n\tCOMPOUND_CHILDREN_TEMPLATE,\n\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\tCOMPOUND_PARENT_EDIT_TEMPLATE,\n\tCOMPOUND_PARENT_INDEX_TEMPLATE,\n\tCOMPOUND_PARENT_SAVE_TEMPLATE,\n\tCOMPOUND_PARENT_VALIDATORS_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_EDIT_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_INTERACTIVITY_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_SAVE_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_VALIDATORS_TEMPLATE,\n\tINTERACTIVITY_EDIT_TEMPLATE,\n\tINTERACTIVITY_INDEX_TEMPLATE,\n\tINTERACTIVITY_SAVE_TEMPLATE,\n\tINTERACTIVITY_SCRIPT_TEMPLATE,\n\tINTERACTIVITY_VALIDATORS_TEMPLATE,\n\tMANIFEST_DEFAULTS_DOCUMENT_WRAPPER_TEMPLATE,\n\tMANIFEST_DOCUMENT_WRAPPER_TEMPLATE,\n\tPERSISTENCE_EDIT_TEMPLATE,\n\tPERSISTENCE_INDEX_TEMPLATE,\n\tPERSISTENCE_INTERACTIVITY_TEMPLATE,\n\tPERSISTENCE_SAVE_TEMPLATE,\n\tPERSISTENCE_VALIDATORS_TEMPLATE,\n\tQUERY_LOOP_INDEX_TEMPLATE,\n\tSHARED_HOOKS_TEMPLATE,\n} from \"./built-in-block-code-templates.js\";\nimport { renderMustacheTemplateString } from \"./template-render.js\";\n\n/**\n * Emits built-in scaffold source files from typed block generation inputs.\n *\n * This module is intentionally internal to the runtime boundary: built-in\n * scaffold bodies and adjacent emitted source files are now derived from\n * `ScaffoldTemplateVariables`, but the emitter helpers themselves are not part\n * of the public root export surface.\n */\nexport interface BuiltInCodeArtifact {\n\t/**\n\t * File path relative to the generated project root.\n\t */\n\trelativePath: string;\n\t/**\n\t * Fully rendered file contents with a trailing newline.\n\t */\n\tsource: string;\n}\n\ninterface BuiltInCodeTemplateSpec {\n\trelativePath: string;\n\ttemplate: string;\n}\n\nfunction renderCodeTemplate(\n\ttemplate: string,\n\tvariables: ScaffoldTemplateVariables,\n): string {\n\tconst rendered = renderMustacheTemplateString(template, variables);\n\treturn rendered.endsWith(\"\\n\") ? rendered : `${rendered}\\n`;\n}\n\nfunction createCodeArtifact(\n\trelativePath: string,\n\ttemplate: string,\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact {\n\treturn {\n\t\trelativePath,\n\t\tsource: renderCodeTemplate(template, variables),\n\t};\n}\n\nfunction createCodeArtifacts(\n\tspecs: readonly BuiltInCodeTemplateSpec[],\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn specs.map((spec) =>\n\t\tcreateCodeArtifact(spec.relativePath, spec.template, variables),\n\t);\n}\n\nfunction createTypedJsonWrapperArtifacts(\n\trelativeDir: string,\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/block-metadata.ts`,\n\t\t\tBLOCK_METADATA_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/manifest-document.ts`,\n\t\t\tMANIFEST_DOCUMENT_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/manifest-defaults-document.ts`,\n\t\t\tMANIFEST_DEFAULTS_DOCUMENT_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t];\n}\n\nfunction ensureUniqueArtifactPaths(\n\tartifacts: BuiltInCodeArtifact[],\n): BuiltInCodeArtifact[] {\n\tconst seenPaths = new Set<string>();\n\n\tfor (const artifact of artifacts) {\n\t\tif (seenPaths.has(artifact.relativePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Duplicate built-in artifact path emitted: ${artifact.relativePath}`,\n\t\t\t);\n\t\t}\n\t\tseenPaths.add(artifact.relativePath);\n\t}\n\n\treturn artifacts;\n}\n\nfunction buildBasicCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: BASIC_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: BASIC_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: BASIC_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: BASIC_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"basic\", variables }),\n\t]);\n}\n\nfunction buildInteractivityCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/interactivity.ts\",\n\t\t\t\t\ttemplate: INTERACTIVITY_SCRIPT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: INTERACTIVITY_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"interactivity\", variables }),\n\t]);\n}\n\nfunction buildCompoundCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tconst parentBasePath = `src/blocks/${variables.slugKebabCase}`;\n\tconst childBasePath = `src/blocks/${variables.slugKebabCase}-item`;\n\tconst compoundPersistenceEnabled =\n\t\tvariables.compoundPersistenceEnabled === \"true\";\n\n\treturn ensureUniqueArtifactPaths([\n\t\tcreateCodeArtifact(\"src/hooks.ts\", SHARED_HOOKS_TEMPLATE, variables),\n\t\t...createTypedJsonWrapperArtifacts(parentBasePath, variables),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/edit.tsx`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_EDIT_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_EDIT_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/save.tsx`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_SAVE_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_SAVE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/index.tsx`,\n\t\t\tCOMPOUND_PARENT_INDEX_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/hooks.ts`,\n\t\t\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/validators.ts`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_VALIDATORS_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_VALIDATORS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/children.ts`,\n\t\t\tCOMPOUND_CHILDREN_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\t...(compoundPersistenceEnabled\n\t\t\t? [\n\t\t\t\t\tcreateCodeArtifact(\n\t\t\t\t\t\t`${parentBasePath}/interactivity.ts`,\n\t\t\t\t\t\tCOMPOUND_PERSISTENCE_PARENT_INTERACTIVITY_TEMPLATE,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\t: []),\n\t\t...createTypedJsonWrapperArtifacts(childBasePath, variables),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/edit.tsx`,\n\t\t\tCOMPOUND_CHILD_EDIT_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/save.tsx`,\n\t\t\tCOMPOUND_CHILD_SAVE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/index.tsx`,\n\t\t\tCOMPOUND_CHILD_INDEX_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/hooks.ts`,\n\t\t\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/validators.ts`,\n\t\t\tCOMPOUND_CHILD_VALIDATORS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"compound\", variables }),\n\t]);\n}\n\nfunction buildPersistenceCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/interactivity.ts\",\n\t\t\t\t\ttemplate: PERSISTENCE_INTERACTIVITY_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: PERSISTENCE_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"persistence\", variables }),\n\t]);\n}\n\nfunction buildQueryLoopCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.ts\",\n\t\t\t\t\ttemplate: QUERY_LOOP_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"query-loop\", variables }),\n\t]);\n}\n\n/**\n * Build the emitter-owned scaffold files for a built-in template family.\n *\n * These artifacts are written after template copy so built-in structural,\n * source, and adjacent generated files always come from the typed generator\n * boundary rather than stale Mustache sources.\n */\nexport function buildBuiltInCodeArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInCodeArtifact[] {\n\tswitch (templateId) {\n\t\tcase \"basic\":\n\t\t\treturn buildBasicCodeArtifacts(variables);\n\t\tcase \"interactivity\":\n\t\t\treturn buildInteractivityCodeArtifacts(variables);\n\t\tcase \"persistence\":\n\t\t\treturn buildPersistenceCodeArtifacts(variables);\n\t\tcase \"compound\":\n\t\t\treturn buildCompoundCodeArtifacts(variables);\n\t\tcase \"query-loop\":\n\t\t\treturn buildQueryLoopCodeArtifacts(variables);\n\t\tdefault: {\n\t\t\tconst unhandledTemplateId: never = templateId;\n\t\t\tthrow new Error(`Unhandled built-in template id: ${unhandledTemplateId}`);\n\t\t}\n\t}\n}\n",
101
+ "import type {\n\tScaffoldTemplateVariables,\n} from \"./scaffold.js\";\nimport type {\n\tBuiltInTemplateId,\n} from \"./template-registry.js\";\nimport { buildBuiltInNonTsArtifacts } from \"./built-in-block-non-ts-artifacts.js\";\nimport {\n\tBASIC_EDIT_TEMPLATE,\n\tBASIC_INDEX_TEMPLATE,\n\tBASIC_SAVE_TEMPLATE,\n\tBASIC_VALIDATORS_TEMPLATE,\n\tBLOCK_METADATA_WRAPPER_TEMPLATE,\n\tCOMPOUND_CHILD_EDIT_TEMPLATE,\n\tCOMPOUND_CHILD_INDEX_TEMPLATE,\n\tCOMPOUND_CHILD_SAVE_TEMPLATE,\n\tCOMPOUND_CHILD_VALIDATORS_TEMPLATE,\n\tCOMPOUND_CHILDREN_TEMPLATE,\n\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\tCOMPOUND_PARENT_EDIT_TEMPLATE,\n\tCOMPOUND_PARENT_INDEX_TEMPLATE,\n\tCOMPOUND_PARENT_SAVE_TEMPLATE,\n\tCOMPOUND_PARENT_VALIDATORS_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_EDIT_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_INTERACTIVITY_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_SAVE_TEMPLATE,\n\tCOMPOUND_PERSISTENCE_PARENT_VALIDATORS_TEMPLATE,\n\tINTERACTIVITY_EDIT_TEMPLATE,\n\tINTERACTIVITY_INDEX_TEMPLATE,\n\tINTERACTIVITY_SAVE_TEMPLATE,\n\tINTERACTIVITY_SCRIPT_TEMPLATE,\n\tINTERACTIVITY_VALIDATORS_TEMPLATE,\n\tMANIFEST_DEFAULTS_DOCUMENT_WRAPPER_TEMPLATE,\n\tMANIFEST_DOCUMENT_WRAPPER_TEMPLATE,\n\tPERSISTENCE_EDIT_TEMPLATE,\n\tPERSISTENCE_INDEX_TEMPLATE,\n\tPERSISTENCE_INTERACTIVITY_TEMPLATE,\n\tPERSISTENCE_SAVE_TEMPLATE,\n\tPERSISTENCE_VALIDATORS_TEMPLATE,\n\tQUERY_LOOP_INDEX_TEMPLATE,\n\tSHARED_HOOKS_TEMPLATE,\n} from \"./built-in-block-code-templates.js\";\nimport { getScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\nimport { renderMustacheTemplateString } from \"./template-render.js\";\n\n/**\n * Emits built-in scaffold source files from typed block generation inputs.\n *\n * This module is intentionally internal to the runtime boundary: built-in\n * scaffold bodies and adjacent emitted source files are now derived from\n * `ScaffoldTemplateVariables`, but the emitter helpers themselves are not part\n * of the public root export surface.\n */\nexport interface BuiltInCodeArtifact {\n\t/**\n\t * File path relative to the generated project root.\n\t */\n\trelativePath: string;\n\t/**\n\t * Fully rendered file contents with a trailing newline.\n\t */\n\tsource: string;\n}\n\ninterface BuiltInCodeTemplateSpec {\n\trelativePath: string;\n\ttemplate: string;\n}\n\nfunction renderCodeTemplate(\n\ttemplate: string,\n\tvariables: ScaffoldTemplateVariables,\n): string {\n\tconst rendered = renderMustacheTemplateString(template, variables);\n\treturn rendered.endsWith(\"\\n\") ? rendered : `${rendered}\\n`;\n}\n\nfunction createCodeArtifact(\n\trelativePath: string,\n\ttemplate: string,\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact {\n\treturn {\n\t\trelativePath,\n\t\tsource: renderCodeTemplate(template, variables),\n\t};\n}\n\nfunction createCodeArtifacts(\n\tspecs: readonly BuiltInCodeTemplateSpec[],\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn specs.map((spec) =>\n\t\tcreateCodeArtifact(spec.relativePath, spec.template, variables),\n\t);\n}\n\nfunction createTypedJsonWrapperArtifacts(\n\trelativeDir: string,\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn [\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/block-metadata.ts`,\n\t\t\tBLOCK_METADATA_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/manifest-document.ts`,\n\t\t\tMANIFEST_DOCUMENT_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${relativeDir}/manifest-defaults-document.ts`,\n\t\t\tMANIFEST_DEFAULTS_DOCUMENT_WRAPPER_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t];\n}\n\nfunction ensureUniqueArtifactPaths(\n\tartifacts: BuiltInCodeArtifact[],\n): BuiltInCodeArtifact[] {\n\tconst seenPaths = new Set<string>();\n\n\tfor (const artifact of artifacts) {\n\t\tif (seenPaths.has(artifact.relativePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Duplicate built-in artifact path emitted: ${artifact.relativePath}`,\n\t\t\t);\n\t\t}\n\t\tseenPaths.add(artifact.relativePath);\n\t}\n\n\treturn artifacts;\n}\n\nfunction buildBasicCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: BASIC_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: BASIC_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: BASIC_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: BASIC_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"basic\", variables }),\n\t]);\n}\n\nfunction buildInteractivityCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: INTERACTIVITY_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/interactivity.ts\",\n\t\t\t\t\ttemplate: INTERACTIVITY_SCRIPT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: INTERACTIVITY_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"interactivity\", variables }),\n\t]);\n}\n\nfunction buildCompoundCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\tconst parentBasePath = `src/blocks/${variables.slugKebabCase}`;\n\tconst childBasePath = `src/blocks/${variables.slugKebabCase}-item`;\n\tconst compoundGroup = getScaffoldTemplateVariableGroups(variables).compound;\n\tconst compoundPersistenceEnabled =\n\t\tcompoundGroup.enabled && compoundGroup.persistenceEnabled;\n\n\treturn ensureUniqueArtifactPaths([\n\t\tcreateCodeArtifact(\"src/hooks.ts\", SHARED_HOOKS_TEMPLATE, variables),\n\t\t...createTypedJsonWrapperArtifacts(parentBasePath, variables),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/edit.tsx`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_EDIT_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_EDIT_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/save.tsx`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_SAVE_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_SAVE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/index.tsx`,\n\t\t\tCOMPOUND_PARENT_INDEX_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/hooks.ts`,\n\t\t\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/validators.ts`,\n\t\t\tcompoundPersistenceEnabled\n\t\t\t\t? COMPOUND_PERSISTENCE_PARENT_VALIDATORS_TEMPLATE\n\t\t\t\t: COMPOUND_PARENT_VALIDATORS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${parentBasePath}/children.ts`,\n\t\t\tCOMPOUND_CHILDREN_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\t...(compoundPersistenceEnabled\n\t\t\t? [\n\t\t\t\t\tcreateCodeArtifact(\n\t\t\t\t\t\t`${parentBasePath}/interactivity.ts`,\n\t\t\t\t\t\tCOMPOUND_PERSISTENCE_PARENT_INTERACTIVITY_TEMPLATE,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\t: []),\n\t\t...createTypedJsonWrapperArtifacts(childBasePath, variables),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/edit.tsx`,\n\t\t\tCOMPOUND_CHILD_EDIT_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/save.tsx`,\n\t\t\tCOMPOUND_CHILD_SAVE_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/index.tsx`,\n\t\t\tCOMPOUND_CHILD_INDEX_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/hooks.ts`,\n\t\t\tCOMPOUND_LOCAL_HOOKS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\tcreateCodeArtifact(\n\t\t\t`${childBasePath}/validators.ts`,\n\t\t\tCOMPOUND_CHILD_VALIDATORS_TEMPLATE,\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"compound\", variables }),\n\t]);\n}\n\nfunction buildPersistenceCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/hooks.ts\",\n\t\t\t\t\ttemplate: SHARED_HOOKS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...createTypedJsonWrapperArtifacts(\"src\", variables),\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/edit.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_EDIT_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/save.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_SAVE_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.tsx\",\n\t\t\t\t\ttemplate: PERSISTENCE_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/interactivity.ts\",\n\t\t\t\t\ttemplate: PERSISTENCE_INTERACTIVITY_TEMPLATE,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/validators.ts\",\n\t\t\t\t\ttemplate: PERSISTENCE_VALIDATORS_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"persistence\", variables }),\n\t]);\n}\n\nfunction buildQueryLoopCodeArtifacts(\n\tvariables: ScaffoldTemplateVariables,\n): BuiltInCodeArtifact[] {\n\treturn ensureUniqueArtifactPaths([\n\t\t...createCodeArtifacts(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\trelativePath: \"src/index.ts\",\n\t\t\t\t\ttemplate: QUERY_LOOP_INDEX_TEMPLATE,\n\t\t\t\t},\n\t\t\t],\n\t\t\tvariables,\n\t\t),\n\t\t...buildBuiltInNonTsArtifacts({ templateId: \"query-loop\", variables }),\n\t]);\n}\n\n/**\n * Build the emitter-owned scaffold files for a built-in template family.\n *\n * These artifacts are written after template copy so built-in structural,\n * source, and adjacent generated files always come from the typed generator\n * boundary rather than stale Mustache sources.\n */\nexport function buildBuiltInCodeArtifacts({\n\ttemplateId,\n\tvariables,\n}: {\n\ttemplateId: BuiltInTemplateId;\n\tvariables: ScaffoldTemplateVariables;\n}): BuiltInCodeArtifact[] {\n\tswitch (templateId) {\n\t\tcase \"basic\":\n\t\t\treturn buildBasicCodeArtifacts(variables);\n\t\tcase \"interactivity\":\n\t\t\treturn buildInteractivityCodeArtifacts(variables);\n\t\tcase \"persistence\":\n\t\t\treturn buildPersistenceCodeArtifacts(variables);\n\t\tcase \"compound\":\n\t\t\treturn buildCompoundCodeArtifacts(variables);\n\t\tcase \"query-loop\":\n\t\t\treturn buildQueryLoopCodeArtifacts(variables);\n\t\tdefault: {\n\t\t\tconst unhandledTemplateId: never = templateId;\n\t\t\tthrow new Error(`Unhandled built-in template id: ${unhandledTemplateId}`);\n\t\t}\n\t}\n}\n",
99
102
  "import {\n\tapplyBuiltInScaffoldProjectFiles,\n\tbuildGitignore,\n\tbuildReadme,\n} from \"./scaffold-apply-utils.js\";\nimport {\n\tbuildBuiltInBlockArtifacts,\n\ttype BuiltInBlockArtifact,\n} from \"./built-in-block-artifacts.js\";\nimport {\n\tbuildBuiltInCodeArtifacts,\n\ttype BuiltInCodeArtifact,\n} from \"./built-in-block-code-artifacts.js\";\nimport { stableJsonStringify } from \"./object-utils.js\";\nimport { getStarterManifestFiles } from \"./starter-manifests.js\";\nimport { resolveTemplateSeed, parseTemplateLocator } from \"./template-source.js\";\nimport {\n\tassertExternalTemplateLayersDoNotWriteProtectedOutputs,\n\tresolveExternalTemplateLayers,\n\ttype ResolvedTemplateLayerEntry,\n} from \"./template-layers.js\";\nimport {\n\tgetBuiltInTemplateOverlayDir,\n\tgetBuiltInTemplateSharedLayerDirs,\n\tresolveBuiltInTemplateSource,\n\tresolveBuiltInTemplateSourceFromLayerDirs,\n} from \"./template-builtins.js\";\nimport {\n\tbuildTemplateVariablesFromBlockSpec,\n\tcreateBuiltInBlockSpec,\n\ttype ApplyBlockInput,\n\ttype BlockSpec,\n\ttype PlanBlockInput,\n\ttype PlanBlockResult,\n\ttype RenderBlockInput,\n\ttype RenderBlockResult,\n\ttype ValidateBlockInput,\n\ttype ValidateBlockResult,\n} from \"./block-generator-service-spec.js\";\nimport type { ScaffoldProjectResult } from \"./scaffold.js\";\nimport {\n\tassertBuiltInTemplateVariantAllowed,\n\tassertExternalLayerCompositionOptions,\n} from \"./cli-validation.js\";\n\nconst renderedArtifactCache = new WeakMap<\n\tRenderBlockResult,\n\t{\n\t\tartifacts: BuiltInBlockArtifact[];\n\t\tcodeArtifacts: BuiltInCodeArtifact[];\n\t\tvariablesFingerprint: string;\n\t}\n>();\n\nfunction createVariablesFingerprint(\n\tvariables: RenderBlockResult[\"variables\"],\n): string {\n\treturn stableJsonStringify(variables);\n}\n\nfunction buildProtectedTemplateOutputPaths({\n\tcodeArtifacts,\n\tspec,\n\tvariables,\n\tartifacts,\n}: {\n\tartifacts: readonly BuiltInBlockArtifact[];\n\tcodeArtifacts: readonly BuiltInCodeArtifact[];\n\tspec: BlockSpec;\n\tvariables: RenderBlockResult[\"variables\"];\n}): Set<string> {\n\tconst protectedOutputs = new Set<string>([\n\t\t\".gitignore\",\n\t\t\"package.json\",\n\t\t\"scripts/add-compound-child.ts\",\n\t\t\"scripts/block-config.ts\",\n\t\t\"scripts/sync-project.ts\",\n\t\t\"scripts/sync-rest-contracts.ts\",\n\t\t\"scripts/sync-types-to-block-json.ts\",\n\t\t\"tsconfig.json\",\n\t\t\"webpack.config.js\",\n\t\t`${variables.slugKebabCase}.php`,\n\t]);\n\n\tfor (const artifact of codeArtifacts) {\n\t\tprotectedOutputs.add(artifact.relativePath);\n\t}\n\n\tfor (const artifact of artifacts) {\n\t\tprotectedOutputs.add(`${artifact.relativeDir}/block.json`);\n\t\tprotectedOutputs.add(`${artifact.relativeDir}/types.ts`);\n\t}\n\n\tfor (const manifest of getStarterManifestFiles(spec.template.family, variables)) {\n\t\tprotectedOutputs.add(manifest.relativePath);\n\t}\n\n\treturn protectedOutputs;\n}\n\nfunction buildCombinedTemplateLayerDirs({\n\tbaseLayerDirs,\n\texternalEntries,\n\ttemplateId,\n}: {\n\tbaseLayerDirs: readonly string[];\n\texternalEntries: readonly ResolvedTemplateLayerEntry[];\n\ttemplateId: BlockSpec[\"template\"][\"family\"];\n}): string[] {\n\tconst orderedLayerDirs: string[] = [];\n\tconst seenLayerDirs = new Set<string>();\n\n\tfor (const layerDir of baseLayerDirs) {\n\t\tif (seenLayerDirs.has(layerDir)) {\n\t\t\tcontinue;\n\t\t}\n\t\torderedLayerDirs.push(layerDir);\n\t\tseenLayerDirs.add(layerDir);\n\t}\n\n\tfor (const entry of externalEntries) {\n\t\tif (seenLayerDirs.has(entry.dir)) {\n\t\t\tcontinue;\n\t\t}\n\t\torderedLayerDirs.push(entry.dir);\n\t\tseenLayerDirs.add(entry.dir);\n\t}\n\n\tconst overlayDir = getBuiltInTemplateOverlayDir(templateId);\n\tif (!seenLayerDirs.has(overlayDir)) {\n\t\torderedLayerDirs.push(overlayDir);\n\t}\n\n\treturn orderedLayerDirs;\n}\n\nasync function runCleanupGroup(\n\tlabel: string,\n\tcleanups: Array<(() => Promise<void>) | undefined>,\n): Promise<void> {\n\tconst cleanupErrors: Error[] = [];\n\tconst seen = new Set<(() => Promise<void>) | undefined>();\n\n\tfor (const cleanup of cleanups) {\n\t\tif (!cleanup || seen.has(cleanup)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(cleanup);\n\t\ttry {\n\t\t\tawait cleanup();\n\t\t} catch (error) {\n\t\t\tcleanupErrors.push(error instanceof Error ? error : new Error(String(error)));\n\t\t}\n\t}\n\n\tif (cleanupErrors.length > 0) {\n\t\tthrow new Error(\n\t\t\t[\n\t\t\t\tlabel,\n\t\t\t\t...cleanupErrors.map((error) => `- ${error.message}`),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t}\n}\n\nexport class BlockGeneratorService {\n\tasync plan({\n\t\tallowExistingDir = false,\n\t\talternateRenderTargets,\n\t\tanswers,\n\t\tcwd = process.cwd(),\n\t\tdataStorageMode,\n\t\texternalLayerId,\n\t\texternalLayerSource,\n\t\texternalLayerSourceLabel,\n\t\tnoInstall = false,\n\t\tpackageManager,\n\t\tpersistencePolicy,\n\t\tprojectDir,\n\t\trepositoryReference,\n\t\ttemplateId,\n\t\tvariant,\n\t\twithMigrationUi = false,\n\t\twithTestPreset = false,\n\t\twithWpEnv = false,\n\t}: PlanBlockInput): Promise<PlanBlockResult> {\n\t\treturn {\n\t\t\tspec: createBuiltInBlockSpec({\n\t\t\t\talternateRenderTargets,\n\t\t\t\tanswers,\n\t\t\t\tdataStorageMode,\n\t\t\t\tpersistencePolicy,\n\t\t\t\ttemplateId,\n\t\t\t\twithMigrationUi,\n\t\t\t\twithTestPreset,\n\t\t\t\twithWpEnv,\n\t\t\t}),\n\t\t\ttarget: {\n\t\t\t\tallowExistingDir,\n\t\t\t\tcwd,\n\t\t\t\texternalLayerId,\n\t\t\t\texternalLayerSource,\n\t\t\t\texternalLayerSourceLabel,\n\t\t\t\tnoInstall,\n\t\t\t\tpackageManager,\n\t\t\t\tprojectDir,\n\t\t\t\trepositoryReference,\n\t\t\t\tvariant,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync validate({ plan }: ValidateBlockInput): Promise<ValidateBlockResult> {\n\t\tassertExternalLayerCompositionOptions({\n\t\t\texternalLayerId: plan.target.externalLayerId,\n\t\t\texternalLayerSource: plan.target.externalLayerSource,\n\t\t});\n\t\tassertBuiltInTemplateVariantAllowed({\n\t\t\ttemplateId: plan.spec.template.family,\n\t\t\tvariant: plan.target.variant,\n\t\t});\n\n\t\treturn plan;\n\t}\n\n\tasync render({ validated }: RenderBlockInput): Promise<RenderBlockResult> {\n\t\tconst variables = buildTemplateVariablesFromBlockSpec(validated.spec);\n\t\tconst persistenceEnabled = validated.spec.persistence.enabled;\n\t\tconst artifacts = buildBuiltInBlockArtifacts({\n\t\t\ttemplateId: validated.spec.template.family,\n\t\t\tvariables,\n\t\t});\n\t\tconst codeArtifacts = buildBuiltInCodeArtifacts({\n\t\t\ttemplateId: validated.spec.template.family,\n\t\t\tvariables,\n\t\t});\n\t\tconst templateVariantOptions = {\n\t\t\tpersistenceEnabled,\n\t\t\tpersistencePolicy:\n\t\t\t\tvalidated.spec.persistence.enabled &&\n\t\t\t\tvalidated.spec.persistence.persistencePolicy === \"public\"\n\t\t\t\t\t? \"public\"\n\t\t\t\t\t: \"authenticated\",\n\t\t} as const;\n\t\tlet templateSource = await resolveBuiltInTemplateSource(\n\t\t\tvalidated.spec.template.family,\n\t\t\ttemplateVariantOptions,\n\t\t);\n\t\tconst warnings = [...(templateSource.warnings ?? [])];\n\n\t\tif (validated.target.externalLayerSource) {\n\t\t\tlet layerSeed:\n\t\t\t\t| Awaited<ReturnType<typeof resolveTemplateSeed>>\n\t\t\t\t| undefined;\n\t\t\tlet pendingLayerCleanup: (() => Promise<void>) | undefined;\n\t\t\tlet pendingTemplateCleanup: (() => Promise<void>) | undefined;\n\t\t\tlet composedCleanup: (() => Promise<void>) | undefined;\n\t\t\ttry {\n\t\t\t\tlayerSeed = await resolveTemplateSeed(\n\t\t\t\t\tparseTemplateLocator(validated.target.externalLayerSource),\n\t\t\t\t\tvalidated.target.cwd,\n\t\t\t\t);\n\t\t\t\tpendingLayerCleanup = layerSeed.cleanup;\n\t\t\t\tconst resolvedLayers = await resolveExternalTemplateLayers({\n\t\t\t\t\texternalLayerId: validated.target.externalLayerId,\n\t\t\t\t\tsourceRoot: layerSeed.rootDir,\n\t\t\t\t});\n\t\t\t\tconst baseLayerDirs = getBuiltInTemplateSharedLayerDirs(\n\t\t\t\t\tvalidated.spec.template.family,\n\t\t\t\t\ttemplateVariantOptions,\n\t\t\t\t);\n\t\t\t\tawait assertExternalTemplateLayersDoNotWriteProtectedOutputs({\n\t\t\t\t\texternalEntries: resolvedLayers.entries,\n\t\t\t\t\tprotectedOutputPaths: buildProtectedTemplateOutputPaths({\n\t\t\t\t\t\tartifacts,\n\t\t\t\t\t\tcodeArtifacts,\n\t\t\t\t\t\tspec: validated.spec,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tview: variables,\n\t\t\t\t\t});\n\n\t\t\t\tconst previousTemplateCleanup = templateSource.cleanup;\n\t\t\t\tconst nextTemplateSource = await resolveBuiltInTemplateSourceFromLayerDirs(\n\t\t\t\t\tvalidated.spec.template.family,\n\t\t\t\t\tbuildCombinedTemplateLayerDirs({\n\t\t\t\t\t\tbaseLayerDirs,\n\t\t\t\t\t\texternalEntries: resolvedLayers.entries,\n\t\t\t\t\t\ttemplateId: validated.spec.template.family,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tpendingTemplateCleanup = nextTemplateSource.cleanup;\n\t\t\t\tawait previousTemplateCleanup?.();\n\t\t\t\ttemplateSource = nextTemplateSource;\n\t\t\t\tcomposedCleanup = async () =>\n\t\t\t\t\trunCleanupGroup(\"Failed to cleanup composed template sources.\", [\n\t\t\t\t\t\tpendingTemplateCleanup,\n\t\t\t\t\t\tpendingLayerCleanup,\n\t\t\t\t\t]);\n\t\t\t\ttemplateSource.cleanup = composedCleanup;\n\t\t\t\twarnings.push(\n\t\t\t\t\t`Applied external layer \"${resolvedLayers.selectedLayerId}\" from \"${validated.target.externalLayerSourceLabel ?? validated.target.externalLayerSource}\".`,\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tif (composedCleanup) {\n\t\t\t\t\t\tawait composedCleanup();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tawait runCleanupGroup(\n\t\t\t\t\t\t\t\"Failed to cleanup partially composed template sources.\",\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\ttemplateSource.cleanup,\n\t\t\t\t\t\t\t\tpendingTemplateCleanup,\n\t\t\t\t\t\t\t\tpendingLayerCleanup,\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Preserve the original compose failure instead of masking it with cleanup errors.\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tconst rendered: RenderBlockResult = {\n\t\t\t...validated,\n\t\t\tcleanup: templateSource.cleanup,\n\t\t\tgitignoreContent: buildGitignore(),\n\t\t\tpostRender: {\n\t\t\t\tapplyLocalDevPresets: true,\n\t\t\t\tapplyMigrationUiCapability: validated.spec.runtime.withMigrationUi,\n\t\t\t\tseedPersistenceArtifacts:\n\t\t\t\t\tvalidated.spec.template.family === \"persistence\" ||\n\t\t\t\t\t(validated.spec.template.family === \"compound\" && persistenceEnabled),\n\t\t\t\tseedStarterManifestFiles: true,\n\t\t\t},\n\t\t\treadmeContent: buildReadme(\n\t\t\t\tvalidated.spec.template.family,\n\t\t\t\tvariables,\n\t\t\t\tvalidated.target.packageManager,\n\t\t\t\t{\n\t\t\t\t\twithMigrationUi: validated.spec.runtime.withMigrationUi,\n\t\t\t\t\twithTestPreset: validated.spec.runtime.withTestPreset,\n\t\t\t\t\twithWpEnv: validated.spec.runtime.withWpEnv,\n\t\t\t\t},\n\t\t\t),\n\t\t\tselectedVariant: null,\n\t\t\ttemplateDir: templateSource.templateDir,\n\t\t\tvariables,\n\t\t\twarnings,\n\t\t};\n\n\t\trenderedArtifactCache.set(rendered, {\n\t\t\tartifacts,\n\t\t\tcodeArtifacts,\n\t\t\tvariablesFingerprint: createVariablesFingerprint(variables),\n\t\t});\n\n\t\treturn rendered;\n\t}\n\n\tasync apply({\n\t\trendered,\n\t\tinstallDependencies,\n\t\tonProgress,\n\t}: ApplyBlockInput): Promise<ScaffoldProjectResult> {\n\t\tconst cachedArtifacts = renderedArtifactCache.get(rendered);\n\t\tconst currentVariablesFingerprint = createVariablesFingerprint(\n\t\t\trendered.variables,\n\t\t);\n\t\tconst artifacts =\n\t\t\tcachedArtifacts &&\n\t\t\tcachedArtifacts.variablesFingerprint === currentVariablesFingerprint\n\t\t\t\t? cachedArtifacts.artifacts\n\t\t\t\t: buildBuiltInBlockArtifacts({\n\t\t\t\t\t\ttemplateId: rendered.spec.template.family,\n\t\t\t\t\t\tvariables: rendered.variables,\n\t\t\t\t\t});\n\t\tconst codeArtifacts =\n\t\t\tcachedArtifacts &&\n\t\t\tcachedArtifacts.variablesFingerprint === currentVariablesFingerprint\n\t\t\t\t? cachedArtifacts.codeArtifacts\n\t\t\t\t: buildBuiltInCodeArtifacts({\n\t\t\t\t\t\ttemplateId: rendered.spec.template.family,\n\t\t\t\t\t\tvariables: rendered.variables,\n\t\t\t\t\t});\n\n\t\ttry {\n\t\t\tawait applyBuiltInScaffoldProjectFiles({\n\t\t\t\tallowExistingDir: rendered.target.allowExistingDir,\n\t\t\t\tartifacts,\n\t\t\t\tcodeArtifacts,\n\t\t\t\tinstallDependencies,\n\t\t\t\tnoInstall: rendered.target.noInstall,\n\t\t\t\tonProgress,\n\t\t\t\tpackageManager: rendered.target.packageManager,\n\t\t\t\tprojectDir: rendered.target.projectDir,\n\t\t\t\trepositoryReference: rendered.target.repositoryReference,\n\t\t\t\tgitignoreContent: rendered.gitignoreContent,\n\t\t\t\treadmeContent: rendered.readmeContent,\n\t\t\t\ttemplateDir: rendered.templateDir,\n\t\t\t\ttemplateId: rendered.spec.template.family,\n\t\t\t\tvariables: rendered.variables,\n\t\t\t\twithMigrationUi: rendered.spec.runtime.withMigrationUi,\n\t\t\t\twithTestPreset: rendered.spec.runtime.withTestPreset,\n\t\t\t\twithWpEnv: rendered.spec.runtime.withWpEnv,\n\t\t\t});\n\t\t} finally {\n\t\t\tawait rendered.cleanup?.();\n\t\t}\n\n\t\treturn {\n\t\t\tpackageManager: rendered.target.packageManager,\n\t\t\tprojectDir: rendered.target.projectDir,\n\t\t\tselectedVariant: rendered.selectedVariant,\n\t\t\ttemplateId: rendered.spec.template.family,\n\t\t\tvariables: rendered.variables,\n\t\t\twarnings: rendered.warnings,\n\t\t};\n\t}\n}\n",
100
- "import {\n buildTemplateVariablesFromBlockSpec,\n createBuiltInBlockSpec,\n} from './block-generator-service.js';\nimport { getPackageVersions } from './package-versions.js';\nimport {\n buildBlockCssClassName,\n buildFrontendCssClassName,\n resolveScaffoldIdentifiers,\n} from './scaffold-identifiers.js';\nimport type {\n ScaffoldAnswers,\n ScaffoldTemplateVariables,\n} from './scaffold.js';\nimport {\n BUILTIN_BLOCK_METADATA_VERSION,\n COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS,\n getBuiltInTemplateMetadataDefaults,\n} from './template-defaults.js';\nimport {\n DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID,\n getCompoundInnerBlocksPresetDefinition,\n} from './compound-inner-blocks.js';\nimport {\n getTemplateById,\n isBuiltInTemplateId,\n} from './template-registry.js';\nimport {\n toPascalCase,\n toSnakeCase,\n} from './string-case.js';\n\n/**\n * Build the normalized template variables used by scaffold rendering.\n *\n * @param templateId Selected scaffold template identifier.\n * @param answers Normalized scaffold answers collected from defaults, flags, and prompts.\n * @returns Template variables ready for file interpolation and generated artifacts.\n */\nexport function getTemplateVariables(\n templateId: string,\n answers: ScaffoldAnswers,\n): ScaffoldTemplateVariables {\n if (isBuiltInTemplateId(templateId)) {\n return buildTemplateVariablesFromBlockSpec(\n createBuiltInBlockSpec({\n answers,\n dataStorageMode: answers.dataStorageMode,\n persistencePolicy: answers.persistencePolicy,\n templateId,\n }),\n );\n }\n\n const {\n apiClientPackageVersion,\n blockRuntimePackageVersion,\n blockTypesPackageVersion,\n projectToolsPackageVersion,\n restPackageVersion,\n } = getPackageVersions();\n const template = isBuiltInTemplateId(templateId) ? getTemplateById(templateId) : null;\n const metadataDefaults = isBuiltInTemplateId(templateId)\n ? getBuiltInTemplateMetadataDefaults(templateId)\n : null;\n const identifiers = resolveScaffoldIdentifiers({\n namespace: answers.namespace,\n phpPrefix: answers.phpPrefix,\n slug: answers.slug,\n textDomain: answers.textDomain,\n });\n const slug = identifiers.slug;\n const slugSnakeCase = toSnakeCase(slug);\n const pascalCase = toPascalCase(slug);\n const title = answers.title.trim();\n const namespace = identifiers.namespace;\n const description = answers.description.trim();\n const textDomain = identifiers.textDomain;\n const phpPrefix = identifiers.phpPrefix;\n const phpPrefixUpper = phpPrefix.toUpperCase();\n const compoundChildTitle = `${title} Item`;\n const cssClassName = buildBlockCssClassName(namespace, slug);\n const compoundChildCssClassName = buildBlockCssClassName(namespace, `${slug}-item`);\n const compoundInnerBlocksPreset =\n answers.compoundInnerBlocksPreset ?? DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID;\n const compoundInnerBlocksPresetDefinition =\n getCompoundInnerBlocksPresetDefinition(compoundInnerBlocksPreset);\n const compoundPersistenceEnabled =\n templateId === 'persistence'\n ? true\n : templateId === 'compound'\n ? Boolean(answers.dataStorageMode || answers.persistencePolicy)\n : false;\n const dataStorageMode =\n templateId === 'persistence' || compoundPersistenceEnabled\n ? answers.dataStorageMode ?? 'custom-table'\n : 'custom-table';\n const persistencePolicy =\n templateId === 'persistence' || compoundPersistenceEnabled\n ? answers.persistencePolicy ?? 'authenticated'\n : 'authenticated';\n\n return {\n alternateRenderTargetsCsv: '',\n alternateRenderTargetsJson: '[]',\n apiClientPackageVersion,\n author: answers.author.trim(),\n blockRuntimePackageVersion,\n blockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n blockTypesPackageVersion,\n category: metadataDefaults?.category ?? template?.defaultCategory ?? 'widgets',\n icon: metadataDefaults?.icon ?? 'smiley',\n compoundChildTitle,\n compoundChildCategory: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.category,\n compoundChildCssClassName,\n compoundChildIcon: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.icon,\n compoundChildTitleJson: JSON.stringify(compoundChildTitle),\n compoundPersistenceEnabled: compoundPersistenceEnabled ? 'true' : 'false',\n compoundInnerBlocksDirectInsert: compoundInnerBlocksPresetDefinition.directInsert\n ? 'true'\n : 'false',\n compoundInnerBlocksOrientation:\n compoundInnerBlocksPresetDefinition.orientation ?? '',\n compoundInnerBlocksOrientationExpression:\n compoundInnerBlocksPresetDefinition.orientation\n ? `'${compoundInnerBlocksPresetDefinition.orientation}'`\n : 'undefined',\n compoundInnerBlocksPreset,\n compoundInnerBlocksPresetDescription:\n compoundInnerBlocksPresetDefinition.description,\n compoundInnerBlocksPresetLabel: compoundInnerBlocksPresetDefinition.label,\n compoundInnerBlocksTemplateLockExpression:\n compoundInnerBlocksPresetDefinition.templateLock === false\n ? 'false'\n : `'${compoundInnerBlocksPresetDefinition.templateLock}'`,\n hasAlternateEmailRenderTarget: 'false',\n hasAlternateMjmlRenderTarget: 'false',\n hasAlternatePlainTextRenderTarget: 'false',\n hasAlternateRenderTargets: 'false',\n projectToolsPackageVersion,\n cssClassName,\n dataStorageMode,\n dashCase: slug,\n description,\n descriptionJson: JSON.stringify(description),\n frontendCssClassName: buildFrontendCssClassName(cssClassName),\n queryAllowedControlsJson: JSON.stringify([], null, 2),\n queryPostType: answers.queryPostType?.trim() || 'post',\n queryPostTypeJson: JSON.stringify(answers.queryPostType?.trim() || 'post'),\n queryVariationNamespace: `${namespace}/${slug}`,\n queryVariationNamespaceJson: JSON.stringify(`${namespace}/${slug}`),\n isAuthenticatedPersistencePolicy:\n persistencePolicy === 'authenticated' ? 'true' : 'false',\n isPublicPersistencePolicy: persistencePolicy === 'public' ? 'true' : 'false',\n bootstrapCredentialDeclarations:\n persistencePolicy === 'public'\n ? \"publicWriteExpiresAt?: number & tags.Type< 'uint32' >;\\n\\tpublicWriteToken?: string & tags.MinLength< 1 > & tags.MaxLength< 512 >;\"\n : \"restNonce?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n persistencePolicyDescriptionJson: JSON.stringify(\n persistencePolicy === 'authenticated'\n ? 'Writes require a logged-in user and a valid REST nonce.'\n : 'Anonymous writes use signed short-lived public tokens, per-request ids, and coarse rate limiting.',\n ),\n keyword: slug.replace(/-/g, ' '),\n namespace,\n needsMigration: '{{needsMigration}}',\n pascalCase,\n phpPrefix,\n phpPrefixUpper,\n restPackageVersion,\n publicWriteRequestIdDeclaration:\n persistencePolicy === 'public'\n ? \"publicWriteRequestId: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\"\n : \"publicWriteRequestId?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n restWriteAuthIntent:\n persistencePolicy === 'public'\n ? 'public-write-protected'\n : 'authenticated',\n restWriteAuthMechanism:\n persistencePolicy === 'public' ? 'public-signed-token' : 'rest-nonce',\n restWriteAuthMode:\n persistencePolicy === 'public' ? 'public-signed-token' : 'authenticated-rest-nonce',\n slug,\n slugCamelCase: pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1),\n slugKebabCase: slug,\n slugSnakeCase,\n textDomain,\n textdomain: textDomain,\n title,\n titleJson: JSON.stringify(title),\n titleCase: pascalCase,\n persistencePolicy,\n };\n}\n",
103
+ "import {\n buildTemplateVariablesFromBlockSpec,\n createBuiltInBlockSpec,\n} from './block-generator-service.js';\nimport { getPackageVersions } from './package-versions.js';\nimport {\n buildBlockCssClassName,\n buildFrontendCssClassName,\n resolveScaffoldIdentifiers,\n} from './scaffold-identifiers.js';\nimport type {\n FlatScaffoldTemplateVariables,\n ScaffoldAnswers,\n ScaffoldTemplateVariables,\n} from './scaffold.js';\nimport {\n BUILTIN_BLOCK_METADATA_VERSION,\n COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS,\n getBuiltInTemplateMetadataDefaults,\n} from './template-defaults.js';\nimport {\n DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID,\n getCompoundInnerBlocksPresetDefinition,\n} from './compound-inner-blocks.js';\nimport {\n getTemplateById,\n isBuiltInTemplateId,\n} from './template-registry.js';\nimport {\n toPascalCase,\n toSnakeCase,\n} from './string-case.js';\nimport { attachScaffoldTemplateVariableGroups } from \"./scaffold-template-variable-groups.js\";\n\n/**\n * Build the normalized template variables used by scaffold rendering.\n *\n * @param templateId Selected scaffold template identifier.\n * @param answers Normalized scaffold answers collected from defaults, flags, and prompts.\n * @returns Template variables ready for file interpolation and generated artifacts.\n */\nexport function getTemplateVariables(\n templateId: string,\n answers: ScaffoldAnswers,\n): ScaffoldTemplateVariables {\n if (isBuiltInTemplateId(templateId)) {\n return buildTemplateVariablesFromBlockSpec(\n createBuiltInBlockSpec({\n answers,\n dataStorageMode: answers.dataStorageMode,\n persistencePolicy: answers.persistencePolicy,\n templateId,\n }),\n );\n }\n\n const {\n apiClientPackageVersion,\n blockRuntimePackageVersion,\n blockTypesPackageVersion,\n projectToolsPackageVersion,\n restPackageVersion,\n } = getPackageVersions();\n const template = isBuiltInTemplateId(templateId) ? getTemplateById(templateId) : null;\n const metadataDefaults = isBuiltInTemplateId(templateId)\n ? getBuiltInTemplateMetadataDefaults(templateId)\n : null;\n const identifiers = resolveScaffoldIdentifiers({\n namespace: answers.namespace,\n phpPrefix: answers.phpPrefix,\n slug: answers.slug,\n textDomain: answers.textDomain,\n });\n const slug = identifiers.slug;\n const slugSnakeCase = toSnakeCase(slug);\n const pascalCase = toPascalCase(slug);\n const title = answers.title.trim();\n const namespace = identifiers.namespace;\n const description = answers.description.trim();\n const textDomain = identifiers.textDomain;\n const phpPrefix = identifiers.phpPrefix;\n const phpPrefixUpper = phpPrefix.toUpperCase();\n const compoundChildTitle = `${title} Item`;\n const cssClassName = buildBlockCssClassName(namespace, slug);\n const compoundChildCssClassName = buildBlockCssClassName(namespace, `${slug}-item`);\n const compoundInnerBlocksPreset =\n answers.compoundInnerBlocksPreset ?? DEFAULT_COMPOUND_INNER_BLOCKS_PRESET_ID;\n const compoundInnerBlocksPresetDefinition =\n getCompoundInnerBlocksPresetDefinition(compoundInnerBlocksPreset);\n const compoundPersistenceEnabled =\n templateId === 'persistence'\n ? true\n : templateId === 'compound'\n ? Boolean(answers.dataStorageMode || answers.persistencePolicy)\n : false;\n const dataStorageMode =\n templateId === 'persistence' || compoundPersistenceEnabled\n ? answers.dataStorageMode ?? 'custom-table'\n : 'custom-table';\n const persistencePolicy =\n templateId === 'persistence' || compoundPersistenceEnabled\n ? answers.persistencePolicy ?? 'authenticated'\n : 'authenticated';\n\n const flatVariables: FlatScaffoldTemplateVariables = {\n alternateRenderTargetsCsv: '',\n alternateRenderTargetsJson: '[]',\n apiClientPackageVersion,\n author: answers.author.trim(),\n blockRuntimePackageVersion,\n blockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n blockTypesPackageVersion,\n category: metadataDefaults?.category ?? template?.defaultCategory ?? 'widgets',\n icon: metadataDefaults?.icon ?? 'smiley',\n compoundChildTitle,\n compoundChildCategory: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.category,\n compoundChildCssClassName,\n compoundChildIcon: COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS.icon,\n compoundChildTitleJson: JSON.stringify(compoundChildTitle),\n compoundPersistenceEnabled: compoundPersistenceEnabled ? 'true' : 'false',\n compoundInnerBlocksDirectInsert: compoundInnerBlocksPresetDefinition.directInsert\n ? 'true'\n : 'false',\n compoundInnerBlocksOrientation:\n compoundInnerBlocksPresetDefinition.orientation ?? '',\n compoundInnerBlocksOrientationExpression:\n compoundInnerBlocksPresetDefinition.orientation\n ? `'${compoundInnerBlocksPresetDefinition.orientation}'`\n : 'undefined',\n compoundInnerBlocksPreset,\n compoundInnerBlocksPresetDescription:\n compoundInnerBlocksPresetDefinition.description,\n compoundInnerBlocksPresetLabel: compoundInnerBlocksPresetDefinition.label,\n compoundInnerBlocksTemplateLockExpression:\n compoundInnerBlocksPresetDefinition.templateLock === false\n ? 'false'\n : `'${compoundInnerBlocksPresetDefinition.templateLock}'`,\n hasAlternateEmailRenderTarget: 'false',\n hasAlternateMjmlRenderTarget: 'false',\n hasAlternatePlainTextRenderTarget: 'false',\n hasAlternateRenderTargets: 'false',\n projectToolsPackageVersion,\n cssClassName,\n dataStorageMode,\n dashCase: slug,\n description,\n descriptionJson: JSON.stringify(description),\n frontendCssClassName: buildFrontendCssClassName(cssClassName),\n queryAllowedControlsJson: JSON.stringify([], null, 2),\n queryPostType: answers.queryPostType?.trim() || 'post',\n queryPostTypeJson: JSON.stringify(answers.queryPostType?.trim() || 'post'),\n queryVariationNamespace: `${namespace}/${slug}`,\n queryVariationNamespaceJson: JSON.stringify(`${namespace}/${slug}`),\n isAuthenticatedPersistencePolicy:\n persistencePolicy === 'authenticated' ? 'true' : 'false',\n isPublicPersistencePolicy: persistencePolicy === 'public' ? 'true' : 'false',\n bootstrapCredentialDeclarations:\n persistencePolicy === 'public'\n ? \"publicWriteExpiresAt?: number & tags.Type< 'uint32' >;\\n\\tpublicWriteToken?: string & tags.MinLength< 1 > & tags.MaxLength< 512 >;\"\n : \"restNonce?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n persistencePolicyDescriptionJson: JSON.stringify(\n persistencePolicy === 'authenticated'\n ? 'Writes require a logged-in user and a valid REST nonce.'\n : 'Anonymous writes use signed short-lived public tokens, per-request ids, and coarse rate limiting.',\n ),\n keyword: slug.replace(/-/g, ' '),\n namespace,\n needsMigration: '{{needsMigration}}',\n pascalCase,\n phpPrefix,\n phpPrefixUpper,\n restPackageVersion,\n publicWriteRequestIdDeclaration:\n persistencePolicy === 'public'\n ? \"publicWriteRequestId: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\"\n : \"publicWriteRequestId?: string & tags.MinLength< 1 > & tags.MaxLength< 128 >;\",\n restWriteAuthIntent:\n persistencePolicy === 'public'\n ? 'public-write-protected'\n : 'authenticated',\n restWriteAuthMechanism:\n persistencePolicy === 'public' ? 'public-signed-token' : 'rest-nonce',\n restWriteAuthMode:\n persistencePolicy === 'public' ? 'public-signed-token' : 'authenticated-rest-nonce',\n slug,\n slugCamelCase: pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1),\n slugKebabCase: slug,\n slugSnakeCase,\n textDomain,\n textdomain: textDomain,\n title,\n titleJson: JSON.stringify(title),\n titleCase: pascalCase,\n persistencePolicy,\n };\n\n return attachScaffoldTemplateVariableGroups(flatVariables, {\n alternateRenderTargets: {\n csv: '',\n enabled: false,\n hasEmail: false,\n hasMjml: false,\n hasPlainText: false,\n json: '[]',\n targets: [],\n },\n compound: {\n enabled: false,\n persistenceEnabled: false,\n },\n persistence: {\n enabled: false,\n scope: 'none',\n },\n queryLoop: {\n enabled: false,\n },\n shared: {\n author: answers.author.trim(),\n blockMetadataVersion: BUILTIN_BLOCK_METADATA_VERSION,\n category: metadataDefaults?.category ?? template?.defaultCategory ?? 'widgets',\n cssClassName,\n description,\n descriptionJson: JSON.stringify(description),\n frontendCssClassName: buildFrontendCssClassName(cssClassName),\n icon: metadataDefaults?.icon ?? 'smiley',\n keyword: slug.replace(/-/g, ' '),\n namespace,\n pascalCase,\n phpPrefix,\n phpPrefixUpper,\n slug,\n slugCamelCase: pascalCase.charAt(0).toLowerCase() + pascalCase.slice(1),\n slugKebabCase: slug,\n slugSnakeCase,\n textDomain,\n title,\n titleCase: pascalCase,\n titleJson: JSON.stringify(title),\n versions: {\n apiClient: apiClientPackageVersion,\n blockRuntime: blockRuntimePackageVersion,\n blockTypes: blockTypesPackageVersion,\n projectTools: projectToolsPackageVersion,\n rest: restPackageVersion,\n },\n },\n template: {\n description: template?.description ?? 'External scaffold template variables',\n },\n templateFamily: 'external',\n });\n}\n",
101
104
  "import {\n\tparseTemplateLocator,\n\tresolveTemplateSeed,\n} from \"./template-source.js\";\nimport {\n\tlistSelectableExternalTemplateLayers,\n\ttype SelectableExternalTemplateLayer,\n} from \"./template-layers.js\";\n\nexport interface ExternalLayerSelectionOption\n\textends SelectableExternalTemplateLayer {}\n\nexport interface ResolvedExternalLayerSelection {\n\tcleanup?: () => Promise<void>;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n}\n\nexport async function resolveOptionalInteractiveExternalLayerId({\n\tcallerCwd,\n\texternalLayerId,\n\texternalLayerSource,\n\tselectExternalLayerId,\n}: {\n\tcallerCwd: string;\n\texternalLayerId?: string;\n\texternalLayerSource?: string;\n\tselectExternalLayerId?: (\n\t\toptions: ExternalLayerSelectionOption[],\n\t) => Promise<string>;\n}): Promise<ResolvedExternalLayerSelection> {\n\tif (!externalLayerSource || externalLayerId || !selectExternalLayerId) {\n\t\treturn {\n\t\t\texternalLayerId,\n\t\t\texternalLayerSource,\n\t\t};\n\t}\n\n\tconst layerSeed = await resolveTemplateSeed(\n\t\tparseTemplateLocator(externalLayerSource),\n\t\tcallerCwd,\n\t);\n\ttry {\n\t\tconst selectableLayers = await listSelectableExternalTemplateLayers(\n\t\t\tlayerSeed.rootDir,\n\t\t);\n\t\tif (selectableLayers.length <= 1) {\n\t\t\tawait layerSeed.cleanup?.();\n\t\t\treturn {\n\t\t\t\texternalLayerId,\n\t\t\t\texternalLayerSource,\n\t\t\t};\n\t\t}\n\n\t\tconst selectedLayerId = await selectExternalLayerId(selectableLayers);\n\t\tif (selectableLayers.some((layer) => layer.id === selectedLayerId)) {\n\t\t\treturn {\n\t\t\t\tcleanup: layerSeed.cleanup,\n\t\t\t\texternalLayerId: selectedLayerId,\n\t\t\t\texternalLayerSource: layerSeed.rootDir,\n\t\t\t};\n\t\t}\n\n\t\tawait layerSeed.cleanup?.();\n\t\tthrow new Error(\n\t\t\t`Unknown external layer \"${selectedLayerId}\". Expected one of: ${selectableLayers.map((layer) => layer.id).join(\", \")}`,\n\t\t);\n\t} catch (error) {\n\t\tawait layerSeed.cleanup?.();\n\t\tthrow error;\n\t}\n}\n"
102
105
  ],
103
- "mappings": "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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0HpC,IAAM,sCAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgN5C,IAAM,+CAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgC5B,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkD7B,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACtNlC,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgQpC,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6GpC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsCrC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4GtC,IAAM,oCAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AC/f1C,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsKlC,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BnC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOlC,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CxC,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACrP3C,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACAlC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkGtC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCtC,IAAM,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BvC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAatC,IAAM,sCAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqC5C,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACjNnC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4ErC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCrC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BtC,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AC1I3C,IAAM,4CAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgIlD,IAAM,4CAA4C;AAAA;AAAA;AAAA;AAKlD,IAAM,kDAAkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CxD,IAAM,qDAAqD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AC9GlE,SAAS,kBAAkB,CAC1B,U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",
104
- "debugId": "23F201B1C2B788B264756E2164756E21",
106
+ "mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8DrC,IAAM,sCAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5C,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDnC,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0HpC,IAAM,sCAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgN5C,IAAM,+CAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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;AAAA;AAAA;AAAA;AAAA;AAAA;AAoI5B,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgC5B,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkD7B,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACtNlC,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgQpC,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6GpC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsCrC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4GtC,IAAM,oCAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AC/f1C,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsKlC,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BnC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOlC,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CxC,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACrP3C,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACAlC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkGtC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCtC,IAAM,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BvC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAatC,IAAM,sCAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqC5C,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACjNnC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4ErC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCrC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BtC,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AC1I3C,IAAM,4CAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgIlD,IAAM,4CAA4C;AAAA;AAAA;AAAA;AAKlD,IAAM,kDAAkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CxD,IAAM,qDAAqD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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",
107
+ "debugId": "91CDBEC7FE018E1B64756E2164756E21",
105
108
  "names": []
106
109
  }