Skip to content

fix(types): publish declarations under trackable names - #928

Draft
0xpatrickbot wants to merge 9 commits into
llmfrom
fix/declaration-file-naming
Draft

fix(types): publish declarations under trackable names#928
0xpatrickbot wants to merge 9 commits into
llmfrom
fix/declaration-file-naming

Conversation

@0xpatrickbot

@0xpatrickbot 0xpatrickbot commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Refs: #884

Description

Rename hand-authored declaration entry points to publication-safe *.types.d.ts files, move substantive declaration bodies into checked .ts sources with thin publication barrels, and update package type metadata, exports, and build inputs accordingly. Add repository-wide declaration naming checks so tracked declarations follow the convention or have an explicit root ignore exception. The affected capability packages are publishable with public access, and the agent-tools extractor follows exo-stream's checked type source so generated declarations retain concrete passable-reader contracts.

Security Considerations

This changes declaration packaging and package visibility, not runtime authority or confinement boundaries. No new capabilities or remote calls are introduced.

Scaling Considerations

The uniformity check adds one repository-wide tracked-file scan. Runtime CPU, memory, storage, and message behavior are unchanged.

Documentation Considerations

Consumer import paths remain stable through package exports. Downstream maintainers only need to know that published tarballs now include the declared TypeScript entry points and that newly authored declaration barrels should use the *.types.d.ts naming convention.

Testing Considerations

Affected package lint and runtime suites, composite declaration builds, type-contract tests, package-uniformity tests, the live npm packlist audit, all-package tarball construction, API docs, formatting, pre-dispatch gates, and shell checks pass. Root lint's formatting stage passes, while its ESLint stage retains pre-existing project-service failures in unchanged packages/familiar, packages/lal, and packages/module-source files.

Compatibility Considerations

Existing JavaScript and TypeScript import specifiers are unchanged. Declaration entry files move behind updated metadata, and previously private capability packages become publicly packable.

Upgrade Considerations

No live state migration is required. Publishing the refreshed packages replaces tarballs whose declaration metadata previously pointed at files omitted by npm packing.

Expose the package root through a publication-safe declaration barrel so npm packing retains the declared type entry point.
Move the package contracts into checked TypeScript while keeping the existing type entry surface available through a publication-safe barrel.
Move the public gateway contracts into checked TypeScript source and expose them through a thin declaration entry barrel.
Keep the eval and package declaration barrels publication-safe while moving the authored contracts through checked TypeScript project inputs.
Convert the hand-authored declaration source into checked TypeScript with a thin publication barrel so type generation sees every exports target.
Move the package declaration twins onto the publication-safe naming convention, follow exo-stream source types in the extractor, and constrain declaration emit to the checked inputs.
Rename the remaining bot-only declaration barrels onto the publication-safe convention and align package metadata and TypeScript project inputs with those entry points.
Reject tracked declaration files that are neither publication-safe by convention nor explicitly exempted at the repository root.
Enable publication for the capability packages whose declaration entry points were refreshed, with explicit public npm access where required.
@0xpatrickbot
0xpatrickbot force-pushed the fix/declaration-file-naming branch from f1e9820 to 626c361 Compare August 6, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant