polen 0.10.0-next.14 → 0.10.0-next.3
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/README.md +375 -49
- package/build/api/api.d.ts +0 -1
- package/build/api/api.d.ts.map +1 -1
- package/build/api/api.js +0 -1
- package/build/api/api.js.map +1 -1
- package/build/api/builder/builder.js +1 -1
- package/build/api/builder/builder.js.map +1 -1
- package/build/api/config/load.js +6 -6
- package/build/api/config/load.js.map +1 -1
- package/build/api/config-resolver/resolve.js +2 -2
- package/build/api/config-resolver/resolve.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/vite/plugins/branding/index.js +4 -4
- package/build/api/vite/plugins/branding/index.js.map +1 -1
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +4 -33
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +2 -2
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +13 -13
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts +14 -8
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +185 -111
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +12 -52
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/cli/_/self-contained-mode.js +5 -5
- package/build/cli/_/self-contained-mode.js.map +1 -1
- package/build/lib/file-router/diagnostic-reporter.js +2 -2
- package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
- package/build/lib/file-router/file-router.d.ts +2 -0
- package/build/lib/file-router/file-router.d.ts.map +1 -1
- package/build/lib/file-router/file-router.js +2 -0
- package/build/lib/file-router/file-router.js.map +1 -1
- package/build/lib/file-router/route.d.ts +0 -2
- package/build/lib/file-router/route.d.ts.map +1 -1
- package/build/lib/file-router/route.js.map +1 -1
- package/build/lib/file-router/scan-tree.d.ts +20 -0
- package/build/lib/file-router/scan-tree.d.ts.map +1 -0
- package/build/lib/file-router/scan-tree.js +158 -0
- package/build/lib/file-router/scan-tree.js.map +1 -0
- package/build/lib/file-router/scan.d.ts.map +1 -1
- package/build/lib/file-router/scan.js +13 -22
- package/build/lib/file-router/scan.js.map +1 -1
- package/build/lib/file-router/sidebar/index.d.ts +3 -0
- package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/index.js +4 -0
- package/build/lib/file-router/sidebar/index.js.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
- package/build/lib/file-router/sidebar/types.d.ts +17 -0
- package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/types.js.map +1 -0
- package/build/lib/helpers.d.ts.map +1 -1
- package/build/lib/helpers.js +3 -5
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/kit-temp.d.ts +0 -157
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +14 -316
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/tree/index.d.ts +3 -0
- package/build/lib/tree/index.d.ts.map +1 -0
- package/build/lib/tree/index.js +2 -0
- package/build/lib/tree/index.js.map +1 -0
- package/build/lib/tree/tree.d.ts +62 -0
- package/build/lib/tree/tree.d.ts.map +1 -0
- package/build/lib/tree/tree.js +134 -0
- package/build/lib/tree/tree.js.map +1 -0
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +8 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +53 -48
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
- package/build/package-paths.js +3 -3
- package/build/package-paths.js.map +1 -1
- package/build/singletons/debug.d.ts +1 -1
- package/build/singletons/debug.d.ts.map +1 -1
- package/build/singletons/debug.js +1 -1
- package/build/singletons/debug.js.map +1 -1
- package/build/template/components/ArgumentAnnotation.jsx +16 -0
- package/build/template/components/ArgumentAnnotation.jsx.map +1 -0
- package/build/template/components/ArgumentList.jsx +16 -0
- package/build/template/components/ArgumentList.jsx.map +1 -0
- package/build/template/components/ArgumentListAnnotation.jsx +23 -0
- package/build/template/components/ArgumentListAnnotation.jsx.map +1 -0
- package/build/template/components/Changelog.jsx +68 -0
- package/build/template/components/Changelog.jsx.map +1 -0
- package/build/template/components/{CodeBlock.js → CodeBlock.jsx} +5 -4
- package/build/template/components/{CodeBlock.js.map → CodeBlock.jsx.map} +1 -1
- package/build/template/components/DeprecationReason.jsx +10 -0
- package/build/template/components/DeprecationReason.jsx.map +1 -0
- package/build/template/components/Description.jsx +10 -0
- package/build/template/components/Description.jsx.map +1 -0
- package/build/template/components/Field.jsx +22 -0
- package/build/template/components/Field.jsx.map +1 -0
- package/build/template/components/{FieldList.js → FieldList.jsx} +5 -4
- package/build/template/components/FieldList.jsx.map +1 -0
- package/build/template/components/{FieldListSection.js → FieldListSection.jsx} +6 -4
- package/build/template/components/FieldListSection.jsx.map +1 -0
- package/build/template/components/Link.d.ts +2 -2
- package/build/template/components/Link.d.ts.map +1 -1
- package/build/template/components/{Link.js → Link.jsx} +10 -18
- package/build/template/components/Link.jsx.map +1 -0
- package/build/template/components/Logo.jsx +29 -0
- package/build/template/components/Logo.jsx.map +1 -0
- package/build/template/components/{Markdown.js → Markdown.jsx} +2 -3
- package/build/template/components/Markdown.jsx.map +1 -0
- package/build/template/components/MissingSchema.d.ts +1 -1
- package/build/template/components/MissingSchema.d.ts.map +1 -1
- package/build/template/components/MissingSchema.jsx +4 -0
- package/build/template/components/MissingSchema.jsx.map +1 -0
- package/build/template/components/NamedType.jsx +17 -0
- package/build/template/components/NamedType.jsx.map +1 -0
- package/build/template/components/{RadixLink.js → RadixLink.jsx} +1 -1
- package/build/template/components/RadixLink.jsx.map +1 -0
- package/build/template/components/Texts/{MinorHeading.js → MinorHeading.jsx} +3 -4
- package/build/template/components/Texts/MinorHeading.jsx.map +1 -0
- package/build/template/components/Texts/texts.js +1 -1
- package/build/template/components/Texts/texts.js.map +1 -1
- package/build/template/components/{TypeAnnotation.js → TypeAnnotation.jsx} +18 -8
- package/build/template/components/TypeAnnotation.jsx.map +1 -0
- package/build/template/components/TypeFieldsLinkList.jsx +17 -0
- package/build/template/components/TypeFieldsLinkList.jsx.map +1 -0
- package/build/template/components/TypeIndex.jsx +27 -0
- package/build/template/components/TypeIndex.jsx.map +1 -0
- package/build/template/components/graphql/graphql.d.ts +2 -2
- package/build/template/components/graphql/graphql.jsx +3 -0
- package/build/template/components/graphql/graphql.jsx.map +1 -0
- package/build/template/components/graphql/index.d.ts +1 -1
- package/build/template/components/graphql/index.js +1 -1
- package/build/template/components/graphql/index.js.map +1 -1
- package/build/template/components/graphql/{type-kind-icon.js → type-kind-icon.jsx} +2 -3
- package/build/template/components/graphql/type-kind-icon.jsx.map +1 -0
- package/build/template/components/graphql/type-link.jsx +16 -0
- package/build/template/components/graphql/type-link.jsx.map +1 -0
- package/build/template/components/sidebar/Sidebar.d.ts +3 -3
- package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
- package/build/template/components/sidebar/Sidebar.jsx +15 -0
- package/build/template/components/sidebar/Sidebar.jsx.map +1 -0
- package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
- package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
- package/build/template/components/sidebar/{SidebarItem.js → SidebarItem.jsx} +35 -18
- package/build/template/components/sidebar/SidebarItem.jsx.map +1 -0
- package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
- package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
- package/build/template/components/sidebar/ToggleButton.jsx +6 -0
- package/build/template/components/sidebar/ToggleButton.jsx.map +1 -0
- package/build/template/entry.client.d.ts +0 -1
- package/build/template/entry.client.d.ts.map +1 -1
- package/build/template/{entry.client.js → entry.client.jsx} +9 -5
- package/build/template/entry.client.jsx.map +1 -0
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/{changelog.js → changelog.jsx} +4 -5
- package/build/template/routes/changelog.jsx.map +1 -0
- package/build/template/routes/{index.js → index.jsx} +2 -3
- package/build/template/routes/index.jsx.map +1 -0
- package/build/template/routes/reference.$type.$field.d.ts +1 -1
- package/build/template/routes/{reference.$type.$field.js → reference.$type.$field.jsx} +5 -6
- package/build/template/routes/reference.$type.$field.jsx.map +1 -0
- package/build/template/routes/reference.$type.d.ts +1 -1
- package/build/template/routes/{reference.$type.js → reference.$type.jsx} +5 -6
- package/build/template/routes/reference.$type.jsx.map +1 -0
- package/build/template/routes/reference.d.ts +2 -2
- package/build/template/routes/reference.d.ts.map +1 -1
- package/build/template/routes/{reference.js → reference.jsx} +12 -7
- package/build/template/routes/reference.jsx.map +1 -0
- package/build/template/routes/root.d.ts +2 -2
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.jsx +188 -0
- package/build/template/routes/root.jsx.map +1 -0
- package/build/template/routes.jsx +5 -0
- package/build/template/routes.jsx.map +1 -0
- package/build/template/server/app.d.ts +1 -8
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +21 -21
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/main.js +1 -2
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/render-page.d.ts +3 -0
- package/build/template/server/render-page.d.ts.map +1 -0
- package/build/template/server/{create-page-html-response.js → render-page.jsx} +17 -11
- package/build/template/server/render-page.jsx.map +1 -0
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +34 -33
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +1 -1
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/server/view.js +1 -1
- package/build/template/server/view.js.map +1 -1
- package/package.json +9 -73
- package/src/api/api.ts +0 -1
- package/src/api/config/load.ts +5 -5
- package/src/api/config-resolver/resolve.ts +2 -2
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
- package/src/api/singletons/markdown/markdown.test.ts +2 -2
- package/src/api/utils/asset-url/asset-url.test.ts +4 -4
- package/src/api/vite/plugins/branding/index.ts +4 -4
- package/src/api/vite/plugins/build.ts +89 -121
- package/src/api/vite/plugins/core.ts +17 -19
- package/src/api/vite/plugins/pages.ts +209 -135
- package/src/api/vite/plugins/serve.ts +14 -67
- package/src/cli/_/self-contained-mode.ts +5 -5
- package/src/lib/file-router/diagnostic-reporter.ts +2 -2
- package/src/lib/file-router/file-router.ts +2 -0
- package/src/lib/file-router/linter.test.ts +0 -2
- package/src/lib/file-router/route.ts +0 -2
- package/src/lib/file-router/scan-tree.test.ts +189 -0
- package/src/lib/file-router/scan-tree.ts +205 -0
- package/src/lib/file-router/scan.ts +14 -26
- package/src/lib/file-router/sidebar/index.ts +3 -0
- package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
- package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
- package/src/lib/file-router/sidebar/types.ts +19 -0
- package/src/lib/helpers.ts +3 -4
- package/src/lib/kit-temp.ts +14 -428
- package/src/lib/shiki/shiki.test.ts +1 -1
- package/src/lib/tree/index.ts +2 -0
- package/src/lib/tree/tree.test.ts +117 -0
- package/src/lib/tree/tree.ts +183 -0
- package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +58 -52
- package/src/package-paths.ts +3 -3
- package/src/singletons/debug.ts +1 -1
- package/src/template/components/ArgumentAnnotation.tsx +1 -1
- package/src/template/components/ArgumentList.tsx +1 -1
- package/src/template/components/ArgumentListAnnotation.tsx +2 -2
- package/src/template/components/DeprecationReason.tsx +1 -1
- package/src/template/components/Description.tsx +1 -1
- package/src/template/components/Field.tsx +4 -4
- package/src/template/components/FieldList.tsx +1 -1
- package/src/template/components/FieldListSection.tsx +1 -1
- package/src/template/components/Link.tsx +15 -23
- package/src/template/components/NamedType.tsx +2 -2
- package/src/template/components/TypeAnnotation.tsx +1 -1
- package/src/template/components/TypeFieldsLinkList.tsx +1 -1
- package/src/template/components/TypeIndex.tsx +1 -1
- package/src/template/components/graphql/graphql.tsx +2 -2
- package/src/template/components/graphql/index.ts +1 -1
- package/src/template/components/graphql/type-link.tsx +2 -2
- package/src/template/components/sidebar/Sidebar.tsx +2 -2
- package/src/template/components/sidebar/SidebarItem.tsx +14 -14
- package/src/template/entry.client.tsx +5 -2
- package/src/template/routes/changelog.tsx +1 -1
- package/src/template/routes/reference.$type.$field.tsx +3 -3
- package/src/template/routes/reference.$type.tsx +3 -3
- package/src/template/routes/reference.tsx +10 -6
- package/src/template/routes/root.tsx +108 -112
- package/src/template/routes.tsx +1 -1
- package/src/template/server/app.ts +23 -33
- package/src/template/server/main.ts +1 -2
- package/src/template/server/{create-page-html-response.ts → render-page.tsx} +16 -19
- package/src/template/server/ssg/generate.ts +72 -68
- package/src/template/server/ssg/get-route-paths.ts +1 -1
- package/src/template/server/view.ts +1 -1
- package/src/template/styles/code-block.css +0 -32
- package/build/api/content/$$.d.ts +0 -7
- package/build/api/content/$$.d.ts.map +0 -1
- package/build/api/content/$$.js +0 -7
- package/build/api/content/$$.js.map +0 -1
- package/build/api/content/$.d.ts +0 -2
- package/build/api/content/$.d.ts.map +0 -1
- package/build/api/content/$.js +0 -2
- package/build/api/content/$.js.map +0 -1
- package/build/api/content/metadata.d.ts +0 -10
- package/build/api/content/metadata.d.ts.map +0 -1
- package/build/api/content/metadata.js +0 -9
- package/build/api/content/metadata.js.map +0 -1
- package/build/api/content/navbar.d.ts +0 -10
- package/build/api/content/navbar.d.ts.map +0 -1
- package/build/api/content/navbar.js +0 -45
- package/build/api/content/navbar.js.map +0 -1
- package/build/api/content/page.d.ts +0 -11
- package/build/api/content/page.d.ts.map +0 -1
- package/build/api/content/page.js +0 -2
- package/build/api/content/page.js.map +0 -1
- package/build/api/content/scan.d.ts +0 -19
- package/build/api/content/scan.d.ts.map +0 -1
- package/build/api/content/scan.js +0 -90
- package/build/api/content/scan.js.map +0 -1
- package/build/api/content/sidebar.d.ts +0 -104
- package/build/api/content/sidebar.d.ts.map +0 -1
- package/build/api/content/sidebar.js +0 -166
- package/build/api/content/sidebar.js.map +0 -1
- package/build/api/content/utils.d.ts +0 -5
- package/build/api/content/utils.d.ts.map +0 -1
- package/build/api/content/utils.js +0 -8
- package/build/api/content/utils.js.map +0 -1
- package/build/api/static/index.d.ts +0 -2
- package/build/api/static/index.d.ts.map +0 -1
- package/build/api/static/index.js +0 -2
- package/build/api/static/index.js.map +0 -1
- package/build/api/static/manifest.d.ts +0 -18
- package/build/api/static/manifest.d.ts.map +0 -1
- package/build/api/static/manifest.js +0 -13
- package/build/api/static/manifest.js.map +0 -1
- package/build/api/static/rebase.d.ts +0 -14
- package/build/api/static/rebase.d.ts.map +0 -1
- package/build/api/static/rebase.js +0 -110
- package/build/api/static/rebase.js.map +0 -1
- package/build/api/static/static.d.ts +0 -3
- package/build/api/static/static.d.ts.map +0 -1
- package/build/api/static/static.js +0 -3
- package/build/api/static/static.js.map +0 -1
- package/build/cli/commands/static/$default.d.ts +0 -3
- package/build/cli/commands/static/$default.d.ts.map +0 -1
- package/build/cli/commands/static/$default.js +0 -38
- package/build/cli/commands/static/$default.js.map +0 -1
- package/build/cli/commands/static/rebase.d.ts +0 -2
- package/build/cli/commands/static/rebase.d.ts.map +0 -1
- package/build/cli/commands/static/rebase.js +0 -26
- package/build/cli/commands/static/rebase.js.map +0 -1
- package/build/cli/commands/static.d.ts +0 -3
- package/build/cli/commands/static.d.ts.map +0 -1
- package/build/cli/commands/static.js +0 -5
- package/build/cli/commands/static.js.map +0 -1
- package/build/exports/components.d.ts +0 -5
- package/build/exports/components.d.ts.map +0 -1
- package/build/exports/components.js +0 -5
- package/build/exports/components.js.map +0 -1
- package/build/lib/demos/builder.d.ts +0 -83
- package/build/lib/demos/builder.d.ts.map +0 -1
- package/build/lib/demos/builder.js +0 -237
- package/build/lib/demos/builder.js.map +0 -1
- package/build/lib/demos/config-schema.d.ts +0 -243
- package/build/lib/demos/config-schema.d.ts.map +0 -1
- package/build/lib/demos/config-schema.js +0 -52
- package/build/lib/demos/config-schema.js.map +0 -1
- package/build/lib/demos/config.d.ts +0 -40
- package/build/lib/demos/config.d.ts.map +0 -1
- package/build/lib/demos/config.js +0 -180
- package/build/lib/demos/config.js.map +0 -1
- package/build/lib/demos/index.d.ts +0 -9
- package/build/lib/demos/index.d.ts.map +0 -1
- package/build/lib/demos/index.js +0 -8
- package/build/lib/demos/index.js.map +0 -1
- package/build/lib/demos/ui/components.d.ts +0 -33
- package/build/lib/demos/ui/components.d.ts.map +0 -1
- package/build/lib/demos/ui/components.js +0 -699
- package/build/lib/demos/ui/components.js.map +0 -1
- package/build/lib/demos/ui/data-collector.d.ts +0 -88
- package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
- package/build/lib/demos/ui/data-collector.js +0 -174
- package/build/lib/demos/ui/data-collector.js.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
- package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.js +0 -21
- package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
- package/build/lib/demos/ui/landing-page.d.ts +0 -32
- package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page.js +0 -83
- package/build/lib/demos/ui/landing-page.js.map +0 -1
- package/build/lib/demos/ui/page-renderer.d.ts +0 -26
- package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
- package/build/lib/demos/ui/page-renderer.js +0 -104
- package/build/lib/demos/ui/page-renderer.js.map +0 -1
- package/build/lib/demos/utils.d.ts +0 -14
- package/build/lib/demos/utils.d.ts.map +0 -1
- package/build/lib/demos/utils.js +0 -37
- package/build/lib/demos/utils.js.map +0 -1
- package/build/lib/deployment/$$.d.ts +0 -3
- package/build/lib/deployment/$$.d.ts.map +0 -1
- package/build/lib/deployment/$$.js +0 -3
- package/build/lib/deployment/$$.js.map +0 -1
- package/build/lib/deployment/$.d.ts +0 -2
- package/build/lib/deployment/$.d.ts.map +0 -1
- package/build/lib/deployment/$.js +0 -2
- package/build/lib/deployment/$.js.map +0 -1
- package/build/lib/deployment/metadata.d.ts +0 -32
- package/build/lib/deployment/metadata.d.ts.map +0 -1
- package/build/lib/deployment/metadata.js +0 -37
- package/build/lib/deployment/metadata.js.map +0 -1
- package/build/lib/deployment/path-manager.d.ts +0 -41
- package/build/lib/deployment/path-manager.d.ts.map +0 -1
- package/build/lib/deployment/path-manager.js +0 -157
- package/build/lib/deployment/path-manager.js.map +0 -1
- package/build/lib/github-actions/git-controller.d.ts +0 -50
- package/build/lib/github-actions/git-controller.d.ts.map +0 -1
- package/build/lib/github-actions/git-controller.js +0 -90
- package/build/lib/github-actions/git-controller.js.map +0 -1
- package/build/lib/github-actions/github-actions.d.ts +0 -7
- package/build/lib/github-actions/github-actions.d.ts.map +0 -1
- package/build/lib/github-actions/github-actions.js +0 -7
- package/build/lib/github-actions/github-actions.js.map +0 -1
- package/build/lib/github-actions/index.d.ts +0 -2
- package/build/lib/github-actions/index.d.ts.map +0 -1
- package/build/lib/github-actions/index.js +0 -2
- package/build/lib/github-actions/index.js.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
- package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
- package/build/lib/github-actions/pr-controller.d.ts +0 -39
- package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
- package/build/lib/github-actions/pr-controller.js +0 -122
- package/build/lib/github-actions/pr-controller.js.map +0 -1
- package/build/lib/github-actions/run-step-cli.d.ts +0 -9
- package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
- package/build/lib/github-actions/run-step-cli.js +0 -71
- package/build/lib/github-actions/run-step-cli.js.map +0 -1
- package/build/lib/github-actions/runner.d.ts +0 -17
- package/build/lib/github-actions/runner.d.ts.map +0 -1
- package/build/lib/github-actions/runner.js +0 -195
- package/build/lib/github-actions/runner.js.map +0 -1
- package/build/lib/github-actions/schemas/context.d.ts +0 -933
- package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/context.js +0 -407
- package/build/lib/github-actions/schemas/context.js.map +0 -1
- package/build/lib/github-actions/schemas/index.d.ts +0 -5
- package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/index.js +0 -5
- package/build/lib/github-actions/schemas/index.js.map +0 -1
- package/build/lib/github-actions/search-module.d.ts +0 -38
- package/build/lib/github-actions/search-module.d.ts.map +0 -1
- package/build/lib/github-actions/search-module.js +0 -40
- package/build/lib/github-actions/search-module.js.map +0 -1
- package/build/lib/github-actions/step.d.ts +0 -163
- package/build/lib/github-actions/step.d.ts.map +0 -1
- package/build/lib/github-actions/step.js +0 -121
- package/build/lib/github-actions/step.js.map +0 -1
- package/build/lib/graphql-document/$$.d.ts +0 -5
- package/build/lib/graphql-document/$$.d.ts.map +0 -1
- package/build/lib/graphql-document/$$.js +0 -5
- package/build/lib/graphql-document/$$.js.map +0 -1
- package/build/lib/graphql-document/$.d.ts +0 -2
- package/build/lib/graphql-document/$.d.ts.map +0 -1
- package/build/lib/graphql-document/$.js +0 -2
- package/build/lib/graphql-document/$.js.map +0 -1
- package/build/lib/graphql-document/analysis.d.ts +0 -44
- package/build/lib/graphql-document/analysis.d.ts.map +0 -1
- package/build/lib/graphql-document/analysis.js +0 -361
- package/build/lib/graphql-document/analysis.js.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
- package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.js +0 -43
- package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +0 -142
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -45
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -48
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
- package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
- package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.js +0 -167
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
- package/build/lib/graphql-document/components/index.d.ts +0 -6
- package/build/lib/graphql-document/components/index.d.ts.map +0 -1
- package/build/lib/graphql-document/components/index.js +0 -6
- package/build/lib/graphql-document/components/index.js.map +0 -1
- package/build/lib/graphql-document/example.d.ts +0 -25
- package/build/lib/graphql-document/example.d.ts.map +0 -1
- package/build/lib/graphql-document/example.js +0 -140
- package/build/lib/graphql-document/example.js.map +0 -1
- package/build/lib/graphql-document/graphql-document.d.ts +0 -35
- package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
- package/build/lib/graphql-document/graphql-document.js +0 -36
- package/build/lib/graphql-document/graphql-document.js.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
- package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
- package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
- package/build/lib/graphql-document/positioning-simple.js +0 -185
- package/build/lib/graphql-document/positioning-simple.js.map +0 -1
- package/build/lib/graphql-document/schema-context.d.ts +0 -8
- package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-context.js +0 -11
- package/build/lib/graphql-document/schema-context.js.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
- package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.js +0 -297
- package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
- package/build/lib/graphql-document/schema-integration.d.ts +0 -135
- package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration.js +0 -328
- package/build/lib/graphql-document/schema-integration.js.map +0 -1
- package/build/lib/graphql-document/types.d.ts +0 -117
- package/build/lib/graphql-document/types.d.ts.map +0 -1
- package/build/lib/graphql-document/types.js.map +0 -1
- package/build/lib/kit-temp.test-d.d.ts +0 -2
- package/build/lib/kit-temp.test-d.d.ts.map +0 -1
- package/build/lib/kit-temp.test-d.js +0 -75
- package/build/lib/kit-temp.test-d.js.map +0 -1
- package/build/lib/mask/$$.d.ts +0 -3
- package/build/lib/mask/$$.d.ts.map +0 -1
- package/build/lib/mask/$$.js +0 -3
- package/build/lib/mask/$$.js.map +0 -1
- package/build/lib/mask/$.d.ts +0 -2
- package/build/lib/mask/$.d.ts.map +0 -1
- package/build/lib/mask/$.js +0 -2
- package/build/lib/mask/$.js.map +0 -1
- package/build/lib/mask/apply.d.ts +0 -86
- package/build/lib/mask/apply.d.ts.map +0 -1
- package/build/lib/mask/apply.js +0 -86
- package/build/lib/mask/apply.js.map +0 -1
- package/build/lib/mask/mask.d.ts +0 -124
- package/build/lib/mask/mask.d.ts.map +0 -1
- package/build/lib/mask/mask.js +0 -137
- package/build/lib/mask/mask.js.map +0 -1
- package/build/lib/mask/mask.test-d.d.ts +0 -2
- package/build/lib/mask/mask.test-d.d.ts.map +0 -1
- package/build/lib/mask/mask.test-d.js +0 -102
- package/build/lib/mask/mask.test-d.js.map +0 -1
- package/build/lib/task/$$.d.ts +0 -3
- package/build/lib/task/$$.d.ts.map +0 -1
- package/build/lib/task/$$.js +0 -3
- package/build/lib/task/$$.js.map +0 -1
- package/build/lib/task/$.d.ts +0 -2
- package/build/lib/task/$.d.ts.map +0 -1
- package/build/lib/task/$.js +0 -2
- package/build/lib/task/$.js.map +0 -1
- package/build/lib/task/report.d.ts +0 -28
- package/build/lib/task/report.d.ts.map +0 -1
- package/build/lib/task/report.js +0 -33
- package/build/lib/task/report.js.map +0 -1
- package/build/lib/task/task.d.ts +0 -44
- package/build/lib/task/task.d.ts.map +0 -1
- package/build/lib/task/task.js +0 -63
- package/build/lib/task/task.js.map +0 -1
- package/build/lib/version-history/index.d.ts +0 -3
- package/build/lib/version-history/index.d.ts.map +0 -1
- package/build/lib/version-history/index.js +0 -2
- package/build/lib/version-history/index.js.map +0 -1
- package/build/lib/version-history/types.d.ts +0 -64
- package/build/lib/version-history/types.d.ts.map +0 -1
- package/build/lib/version-history/types.js +0 -5
- package/build/lib/version-history/types.js.map +0 -1
- package/build/lib/version-history/version-history.d.ts +0 -85
- package/build/lib/version-history/version-history.d.ts.map +0 -1
- package/build/lib/version-history/version-history.js +0 -248
- package/build/lib/version-history/version-history.js.map +0 -1
- package/build/sandbox.d.ts +0 -2
- package/build/sandbox.d.ts.map +0 -1
- package/build/sandbox.js +0 -18
- package/build/sandbox.js.map +0 -1
- package/build/template/components/ArgumentAnnotation.js +0 -10
- package/build/template/components/ArgumentAnnotation.js.map +0 -1
- package/build/template/components/ArgumentList.js +0 -9
- package/build/template/components/ArgumentList.js.map +0 -1
- package/build/template/components/ArgumentListAnnotation.js +0 -15
- package/build/template/components/ArgumentListAnnotation.js.map +0 -1
- package/build/template/components/Changelog.js +0 -44
- package/build/template/components/Changelog.js.map +0 -1
- package/build/template/components/CodeBlockEnhancer.d.ts +0 -2
- package/build/template/components/CodeBlockEnhancer.d.ts.map +0 -1
- package/build/template/components/CodeBlockEnhancer.js +0 -175
- package/build/template/components/CodeBlockEnhancer.js.map +0 -1
- package/build/template/components/DeprecationReason.js +0 -9
- package/build/template/components/DeprecationReason.js.map +0 -1
- package/build/template/components/Description.js +0 -9
- package/build/template/components/Description.js.map +0 -1
- package/build/template/components/Field.js +0 -14
- package/build/template/components/Field.js.map +0 -1
- package/build/template/components/FieldList.js.map +0 -1
- package/build/template/components/FieldListSection.js.map +0 -1
- package/build/template/components/HamburgerMenu.d.ts +0 -9
- package/build/template/components/HamburgerMenu.d.ts.map +0 -1
- package/build/template/components/HamburgerMenu.js +0 -30
- package/build/template/components/HamburgerMenu.js.map +0 -1
- package/build/template/components/Link.js.map +0 -1
- package/build/template/components/Logo.js +0 -20
- package/build/template/components/Logo.js.map +0 -1
- package/build/template/components/MDXComponents.d.ts +0 -11
- package/build/template/components/MDXComponents.d.ts.map +0 -1
- package/build/template/components/MDXComponents.js +0 -70
- package/build/template/components/MDXComponents.js.map +0 -1
- package/build/template/components/Markdown.js.map +0 -1
- package/build/template/components/MissingSchema.js +0 -5
- package/build/template/components/MissingSchema.js.map +0 -1
- package/build/template/components/NamedType.js +0 -12
- package/build/template/components/NamedType.js.map +0 -1
- package/build/template/components/NotFound.d.ts +0 -2
- package/build/template/components/NotFound.d.ts.map +0 -1
- package/build/template/components/NotFound.js +0 -7
- package/build/template/components/NotFound.js.map +0 -1
- package/build/template/components/RadixLink.js.map +0 -1
- package/build/template/components/TestComponent.d.ts +0 -5
- package/build/template/components/TestComponent.d.ts.map +0 -1
- package/build/template/components/TestComponent.js +0 -7
- package/build/template/components/TestComponent.js.map +0 -1
- package/build/template/components/Texts/MinorHeading.js.map +0 -1
- package/build/template/components/ThemeToggle.d.ts +0 -3
- package/build/template/components/ThemeToggle.d.ts.map +0 -1
- package/build/template/components/ThemeToggle.js +0 -9
- package/build/template/components/ThemeToggle.js.map +0 -1
- package/build/template/components/TypeAnnotation.js.map +0 -1
- package/build/template/components/TypeFieldsLinkList.js +0 -9
- package/build/template/components/TypeFieldsLinkList.js.map +0 -1
- package/build/template/components/TypeIndex.js +0 -17
- package/build/template/components/TypeIndex.js.map +0 -1
- package/build/template/components/content/$$.d.ts +0 -3
- package/build/template/components/content/$$.d.ts.map +0 -1
- package/build/template/components/content/$$.js +0 -3
- package/build/template/components/content/$$.js.map +0 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
- package/build/template/components/content/GraphQLDocumentWrapper.js +0 -63
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
- package/build/template/components/graphql/graphql.js +0 -3
- package/build/template/components/graphql/graphql.js.map +0 -1
- package/build/template/components/graphql/type-kind-icon.js.map +0 -1
- package/build/template/components/graphql/type-link.js +0 -11
- package/build/template/components/graphql/type-link.js.map +0 -1
- package/build/template/components/sidebar/Sidebar.js +0 -11
- package/build/template/components/sidebar/Sidebar.js.map +0 -1
- package/build/template/components/sidebar/SidebarItem.js.map +0 -1
- package/build/template/components/sidebar/ToggleButton.js +0 -5
- package/build/template/components/sidebar/ToggleButton.js.map +0 -1
- package/build/template/contexts/ThemeContext.d.ts +0 -12
- package/build/template/contexts/ThemeContext.d.ts.map +0 -1
- package/build/template/contexts/ThemeContext.js +0 -40
- package/build/template/contexts/ThemeContext.js.map +0 -1
- package/build/template/entry.client.js.map +0 -1
- package/build/template/hooks/useClientOnly.d.ts +0 -9
- package/build/template/hooks/useClientOnly.d.ts.map +0 -1
- package/build/template/hooks/useClientOnly.js +0 -16
- package/build/template/hooks/useClientOnly.js.map +0 -1
- package/build/template/routes/changelog.js.map +0 -1
- package/build/template/routes/index.js.map +0 -1
- package/build/template/routes/reference.$type.$field.js.map +0 -1
- package/build/template/routes/reference.$type.js.map +0 -1
- package/build/template/routes/reference.js.map +0 -1
- package/build/template/routes/root.js +0 -138
- package/build/template/routes/root.js.map +0 -1
- package/build/template/routes.js +0 -5
- package/build/template/routes.js.map +0 -1
- package/build/template/server/create-page-html-response.d.ts +0 -7
- package/build/template/server/create-page-html-response.d.ts.map +0 -1
- package/build/template/server/create-page-html-response.js.map +0 -1
- package/build/template/server/middleware/page.d.ts +0 -4
- package/build/template/server/middleware/page.d.ts.map +0 -1
- package/build/template/server/middleware/page.js +0 -15
- package/build/template/server/middleware/page.js.map +0 -1
- package/build/template/server/middleware/unsupported-assets.d.ts +0 -10
- package/build/template/server/middleware/unsupported-assets.d.ts.map +0 -1
- package/build/template/server/middleware/unsupported-assets.js +0 -21
- package/build/template/server/middleware/unsupported-assets.js.map +0 -1
- package/build/template/styles/code-block.css +0 -218
- package/src/api/content/$$.ts +0 -6
- package/src/api/content/$.test.ts +0 -72
- package/src/api/content/$.ts +0 -1
- package/src/api/content/metadata.ts +0 -11
- package/src/api/content/navbar.test.ts +0 -55
- package/src/api/content/navbar.ts +0 -61
- package/src/api/content/page.ts +0 -12
- package/src/api/content/scan.ts +0 -117
- package/src/api/content/sidebar.test.ts +0 -297
- package/src/api/content/sidebar.ts +0 -283
- package/src/api/content/utils.ts +0 -7
- package/src/api/static/index.ts +0 -1
- package/src/api/static/manifest.test.ts +0 -106
- package/src/api/static/manifest.ts +0 -16
- package/src/api/static/rebase.test.ts +0 -229
- package/src/api/static/rebase.ts +0 -140
- package/src/api/static/static.ts +0 -2
- package/src/cli/commands/static/$default.ts +0 -43
- package/src/cli/commands/static/rebase.ts +0 -37
- package/src/cli/commands/static.ts +0 -6
- package/src/exports/components.ts +0 -4
- package/src/lib/demos/builder.ts +0 -298
- package/src/lib/demos/config-schema.ts +0 -56
- package/src/lib/demos/config.test.ts +0 -193
- package/src/lib/demos/config.ts +0 -205
- package/src/lib/demos/index.ts +0 -9
- package/src/lib/demos/ui/components.ts +0 -739
- package/src/lib/demos/ui/data-collector.ts +0 -246
- package/src/lib/demos/ui/landing-page-cli.ts +0 -23
- package/src/lib/demos/ui/landing-page.ts +0 -126
- package/src/lib/demos/ui/page-renderer.ts +0 -124
- package/src/lib/demos/utils.ts +0 -43
- package/src/lib/deployment/$$.ts +0 -2
- package/src/lib/deployment/$.test.ts +0 -53
- package/src/lib/deployment/$.ts +0 -1
- package/src/lib/deployment/metadata.ts +0 -40
- package/src/lib/deployment/path-manager.ts +0 -186
- package/src/lib/github-actions/git-controller.ts +0 -151
- package/src/lib/github-actions/github-actions.ts +0 -6
- package/src/lib/github-actions/index.ts +0 -1
- package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
- package/src/lib/github-actions/pr-controller.test.ts +0 -172
- package/src/lib/github-actions/pr-controller.ts +0 -183
- package/src/lib/github-actions/run-step-cli.ts +0 -84
- package/src/lib/github-actions/runner.test.ts +0 -192
- package/src/lib/github-actions/runner.ts +0 -226
- package/src/lib/github-actions/schemas/context.ts +0 -424
- package/src/lib/github-actions/schemas/index.ts +0 -5
- package/src/lib/github-actions/search-module.test.ts +0 -110
- package/src/lib/github-actions/search-module.ts +0 -76
- package/src/lib/github-actions/step.test.ts +0 -149
- package/src/lib/github-actions/step.ts +0 -232
- package/src/lib/graphql-document/$$.ts +0 -4
- package/src/lib/graphql-document/$.test.ts +0 -132
- package/src/lib/graphql-document/$.ts +0 -1
- package/src/lib/graphql-document/README.md +0 -102
- package/src/lib/graphql-document/analysis.ts +0 -415
- package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -262
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -70
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -197
- package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -167
- package/src/lib/graphql-document/components/index.ts +0 -5
- package/src/lib/graphql-document/demo.md +0 -155
- package/src/lib/graphql-document/example.ts +0 -163
- package/src/lib/graphql-document/graphql-document.ts +0 -37
- package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
- package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
- package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
- package/src/lib/graphql-document/positioning-simple.ts +0 -260
- package/src/lib/graphql-document/schema-context.tsx +0 -20
- package/src/lib/graphql-document/schema-integration-example.ts +0 -341
- package/src/lib/graphql-document/schema-integration.test.ts +0 -365
- package/src/lib/graphql-document/schema-integration.ts +0 -497
- package/src/lib/graphql-document/types.ts +0 -129
- package/src/lib/kit-temp.test-d.ts +0 -115
- package/src/lib/kit-temp.test.ts +0 -139
- package/src/lib/mask/$$.ts +0 -2
- package/src/lib/mask/$.test.ts +0 -248
- package/src/lib/mask/$.ts +0 -1
- package/src/lib/mask/apply.ts +0 -134
- package/src/lib/mask/mask.test-d.ts +0 -144
- package/src/lib/mask/mask.ts +0 -244
- package/src/lib/task/$$.ts +0 -2
- package/src/lib/task/$.test.ts +0 -209
- package/src/lib/task/$.ts +0 -1
- package/src/lib/task/report.ts +0 -72
- package/src/lib/task/task.ts +0 -112
- package/src/lib/version-history/index.test.ts +0 -196
- package/src/lib/version-history/index.ts +0 -4
- package/src/lib/version-history/types.ts +0 -68
- package/src/lib/version-history/version-history.ts +0 -293
- package/src/sandbox.ts +0 -20
- package/src/template/components/CodeBlockEnhancer.tsx +0 -192
- package/src/template/components/HamburgerMenu.tsx +0 -96
- package/src/template/components/MDXComponents.tsx +0 -101
- package/src/template/components/NotFound.tsx +0 -28
- package/src/template/components/TestComponent.tsx +0 -6
- package/src/template/components/ThemeToggle.tsx +0 -21
- package/src/template/components/content/$$.ts +0 -2
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -89
- package/src/template/contexts/ThemeContext.tsx +0 -60
- package/src/template/hooks/useClientOnly.ts +0 -21
- package/src/template/server/middleware/page.ts +0 -19
- package/src/template/server/middleware/unsupported-assets.ts +0 -25
- /package/build/lib/{graphql-document → file-router/sidebar}/types.js +0 -0
@@ -1,183 +0,0 @@
|
|
1
|
-
import type { Context } from '@actions/github/lib/context.ts'
|
2
|
-
import type { GitHub } from '@actions/github/lib/utils.ts'
|
3
|
-
import { type Deployment, fetchPullRequestDeployments } from './lib/get-pr-deployments.ts'
|
4
|
-
|
5
|
-
const createCommentMarker = (id: string) => `<!-- comment-id: ${id} -->`
|
6
|
-
|
7
|
-
export interface CommentOptions {
|
8
|
-
/**
|
9
|
-
* Unique identifier for the comment. Used to find and update existing comments.
|
10
|
-
* If not provided, uses the current step name as the ID.
|
11
|
-
*/
|
12
|
-
id?: string
|
13
|
-
/**
|
14
|
-
* Markdown content of the comment
|
15
|
-
*/
|
16
|
-
content: string
|
17
|
-
/**
|
18
|
-
* Whether this comment is optional. If true, errors are logged but not thrown
|
19
|
-
* when not in a PR context. Defaults to false.
|
20
|
-
*/
|
21
|
-
optional?: boolean
|
22
|
-
}
|
23
|
-
|
24
|
-
/**
|
25
|
-
* Create a PR controller. Returns a no-op controller when not in PR context.
|
26
|
-
*/
|
27
|
-
export function createPullRequestController(
|
28
|
-
github: InstanceType<typeof GitHub>,
|
29
|
-
context: Context,
|
30
|
-
defaultCommentId?: string,
|
31
|
-
): PullRequestController {
|
32
|
-
// Check if this is a PR-related event
|
33
|
-
let prNumber: number | null = null
|
34
|
-
|
35
|
-
if (context.payload.pull_request?.number) {
|
36
|
-
// Direct PR events
|
37
|
-
prNumber = context.payload.pull_request.number
|
38
|
-
} else if (context.eventName === 'issue_comment' && context.payload.issue?.['pull_request']) {
|
39
|
-
// Issue comment on a PR (not on a regular issue)
|
40
|
-
prNumber = context.payload.issue.number
|
41
|
-
}
|
42
|
-
|
43
|
-
return new PullRequestController(github, context, prNumber, defaultCommentId)
|
44
|
-
}
|
45
|
-
|
46
|
-
// /**
|
47
|
-
// * Check if the current event is PR-related
|
48
|
-
// */
|
49
|
-
// function isPREvent(context: Context): boolean {
|
50
|
-
// const prEvents = [
|
51
|
-
// 'pull_request',
|
52
|
-
// 'pull_request_review',
|
53
|
-
// 'pull_request_review_comment',
|
54
|
-
// 'pull_request_target',
|
55
|
-
// 'issue_comment', // Can be on PRs too
|
56
|
-
// ]
|
57
|
-
|
58
|
-
// return prEvents.includes(context.eventName)
|
59
|
-
// || (context.eventName === 'issue_comment' && context.payload.issue?.['pull_request'])
|
60
|
-
// }
|
61
|
-
|
62
|
-
/**
|
63
|
-
* PR Controller for GitHub Actions
|
64
|
-
* Provides easy-to-use methods for interacting with pull requests
|
65
|
-
*/
|
66
|
-
export class PullRequestController {
|
67
|
-
public readonly isActive: boolean
|
68
|
-
public readonly number: number
|
69
|
-
|
70
|
-
constructor(
|
71
|
-
private github: InstanceType<typeof GitHub>,
|
72
|
-
private context: Context,
|
73
|
-
prNumber: number | null,
|
74
|
-
private defaultCommentId?: string,
|
75
|
-
) {
|
76
|
-
this.isActive = prNumber !== null
|
77
|
-
this.number = prNumber || 0
|
78
|
-
}
|
79
|
-
|
80
|
-
async comment(options: CommentOptions): Promise<void> {
|
81
|
-
if (!this.isActive) {
|
82
|
-
if (options.optional) {
|
83
|
-
console.log('[skip] Not in a PR context, cannot create comment')
|
84
|
-
return
|
85
|
-
}
|
86
|
-
throw new Error('Not in a PR context, cannot create comment')
|
87
|
-
}
|
88
|
-
|
89
|
-
const { owner, repo } = this.context.repo
|
90
|
-
|
91
|
-
// Use provided ID or fall back to default
|
92
|
-
const commentId = options.id || this.defaultCommentId || 'default'
|
93
|
-
|
94
|
-
// Search for existing comment with the ID in the body
|
95
|
-
const commentMarker = createCommentMarker(commentId)
|
96
|
-
const body = `${options.content}\n\n${commentMarker}`
|
97
|
-
|
98
|
-
// Find existing comment
|
99
|
-
const { data: comments } = await this.github.rest.issues.listComments({
|
100
|
-
owner,
|
101
|
-
repo,
|
102
|
-
issue_number: this.number,
|
103
|
-
per_page: 100,
|
104
|
-
})
|
105
|
-
|
106
|
-
const existingComment = comments.find(comment => comment.body?.includes(commentMarker))
|
107
|
-
|
108
|
-
if (existingComment) {
|
109
|
-
// Update existing comment
|
110
|
-
await this.github.rest.issues.updateComment({
|
111
|
-
owner,
|
112
|
-
repo,
|
113
|
-
comment_id: existingComment.id,
|
114
|
-
body,
|
115
|
-
})
|
116
|
-
} else {
|
117
|
-
// Create new comment
|
118
|
-
await this.github.rest.issues.createComment({
|
119
|
-
owner,
|
120
|
-
repo,
|
121
|
-
issue_number: this.number,
|
122
|
-
body,
|
123
|
-
})
|
124
|
-
}
|
125
|
-
}
|
126
|
-
|
127
|
-
async fetchDeployments(): Promise<Deployment[]> {
|
128
|
-
if (!this.isActive) {
|
129
|
-
console.log('[skip] Not in a PR context, cannot fetch deployments')
|
130
|
-
return []
|
131
|
-
}
|
132
|
-
return await fetchPullRequestDeployments(
|
133
|
-
this.github,
|
134
|
-
this.context.repo.owner,
|
135
|
-
this.context.repo.repo,
|
136
|
-
this.number,
|
137
|
-
)
|
138
|
-
}
|
139
|
-
|
140
|
-
async deleteComment(id: string): Promise<void> {
|
141
|
-
if (!this.isActive) {
|
142
|
-
console.log('[skip] Not in a PR context, cannot delete comment')
|
143
|
-
return
|
144
|
-
}
|
145
|
-
const { owner, repo } = this.context.repo
|
146
|
-
const commentMarker = createCommentMarker(id)
|
147
|
-
|
148
|
-
// Find existing comment
|
149
|
-
const { data: comments } = await this.github.rest.issues.listComments({
|
150
|
-
owner,
|
151
|
-
repo,
|
152
|
-
issue_number: this.number,
|
153
|
-
per_page: 100,
|
154
|
-
})
|
155
|
-
|
156
|
-
const existingComment = comments.find(comment => comment.body?.includes(commentMarker))
|
157
|
-
|
158
|
-
if (existingComment) {
|
159
|
-
await this.github.rest.issues.deleteComment({
|
160
|
-
owner,
|
161
|
-
repo,
|
162
|
-
comment_id: existingComment.id,
|
163
|
-
})
|
164
|
-
}
|
165
|
-
}
|
166
|
-
|
167
|
-
// async getComments(): Promise<Array<{ id: number; body: string; created_at: string }>> {
|
168
|
-
// const { owner, repo } = this.context.repo
|
169
|
-
|
170
|
-
// const { data: comments } = await this.github.rest.issues.listComments({
|
171
|
-
// owner,
|
172
|
-
// repo,
|
173
|
-
// issue_number: this.number,
|
174
|
-
// per_page: 100,
|
175
|
-
// })
|
176
|
-
|
177
|
-
// return comments.map(comment => ({
|
178
|
-
// id: comment.id,
|
179
|
-
// body: comment.body || '',
|
180
|
-
// created_at: comment.created_at,
|
181
|
-
// }))
|
182
|
-
// }
|
183
|
-
}
|
@@ -1,84 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
/**
|
3
|
-
* CLI for running workflow steps
|
4
|
-
*
|
5
|
-
* This is designed to be called from GitHub Actions workflows
|
6
|
-
* with our convention of steps being in .github/steps/<name>.ts
|
7
|
-
*/
|
8
|
-
|
9
|
-
import * as core from '@actions/core'
|
10
|
-
import { runStep, runStepByName } from './runner.ts'
|
11
|
-
|
12
|
-
async function main() {
|
13
|
-
const stepName = process.argv[2]
|
14
|
-
const workflowName = process.argv[3]
|
15
|
-
const pathOverride = process.argv[4]
|
16
|
-
const inputsJson = process.argv[5] || '{}'
|
17
|
-
const previousJson = process.argv[7] || '{}'
|
18
|
-
|
19
|
-
if (!stepName) {
|
20
|
-
core.setFailed('Missing required step name parameter')
|
21
|
-
core.error(
|
22
|
-
'Usage: run-step-cli <step-name> <workflow-name> [path-override] [inputs-json] [previous-json]',
|
23
|
-
)
|
24
|
-
core.error('This runner expects steps to be in .github/steps/<name>.ts')
|
25
|
-
process.exit(1)
|
26
|
-
}
|
27
|
-
|
28
|
-
// Module discovery is now handled by the runner
|
29
|
-
|
30
|
-
try {
|
31
|
-
core.info(`Running workflow step: ${stepName}`)
|
32
|
-
|
33
|
-
// Parse all inputs
|
34
|
-
const inputs = JSON.parse(inputsJson)
|
35
|
-
const previous = JSON.parse(previousJson)
|
36
|
-
|
37
|
-
// Debug logging
|
38
|
-
core.debug(`Parsed inputs: ${JSON.stringify(inputs)}`)
|
39
|
-
core.debug(`Parsed previous: ${JSON.stringify(previous)}`)
|
40
|
-
|
41
|
-
const mergedInputs = {
|
42
|
-
...inputs,
|
43
|
-
previous,
|
44
|
-
}
|
45
|
-
|
46
|
-
core.debug(`Merged inputs: ${JSON.stringify(mergedInputs)}`)
|
47
|
-
|
48
|
-
// If path override is provided and not empty, use it directly
|
49
|
-
if (pathOverride && pathOverride !== '') {
|
50
|
-
await runStep(pathOverride, JSON.stringify(mergedInputs))
|
51
|
-
} else {
|
52
|
-
await runStepByName(stepName, workflowName, JSON.stringify(mergedInputs))
|
53
|
-
}
|
54
|
-
} catch (error) {
|
55
|
-
const message = error instanceof Error ? error.message : String(error)
|
56
|
-
const stack = error instanceof Error ? error.stack : undefined
|
57
|
-
|
58
|
-
core.error(`Failed to run step ${stepName}: ${message}`)
|
59
|
-
if (stack) {
|
60
|
-
core.error(`Stack trace:`)
|
61
|
-
core.error(stack)
|
62
|
-
}
|
63
|
-
|
64
|
-
core.error(`Step name: ${stepName}`)
|
65
|
-
core.error(`Workflow name: ${workflowName || 'none'}`)
|
66
|
-
core.error(`Path override: ${pathOverride || 'none'}`)
|
67
|
-
core.error(`Inputs: ${inputsJson}`)
|
68
|
-
core.error(`Previous: ${previousJson}`)
|
69
|
-
|
70
|
-
// Check for common issues
|
71
|
-
if (error instanceof Error) {
|
72
|
-
if (error.message.includes('Cannot find module')) {
|
73
|
-
core.error(`Module import error - check that all dependencies are installed`)
|
74
|
-
} else if (error.message.includes('SyntaxError')) {
|
75
|
-
core.error(`Syntax error in step file - check TypeScript compilation`)
|
76
|
-
}
|
77
|
-
}
|
78
|
-
|
79
|
-
core.setFailed(`Step execution failed: ${message}`)
|
80
|
-
process.exit(1)
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
main()
|
@@ -1,192 +0,0 @@
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
2
|
-
import { z } from 'zod/v4'
|
3
|
-
import { runStep } from './runner.ts'
|
4
|
-
import { createStep } from './step.ts'
|
5
|
-
|
6
|
-
// Mock the discovery module
|
7
|
-
vi.mock('./discovery.ts')
|
8
|
-
|
9
|
-
// Mock @actions/core
|
10
|
-
vi.mock('@actions/core', () => ({
|
11
|
-
startGroup: vi.fn(),
|
12
|
-
endGroup: vi.fn(),
|
13
|
-
debug: vi.fn(),
|
14
|
-
info: vi.fn(),
|
15
|
-
warning: vi.fn(),
|
16
|
-
error: vi.fn(),
|
17
|
-
setOutput: vi.fn(),
|
18
|
-
setFailed: vi.fn(),
|
19
|
-
}))
|
20
|
-
|
21
|
-
// Mock GitHub context
|
22
|
-
vi.mock('@actions/github', () => ({
|
23
|
-
context: {
|
24
|
-
repo: { owner: 'test', repo: 'test' },
|
25
|
-
eventName: 'push',
|
26
|
-
payload: {},
|
27
|
-
},
|
28
|
-
getOctokit: vi.fn(() => ({
|
29
|
-
rest: {
|
30
|
-
issues: {
|
31
|
-
listComments: vi.fn().mockResolvedValue({ data: [] }),
|
32
|
-
createComment: vi.fn(),
|
33
|
-
updateComment: vi.fn(),
|
34
|
-
deleteComment: vi.fn(),
|
35
|
-
},
|
36
|
-
},
|
37
|
-
})),
|
38
|
-
}))
|
39
|
-
|
40
|
-
describe('runner', () => {
|
41
|
-
beforeEach(() => {
|
42
|
-
vi.clearAllMocks()
|
43
|
-
process.env['GITHUB_TOKEN'] = 'test-token'
|
44
|
-
})
|
45
|
-
|
46
|
-
describe('runStep', () => {
|
47
|
-
it('validates inputs before running step', async () => {
|
48
|
-
const TestStep = createStep({
|
49
|
-
name: 'test-step',
|
50
|
-
description: 'Test step',
|
51
|
-
inputs: z.object({
|
52
|
-
required: z.string(),
|
53
|
-
number: z.number(),
|
54
|
-
}),
|
55
|
-
outputs: z.object({ result: z.string() }),
|
56
|
-
async run({ inputs }) {
|
57
|
-
return { result: `Got ${inputs.required} and ${inputs.number}` }
|
58
|
-
},
|
59
|
-
})
|
60
|
-
|
61
|
-
// Mock the module import
|
62
|
-
vi.doMock('./test-step.ts', () => ({
|
63
|
-
default: TestStep,
|
64
|
-
}))
|
65
|
-
|
66
|
-
await runStep(
|
67
|
-
'./test-step.ts',
|
68
|
-
JSON.stringify({
|
69
|
-
required: 'value',
|
70
|
-
number: 42,
|
71
|
-
}),
|
72
|
-
)
|
73
|
-
|
74
|
-
const core = await import('@actions/core')
|
75
|
-
expect(core.startGroup).toHaveBeenCalledWith('test-step: Test step')
|
76
|
-
expect(core.setOutput).toHaveBeenCalledWith('result', 'Got value and 42')
|
77
|
-
})
|
78
|
-
|
79
|
-
it('handles validation errors', async () => {
|
80
|
-
const TestStep = createStep({
|
81
|
-
name: 'test-step',
|
82
|
-
description: 'Test step',
|
83
|
-
inputs: z.object({
|
84
|
-
required: z.string(),
|
85
|
-
number: z.number(),
|
86
|
-
}),
|
87
|
-
outputs: z.object({ result: z.string() }),
|
88
|
-
async run() {
|
89
|
-
return { result: 'ok' }
|
90
|
-
},
|
91
|
-
})
|
92
|
-
|
93
|
-
vi.doMock('./test-step.ts', () => ({
|
94
|
-
default: TestStep,
|
95
|
-
}))
|
96
|
-
|
97
|
-
const core = await import('@actions/core')
|
98
|
-
|
99
|
-
await expect(runStep(
|
100
|
-
'./test-step.ts',
|
101
|
-
JSON.stringify({
|
102
|
-
required: 'value',
|
103
|
-
number: 'not-a-number', // Invalid type
|
104
|
-
}),
|
105
|
-
)).rejects.toThrow()
|
106
|
-
|
107
|
-
expect(core.error).toHaveBeenCalledWith(
|
108
|
-
expect.stringContaining('Validation error in step test-step'),
|
109
|
-
)
|
110
|
-
})
|
111
|
-
|
112
|
-
it('warns about unknown inputs', async () => {
|
113
|
-
const TestStep = createStep({
|
114
|
-
name: 'test-step',
|
115
|
-
description: 'Test step',
|
116
|
-
inputs: z.object({
|
117
|
-
known: z.string(),
|
118
|
-
}),
|
119
|
-
outputs: z.object({ result: z.string() }),
|
120
|
-
async run({ inputs }) {
|
121
|
-
return { result: inputs.known }
|
122
|
-
},
|
123
|
-
})
|
124
|
-
|
125
|
-
vi.doMock('./test-step.ts', () => ({
|
126
|
-
default: TestStep,
|
127
|
-
}))
|
128
|
-
|
129
|
-
await runStep(
|
130
|
-
'./test-step.ts',
|
131
|
-
JSON.stringify({
|
132
|
-
known: 'value',
|
133
|
-
unknown1: 'should-warn',
|
134
|
-
unknown2: 'also-warn',
|
135
|
-
}),
|
136
|
-
)
|
137
|
-
|
138
|
-
const core = await import('@actions/core')
|
139
|
-
expect(core.warning).toHaveBeenCalledWith(
|
140
|
-
`Step 'test-step' received unknown inputs: unknown1, unknown2. These inputs will be ignored.`,
|
141
|
-
)
|
142
|
-
})
|
143
|
-
|
144
|
-
it('validates and exports outputs', async () => {
|
145
|
-
const TestStep = createStep({
|
146
|
-
name: 'test-step',
|
147
|
-
description: 'Test step',
|
148
|
-
inputs: z.object({}),
|
149
|
-
outputs: z.object({
|
150
|
-
status: z.string(),
|
151
|
-
count: z.number(),
|
152
|
-
}),
|
153
|
-
async run() {
|
154
|
-
return { status: 'complete', count: 5 }
|
155
|
-
},
|
156
|
-
})
|
157
|
-
|
158
|
-
vi.doMock('./test-step.ts', () => ({
|
159
|
-
default: TestStep,
|
160
|
-
}))
|
161
|
-
|
162
|
-
await runStep('./test-step.ts', '{}')
|
163
|
-
|
164
|
-
const core = await import('@actions/core')
|
165
|
-
expect(core.setOutput).toHaveBeenCalledWith('status', 'complete')
|
166
|
-
expect(core.setOutput).toHaveBeenCalledWith('count', '5')
|
167
|
-
})
|
168
|
-
|
169
|
-
it('warns when step returns outputs without schema', async () => {
|
170
|
-
const TestStep = createStep({
|
171
|
-
name: 'test-step',
|
172
|
-
description: 'Test step',
|
173
|
-
inputs: z.object({}),
|
174
|
-
// No outputs schema defined
|
175
|
-
async run() {
|
176
|
-
return { unexpected: 'output' } as any
|
177
|
-
},
|
178
|
-
})
|
179
|
-
|
180
|
-
vi.doMock('./test-step.ts', () => ({
|
181
|
-
default: TestStep,
|
182
|
-
}))
|
183
|
-
|
184
|
-
await runStep('./test-step.ts', '{}')
|
185
|
-
|
186
|
-
const core = await import('@actions/core')
|
187
|
-
expect(core.warning).toHaveBeenCalledWith(
|
188
|
-
expect.stringContaining('Step did not define outputs schema, but returned outputs'),
|
189
|
-
)
|
190
|
-
})
|
191
|
-
})
|
192
|
-
})
|
@@ -1,226 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Runner utilities for executing workflow steps in GitHub Actions
|
3
|
-
*/
|
4
|
-
|
5
|
-
import * as core from '@actions/core'
|
6
|
-
import { context, getOctokit } from '@actions/github'
|
7
|
-
import { Obj, Path, Str } from '@wollybeard/kit'
|
8
|
-
import { promises as fs } from 'node:fs'
|
9
|
-
import { z } from 'zod/v4'
|
10
|
-
import { $ } from 'zx'
|
11
|
-
import { createGitController } from './git-controller.ts'
|
12
|
-
import { createPullRequestController } from './pr-controller.ts'
|
13
|
-
import { searchModule } from './search-module.ts'
|
14
|
-
import type { Args, Step } from './step.ts'
|
15
|
-
|
16
|
-
/**
|
17
|
-
* Create a workflow context with all necessary tools
|
18
|
-
*/
|
19
|
-
export function createArgs(stepName: string): Args {
|
20
|
-
const githubToken = process.env['GITHUB_TOKEN']
|
21
|
-
if (!githubToken) {
|
22
|
-
throw new Error('GITHUB_TOKEN environment variable is required')
|
23
|
-
}
|
24
|
-
|
25
|
-
const github = getOctokit(githubToken)
|
26
|
-
const pr = createPullRequestController(github, context, stepName)
|
27
|
-
const git = createGitController($)
|
28
|
-
|
29
|
-
return {
|
30
|
-
core,
|
31
|
-
github,
|
32
|
-
context,
|
33
|
-
$,
|
34
|
-
fs,
|
35
|
-
pr,
|
36
|
-
git,
|
37
|
-
inputs: {},
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Run a workflow step by name using discovery
|
43
|
-
*/
|
44
|
-
export async function runStepByName(
|
45
|
-
stepName: string,
|
46
|
-
workflowName?: string,
|
47
|
-
inputsJson?: string,
|
48
|
-
): Promise<void> {
|
49
|
-
// Discover the step module
|
50
|
-
const moduleLocation = searchModule({ stepName, workflowName })
|
51
|
-
|
52
|
-
if (!moduleLocation.found || !moduleLocation.path) {
|
53
|
-
core.error(`Step '${stepName}' not found`)
|
54
|
-
core.error(`Searched paths:`)
|
55
|
-
moduleLocation.searchedPaths.forEach(path => core.error(` - ${path}`))
|
56
|
-
throw new Error(`Step '${stepName}' not found`)
|
57
|
-
}
|
58
|
-
|
59
|
-
core.debug(`Found step at: ${moduleLocation.path}`)
|
60
|
-
await runStep(moduleLocation.path, inputsJson)
|
61
|
-
}
|
62
|
-
|
63
|
-
/**
|
64
|
-
* Run a workflow step by importing it from a path
|
65
|
-
*/
|
66
|
-
export async function runStep(
|
67
|
-
stepPath: string,
|
68
|
-
inputsJson?: string,
|
69
|
-
): Promise<void> {
|
70
|
-
const rawInputs = inputsJson ? JSON.parse(inputsJson) : {}
|
71
|
-
|
72
|
-
try {
|
73
|
-
// Dynamically import the step module
|
74
|
-
let stepModule: any
|
75
|
-
|
76
|
-
// Check if this is a test scenario (mocked module)
|
77
|
-
if (process.env['NODE_ENV'] === 'test' && stepPath.startsWith('./test-')) {
|
78
|
-
// For tests, use direct import path
|
79
|
-
stepModule = await import(stepPath)
|
80
|
-
} else {
|
81
|
-
// For real usage, convert to absolute path
|
82
|
-
const { resolve } = await import('node:path')
|
83
|
-
const { pathToFileURL } = await import('node:url')
|
84
|
-
|
85
|
-
// Resolve to absolute path and convert to file URL for proper ESM import
|
86
|
-
const absolutePath = resolve(process.cwd(), stepPath)
|
87
|
-
const importUrl = pathToFileURL(absolutePath).href
|
88
|
-
|
89
|
-
stepModule = await import(importUrl)
|
90
|
-
}
|
91
|
-
|
92
|
-
const step: Step = stepModule.default
|
93
|
-
|
94
|
-
if (!step || !step.run || !step.definition) {
|
95
|
-
throw new Error(`Module at ${stepPath} does not export a valid workflow step as default export`)
|
96
|
-
}
|
97
|
-
|
98
|
-
//
|
99
|
-
//
|
100
|
-
//
|
101
|
-
//
|
102
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • Process Step Definition
|
103
|
-
// Validate Inputs
|
104
|
-
// Warning about excess properties
|
105
|
-
// Validate expected GitHub event versus actual
|
106
|
-
//
|
107
|
-
//
|
108
|
-
|
109
|
-
const { definition } = step
|
110
|
-
const stepName = definition.name ?? Path.parse(stepPath).name
|
111
|
-
|
112
|
-
// todo: allow step definition to opt-out of runtime validation
|
113
|
-
// Validate context if schema is provided
|
114
|
-
let validatedContext: any = context
|
115
|
-
if (definition.contextSchema) {
|
116
|
-
const contextValidation = definition.contextSchema.safeParse(context)
|
117
|
-
if (!contextValidation.success) {
|
118
|
-
const errorMessage = `Step '${stepName}' expects a different GitHub event context`
|
119
|
-
core.error(errorMessage)
|
120
|
-
core.error(`Expected context: ${JSON.stringify(contextValidation.error.issues, null, 2)}`)
|
121
|
-
core.error(`Actual event: ${context.eventName}`)
|
122
|
-
|
123
|
-
// For now, default to hard error. We can make this configurable later
|
124
|
-
throw new Error(errorMessage)
|
125
|
-
}
|
126
|
-
validatedContext = contextValidation.data
|
127
|
-
}
|
128
|
-
|
129
|
-
// Validate inputs
|
130
|
-
let inputs: Record<string, unknown> = {}
|
131
|
-
if (definition.inputsSchema) {
|
132
|
-
const parseResult = definition.inputsSchema.safeParse(rawInputs)
|
133
|
-
if (parseResult.success) {
|
134
|
-
inputs = parseResult.data
|
135
|
-
} else {
|
136
|
-
core.error(`Validation error in step ${stepName}: ${parseResult.error.message}`)
|
137
|
-
core.debug(`Validation issues: ${JSON.stringify(parseResult.error.issues, null, 2)}`)
|
138
|
-
core.debug(`Received data: ${JSON.stringify(rawInputs, null, 2)}`)
|
139
|
-
throw parseResult.error
|
140
|
-
}
|
141
|
-
|
142
|
-
// todo: let step define if it wants to silence this warning
|
143
|
-
// Check for excess properties if using object schema
|
144
|
-
if (definition.inputsSchema instanceof z.ZodObject && typeof rawInputs === 'object' && rawInputs !== null) {
|
145
|
-
const knownKeys = Object.keys(definition.inputsSchema.shape)
|
146
|
-
const providedKeys = Object.keys(rawInputs)
|
147
|
-
const unknownKeys = providedKeys.filter(key => !knownKeys.includes(key))
|
148
|
-
|
149
|
-
if (unknownKeys.length > 0) {
|
150
|
-
core.warning(
|
151
|
-
`Step '${stepName}' received unknown inputs: ${unknownKeys.join(', ')}. These inputs will be ignored.`,
|
152
|
-
)
|
153
|
-
core.debug(`Known inputs: ${knownKeys.join(', ')}`)
|
154
|
-
core.debug(`Provided inputs: ${JSON.stringify(rawInputs, null, 2)}`)
|
155
|
-
}
|
156
|
-
}
|
157
|
-
}
|
158
|
-
|
159
|
-
//
|
160
|
-
//
|
161
|
-
//
|
162
|
-
//
|
163
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • Run Step
|
164
|
-
//
|
165
|
-
//
|
166
|
-
|
167
|
-
// Create context with validated inputs
|
168
|
-
const args = createArgs(stepName)
|
169
|
-
const stepArgs = {
|
170
|
-
...args,
|
171
|
-
context: validatedContext,
|
172
|
-
inputs: inputs as any,
|
173
|
-
}
|
174
|
-
|
175
|
-
core.startGroup(`${definition.name}: ${definition.description}`)
|
176
|
-
core.debug(`Inputs: ${JSON.stringify(inputs)}`)
|
177
|
-
|
178
|
-
// Execute step
|
179
|
-
const outputRaw = await step.run(stepArgs)
|
180
|
-
|
181
|
-
//
|
182
|
-
//
|
183
|
-
//
|
184
|
-
//
|
185
|
-
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • Handle Step Output
|
186
|
-
//
|
187
|
-
//
|
188
|
-
|
189
|
-
// Validate & Export outputs
|
190
|
-
// todo: allow step definition to opt-out of output validation
|
191
|
-
if (definition.outputsSchema) {
|
192
|
-
const outputs = definition.outputsSchema.parse(outputRaw)
|
193
|
-
const json = JSON.stringify(outputs)
|
194
|
-
core.setOutput('json', json)
|
195
|
-
for (const [key, value] of Obj.entries(outputs)) {
|
196
|
-
// todo: if key === json raise an error, it is a reserved name
|
197
|
-
core.setOutput(key, Str.is(value) ? value : JSON.stringify(value))
|
198
|
-
}
|
199
|
-
} else if (outputRaw !== undefined && outputRaw !== null) {
|
200
|
-
core.warning(
|
201
|
-
`Step did not define outputs schema, but returned outputs. These will not be validated or exported. Outputs were: ${
|
202
|
-
JSON.stringify(outputRaw)
|
203
|
-
}`,
|
204
|
-
)
|
205
|
-
}
|
206
|
-
|
207
|
-
core.endGroup()
|
208
|
-
} catch (error) {
|
209
|
-
core.endGroup()
|
210
|
-
|
211
|
-
// Log error details once (if not already logged)
|
212
|
-
if (error instanceof Error && !(error instanceof z.ZodError)) {
|
213
|
-
core.error(`Step failed: ${error.message}`)
|
214
|
-
core.debug(`Stack: ${error.stack}`)
|
215
|
-
} else if (!(error instanceof z.ZodError)) {
|
216
|
-
core.error(`Step failed: ${String(error)}`)
|
217
|
-
}
|
218
|
-
|
219
|
-
if (inputsJson) {
|
220
|
-
core.debug(`Step inputs: ${inputsJson}`)
|
221
|
-
}
|
222
|
-
|
223
|
-
// Re-throw to let CLI handle the error
|
224
|
-
throw error
|
225
|
-
}
|
226
|
-
}
|