Complete block-tools structurer migration#54
Conversation
There was a problem hiding this comment.
Code Review
This pull request completes the block-tools structurer migration by moving the block facade to the managed block/src layout, adding the necessary TypeScript configurations, and updating package manifests to mark internal packages as private. One critical issue was identified in block/package.json where dependencies re-exported by the facade (such as @platforma-open/milaboratories.immune-assay-data.model and @platforma-sdk/model) are incorrectly listed under devDependencies instead of dependencies, which will cause compilation errors for downstream consumers.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
The deps-only SDK update bumped block-tools to 2.11.5 but left the managed package manifests stale. block-tools 2.11.5 makes --registry-serve-url mandatory for `block-tools publish`, so the block-facade publish step failed in CI. Run the full structure refresh to regenerate the managed layout: move the facade to block/src, mark bundled component and software packages private, regenerate CI workflows, and add the required --registry-serve-url flag to prepublishOnly.
3e4ea4e to
7df506d
Compare
The deps-only SDK update bumped block-tools to 2.11.5 but left the managed package manifests stale. block-tools 2.11.5 makes --registry-serve-url mandatory for
block-tools publish, so the block-facade publish step failed in CI.Run the full structure refresh to regenerate the managed layout: move the facade to block/src, mark bundled component and software packages private, regenerate CI workflows, and add the required --registry-serve-url flag to prepublishOnly.
Greptile Summary
This PR completes the
block-toolsstructurer migration by replacing the hand-written CJS facade (block/index.js/block/index.d.ts) with a generated ESM TypeScript facade underblock/src/, and regenerates the CI workflows and package manifests. The immediate motivation is thatblock-tools 2.11.5made--registry-serve-urlmandatory forblock-tools publish, which was missing and broke the CI publish step.blockSpec/dev-v2/__dirnameCJS contract replaced byBlockPointer/from-pack-v2/import.meta.url-based URL resolution; newAGENTS.tsexposes a narrow MCP/AI surface; all three are managed byblock-tools structuregoing forward.private: true; their workspace references inblock/package.jsonmoved todevDependenciessince they are bundled byts-builder.AWS_CI_TURBOREPO_US_S3_BUCKET\u2192AWS_CI_TURBOREPO_S3_BUCKET), tests re-enabled, and Slack parameters reordered.Confidence Score: 4/5
The structural migration is correct and well-reasoned; the two items worth a second look are the unquoted S3 URL and the missing changeset entry for the public block package.
The S3 URL in prepublishOnly lost the single-quote wrapping present in the old script, leaving ?region=eu-central-1 technically shell-unsafe. The changeset lists only private packages, so the public block package whose entire exported API changed from blockSpec to BlockPointer won't get an npm version bump from this PR.
.changeset/complete-structurer-migration.md and block/package.json prepublishOnly script.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A["block/src/index.ts\nManaged ESM facade"] -->|imports platforma| B["model package\nprivate: true"] A -->|InferOutputsType etc| C["@platforma-sdk/model\ncatalog:"] A -->|export star| D["block-extra.ts\nauthor-owned"] A --> E["dist/index.js\nbundled by ts-builder"] E --> F["block-pack/\nblock-tools pack"] subgraph CI ["CI publish"] G["build.yaml\ntest: true"] G --> H["ts-builder build\n--target block-facade"] H --> I["block-tools pack"] I --> J["block-tools publish\n-r s3://...\n--registry-serve-url\nhttps://blocks.pl-open.science"] end F --> J E --> K["npm package\nv1.5.2\nnot in changeset"] subgraph AGENTS ["MCP surface"] L["AGENTS.ts\nBlockContract, BlockOutputs\nBlockData + agents-extra"] end A --> L%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A["block/src/index.ts\nManaged ESM facade"] -->|imports platforma| B["model package\nprivate: true"] A -->|InferOutputsType etc| C["@platforma-sdk/model\ncatalog:"] A -->|export star| D["block-extra.ts\nauthor-owned"] A --> E["dist/index.js\nbundled by ts-builder"] E --> F["block-pack/\nblock-tools pack"] subgraph CI ["CI publish"] G["build.yaml\ntest: true"] G --> H["ts-builder build\n--target block-facade"] H --> I["block-tools pack"] I --> J["block-tools publish\n-r s3://...\n--registry-serve-url\nhttps://blocks.pl-open.science"] end F --> J E --> K["npm package\nv1.5.2\nnot in changeset"] subgraph AGENTS ["MCP surface"] L["AGENTS.ts\nBlockContract, BlockOutputs\nBlockData + agents-extra"] end A --> LPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "Complete block-tools structurer migratio..." | Re-trigger Greptile