@platforma-sdk/block-tools 2.17.0 → 2.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
13
13
  ---
14
14
 
15
15
  Initial release.
16
- `;function tr(e){return{$schema:`https://unpkg.com/@changesets/config@3.1.1/schema.json`,changelog:rr,commit:!1,fixed:[lr(e)],linked:[],access:ir,baseBranch:ar,updateInternalDependencies:or,ignore:[]}}function nr(e){N(`changelog`,rr),N(`commit`,!1),N(`access`,ir),N(`baseBranch`,ar),N(`updateInternalDependencies`,or);let t=lr(e);vt(`fixed`,e=>ur(e,t)),U(sr)}var rr=`@changesets/cli/changelog`,ir=`restricted`,ar=`main`,or=`patch`,sr=[`$schema`,`changelog`,`commit`,`fixed`,`linked`,`access`,`baseBranch`,`updateInternalDependencies`,`ignore`],cr=[`block`,`model`,`ui`,`workflow`];function lr(e){return cr.flatMap(t=>G(e,t).map(e=>e.name))}function ur(e,t){let n=new Set(t),r=Array.isArray(e)?e.filter(dr):[],i=r.findIndex(e=>e.some(e=>n.has(e))),a=[];return r.forEach((e,r)=>{let o=e.filter(e=>!n.has(e));r===i?a.push([...t,...o]):o.length>0&&a.push(o)}),i===-1&&a.push(t),a}function dr(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function fr(){g(`root`,()=>{_(({ctx:e})=>!e.isSdkInternal,()=>{b(`turbo.json`,D(()=>On()),()=>{kn()}),y(`.vscode/settings.json`,w(`root/.vscode/settings.json`)),b(`package.json`,D(()=>Cn()),()=>{wn()}),b(`pnpm-workspace.yaml`,D(e=>Xn(e)),()=>{Zn()}),b(`.gitignore`,w(`root/.gitignore`),()=>{$n()}),b(`.changeset/config.json`,D(e=>tr(e)),e=>{nr(e)}),S(`.changeset/scaffold.md`,T(er))})})}function pr(e){return e.split(/[-_]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function mr(){g(`root`,()=>{_(({ctx:e})=>!e.isSdkInternal,()=>{y(`.github/workflows/build.yaml`,E(`workflows/build.tpl.yaml`,e=>{let t=e.blockVars.shortName;return{appName:`Block: ${pr(t)}`,appNameSlug:`block-${t}`,nodeVersion:mn}})),y(`.github/workflows/mark-stable.yaml`,E(`workflows/mark-stable.tpl.yaml`,e=>({appName:`Block: ${pr(e.blockVars.shortName)} - Mark Stable`,nodeVersion:mn})))})})}var hr={"@platforma-open":{s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://blocks.pl-open.science`},"@milaboratories":{s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://block.registry.platforma.bio/releases`}},gr={s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://blocks.pl-open.science`},_r={s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/aux/dev/?region=eu-central-1`,serveUrl:`https://aux-blocks.pl-open.science`};function vr(e,t){let n=t?_r:hr[e]??gr;return`block-tools publish -r ${n.s3} --registry-serve-url ${n.serveUrl}`}function yr(e){let t={};for(let n of G(e,`workflow`))t.workflow=`${n.name}/dist/tengo/tpl/main.plj.gz`;for(let n of G(e,`model`))t.model=`${n.name}/dist/model.json`;for(let n of G(e,`ui`))t.ui=`${n.name}/dist`;return t}function br(e,t){return{build:`ts-builder build --target block-facade && block-tools pack`,check:`ts-builder type-check --target block-facade`,prepublishOnly:vr(e,t),"do-pack":`shx rm -f package.tgz && pnpm pack && shx mv *.tgz package.tgz`}}var xr={"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`,"@platforma-sdk/model":`sdk:`,shx:`catalog:`,typescript:`catalog:`},Sr={".":{sources:`./src/index.ts`,types:`./dist/index.d.ts`,default:`./dist/index.js`}};function Cr(e){if(Object.keys(e.components).length===0)throw Error(`block.components is empty — no workflow/model/ui module was discovered`);let t=e.meta,n=[[`block.meta.title`,t.title],[`block.meta.description`,t.description],[`block.meta.logo`,t.logo],[`block.meta.organization.name`,t.organization?.name],[`block.meta.organization.url`,t.organization?.url],[`block.meta.organization.logo`,t.organization?.logo]];for(let[e,t]of n)if(typeof t!=`string`||t===``)throw Error(`required block field '${e}' is empty`)}function wr(e){let t=e.blockVars,n={...xr,...K(e,`model`),...K(e,`ui`),...K(e,`workflow`),...K(e,`kind`)},r={components:yr(e),meta:{title:t.shortName,description:`${t.shortName} block`,logo:`file:logos/block-logo.png`,organization:{name:t.orgScope,url:`https://example.com`,logo:`file:logos/organization-logo.png`}}};return Cr(r),{name:`${t.facadeName}.block`,version:Y,type:`module`,files:[`dist`,`block-pack`],main:`./dist/index.js`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:Sr,scripts:br(t.npmOrg,e.isSdkInternal),dependencies:{},devDependencies:n,block:r}}function Tr(e){let t=e.blockVars,n=G(e,`kind`);if(n.length!==1)throw Error(n.length===0?`block '${t.facadeName}' declares no kind — every block must have a sibling kind/ package`:`block '${t.facadeName}' declares ${n.length} kinds; exactly one is required`);N(`type`,`module`),N(`files`,[`dist`,`block-pack`]),N(`main`,`./dist/index.js`),N(`module`,`./dist/index.js`),N(`types`,`./dist/index.d.ts`),N(`exports`,Sr);let r=br(t.npmOrg,e.isSdkInternal);for(let[e,t]of Object.entries(r))F(e,t);H(`model`),H(`ui`),H(`workflow`),H(`kind`),R(`@milaboratories/ts-builder`,`sdk:`),R(`@milaboratories/ts-configs`,`sdk:`),R(`@platforma-sdk/block-tools`,`sdk:`),R(`@platforma-sdk/model`,`sdk:`),R(`shx`,`catalog:`),R(`typescript`,`catalog:`),N(`block.components`,yr(e)),st(`version`,`facade package.json must carry a 'version' (the facade publishes)`),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Er(e){let t=e.split(/[^A-Za-z0-9]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``);return/^[0-9]/.test(t)?`_${t}`:t}function Dr(){g(`block`,()=>{C(`index.js`),C(`index.d.ts`),y(`src/index.ts`,E(`block/src/index.tpl.ts`,e=>({facadeName:e.blockVars.facadeName,pascalName:Er(e.blockVars.shortName)}))),y(`src/AGENTS.ts`,w(`block/src/AGENTS.ts`)),x(`src/block-extra.ts`,w(`block/src/block-extra.ts`)),x(`src/agents-extra.ts`,w(`block/src/agents-extra.ts`)),y(`tsconfig.json`,w(`block/tsconfig.json`)),S(`logos/block-logo.png`,Me(`block/logos/block-logo.png`)),S(`logos/organization-logo.png`,Me(`block/logos/organization-logo.png`)),b(`package.json`,D(e=>wr(e)),e=>{Tr(e)})})}var Q=`src/**/*.test.ts`,Or=`src/**/*.test.tengo`;function kr(e){return{name:`${e.blockVars.facadeName}.model`,version:Y,private:!0,type:`module`,main:`dist/index.cjs`,module:`dist/index.js`,types:`dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`},"./dist/*":`./dist/*`},scripts:{fmt:`ts-builder format`,watch:`ts-builder build --target block-model --watch`,build:`ts-builder build --target block-model && block-tools build-model`,check:`ts-builder check --target block-model`},dependencies:{"@platforma-sdk/model":`sdk:`,...K(e,`kind`)},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Ar(){X(),N(`private`,!0),N(`type`,`module`),N(`main`,`dist/index.cjs`),N(`module`,`dist/index.js`),N(`types`,`dist/index.d.ts`),N(`exports`,{".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`},"./dist/*":`./dist/*`}),F(`fmt`,`ts-builder format`),F(`watch`,`ts-builder build --target block-model --watch`),F(`build`,`ts-builder build --target block-model && block-tools build-model`),F(`check`,`ts-builder check --target block-model`),L(`@platforma-sdk/model`,`sdk:`),mt(`kind`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`}),V({"@types/node":`*`,typescript:`*`}),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{F(`test`,`vitest run --passWithNoTests`),R(`vitest`,`catalog:`),R(`@types/node`,`*`)},()=>z(`vitest`))),Wn(),P(`tsup`),I(`lint`),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function jr(){g(`model`,()=>{_(v(Q),()=>y(`tsconfig.json`,w(`model/tsconfig.node.json`)),()=>y(`tsconfig.json`,w(`model/tsconfig.json`))),y(`.oxlintrc.json`,w(`model/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`model/.oxfmtrc.json`)),S(`src/index.ts`,E(`model/src/index.tpl.ts`,e=>({kindPkg:`${e.blockVars.facadeName}.kind`}))),b(`package.json`,D(e=>kr(e)),()=>{Ar()})})}var Mr={".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`,require:`./dist/index.cjs`,default:`./dist/index.js`}};function Nr(e){return{name:`${e.blockVars.facadeName}.kind`,version:Y,private:!0,type:`module`,main:`./dist/index.cjs`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:Mr,scripts:{fmt:`ts-builder format`,watch:`ts-builder build --target block-kind --watch`,build:`ts-builder build --target block-kind && block-tools build-kind-manifest`,check:`ts-builder check --target block-kind`},dependencies:{"@platforma-sdk/block-kind":`sdk:`},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Pr(){X(),N(`private`,!0),N(`type`,`module`),N(`main`,`./dist/index.cjs`),N(`module`,`./dist/index.js`),N(`types`,`./dist/index.d.ts`),N(`exports`,Mr),F(`fmt`,`ts-builder format`),F(`watch`,`ts-builder build --target block-kind --watch`),F(`build`,`ts-builder build --target block-kind && block-tools build-kind-manifest`),F(`check`,`ts-builder check --target block-kind`),I(`lint`),L(`@platforma-sdk/block-kind`,`sdk:`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`}),V({"@types/node":`*`,typescript:`*`}),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Fr(){g(`kind`,()=>{y(`tsconfig.json`,w(`kind/tsconfig.json`)),y(`.oxlintrc.json`,w(`kind/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`kind/.oxfmtrc.json`)),x(`src/index.ts`,w(`kind/src/index.ts`)),b(`package.json`,D(e=>Nr(e)),()=>{Pr()})})}function Ir(e){return{name:`${e.blockVars.facadeName}.ui`,version:Y,private:!0,type:`module`,scripts:{fmt:`ts-builder format`,dev:`ts-builder serve --target block-ui`,watch:`ts-builder build --target block-ui --watch`,build:`ts-builder build --target block-ui`,check:`ts-builder check --target block-ui`},dependencies:{"@platforma-sdk/ui-vue":`sdk:`,vue:`catalog:`,...rn(e,`model`)},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Lr(){X(),N(`private`,!0),N(`type`,`module`),F(`fmt`,`ts-builder format`),F(`dev`,`ts-builder serve --target block-ui`),F(`watch`,`ts-builder build --target block-ui --watch`),F(`build`,`ts-builder build --target block-ui`),F(`check`,`ts-builder check --target block-ui`),L(`@platforma-sdk/ui-vue`,`sdk:`),L(`vue`,`catalog:`),mt(`model`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`}),Wn(),I(`preview`),I(`lint`),V({"@types/node":`*`,typescript:`*`}),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{F(`test`,`vitest run --passWithNoTests`),R(`vitest`,`catalog:`),R(`@types/node`,`*`)},()=>z(`vitest`))),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Rr(){g(`ui`,()=>{_(v(Q),()=>y(`tsconfig.json`,w(`ui/tsconfig.node.json`)),()=>y(`tsconfig.json`,w(`ui/tsconfig.json`))),y(`.oxlintrc.json`,w(`ui/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`ui/.oxfmtrc.json`)),x(`index.html`,w(`ui/index.html`)),S(`src/main.ts`,w(`ui/src/main.ts`)),S(`src/app.ts`,E(`ui/src/app.tpl.ts`,e=>({modelPkg:`${e.blockVars.facadeName}.model`}))),S(`src/MainPage.vue`,E(`ui/src/MainPage.tpl.vue`,e=>({shortName:e.blockVars.shortName}))),b(`package.json`,D(e=>Ir(e)),()=>{Lr()})})}function zr(e){return{name:`${e.blockVars.facadeName}.workflow`,version:Y,private:!0,type:`module`,scripts:{build:`shx rm -rf dist && pl-tengo build`,check:`pl-tengo imports && pl-tengo check`,format:`/usr/bin/env emacs --script ./format.el || echo 'No emacs.'`},dependencies:{"@platforma-sdk/workflow-tengo":`sdk:`,...K(e,`software`)},devDependencies:{"@platforma-sdk/tengo-builder":`sdk:`,"@platforma-sdk/test":`sdk:`,shx:`catalog:`}}}function Br(){X(),N(`private`,!0),N(`type`,`module`),F(`build`,`shx rm -rf dist && pl-tengo build`),F(`check`,`pl-tengo imports && pl-tengo check`),F(`format`,`/usr/bin/env emacs --script ./format.el || echo 'No emacs.'`),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{_(v(Or),()=>F(`test`,`pl-tengo test && vitest run --passWithNoTests`),()=>F(`test`,`vitest run --passWithNoTests`)),B({vitest:`catalog:`})},()=>{_(v(Or),()=>F(`test`,`pl-tengo test`)),z(`vitest`)})),L(`@platforma-sdk/workflow-tengo`,`sdk:`),mt(`software`),B({"@platforma-sdk/tengo-builder":`sdk:`,"@platforma-sdk/test":`sdk:`,shx:`catalog:`}),Wn(),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Vr(){g(`workflow`,()=>{y(`format.el`,w(`workflow/format.el`)),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{y(`tsconfig.json`,w(`workflow/tsconfig.json`)),x(`vitest.config.mts`,w(`workflow/vitest.config.mts`))},()=>{C(`tsconfig.json`),C(`vitest.config.mts`)})),C(`index.js`),C(`index.d.ts`),S(`src/main.tpl.tengo`,E(`workflow/src/main.tpl.tengo`,e=>({shortName:e.blockVars.shortName}))),b(`package.json`,D(e=>zr(e)),()=>{Br()})})}function Hr(e){return{name:`${e.blockVars.facadeName}.test`,version:Y,private:!0,type:`module`,scripts:{fmt:`ts-builder format`,check:`ts-builder check --target block-test`,test:`vitest run --passWithNoTests`},peerDependencies:{typescript:`*`},devDependencies:{"@platforma-sdk/test":`sdk:`,"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,vitest:`catalog:`}}}function Ur(){X(),N(`private`,!0),N(`type`,`module`),F(`fmt`,`ts-builder format`),F(`check`,`ts-builder check --target block-test`),F(`test`,`vitest run --passWithNoTests`),I(`lint`),B({"@platforma-sdk/test":`sdk:`,"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,vitest:`catalog:`}),V({typescript:`*`}),z(`@types/node`),Wn(),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Wr(){g(`test`,()=>{y(`tsconfig.json`,w(`test/tsconfig.json`)),y(`.oxlintrc.json`,w(`test/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`test/.oxfmtrc.json`)),x(`vitest.config.mts`,w(`test/vitest.config.mts`)),S(`src/demo.test.ts`,T(`import { expect, test } from "vitest";
16
+ `;function tr(e){return{$schema:`https://unpkg.com/@changesets/config@3.1.1/schema.json`,changelog:rr,commit:!1,fixed:[lr(e)],linked:[],access:ir,baseBranch:ar,updateInternalDependencies:or,ignore:[]}}function nr(e){N(`changelog`,rr),N(`commit`,!1),N(`access`,ir),N(`baseBranch`,ar),N(`updateInternalDependencies`,or);let t=lr(e);vt(`fixed`,e=>ur(e,t)),U(sr)}var rr=`@changesets/cli/changelog`,ir=`restricted`,ar=`main`,or=`patch`,sr=[`$schema`,`changelog`,`commit`,`fixed`,`linked`,`access`,`baseBranch`,`updateInternalDependencies`,`ignore`],cr=[`block`,`model`,`ui`,`workflow`];function lr(e){return cr.flatMap(t=>G(e,t).map(e=>e.name))}function ur(e,t){let n=new Set(t),r=Array.isArray(e)?e.filter(dr):[],i=r.findIndex(e=>e.some(e=>n.has(e))),a=[];return r.forEach((e,r)=>{let o=e.filter(e=>!n.has(e));r===i?a.push([...t,...o]):o.length>0&&a.push(o)}),i===-1&&a.push(t),a}function dr(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function fr(){g(`root`,()=>{_(({ctx:e})=>!e.isSdkInternal,()=>{b(`turbo.json`,D(()=>On()),()=>{kn()}),y(`.vscode/settings.json`,w(`root/.vscode/settings.json`)),b(`package.json`,D(()=>Cn()),()=>{wn()}),b(`pnpm-workspace.yaml`,D(e=>Xn(e)),()=>{Zn()}),b(`.gitignore`,w(`root/gitignore`),()=>{$n()}),b(`.changeset/config.json`,D(e=>tr(e)),e=>{nr(e)}),S(`.changeset/scaffold.md`,T(er))})})}function pr(e){return e.split(/[-_]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function mr(){g(`root`,()=>{_(({ctx:e})=>!e.isSdkInternal,()=>{y(`.github/workflows/build.yaml`,E(`workflows/build.tpl.yaml`,e=>{let t=e.blockVars.shortName;return{appName:`Block: ${pr(t)}`,appNameSlug:`block-${t}`,nodeVersion:mn}})),y(`.github/workflows/mark-stable.yaml`,E(`workflows/mark-stable.tpl.yaml`,e=>({appName:`Block: ${pr(e.blockVars.shortName)} - Mark Stable`,nodeVersion:mn})))})})}var hr={"@platforma-open":{s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://blocks.pl-open.science`},"@milaboratories":{s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://block.registry.platforma.bio/releases`}},gr={s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1`,serveUrl:`https://blocks.pl-open.science`},_r={s3:`s3://milab-euce1-prod-pkgs-s3-block-registry/aux/dev/?region=eu-central-1`,serveUrl:`https://aux-blocks.pl-open.science`};function vr(e,t){let n=t?_r:hr[e]??gr;return`block-tools publish -r ${n.s3} --registry-serve-url ${n.serveUrl}`}function yr(e){let t={};for(let n of G(e,`workflow`))t.workflow=`${n.name}/dist/tengo/tpl/main.plj.gz`;for(let n of G(e,`model`))t.model=`${n.name}/dist/model.json`;for(let n of G(e,`ui`))t.ui=`${n.name}/dist`;return t}function br(e,t){return{build:`ts-builder build --target block-facade && block-tools pack`,check:`ts-builder type-check --target block-facade`,prepublishOnly:vr(e,t),"do-pack":`shx rm -f package.tgz && pnpm pack && shx mv *.tgz package.tgz`}}var xr={"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`,"@platforma-sdk/model":`sdk:`,shx:`catalog:`,typescript:`catalog:`},Sr={".":{sources:`./src/index.ts`,types:`./dist/index.d.ts`,default:`./dist/index.js`}};function Cr(e){if(Object.keys(e.components).length===0)throw Error(`block.components is empty — no workflow/model/ui module was discovered`);let t=e.meta,n=[[`block.meta.title`,t.title],[`block.meta.description`,t.description],[`block.meta.logo`,t.logo],[`block.meta.organization.name`,t.organization?.name],[`block.meta.organization.url`,t.organization?.url],[`block.meta.organization.logo`,t.organization?.logo]];for(let[e,t]of n)if(typeof t!=`string`||t===``)throw Error(`required block field '${e}' is empty`)}function wr(e){let t=e.blockVars,n={...xr,...K(e,`model`),...K(e,`ui`),...K(e,`workflow`),...K(e,`kind`)},r={components:yr(e),meta:{title:t.shortName,description:`${t.shortName} block`,logo:`file:logos/block-logo.png`,organization:{name:t.orgScope,url:`https://example.com`,logo:`file:logos/organization-logo.png`}}};return Cr(r),{name:`${t.facadeName}.block`,version:Y,type:`module`,files:[`dist`,`block-pack`],main:`./dist/index.js`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:Sr,scripts:br(t.npmOrg,e.isSdkInternal),dependencies:{},devDependencies:n,block:r}}function Tr(e){let t=e.blockVars,n=G(e,`kind`);if(n.length!==1)throw Error(n.length===0?`block '${t.facadeName}' declares no kind — every block must have a sibling kind/ package`:`block '${t.facadeName}' declares ${n.length} kinds; exactly one is required`);N(`type`,`module`),N(`files`,[`dist`,`block-pack`]),N(`main`,`./dist/index.js`),N(`module`,`./dist/index.js`),N(`types`,`./dist/index.d.ts`),N(`exports`,Sr);let r=br(t.npmOrg,e.isSdkInternal);for(let[e,t]of Object.entries(r))F(e,t);H(`model`),H(`ui`),H(`workflow`),H(`kind`),R(`@milaboratories/ts-builder`,`sdk:`),R(`@milaboratories/ts-configs`,`sdk:`),R(`@platforma-sdk/block-tools`,`sdk:`),R(`@platforma-sdk/model`,`sdk:`),R(`shx`,`catalog:`),R(`typescript`,`catalog:`),N(`block.components`,yr(e)),st(`version`,`facade package.json must carry a 'version' (the facade publishes)`),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Er(e){let t=e.split(/[^A-Za-z0-9]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``);return/^[0-9]/.test(t)?`_${t}`:t}function Dr(){g(`block`,()=>{C(`index.js`),C(`index.d.ts`),y(`src/index.ts`,E(`block/src/index.tpl.ts`,e=>({facadeName:e.blockVars.facadeName,pascalName:Er(e.blockVars.shortName)}))),y(`src/AGENTS.ts`,w(`block/src/AGENTS.ts`)),x(`src/block-extra.ts`,w(`block/src/block-extra.ts`)),x(`src/agents-extra.ts`,w(`block/src/agents-extra.ts`)),y(`tsconfig.json`,w(`block/tsconfig.json`)),S(`logos/block-logo.png`,Me(`block/logos/block-logo.png`)),S(`logos/organization-logo.png`,Me(`block/logos/organization-logo.png`)),b(`package.json`,D(e=>wr(e)),e=>{Tr(e)})})}var Q=`src/**/*.test.ts`,Or=`src/**/*.test.tengo`;function kr(e){return{name:`${e.blockVars.facadeName}.model`,version:Y,private:!0,type:`module`,main:`dist/index.cjs`,module:`dist/index.js`,types:`dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`},"./dist/*":`./dist/*`},scripts:{fmt:`ts-builder format`,watch:`ts-builder build --target block-model --watch`,build:`ts-builder build --target block-model && block-tools build-model`,check:`ts-builder check --target block-model`},dependencies:{"@platforma-sdk/model":`sdk:`,...K(e,`kind`)},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Ar(){X(),N(`private`,!0),N(`type`,`module`),N(`main`,`dist/index.cjs`),N(`module`,`dist/index.js`),N(`types`,`dist/index.d.ts`),N(`exports`,{".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`},"./dist/*":`./dist/*`}),F(`fmt`,`ts-builder format`),F(`watch`,`ts-builder build --target block-model --watch`),F(`build`,`ts-builder build --target block-model && block-tools build-model`),F(`check`,`ts-builder check --target block-model`),L(`@platforma-sdk/model`,`sdk:`),mt(`kind`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`}),V({"@types/node":`*`,typescript:`*`}),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{F(`test`,`vitest run --passWithNoTests`),R(`vitest`,`catalog:`),R(`@types/node`,`*`)},()=>z(`vitest`))),Wn(),P(`tsup`),I(`lint`),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function jr(){g(`model`,()=>{_(v(Q),()=>y(`tsconfig.json`,w(`model/tsconfig.node.json`)),()=>y(`tsconfig.json`,w(`model/tsconfig.json`))),y(`.oxlintrc.json`,w(`model/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`model/.oxfmtrc.json`)),S(`src/index.ts`,E(`model/src/index.tpl.ts`,e=>({kindPkg:`${e.blockVars.facadeName}.kind`}))),b(`package.json`,D(e=>kr(e)),()=>{Ar()})})}var Mr={".":{types:`./dist/index.d.ts`,sources:`./src/index.ts`,import:`./dist/index.js`,require:`./dist/index.cjs`,default:`./dist/index.js`}};function Nr(e){return{name:`${e.blockVars.facadeName}.kind`,version:Y,private:!0,type:`module`,main:`./dist/index.cjs`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:Mr,scripts:{fmt:`ts-builder format`,watch:`ts-builder build --target block-kind --watch`,build:`ts-builder build --target block-kind && block-tools build-kind-manifest`,check:`ts-builder check --target block-kind`},dependencies:{"@platforma-sdk/block-kind":`sdk:`},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Pr(){X(),N(`private`,!0),N(`type`,`module`),N(`main`,`./dist/index.cjs`),N(`module`,`./dist/index.js`),N(`types`,`./dist/index.d.ts`),N(`exports`,Mr),F(`fmt`,`ts-builder format`),F(`watch`,`ts-builder build --target block-kind --watch`),F(`build`,`ts-builder build --target block-kind && block-tools build-kind-manifest`),F(`check`,`ts-builder check --target block-kind`),I(`lint`),L(`@platforma-sdk/block-kind`,`sdk:`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,"@platforma-sdk/block-tools":`sdk:`}),V({"@types/node":`*`,typescript:`*`}),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Fr(){g(`kind`,()=>{y(`tsconfig.json`,w(`kind/tsconfig.json`)),y(`.oxlintrc.json`,w(`kind/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`kind/.oxfmtrc.json`)),x(`src/index.ts`,w(`kind/src/index.ts`)),b(`package.json`,D(e=>Nr(e)),()=>{Pr()})})}function Ir(e){return{name:`${e.blockVars.facadeName}.ui`,version:Y,private:!0,type:`module`,scripts:{fmt:`ts-builder format`,dev:`ts-builder serve --target block-ui`,watch:`ts-builder build --target block-ui --watch`,build:`ts-builder build --target block-ui`,check:`ts-builder check --target block-ui`},dependencies:{"@platforma-sdk/ui-vue":`sdk:`,vue:`catalog:`,...rn(e,`model`)},devDependencies:{"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`},peerDependencies:{"@types/node":`*`,typescript:`*`}}}function Lr(){X(),N(`private`,!0),N(`type`,`module`),F(`fmt`,`ts-builder format`),F(`dev`,`ts-builder serve --target block-ui`),F(`watch`,`ts-builder build --target block-ui --watch`),F(`build`,`ts-builder build --target block-ui`),F(`check`,`ts-builder check --target block-ui`),L(`@platforma-sdk/ui-vue`,`sdk:`),L(`vue`,`catalog:`),mt(`model`),B({"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`}),Wn(),I(`preview`),I(`lint`),V({"@types/node":`*`,typescript:`*`}),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{F(`test`,`vitest run --passWithNoTests`),R(`vitest`,`catalog:`),R(`@types/node`,`*`)},()=>z(`vitest`))),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Rr(){g(`ui`,()=>{_(v(Q),()=>y(`tsconfig.json`,w(`ui/tsconfig.node.json`)),()=>y(`tsconfig.json`,w(`ui/tsconfig.json`))),y(`.oxlintrc.json`,w(`ui/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`ui/.oxfmtrc.json`)),x(`index.html`,w(`ui/index.html`)),S(`src/main.ts`,w(`ui/src/main.ts`)),S(`src/app.ts`,E(`ui/src/app.tpl.ts`,e=>({modelPkg:`${e.blockVars.facadeName}.model`}))),S(`src/MainPage.vue`,E(`ui/src/MainPage.tpl.vue`,e=>({shortName:e.blockVars.shortName}))),b(`package.json`,D(e=>Ir(e)),()=>{Lr()})})}function zr(e){return{name:`${e.blockVars.facadeName}.workflow`,version:Y,private:!0,type:`module`,scripts:{build:`shx rm -rf dist && pl-tengo build`,check:`pl-tengo imports && pl-tengo check`,format:`/usr/bin/env emacs --script ./format.el || echo 'No emacs.'`},dependencies:{"@platforma-sdk/workflow-tengo":`sdk:`,...K(e,`software`)},devDependencies:{"@platforma-sdk/tengo-builder":`sdk:`,"@platforma-sdk/test":`sdk:`,shx:`catalog:`}}}function Br(){X(),N(`private`,!0),N(`type`,`module`),F(`build`,`shx rm -rf dist && pl-tengo build`),F(`check`,`pl-tengo imports && pl-tengo check`),F(`format`,`/usr/bin/env emacs --script ./format.el || echo 'No emacs.'`),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{_(v(Or),()=>F(`test`,`pl-tengo test && vitest run --passWithNoTests`),()=>F(`test`,`vitest run --passWithNoTests`)),B({vitest:`catalog:`})},()=>{_(v(Or),()=>F(`test`,`pl-tengo test`)),z(`vitest`)})),L(`@platforma-sdk/workflow-tengo`,`sdk:`),mt(`software`),B({"@platforma-sdk/tengo-builder":`sdk:`,"@platforma-sdk/test":`sdk:`,shx:`catalog:`}),Wn(),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Vr(){g(`workflow`,()=>{y(`format.el`,w(`workflow/format.el`)),_(({ctx:e})=>!e.isSdkInternal,()=>_(v(Q),()=>{y(`tsconfig.json`,w(`workflow/tsconfig.json`)),x(`vitest.config.mts`,w(`workflow/vitest.config.mts`))},()=>{C(`tsconfig.json`),C(`vitest.config.mts`)})),C(`index.js`),C(`index.d.ts`),S(`src/main.tpl.tengo`,E(`workflow/src/main.tpl.tengo`,e=>({shortName:e.blockVars.shortName}))),b(`package.json`,D(e=>zr(e)),()=>{Br()})})}function Hr(e){return{name:`${e.blockVars.facadeName}.test`,version:Y,private:!0,type:`module`,scripts:{fmt:`ts-builder format`,check:`ts-builder check --target block-test`,test:`vitest run --passWithNoTests`},peerDependencies:{typescript:`*`},devDependencies:{"@platforma-sdk/test":`sdk:`,"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,vitest:`catalog:`}}}function Ur(){X(),N(`private`,!0),N(`type`,`module`),F(`fmt`,`ts-builder format`),F(`check`,`ts-builder check --target block-test`),F(`test`,`vitest run --passWithNoTests`),I(`lint`),B({"@platforma-sdk/test":`sdk:`,"@milaboratories/ts-builder":`sdk:`,"@milaboratories/ts-configs":`sdk:`,vitest:`catalog:`}),V({typescript:`*`}),z(`@types/node`),Wn(),W(`dependencies`),W(`devDependencies`),W(`peerDependencies`),W(`optionalDependencies`),U([...J])}function Wr(){g(`test`,()=>{y(`tsconfig.json`,w(`test/tsconfig.json`)),y(`.oxlintrc.json`,w(`test/.oxlintrc.json`)),y(`.oxfmtrc.json`,w(`test/.oxfmtrc.json`)),x(`vitest.config.mts`,w(`test/vitest.config.mts`)),S(`src/demo.test.ts`,T(`import { expect, test } from "vitest";
17
17
 
18
18
  test("scaffolded block sanity check", () => {
19
19
  expect(true).toBe(true);