Runtime Surface Audit
This document is descriptive, not normative. For support guarantees, see
docs/runtime-import-policy.md.
Current exported surfaces
Section titled “Current exported surfaces”wp-typiaNode-first CLI package, command registry, help surface, completions, skills, MCP metadata, and bin entry.@wp-typia/api-client@wp-typia/api-client/client-utils@wp-typia/api-client/runtime-primitives@wp-typia/api-client/internal/runtime-primitives@wp-typia/rest@wp-typia/rest/client@wp-typia/rest/http@wp-typia/rest/react@wp-typia/project-toolsProject orchestration helpers used by the CLI and programmatic tooling, including the additiveBlockSpec/BlockGeneratorServiceboundary, the non-mutatinginspectBlockGeneration(...)tool contract, and emitter ownership for built-in structural files, TS/TSX scaffold bodies, and built-in style/PHP source assets.@wp-typia/project-tools/schema-coreSchema and OpenAPI helpers for project-level documents.@wp-typia/project-tools/ai-artifactsOpt-in WordPress AI artifact sync helpers.@wp-typia/project-tools/typia-llmOpt-in build-timetypia.llmadapter emitter for downstream tool/function consumers.@wp-typia/block-runtimeGenerated-project helper root.@wp-typia/block-runtime/migration-types@wp-typia/block-runtime/schema-core@wp-typia/block-runtime/typia-tags@wp-typia/block-runtime/metadata-core@wp-typia/block-runtime/metadata-analysis@wp-typia/block-runtime/metadata-model@wp-typia/block-runtime/metadata-parser@wp-typia/block-runtime/metadata-php-render@wp-typia/block-runtime/metadata-projection@wp-typia/block-runtime/blocks@wp-typia/block-runtime/defaults@wp-typia/block-runtime/editor@wp-typia/block-runtime/identifiers@wp-typia/block-runtime/inspector@wp-typia/block-runtime/json-utils@wp-typia/block-runtime/validation
Classification
Section titled “Classification”Stable public
Section titled “Stable public”wp-typia@wp-typia/api-client@wp-typia/api-client/client-utils@wp-typia/api-client/runtime-primitives@wp-typia/rest@wp-typia/rest/client@wp-typia/rest/http@wp-typia/rest/react@wp-typia/project-tools@wp-typia/project-tools/schema-core@wp-typia/project-tools/ai-artifacts@wp-typia/project-tools/typia-llm@wp-typia/block-runtime/migration-types@wp-typia/block-runtime/schema-core@wp-typia/block-runtime/typia-tags@wp-typia/block-runtime/metadata-core@wp-typia/block-runtime/blocks@wp-typia/block-runtime/defaults@wp-typia/block-runtime/editor@wp-typia/block-runtime/identifiers@wp-typia/block-runtime/inspector@wp-typia/block-runtime/json-utils@wp-typia/block-runtime/validation
Advanced or internal-by-name public
Section titled “Advanced or internal-by-name public”@wp-typia/api-client/internal/runtime-primitives@wp-typia/block-runtime/metadata-analysis@wp-typia/block-runtime/metadata-model@wp-typia/block-runtime/metadata-parser@wp-typia/block-runtime/metadata-php-render@wp-typia/block-runtime/metadata-projection
Ownership notes
Section titled “Ownership notes”@wp-typia/api-clientowns the transport-neutral endpoint contract, runtime validation primitives, and the shared public runtime error base (WpTypiaContractError,WpTypiaValidationAssertionError).@wp-typia/restowns WordPress-specific route discovery,apiFetchintegration, decoder helpers, and the React cache/hook layer. The root surface is the canonical convenience entry,./clientis the focused transport/runtime entry,./httpis the focused decoder entry, and./reactowns hooks.wp-typiaowns the Node-first CLI runtime, help, completions, skills, MCP, command registry, Gunshi completion integration, and bin entry.- General command dispatch is currently owned by the existing command
registry/custom dispatcher. Gunshi is part of the CLI runtime where
applicable, with
complete <shell>and the legacycompletions <shell>alias normalized through the Gunshi completion integration. The internal runtime bridge delegates focused output and sync helpers behind the facade. Those splits are implementation details, not new CLI surface areas. @wp-typia/project-toolsowns scaffold, add-block, migrate, template, doctor, package-manager, starter-manifest, the typed generator boundary, the opt-in WordPress AI andtypia.llmadapter emitters, the built-in structural/code emitters, the non-mutatinginspectBlockGeneration(...)tool contract, and the preferred schema project imports. Its source-levelsrc/runtime/*.tsfiles remain stable compatibility facades, while implementation ownership now sits behind focused internal folders:add/,cli/,doctor/,migration/,schema/,shared/,templates/, andworkspace/. Built-in templates no longer ship structural, TS/TSX, style, or block-localrender.phpMustache files for those generated artifacts. The higher-level generator architecture record lives indocs/block-generator-architecture.md. The public non-mutating controller contract lives indocs/block-generator-tool-contract.md. External template-layer composition now exists as a built-in generator option for both CLI and programmatic callers (externalLayerSourceand optionalexternalLayerId), while the layer contract record lives indocs/external-template-layer-composition.md. The publicdoctorflow now delegates environment and workspace checks to focused helper modules without changing the supported orchestration imports.@wp-typia/block-runtime/*owns generated-project runtime helpers directly, including the canonicalschema-coreimplementation and shared manifest/migration contract types. JSON artifact boundaries should prefer the validated helpersparseScaffoldBlockMetadata(...),parseManifestDocument(...), andparseManifestDefaultsDocument(...)instead of rawascasts on importedblock.jsonandtypia.manifest.json. Recent splits keep the public facade imports stable while moving inspector types/model/controls, metadata-core artifact/client-render/sync-routines, and schema-core auth/document/projection helpers into focused internal modules for maintainability.
CLI dispatch boundary
Section titled “CLI dispatch boundary”The published wp-typia entrypoint is Node-first and starts in
runGunshiCli(), but that does not mean every command is Gunshi-native today.
The current boundary is:
- Gunshi owns the completion integration for
complete <shell>,completions <shell>, and dynamic completion requests routed throughcomplete -- .... - The shared command registry owns the public command taxonomy, option metadata, and completion entry labels.
- The portable CLI dispatcher owns parsing, global flag normalization, help rendering, config loading, AI-agent structured-output defaults, diagnostics, and command execution.
@wp-typia/project-toolsowns the reusable project orchestration logic behind create, add, sync, migrate, templates, and doctor flows.
Moving more command dispatch into Gunshi would be a future architecture change, not a cleanup task. That work should land only after parity tests cover help output, option parsing, aliases, JSON/text diagnostics, AI-agent structured output defaults, and every public command listed in the registry.