@warpgogol/werkstatt-shared 0.14.1 → 0.15.0
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 +23 -15
- package/README.uk.md +1 -1
- package/package.json +517 -766
- package/src/{share/agent → agent}/ard-catalog.ts +6 -1
- package/src/{share/agent → agent}/dns-aid.test.ts +2 -2
- package/src/{share/agent → agent}/manifest.ts +15 -1
- package/src/{share/agent → agent}/search.ts +6 -1
- package/src/{share → agent}/tests/api-catalog.test.ts +2 -2
- package/src/{share → agent}/tests/ard-catalog.test.ts +2 -2
- package/src/{share → agent}/tests/capability.test.ts +1 -1
- package/src/{share → agent}/tests/fleet-catalog.test.ts +1 -1
- package/src/{share → agent}/tests/knowledge.test.ts +2 -2
- package/src/{share → agent}/tests/manifest.test.ts +1 -1
- package/src/{share → agent}/tests/mcp-card.test.ts +2 -2
- package/src/{share → agent}/tests/openapi.test.ts +2 -2
- package/src/{share → agent}/tests/proof.test.ts +1 -1
- package/src/{share → attribution}/material-credits.ts +4 -4
- package/src/{share → checks}/check-hints.ts +6 -1
- package/src/checks/index.ts +4 -1
- package/src/checks/lib/astro-site-url.ts +6 -1
- package/src/checks/lib/i18n.ts +14 -0
- package/src/checks/result-helpers.ts +2 -2
- package/src/checks/tests/remediation-auto-populate.test.ts +1 -1
- package/src/{share → client-scripts}/counter-utils.ts +6 -2
- package/src/{share/scripts → client-scripts}/external-link-qr.ts +11 -16
- package/src/{share/scripts → client-scripts}/external-links.ts +12 -1
- package/src/{share/scripts → client-scripts}/gsap-counter.ts +8 -3
- package/src/client-scripts/index.ts +35 -0
- package/src/{share/scripts → client-scripts}/inline-number-animation.ts +1 -1
- package/src/{share/scripts → client-scripts}/lenis.ts +6 -1
- package/src/{share/scripts → client-scripts}/lordicon.ts +6 -1
- package/src/{share/scripts → client-scripts}/orchestrator.ts +10 -1
- package/src/{share/scripts → client-scripts}/scheduler.ts +6 -1
- package/src/client-scripts/scroll-spy.ts +106 -0
- package/src/client-scripts/tests/orchestrator.test.ts +47 -0
- package/src/client-scripts/tests/scroll-spy.test.ts +204 -0
- package/src/{share/scripts → client-scripts/tests}/video-player.test.ts +51 -31
- package/src/component/contracts.ts +206 -0
- package/src/component/index.ts +11 -0
- package/src/{share → content}/content-reference.ts +3 -3
- package/src/{share/content → content}/entity-id.ts +6 -3
- package/src/content/index.ts +3 -0
- package/src/{share/content → content}/merge.ts +6 -1
- package/src/content/system-manifest.test.ts +107 -0
- package/src/content/system-manifest.ts +12 -94
- package/src/{share → content}/tests/resolve-field-path.test.ts +1 -1
- package/src/{share → content}/tests/substitute-deep.test.ts +1 -1
- package/src/content-discipline/index.ts +19 -0
- package/src/{share/content-discipline → content-discipline}/parsers.ts +2 -2
- package/src/{share/env.d.ts → env.d.ts} +6 -3
- package/src/fingerprint/canonical-json.ts +731 -0
- package/src/fingerprint/index.ts +12 -0
- package/src/fingerprint/primitives.ts +72 -0
- package/src/{share/i18n → i18n}/localization.ts +6 -2
- package/src/integration/adapters.ts +10 -71
- package/src/integration/dispatch.ts +1 -1
- package/src/integration/funnel.ts +6 -1
- package/src/integration/index.ts +101 -4
- package/src/integration/lagebild-destination-adapter.ts +108 -0
- package/src/integration/lagebild-ingress.ts +7 -12
- package/src/integration/orchestration.ts +11 -10
- package/src/integration/tests/deliver-event.test.ts +1 -1
- package/src/integration/tests/dispatch.test.ts +4 -4
- package/src/integration/tests/hub-runtime.test.ts +22 -14
- package/src/integration/vitest.config.ts +1 -0
- package/src/kernel/desired-state.ts +227 -0
- package/src/kernel/diagnostic.ts +289 -0
- package/src/kernel/fs-atomic.ts +131 -0
- package/src/kernel/index.ts +15 -0
- package/src/kernel/tests/fs-atomic.test.ts +150 -0
- package/src/kernel/tests/workspace-io.test.ts +187 -0
- package/src/kernel/types.ts +459 -0
- package/src/kernel/workspace-io.ts +248 -0
- package/src/{share → knowledge}/tests/claim.test.ts +1 -1
- package/src/{share → knowledge}/tests/derivation.test.ts +1 -1
- package/src/{share → knowledge}/tests/freshness.test.ts +1 -1
- package/src/{share → knowledge}/tests/ledger.test.ts +1 -1
- package/src/{share → knowledge}/tests/plan.test.ts +1 -1
- package/src/{share → knowledge}/tests/source.test.ts +1 -1
- package/src/legal/index.ts +15 -0
- package/src/{share/middleware → middleware}/access-protection.ts +8 -8
- package/src/{share → node}/dev-props-validator.ts +6 -1
- package/src/{share → node}/import-scan.ts +23 -3
- package/src/{share → node}/semantic/derived-prices-loader.ts +4 -2
- package/src/{share → node}/semantic/markdown-twin-provenance.ts +1 -1
- package/src/{share/semantic → node}/tests/derived-prices-loader.test.ts +14 -1
- package/src/{share/semantic → node}/tests/markdown-twin-provenance.test.ts +1 -1
- package/src/observability/env-resolver.ts +6 -1
- package/src/observability/index.ts +6 -1
- package/src/observability/otlp-converter.ts +6 -1
- package/src/observability/otlp-transport.ts +6 -1
- package/src/observability/pusher.ts +6 -1
- package/src/observability/redact.ts +6 -1
- package/src/observability/typed-refs.ts +6 -2
- package/src/observability/vitest.config.ts +1 -0
- package/src/{share → offers}/formula-eval.ts +3 -3
- package/src/{share → offers}/tests/formula-eval.test.ts +2 -2
- package/src/onboarding/index.ts +1 -0
- package/src/{share → onboarding}/tests/onboarding-yaml.test.ts +1 -1
- package/src/ontology/archetype-registry.ts +6 -1
- package/src/ontology/archetypes/index.json +33 -1
- package/src/ontology/archetypes/index.yaml +27 -1
- package/src/ontology/archetypes/sections/entity-grid.yaml +46 -0
- package/src/ontology/archetypes/sections/exit-diagram.yaml +43 -0
- package/src/ontology/biome-token-projection.ts +6 -1
- package/src/ontology/cosmic/index.ts +6 -1
- package/src/ontology/cosmic/moon-catalog.ts +6 -1
- package/src/ontology/cosmic/planet-catalog.ts +6 -1
- package/src/ontology/cosmic/star-catalog.ts +6 -1
- package/src/ontology/enums.ts +6 -1
- package/src/ontology/external-surfaces/index.ts +1 -1
- package/src/ontology/index.ts +6 -2
- package/src/ontology/manifest.ts +7 -4
- package/src/ontology/operations/artifact-store.ts +45 -0
- package/src/ontology/operations/dht.ts +98 -0
- package/src/ontology/operations/handoff.ts +92 -0
- package/src/ontology/operations/index.ts +187 -1
- package/src/ontology/operations/leitstand.ts +99 -0
- package/src/ontology/operations/materialization.ts +90 -0
- package/src/ontology/operations/mission.ts +111 -0
- package/src/ontology/operations/naming-policy.ts +132 -0
- package/src/ontology/operations/notausgang.ts +64 -0
- package/src/ontology/operations/release.ts +121 -0
- package/src/ontology/operations/sternsystem.ts +192 -0
- package/src/ontology/operations/werkstatt.ts +48 -0
- package/src/ontology/schemas/biome.ts +7 -2
- package/src/ontology/schemas/capability.ts +1 -1
- package/src/ontology/schemas/constellation.ts +6 -1
- package/src/ontology/schemas/index.ts +6 -2
- package/src/ontology/schemas/manifest-resolver.ts +6 -1
- package/src/ontology/schemas/page-entry.ts +9 -5
- package/src/ontology/schemas/system/growth.ts +6 -1
- package/src/ontology/schemas/system/manifest.ts +40 -1
- package/src/ontology/schemas/system/page-output.ts +7 -6
- package/src/ontology/schemas/system/text.ts +15 -0
- package/src/ontology/schemas/system.ts +6 -2
- package/src/ontology/shared-section-props/body-fragments.ts +2 -0
- package/src/ontology/tests/sternsystem-owner.test.ts +1 -1
- package/src/ontology/vitest.config.ts +1 -0
- package/src/{share → page}/page.ts +13 -9
- package/src/{share → page}/tests/dev-props-validator.test.ts +1 -1
- package/src/{share → page}/tests/hero-section-numbering-parity.test.ts +1 -1
- package/src/passport/index.ts +6 -1
- package/src/passport/key-rotate.ts +10 -2
- package/src/passport/schema.ts +6 -1
- package/src/passport/sign.ts +8 -3
- package/src/passport/vitest.config.ts +1 -0
- package/src/pbt/index.test.ts +95 -0
- package/src/pbt/index.ts +251 -0
- package/src/plugin/plugin-contract.ts +1 -1
- package/src/{share → policy}/entitlement.ts +24 -4
- package/src/{share → policy}/feature-policy.ts +8 -3
- package/src/{share → policy}/visibility.ts +7 -2
- package/src/redirects/redirects.ts +117 -0
- package/src/{share → redirects/tests}/redirects.test.ts +1 -1
- package/src/remediation/remediation-catalog.ts +316 -0
- package/src/{share/routes → routes}/template-filter.ts +1 -1
- package/src/{share → runtime}/runtime-context.ts +7 -2
- package/src/{share → runtime}/shared-context.ts +1 -1
- package/src/{share/schemas → schemas}/claims.ts +2 -2
- package/src/{share/schemas → schemas}/effects.ts +6 -1
- package/src/{share/schemas → schemas}/features.ts +1 -1
- package/src/{share/schemas → schemas}/index.ts +3 -3
- package/src/{share/schemas → schemas}/navigation.ts +6 -1
- package/src/{share/schemas → schemas}/page-base.ts +6 -2
- package/src/{share/schemas → schemas}/person.ts +1 -1
- package/src/{share/schemas → schemas}/standard-list-item.ts +1 -1
- package/src/{share → sections}/rfc0042-utils.ts +1 -1
- package/src/{share/semantic → semantic}/block-extractors/index.ts +20 -1
- package/src/{share/semantic → semantic}/business-projection.ts +95 -1
- package/src/semantic/canonical-uri.ts +54 -0
- package/src/{share/semantic → semantic}/extract.ts +100 -1
- package/src/semantic/fact-extraction.test.ts +47 -0
- package/src/semantic/fact-extraction.ts +46 -0
- package/src/semantic/freshness.ts +67 -0
- package/src/{share/semantic → semantic}/ids.ts +6 -1
- package/src/{share/semantic → semantic}/index.ts +9 -2
- package/src/{share/semantic → semantic}/jsonld/breadcrumb.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/context.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/faq.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/initiative.ts +6 -1
- package/src/{share/semantic → semantic}/jsonld/organization.ts +6 -1
- package/src/{share/semantic → semantic}/jsonld/person.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/service.ts +6 -2
- package/src/semantic/jsonld/shared.ts +36 -0
- package/src/semantic/jsonld/types.ts +24 -0
- package/src/{share/semantic → semantic}/jsonld/webpage.ts +6 -1
- package/src/semantic/jsonld/website.ts +32 -0
- package/src/{share/semantic → semantic}/jsonld.ts +6 -1
- package/src/{share/semantic → semantic}/llms.ts +41 -3
- package/src/{share/semantic → semantic}/models.ts +26 -38
- package/src/{share/semantic → semantic}/organization-profile.ts +3 -0
- package/src/{share/semantic → semantic}/page-builders/markdown-page.ts +6 -3
- package/src/{share/semantic → semantic}/page-utils.ts +6 -3
- package/src/{share/tests/breadcrumbs.test.ts → semantic/tests/breadcrumbs-0229.test.ts} +1 -1
- package/src/{share → semantic}/tests/build-page-price-markers.test.ts +2 -2
- package/src/{share/semantic → semantic}/tests/business-projection.test.ts +179 -0
- package/src/semantic/tests/canonical-uri.test.ts +56 -0
- package/src/{share/semantic → semantic}/tests/extract.test.ts +83 -0
- package/src/semantic/tests/freshness.pbt.test.ts +108 -0
- package/src/{share/tests/image-sitemap.test.ts → semantic/tests/image-sitemap-0150.test.ts} +1 -1
- package/src/{share → semantic}/tests/jsonld-service.test.ts +2 -2
- package/src/{share → semantic}/tests/jsonld-video.test.ts +3 -3
- package/src/{share → semantic}/tests/jsonld-webpage.test.ts +3 -3
- package/src/{share → semantic}/tests/llms-0789.test.ts +2 -2
- package/src/{share/semantic → semantic}/tests/llms.test.ts +46 -0
- package/src/{share → semantic}/tests/organization-jsonld.test.ts +3 -3
- package/src/{share/tests/output-projection.test.ts → semantic/tests/output-projection-0143.test.ts} +1 -1
- package/src/{share/tests/price-marker-resolver.test.ts → semantic/tests/price-marker-resolver-0767.test.ts} +2 -2
- package/src/{share/semantic → semantic}/tests/price-marker-resolver.test.ts +4 -2
- package/src/semantic/tests/project-claims.pbt.test.ts +60 -0
- package/src/{share/semantic → semantic}/tests/split-sentences.test.ts +1 -1
- package/src/{share → semantic}/tests/twin-path.test.ts +1 -1
- package/src/signing/index.ts +13 -0
- package/src/signing/key.ts +139 -0
- package/src/signing/sign.ts +66 -0
- package/src/signing/types.ts +29 -0
- package/src/{share/slug → slug}/slug-url.ts +4 -1
- package/src/stack/run-tool.ts +108 -0
- package/src/stack/stack-checks.ts +124 -0
- package/src/stack/tests/run-tool.test.ts +138 -0
- package/src/stack/tests/stack-checks.test.ts +141 -0
- package/src/stack/tests/walk-files.test.ts +131 -0
- package/src/stack/walk-files.ts +114 -0
- package/src/surface/blueprint.ts +342 -66
- package/src/surface/decision-composer.ts +6 -1
- package/src/surface/geo.ts +6 -1
- package/src/surface/index.ts +11 -7
- package/src/surface/types.ts +2 -2
- package/src/surface/vitest.config.ts +1 -0
- package/src/tests/signing-core.test.ts +129 -0
- package/src/{share → text}/css-value-normalize.ts +6 -1
- package/src/text/string-utils.ts +24 -0
- package/src/{share → text}/tests/text-normalize.test.ts +5 -0
- package/src/{share → text}/text-normalize.ts +4 -3
- package/src/{share → text}/wrap-inline-numbers.ts +1 -1
- package/src/types/axiom-study.d.ts +36 -0
- package/src/types/hls-js-light.d.ts +21 -0
- package/src/types/qrcode-browser.d.ts +23 -0
- package/src/typography/fix.pbt.test.ts +208 -0
- package/src/typography/fix.ts +148 -0
- package/src/typography/index.ts +54 -0
- package/src/typography/locale-defaults.ts +97 -0
- package/src/typography/rules-tier1.test.ts +459 -0
- package/src/typography/rules-tier1.ts +925 -0
- package/src/typography/rules-tier2-locale.pbt.test.ts +190 -0
- package/src/typography/rules-tier2-locale.test.ts +286 -0
- package/src/typography/rules-tier2-locale.ts +399 -0
- package/src/typography/rules-tier2-structure.test.ts +330 -0
- package/src/typography/rules-tier2-structure.ts +378 -0
- package/src/typography/rules-tier3-advisory.test.ts +290 -0
- package/src/typography/rules-tier3-advisory.ts +239 -0
- package/src/typography/text-surface.test.ts +244 -0
- package/src/typography/text-surface.ts +448 -0
- package/src/index.ts +0 -14
- package/src/integration/port-barrel.ts +0 -105
- package/src/share/agent/tests/api-catalog.test.ts +0 -8
- package/src/share/agent/tests/ard-catalog.test.ts +0 -8
- package/src/share/agent/tests/capability.test.ts +0 -14
- package/src/share/agent/tests/fleet-catalog.test.ts +0 -15
- package/src/share/agent/tests/knowledge.test.ts +0 -20
- package/src/share/agent/tests/manifest.test.ts +0 -9
- package/src/share/agent/tests/mcp-card.test.ts +0 -8
- package/src/share/agent/tests/openapi.test.ts +0 -8
- package/src/share/agent/tests/proof.test.ts +0 -15
- package/src/share/content/index.ts +0 -16
- package/src/share/content-discipline/index.ts +0 -14
- package/src/share/index.ts +0 -86
- package/src/share/knowledge/tests/claim.test.ts +0 -11
- package/src/share/knowledge/tests/derivation.test.ts +0 -30
- package/src/share/knowledge/tests/freshness.test.ts +0 -18
- package/src/share/knowledge/tests/ledger.test.ts +0 -35
- package/src/share/knowledge/tests/plan.test.ts +0 -19
- package/src/share/knowledge/tests/source.test.ts +0 -19
- package/src/share/legal/index.ts +0 -1
- package/src/share/redirects.ts +0 -54
- package/src/share/remediation/remediation-catalog.ts +0 -196
- package/src/share/scripts/index.ts +0 -26
- package/src/share/scripts/tests/orchestrator.test.ts +0 -8
- package/src/share/semantic/jsonld/shared.ts +0 -31
- package/src/share/semantic/jsonld/types.ts +0 -19
- package/src/share/semantic/jsonld/website.ts +0 -27
- package/src/share/string-utils.ts +0 -19
- package/src/share/types/axiom-study.d.ts +0 -22
- package/src/share/types/hls-js-light.d.ts +0 -16
- package/src/share/types/qrcode-browser.d.ts +0 -18
- package/src/share/utility-registry.yaml +0 -50
- package/src/share/vitest.config.ts +0 -8
- package/src/surface/blueprint-schema.ts +0 -314
- package/src/surface/blueprint-types.ts +0 -256
- /package/src/{share/agent → agent}/api-catalog.ts +0 -0
- /package/src/{share/agent → agent}/capability.ts +0 -0
- /package/src/{share/agent → agent}/dns-aid.ts +0 -0
- /package/src/{share/agent → agent}/fleet-catalog.ts +0 -0
- /package/src/{share/agent → agent}/index.ts +0 -0
- /package/src/{share/agent → agent}/knowledge.ts +0 -0
- /package/src/{share/agent → agent}/mcp-card.ts +0 -0
- /package/src/{share/agent → agent}/omit-empty.ts +0 -0
- /package/src/{share/agent → agent}/openapi.ts +0 -0
- /package/src/{share/agent → agent}/proof.ts +0 -0
- /package/src/{share/agent → agent}/search.test.ts +0 -0
- /package/src/{share/agent → agent}/tests/omit-empty.test.ts +0 -0
- /package/src/{share → attribution}/attribution-display.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-mountain-journey.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-parallax.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-reveal.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-stagger.ts +0 -0
- /package/src/{share/scripts → client-scripts}/live-photos.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/external-link-qr.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/external-links.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-counter.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-mountain-journey.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-parallax.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-reveal.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-stagger.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/inline-number-animation.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/lenis.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/live-photos.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/lordicon.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/scheduler.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/video-player.ts +0 -0
- /package/src/{share/content → content}/resolve-field-path.ts +0 -0
- /package/src/{share/content → content}/substitute-deep.ts +0 -0
- /package/src/{share → content}/tests/content-ref-index.test.ts +0 -0
- /package/src/{share/content-discipline → content-discipline}/types.ts +0 -0
- /package/src/{share → image-provider}/image-provider.ts +0 -0
- /package/src/{share/knowledge → knowledge}/claim.ts +0 -0
- /package/src/{share/knowledge → knowledge}/derivation.ts +0 -0
- /package/src/{share/knowledge → knowledge}/freshness.ts +0 -0
- /package/src/{share/knowledge → knowledge}/index.ts +0 -0
- /package/src/{share/knowledge → knowledge}/ledger.ts +0 -0
- /package/src/{share/knowledge → knowledge}/plan.ts +0 -0
- /package/src/{share/knowledge → knowledge}/source.ts +0 -0
- /package/src/{share/legal → legal}/translation-policy.ts +0 -0
- /package/src/{share/middleware → middleware}/language-redirect.ts +0 -0
- /package/src/{share/middleware → middleware}/tests/access-protection.test.ts +0 -0
- /package/src/{share → node}/fs/index.ts +0 -0
- /package/src/{share/tests/markdown-twin-provenance.test.ts → node/tests/markdown-twin-provenance-0613.test.ts} +0 -0
- /package/src/{share → offers}/offer-capacity.ts +0 -0
- /package/src/{share/onboarding-yaml/index.ts → onboarding/yaml.ts} +0 -0
- /package/src/{share → ontology}/tests/ontology-role-by-cosmic-name.test.ts +0 -0
- /package/src/{share/routes → routes}/tests/template-filter.test.ts +0 -0
- /package/src/{share/schemas → schemas}/claim-records.ts +0 -0
- /package/src/{share/schemas → schemas}/horizontal-align.ts +0 -0
- /package/src/{share/schemas → schemas}/icon-color.ts +0 -0
- /package/src/{share/schemas → schemas}/live-photo.ts +0 -0
- /package/src/{share/schemas → schemas}/material-credit.ts +0 -0
- /package/src/{share/schemas → schemas}/media.ts +0 -0
- /package/src/{share/schemas → schemas}/participant.ts +0 -0
- /package/src/{share/schemas → schemas}/print.ts +0 -0
- /package/src/{share/schemas → schemas}/section-background.ts +0 -0
- /package/src/{share/schemas → schemas}/section-body.ts +0 -0
- /package/src/{share/schemas → schemas}/section-cards.ts +0 -0
- /package/src/{share/schemas → schemas}/section-cta.ts +0 -0
- /package/src/{share/schemas → schemas}/section-header.ts +0 -0
- /package/src/{share/schemas → schemas}/section-image.ts +0 -0
- /package/src/{share/schemas → schemas}/section-motion.ts +0 -0
- /package/src/{share/schemas → schemas}/section-shell.ts +0 -0
- /package/src/{share/schemas → schemas}/section-stats.ts +0 -0
- /package/src/{share/schemas → schemas}/site-background.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/claim-records.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/claims.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/effects.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/features.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/horizontal-align.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/icon-color.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/live-photo.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/material-credit.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/media.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/navigation.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/page-base.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/participant.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/person.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/print.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-background.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-body.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-cards.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-cta.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-header.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-image.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-motion.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-shell.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-stats.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/site-background.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/standard-list-item.test.ts +0 -0
- /package/src/{share/semantic → semantic}/ai.ts +0 -0
- /package/src/{share/semantic → semantic}/block-extraction.ts +0 -0
- /package/src/{share/semantic → semantic}/breadcrumbs.ts +0 -0
- /package/src/{share/semantic → semantic}/build-page.ts +0 -0
- /package/src/{share/semantic → semantic}/feed.ts +0 -0
- /package/src/{share/semantic → semantic}/image-sitemap.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/article.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/collection-list.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/article.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/breadcrumb.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/collection-list.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/faq.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/initiative.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/organization.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/person.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/service.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/shared.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/video.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/webpage.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/website.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/video.ts +0 -0
- /package/src/{share/semantic → semantic}/llms-policy.ts +0 -0
- /package/src/{share/semantic → semantic}/markdown-hygiene.ts +0 -0
- /package/src/{share/semantic → semantic}/output-projection.ts +0 -0
- /package/src/{share/semantic → semantic}/page-markdown.ts +0 -0
- /package/src/{share/semantic → semantic}/price-marker-resolver.ts +0 -0
- /package/src/{share/semantic → semantic}/robots.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/ai.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/block-extraction.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/breadcrumbs.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/build-page.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/feed.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/helpers.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/ids.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/image-sitemap.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/jsonld.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/llms-policy.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/markdown-hygiene.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/markdown-page.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/organization-profile.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/output-projection.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/page-markdown.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/page-utils.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/robots.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/update-stamp.test.ts +0 -0
- /package/src/{share/semantic → semantic}/update-stamp.ts +0 -0
- /package/src/{share/slug → slug}/heading-slugger.ts +0 -0
- /package/src/{share/slug → slug}/index.ts +0 -0
- /package/src/{share/slug → slug}/slug-id.ts +0 -0
- /package/src/{share/slug → slug}/strategies.ts +0 -0
- /package/src/{share/slug → slug}/tests/slug.test.ts +0 -0
- /package/src/{share → text}/tests/text-normalize.pbt.test.ts +0 -0
- /package/src/{share → text}/text-position.ts +0 -0
package/src/onboarding/index.ts
CHANGED
|
@@ -14,7 +14,12 @@ fast instead of producing silently empty maps.
|
|
|
14
14
|
<CHANGE_SUMMARY>
|
|
15
15
|
<item>RFC-0091: Initial creation — typed re-export of derived archetype registry maps.</item>
|
|
16
16
|
<item>RFC-0263: also re-export roleByCosmicName (manifest-authored role, derived) — replaces name-keyed dispatch literals in packages/share.</item>
|
|
17
|
-
<item>
|
|
17
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
18
|
+
|
|
19
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
20
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
21
|
+
|
|
22
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
18
23
|
</CHANGE_SUMMARY>
|
|
19
24
|
*/
|
|
20
25
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"totalCount":
|
|
3
|
+
"totalCount": 61,
|
|
4
4
|
"entries": [
|
|
5
5
|
{
|
|
6
6
|
"id": "approach",
|
|
@@ -182,6 +182,30 @@
|
|
|
182
182
|
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml",
|
|
183
183
|
"layer": "section"
|
|
184
184
|
},
|
|
185
|
+
{
|
|
186
|
+
"id": "entity-grid",
|
|
187
|
+
"displayName": "Engineering entity grid",
|
|
188
|
+
"semanticRole": "entity-composition-grid",
|
|
189
|
+
"version": "1.0.0",
|
|
190
|
+
"layoutHint": "card-grid",
|
|
191
|
+
"acceptedCosmicNames": [
|
|
192
|
+
"Ixion"
|
|
193
|
+
],
|
|
194
|
+
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml",
|
|
195
|
+
"layer": "section"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"id": "exit-diagram",
|
|
199
|
+
"displayName": "Exit-process diagram",
|
|
200
|
+
"semanticRole": "exit-flow-visualization",
|
|
201
|
+
"version": "1.0.0",
|
|
202
|
+
"layoutHint": "single-column",
|
|
203
|
+
"acceptedCosmicNames": [
|
|
204
|
+
"Haumea"
|
|
205
|
+
],
|
|
206
|
+
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml",
|
|
207
|
+
"layer": "section"
|
|
208
|
+
},
|
|
185
209
|
{
|
|
186
210
|
"id": "faq-list",
|
|
187
211
|
"displayName": "Faq List",
|
|
@@ -723,7 +747,9 @@
|
|
|
723
747
|
"data-driven-status-indicator",
|
|
724
748
|
"donation-card",
|
|
725
749
|
"donation-use",
|
|
750
|
+
"entity-composition-grid",
|
|
726
751
|
"exit-clause-disclosure",
|
|
752
|
+
"exit-flow-visualization",
|
|
727
753
|
"faq-list",
|
|
728
754
|
"final-cta",
|
|
729
755
|
"hero",
|
|
@@ -788,6 +814,8 @@
|
|
|
788
814
|
"Pandora": "@warpgogol/werkstatt-site/ui/sections/donation-card",
|
|
789
815
|
"Rhea": "@warpgogol/werkstatt-site/ui/sections/donation-use",
|
|
790
816
|
"Elara": "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block",
|
|
817
|
+
"Ixion": "@warpgogol/werkstatt-site/ui/sections/entity-grid",
|
|
818
|
+
"Haumea": "@warpgogol/werkstatt-site/ui/sections/exit-diagram",
|
|
791
819
|
"Atlas": "@warpgogol/werkstatt-site/ui/sections/faq-list",
|
|
792
820
|
"Dione": "@warpgogol/werkstatt-site/ui/sections/final-cta",
|
|
793
821
|
"Gonggong": "@warpgogol/werkstatt-site/ui/sections/gratitude",
|
|
@@ -867,6 +895,8 @@
|
|
|
867
895
|
"donation-card": "Pandora",
|
|
868
896
|
"donation-use": "Rhea",
|
|
869
897
|
"dynamic-status-block": "Elara",
|
|
898
|
+
"entity-grid": "Ixion",
|
|
899
|
+
"exit-diagram": "Haumea",
|
|
870
900
|
"faq-list": "Atlas",
|
|
871
901
|
"final-cta": "Dione",
|
|
872
902
|
"gratitude": "Gonggong",
|
|
@@ -950,6 +980,8 @@
|
|
|
950
980
|
"Pandora": "donation-use",
|
|
951
981
|
"Rhea": "donation-use",
|
|
952
982
|
"Elara": "data-driven-status-indicator",
|
|
983
|
+
"Ixion": "entity-composition-grid",
|
|
984
|
+
"Haumea": "exit-flow-visualization",
|
|
953
985
|
"Atlas": "approach",
|
|
954
986
|
"Dione": "final-cta",
|
|
955
987
|
"Gonggong": "client-gratitude",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
schemaVersion: 1.0.0
|
|
2
|
-
totalCount:
|
|
2
|
+
totalCount: 61
|
|
3
3
|
entries:
|
|
4
4
|
- id: approach
|
|
5
5
|
displayName: Approach
|
|
@@ -136,6 +136,24 @@ entries:
|
|
|
136
136
|
- Elara
|
|
137
137
|
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml
|
|
138
138
|
layer: section
|
|
139
|
+
- id: entity-grid
|
|
140
|
+
displayName: Engineering entity grid
|
|
141
|
+
semanticRole: entity-composition-grid
|
|
142
|
+
version: 1.0.0
|
|
143
|
+
layoutHint: card-grid
|
|
144
|
+
acceptedCosmicNames:
|
|
145
|
+
- Ixion
|
|
146
|
+
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml
|
|
147
|
+
layer: section
|
|
148
|
+
- id: exit-diagram
|
|
149
|
+
displayName: Exit-process diagram
|
|
150
|
+
semanticRole: exit-flow-visualization
|
|
151
|
+
version: 1.0.0
|
|
152
|
+
layoutHint: single-column
|
|
153
|
+
acceptedCosmicNames:
|
|
154
|
+
- Haumea
|
|
155
|
+
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml
|
|
156
|
+
layer: section
|
|
139
157
|
- id: faq-list
|
|
140
158
|
displayName: Faq List
|
|
141
159
|
semanticRole: faq-list
|
|
@@ -544,7 +562,9 @@ sectionRoles:
|
|
|
544
562
|
- data-driven-status-indicator
|
|
545
563
|
- donation-card
|
|
546
564
|
- donation-use
|
|
565
|
+
- entity-composition-grid
|
|
547
566
|
- exit-clause-disclosure
|
|
567
|
+
- exit-flow-visualization
|
|
548
568
|
- faq-list
|
|
549
569
|
- final-cta
|
|
550
570
|
- hero
|
|
@@ -607,6 +627,8 @@ planetImportPaths:
|
|
|
607
627
|
Pandora: "@warpgogol/werkstatt-site/ui/sections/donation-card"
|
|
608
628
|
Rhea: "@warpgogol/werkstatt-site/ui/sections/donation-use"
|
|
609
629
|
Elara: "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block"
|
|
630
|
+
Ixion: "@warpgogol/werkstatt-site/ui/sections/entity-grid"
|
|
631
|
+
Haumea: "@warpgogol/werkstatt-site/ui/sections/exit-diagram"
|
|
610
632
|
Atlas: "@warpgogol/werkstatt-site/ui/sections/faq-list"
|
|
611
633
|
Dione: "@warpgogol/werkstatt-site/ui/sections/final-cta"
|
|
612
634
|
Gonggong: "@warpgogol/werkstatt-site/ui/sections/gratitude"
|
|
@@ -685,6 +707,8 @@ blockTypeToCosmicName:
|
|
|
685
707
|
donation-card: Pandora
|
|
686
708
|
donation-use: Rhea
|
|
687
709
|
dynamic-status-block: Elara
|
|
710
|
+
entity-grid: Ixion
|
|
711
|
+
exit-diagram: Haumea
|
|
688
712
|
faq-list: Atlas
|
|
689
713
|
final-cta: Dione
|
|
690
714
|
gratitude: Gonggong
|
|
@@ -766,6 +790,8 @@ roleByCosmicName:
|
|
|
766
790
|
Pandora: donation-use
|
|
767
791
|
Rhea: donation-use
|
|
768
792
|
Elara: data-driven-status-indicator
|
|
793
|
+
Ixion: entity-composition-grid
|
|
794
|
+
Haumea: exit-flow-visualization
|
|
769
795
|
Atlas: approach
|
|
770
796
|
Dione: final-cta
|
|
771
797
|
Gonggong: client-gratitude
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
id: entity-grid
|
|
2
|
+
displayName: Engineering entity grid
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
semanticRole: entity-composition-grid
|
|
5
|
+
description: |
|
|
6
|
+
Engineering-style entity composition grid with numbered markers and
|
|
7
|
+
boundaries. No glass effects. RFC-1062.
|
|
8
|
+
expectedIntents:
|
|
9
|
+
- trust
|
|
10
|
+
- legal-clarity
|
|
11
|
+
- de-risk
|
|
12
|
+
expectedIndustryFit:
|
|
13
|
+
- trades-and-construction
|
|
14
|
+
- consulting-and-coaching
|
|
15
|
+
- legal-services
|
|
16
|
+
layoutHint: card-grid
|
|
17
|
+
bodyKind: composite
|
|
18
|
+
recommendedItemCount:
|
|
19
|
+
min: 2
|
|
20
|
+
max: 8
|
|
21
|
+
propsSchema:
|
|
22
|
+
$shape: zod
|
|
23
|
+
compose:
|
|
24
|
+
- section-header
|
|
25
|
+
shape: |
|
|
26
|
+
z.object({
|
|
27
|
+
background: z.object({
|
|
28
|
+
kind: z.enum(["transparent", "solid"]),
|
|
29
|
+
}).optional(),
|
|
30
|
+
density: z.enum(["compact", "normal"]).optional(),
|
|
31
|
+
body: z.object({
|
|
32
|
+
kind: z.literal("grid"),
|
|
33
|
+
columns: z.union([z.literal(2), z.literal(3), z.literal(4)]),
|
|
34
|
+
items: z.array(z.object({
|
|
35
|
+
number: z.string().min(1),
|
|
36
|
+
title: z.string().min(1),
|
|
37
|
+
description: z.string().min(1),
|
|
38
|
+
})).min(2).max(8),
|
|
39
|
+
}),
|
|
40
|
+
}).strict()
|
|
41
|
+
acceptedCosmicNames:
|
|
42
|
+
- Ixion
|
|
43
|
+
constraints:
|
|
44
|
+
forbidPhrases:
|
|
45
|
+
- alle Branchen
|
|
46
|
+
- jeder Kunde
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
id: exit-diagram
|
|
2
|
+
displayName: Exit-process diagram
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
semanticRole: exit-flow-visualization
|
|
5
|
+
description: |
|
|
6
|
+
Static SVG exit-process flow diagram. Renders stages as a visual flow
|
|
7
|
+
(linear or loop) with numbered markers. RFC-1062.
|
|
8
|
+
expectedIntents:
|
|
9
|
+
- trust
|
|
10
|
+
- legal-clarity
|
|
11
|
+
- de-risk
|
|
12
|
+
expectedIndustryFit:
|
|
13
|
+
- trades-and-construction
|
|
14
|
+
- consulting-and-coaching
|
|
15
|
+
- legal-services
|
|
16
|
+
layoutHint: single-column
|
|
17
|
+
bodyKind: composite
|
|
18
|
+
recommendedItemCount:
|
|
19
|
+
min: 2
|
|
20
|
+
max: 6
|
|
21
|
+
propsSchema:
|
|
22
|
+
$shape: zod
|
|
23
|
+
compose:
|
|
24
|
+
- section-visual
|
|
25
|
+
- section-header
|
|
26
|
+
shape: |
|
|
27
|
+
z.object({
|
|
28
|
+
ariaLabel: z.string().min(1).optional(),
|
|
29
|
+
stages: z.array(z.object({
|
|
30
|
+
number: z.string().min(1),
|
|
31
|
+
title: z.string().min(1),
|
|
32
|
+
description: z.string().min(1),
|
|
33
|
+
})).min(2).max(6),
|
|
34
|
+
variant: z.enum(["linear", "loop"]),
|
|
35
|
+
}).strict()
|
|
36
|
+
acceptedCosmicNames:
|
|
37
|
+
- Haumea
|
|
38
|
+
constraints:
|
|
39
|
+
forbidPhrases:
|
|
40
|
+
- Evakuierung
|
|
41
|
+
- Notfall
|
|
42
|
+
mandatoryConcepts:
|
|
43
|
+
- Notausgang
|
|
@@ -12,7 +12,12 @@ divergent copies of the same mapping.
|
|
|
12
12
|
</non-goals>
|
|
13
13
|
</MODULE_CONTRACT>
|
|
14
14
|
<CHANGE_SUMMARY>
|
|
15
|
-
<item>
|
|
15
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
16
|
+
|
|
17
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
18
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
19
|
+
|
|
20
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
16
21
|
</CHANGE_SUMMARY>
|
|
17
22
|
*/
|
|
18
23
|
|
|
@@ -11,7 +11,12 @@ so consumers can import from a single entry point (DNA-23, RFC-0025).
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
15
20
|
</CHANGE_SUMMARY>
|
|
16
21
|
*/
|
|
17
22
|
|
|
@@ -17,7 +17,12 @@ The inner/classical Jupiter and Saturn moons are in PlanetCatalog (section arche
|
|
|
17
17
|
</non-goals>
|
|
18
18
|
</MODULE_CONTRACT>
|
|
19
19
|
<CHANGE_SUMMARY>
|
|
20
|
-
<item>
|
|
20
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
21
|
+
|
|
22
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
23
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
24
|
+
|
|
25
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
21
26
|
</CHANGE_SUMMARY>
|
|
22
27
|
*/
|
|
23
28
|
|
|
@@ -17,7 +17,12 @@ are in MoonCatalog (component archetypes).
|
|
|
17
17
|
</non-goals>
|
|
18
18
|
</MODULE_CONTRACT>
|
|
19
19
|
<CHANGE_SUMMARY>
|
|
20
|
-
<item>
|
|
20
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
21
|
+
|
|
22
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
23
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
24
|
+
|
|
25
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
21
26
|
</CHANGE_SUMMARY>
|
|
22
27
|
*/
|
|
23
28
|
|
|
@@ -11,7 +11,12 @@ Each entry is a valid cosmicName for manifests with layer="page" (DNA-23, RFC-00
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
15
20
|
</CHANGE_SUMMARY>
|
|
16
21
|
*/
|
|
17
22
|
|
package/src/ontology/enums.ts
CHANGED
|
@@ -14,7 +14,12 @@ enums (for runtime validation) and TypeScript types (for static typing).
|
|
|
14
14
|
</non-goals>
|
|
15
15
|
</MODULE_CONTRACT>
|
|
16
16
|
<CHANGE_SUMMARY>
|
|
17
|
-
<item>
|
|
17
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
18
|
+
|
|
19
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
20
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
21
|
+
|
|
22
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
18
23
|
</CHANGE_SUMMARY>
|
|
19
24
|
*/
|
|
20
25
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<purpose>
|
|
4
4
|
RFC-0480: Declarative Layer C external-surface contracts — URL schema,
|
|
5
5
|
JSON-LD types, and sitemap shape. Consumed by `surface.contract.validate`
|
|
6
|
-
in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared
|
|
6
|
+
in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared.
|
|
7
7
|
</purpose>
|
|
8
8
|
<non-goals>
|
|
9
9
|
<item>Do not generate C-surfaces here — this module only declares the contract.</item>
|
package/src/ontology/index.ts
CHANGED
|
@@ -11,8 +11,12 @@ package root or sub-paths.
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
15
|
-
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
16
20
|
</CHANGE_SUMMARY>
|
|
17
21
|
*/
|
|
18
22
|
|
package/src/ontology/manifest.ts
CHANGED
|
@@ -16,9 +16,12 @@ Exports a discriminated union on `layer` so TypeScript narrows the `role` and
|
|
|
16
16
|
</non-goals>
|
|
17
17
|
</MODULE_CONTRACT>
|
|
18
18
|
<CHANGE_SUMMARY>
|
|
19
|
-
<item>
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
20
|
+
|
|
21
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
22
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
23
|
+
|
|
24
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
22
25
|
</CHANGE_SUMMARY>
|
|
23
26
|
*/
|
|
24
27
|
|
|
@@ -157,7 +160,7 @@ const manifestBaseSchema = z.object({
|
|
|
157
160
|
|
|
158
161
|
/**
|
|
159
162
|
* Key of the Zod content schema this component consumes.
|
|
160
|
-
* Must match an export of @warpgogol/werkstatt-shared
|
|
163
|
+
* Must match an export of @warpgogol/werkstatt-shared or the app-local content/schemas/.
|
|
161
164
|
* Set to null for structural components that consume no content schema
|
|
162
165
|
* (e.g. breadcrumbs, lang-switcher).
|
|
163
166
|
*/
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>Maintains packages/ontology/src/operations/artifact-store.ts as an authored ontology authored module so agents can evolve it without rediscovering local boundaries.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.</item>
|
|
6
|
+
</non-goals>
|
|
7
|
+
</MODULE_CONTRACT>
|
|
8
|
+
<CHANGE_SUMMARY>
|
|
9
|
+
<item>RFC-0363: initial artifact manifest schema.</item>
|
|
10
|
+
</CHANGE_SUMMARY>
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { z } from "zod";
|
|
14
|
+
|
|
15
|
+
export const releaseArtifactManifestSchema = z.object({
|
|
16
|
+
schemaVersion: z.literal("1.0.0"),
|
|
17
|
+
artifactKind: z.literal("release-dist"),
|
|
18
|
+
systemId: z.string().min(1),
|
|
19
|
+
releaseId: z.string().min(1),
|
|
20
|
+
missionId: z.string().min(1),
|
|
21
|
+
platformVersion: z.string(),
|
|
22
|
+
sternsystemCommitSha: z.string().nullable(),
|
|
23
|
+
createdAt: z.string().datetime(),
|
|
24
|
+
siteContentHash: z.string(),
|
|
25
|
+
distTreeHash: z.string(),
|
|
26
|
+
distArtifactHash: z.string(),
|
|
27
|
+
behaviorSnapshotHash: z.string().nullable(),
|
|
28
|
+
readableSnapshotHash: z.string().nullable(),
|
|
29
|
+
snapshotDiffHash: z.string().nullable(),
|
|
30
|
+
byteSize: z.number().nonnegative(),
|
|
31
|
+
fileCount: z.number().nonnegative(),
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export const releaseArtifactRefSchema = z.object({
|
|
35
|
+
uri: z.string().min(1),
|
|
36
|
+
provider: z.enum(["local", "r2", "s3"]),
|
|
37
|
+
distArtifactHash: z.string(),
|
|
38
|
+
distTreeHash: z.string(),
|
|
39
|
+
siteContentHash: z.string(),
|
|
40
|
+
byteSize: z.number().nonnegative(),
|
|
41
|
+
fileCount: z.number().nonnegative(),
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export type ReleaseArtifactManifest = z.infer<typeof releaseArtifactManifestSchema>;
|
|
45
|
+
export type ReleaseArtifactRef = z.infer<typeof releaseArtifactRefSchema>;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>
|
|
4
|
+
RFC-0565: Zod schemas for the S/Kademlia-hardened DHT site registry and content
|
|
5
|
+
placement subsystem. Defines machine-checkable contracts for DHT site entries,
|
|
6
|
+
config, lookup results, placement results, and workshop capacity. These schemas
|
|
7
|
+
are the operations-layer contract consumed by @warpgogol/site-kernel DHT commands.
|
|
8
|
+
</purpose>
|
|
9
|
+
<non-goals>
|
|
10
|
+
<item>Do not perform file IO or network operations — pure shape only.</item>
|
|
11
|
+
<item>Do not define DHT routing protocol logic — that lives in site-kernel.</item>
|
|
12
|
+
<item>Do not define Ed25519 signing logic — that lives in @warpgogol/werkstatt-shared/passport/dht-sign.</item>
|
|
13
|
+
</non-goals>
|
|
14
|
+
</MODULE_CONTRACT>
|
|
15
|
+
<CHANGE_SUMMARY>
|
|
16
|
+
<item>RFC-0565: initial DHT schemas (DHTSiteEntry, DHTConfig, DHTLookupResult, DHTPlacementResult, WorkshopCapacity).</item>
|
|
17
|
+
</CHANGE_SUMMARY>
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
|
|
22
|
+
const kebabRe = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
23
|
+
const didWebRe = /^did:web:[a-z0-9.-]+#.+$/;
|
|
24
|
+
const endpointRe = /^.+:\d+$/;
|
|
25
|
+
|
|
26
|
+
export const dhtSiteEntrySchema = z.object({
|
|
27
|
+
siteId: z.string().regex(kebabRe, "siteId must be kebab-case, lowercase, latin-only"),
|
|
28
|
+
owner: z
|
|
29
|
+
.string()
|
|
30
|
+
.regex(didWebRe, "owner must be a did:web identifier (did:web:<domain>#<key-version>)")
|
|
31
|
+
.describe("VC subject id of the site owner (RFC-0558, RFC-0561)"),
|
|
32
|
+
workshopEndpoint: z.string().regex(endpointRe, "workshopEndpoint must be host:port format"),
|
|
33
|
+
mirrors: z.array(z.string().url()).default([]),
|
|
34
|
+
registeredAt: z.string().datetime(),
|
|
35
|
+
lastUpdated: z.string().datetime(),
|
|
36
|
+
signature: z.string().min(1, "signature must be a non-empty Ed25519 multibase signature"),
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export const dhtConfigSchema = z.object({
|
|
40
|
+
bindAddr: z.string().regex(endpointRe, "bindAddr must be host:port format"),
|
|
41
|
+
bootstrapNodes: z
|
|
42
|
+
.array(z.string().regex(endpointRe, "each bootstrapNode must be host:port format"))
|
|
43
|
+
.default([]),
|
|
44
|
+
replicationFactor: z.number().int().min(1).max(20).default(5),
|
|
45
|
+
lookupTimeoutMs: z.number().int().min(100).default(5000),
|
|
46
|
+
cacheTtlMs: z.number().int().min(1000).default(300000),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export const dhtLookupResultSchema = z.object({
|
|
50
|
+
found: z.boolean(),
|
|
51
|
+
entry: dhtSiteEntrySchema.nullable(),
|
|
52
|
+
hops: z.number().int().min(0),
|
|
53
|
+
latencyMs: z.number().int().min(0),
|
|
54
|
+
cached: z.boolean().default(false),
|
|
55
|
+
signatureValid: z.boolean().default(true),
|
|
56
|
+
diagnostics: z.array(z.string()).optional(),
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
export const dhtPlacementReasonSchema = z.enum([
|
|
60
|
+
"least-loaded",
|
|
61
|
+
"nearest",
|
|
62
|
+
"owner-preference",
|
|
63
|
+
"local-fallback",
|
|
64
|
+
]);
|
|
65
|
+
|
|
66
|
+
export const workshopCapacitySchema = z.object({
|
|
67
|
+
workshopId: z.string().min(1),
|
|
68
|
+
endpoint: z.string().regex(endpointRe, "endpoint must be host:port format"),
|
|
69
|
+
availableSlots: z.number().int().min(0),
|
|
70
|
+
storageLimitMb: z.number().int().min(0).default(0),
|
|
71
|
+
bandwidthLimitMbps: z.number().int().min(0).default(0),
|
|
72
|
+
activeMissions: z.number().int().min(0).default(0),
|
|
73
|
+
maxMissions: z.number().int().min(1).default(1),
|
|
74
|
+
cpuLoad: z.number().min(0).max(1).default(0),
|
|
75
|
+
diskFree: z.number().int().min(0).default(0),
|
|
76
|
+
updatedAt: z.string().datetime(),
|
|
77
|
+
signature: z.string().min(1),
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
export const dhtPlacementResultSchema = z.object({
|
|
81
|
+
siteId: z.string().regex(kebabRe, "siteId must be kebab-case"),
|
|
82
|
+
assignedWorkshop: z.string().min(1),
|
|
83
|
+
reason: dhtPlacementReasonSchema,
|
|
84
|
+
capacity: workshopCapacitySchema.nullable(),
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export const dhtCacheEntrySchema = dhtSiteEntrySchema.extend({
|
|
88
|
+
cachedAt: z.string().datetime(),
|
|
89
|
+
expiresAt: z.string().datetime(),
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export type DHTSiteEntry = z.infer<typeof dhtSiteEntrySchema>;
|
|
93
|
+
export type DHTConfig = z.infer<typeof dhtConfigSchema>;
|
|
94
|
+
export type DHTLookupResult = z.infer<typeof dhtLookupResultSchema>;
|
|
95
|
+
export type DHTPlacementReason = z.infer<typeof dhtPlacementReasonSchema>;
|
|
96
|
+
export type WorkshopCapacity = z.infer<typeof workshopCapacitySchema>;
|
|
97
|
+
export type DHTPlacementResult = z.infer<typeof dhtPlacementResultSchema>;
|
|
98
|
+
export type DHTCacheEntry = z.infer<typeof dhtCacheEntrySchema>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>
|
|
4
|
+
RFC-0221: Zod schemas for the internal site handoff bundle — the version-stamped
|
|
5
|
+
lock that makes ingest version-aware, and the authored/derived manifest partition.
|
|
6
|
+
</purpose>
|
|
7
|
+
<non-goals>
|
|
8
|
+
<item>Do not perform file IO, hashing, or version comparison — pure shape only.</item>
|
|
9
|
+
<item>Do not define migrator logic — that lives in @warpgogol/site-kernel-handoff.</item>
|
|
10
|
+
</non-goals>
|
|
11
|
+
</MODULE_CONTRACT>
|
|
12
|
+
<CHANGE_SUMMARY>
|
|
13
|
+
<item>RFC-0221: initial schemas for the site handoff bundle.</item>
|
|
14
|
+
<item>RFC-0479: migratorCursor changed from SemVer string to string[] (migrator-id list).</item>
|
|
15
|
+
</CHANGE_SUMMARY>
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { z } from "zod";
|
|
19
|
+
|
|
20
|
+
const semverRe = /^\d+\.\d+\.\d+$/;
|
|
21
|
+
const sha256Re = /^sha256:[0-9a-f]{64}$/;
|
|
22
|
+
|
|
23
|
+
/** A single consumed capability, snapshotted from uni.registry.yaml at pack time. */
|
|
24
|
+
export const handoffCapabilitySchema = z.object({
|
|
25
|
+
/** Unique uni.registry entry id (e.g. "breadcrumbs-component") — the diff key. */
|
|
26
|
+
id: z.string().min(1),
|
|
27
|
+
/** Role/semanticId — NOT unique across layers; used for intent grouping and display. */
|
|
28
|
+
semanticId: z.string().min(1),
|
|
29
|
+
/** Capability version consumed (uni.registry entry version). */
|
|
30
|
+
version: z.string().min(1),
|
|
31
|
+
/** Carried so red-tier removals can be remapped by intent rather than by name. */
|
|
32
|
+
intent: z.array(z.string()).default([]),
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
/** Ecosystem stamp: which studio monorepo state the bundle was packed against. */
|
|
36
|
+
export const handoffEcosystemSchema = z.object({
|
|
37
|
+
/** Root package.json version at pack time, e.g. "4.5.0". */
|
|
38
|
+
version: z.string().regex(semverRe, "ecosystem.version must be x.y.z"),
|
|
39
|
+
/** git SHA of the studio monorepo at pack time. */
|
|
40
|
+
commit: z.string().min(7),
|
|
41
|
+
/** Highest `implemented` RFC id at pack time, e.g. "RFC-0220". */
|
|
42
|
+
rfcHead: z.string().regex(/^RFC-\d{4}$/),
|
|
43
|
+
/** Semantic fingerprint of the packages/ tree at pack time (RFC-0364). */
|
|
44
|
+
platformSemanticHash: z.string().regex(sha256Re),
|
|
45
|
+
/** Legacy byte hash of packages/ — read-only during migration, removed in RFC-0364 step 7. */
|
|
46
|
+
packagesHash: z.string().regex(sha256Re).optional(),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
/** Passport-derived build provenance carried with the bundle. */
|
|
50
|
+
export const handoffBuildSchema = z.object({
|
|
51
|
+
/** sha256 of system.yaml at last build. */
|
|
52
|
+
systemHash: z.string().regex(sha256Re),
|
|
53
|
+
commitSha: z.string().min(7),
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
/** handoff-lock.json — the artifact that makes ingest version-aware (RFC-0221 §2). */
|
|
57
|
+
export const handoffLockSchema = z.object({
|
|
58
|
+
/** Lock format version, independent of the ecosystem version. */
|
|
59
|
+
schemaVersion: z.string().regex(semverRe),
|
|
60
|
+
app: z.string().min(1),
|
|
61
|
+
packedAt: z.string().datetime(),
|
|
62
|
+
ecosystem: handoffEcosystemSchema,
|
|
63
|
+
/** Ecosystem version this site is "synced to" — equals ecosystem.version at pack. */
|
|
64
|
+
migratorCursor: z.array(z.string()),
|
|
65
|
+
/** The CONSUMED subset of uni.registry.yaml (not the whole registry). */
|
|
66
|
+
capabilities: z.array(handoffCapabilitySchema).default([]),
|
|
67
|
+
build: handoffBuildSchema,
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
/** One path entry in the bundle manifest: is it source of truth, or regenerated? */
|
|
71
|
+
export const handoffManifestEntrySchema = z.object({
|
|
72
|
+
/** Bundle-relative POSIX path. */
|
|
73
|
+
path: z.string().min(1),
|
|
74
|
+
/** authored = round-trips, source of truth. derived = disposable, regenerated. */
|
|
75
|
+
kind: z.enum(["authored", "derived"]),
|
|
76
|
+
/** sha256 of the file contents at pack time (integrity + derived-edit detection). */
|
|
77
|
+
hash: z.string().regex(sha256Re),
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
/** handoff-manifest.json — authored/derived partition + integrity (RFC-0221 §5). */
|
|
81
|
+
export const handoffManifestSchema = z.object({
|
|
82
|
+
schemaVersion: z.string().regex(semverRe),
|
|
83
|
+
app: z.string().min(1),
|
|
84
|
+
entries: z.array(handoffManifestEntrySchema).default([]),
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export type HandoffCapability = z.infer<typeof handoffCapabilitySchema>;
|
|
88
|
+
export type HandoffEcosystem = z.infer<typeof handoffEcosystemSchema>;
|
|
89
|
+
export type HandoffBuild = z.infer<typeof handoffBuildSchema>;
|
|
90
|
+
export type HandoffLock = z.infer<typeof handoffLockSchema>;
|
|
91
|
+
export type HandoffManifestEntry = z.infer<typeof handoffManifestEntrySchema>;
|
|
92
|
+
export type HandoffManifest = z.infer<typeof handoffManifestSchema>;
|