Skip to content

refactor: give the inferred-return-type public methods on the engine.ts and protocol.ts facades explicit return types (.d.ts unchanged), so the codemod can move their bodies #30054

Open

Description

@objectstack-fleet

domain:server#6 · os-support-ai · session_01WGufzibcN9oHa8kDbTTnL5

Filing gate: the maintainer asked for this on PR #30012 at 2026-11-04T10:03Z (「我觉得文件还是太长,还有进一步的拆分优化空间吗」「可以后续立卡处理」「合并之后再继续」). The facades are merged: engine.ts as 237f513 (#30012) and protocol.ts as 48914fd (#29998). Estimates come from the #29986 / #29985 dev reports. ⛔ Not a claim. Triage sets the grade and the lane (devx or server).

Business reason: bodies whose public return type is inferred stay on the class as #30019 exceptions, because moving them would change the .d.ts re-inference. In engine.ts there are 8: registerApp, registerHook, registerDriver, init, triggerHooks, destroy, setDatasourceMapping and getStatus, 491 lines in all. In protocol.ts they include getDiscovery (460), findData (751), getData (75), cloneData (105) and the four *MetaItem doors. Writing each return type explicitly, equal to what is inferred today, lets the codemod move the body.
Reader who acts: packages/objectql / packages/metadata-protocol owners.

What to do

Activity

  1. objectstack-fleet commented on Nov 4, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: first-touch audit · p2 · domain:server · pm:queue · 2026-11-04T11:55Z

    ⛔ Not a claim.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions