Skip to content

docs(emitter-framework): Add JSDoc for Python emitter framework type and callable components [skip chg] - #12226

Closed
Timothee Guerin (timotheeguerin) wants to merge 2 commits into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-framework-python-components
Closed

Timothee Guerin (timotheeguerin) wants to merge 2 commits into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-framework-python-components

Conversation

@timotheeguerin

@timotheeguerin Timothee Guerin (timotheeguerin) commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Python emitter authors need to distinguish annotations from value expressions, understand enum wire values, and choose between function, alias, and callback-protocol output.

Document those contracts together with importable built-ins, documentation normalization, reference behavior, and parameter ordering/defaults. Clarify the noReference limitation for named models and when extra parameters remain positional. Documentation only.

Tracked in #12228.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the emitter-framework Issues for the emitter framework label Oct 15, 2026
@timotheeguerin Timothee Guerin (timotheeguerin) changed the title Document Python emitter framework type and callable components docs(emitter-framework): Add JSDoc for Python emitter framework type and callable components [skip chg] Oct 15, 2026
@pkg-pr-new

pkg-pr-new Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@typespec/emitter-framework@12226

commit: 242b4f7

@github-actions

Copy link
Copy Markdown
Contributor

❌ There is undocummented changes. Run chronus add to add a changeset or click here.

The following packages have changes but are not documented.

  • ❌@typespec/emitter-framework
Show changes

@azure-sdk-automation

azure-sdk-automation Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only changes preserve behavior and API signatures, with no unresolved review findings.

0 open findings

What changed in this PR

Documents the Python emitter-framework contracts as part of the public API JSDoc improvements tracked in #12228. Runtime behavior and API signatures remain unchanged.

Changes:

  • Clarifies annotations, references, declaration selection, and enum values.
  • Explains callable parameter ordering, defaults, and overrides.
  • Documents importable built-ins and documentation normalization.
File Description
packages/​emitter-framework/​src/​python/​utils/​operation.ts Documents return filtering and parameter ordering.
packages/​emitter-framework/​src/​python/​components/​type-expression/​type-expression.tsx Clarifies annotations and reference limitations.
packages/​emitter-framework/​src/​python/​components/​type-declaration/​type-declaration.tsx Documents declaration dispatch.
packages/​emitter-framework/​src/​python/​components/​type-alias-declaration/​type-alias-declaration.tsx Explains alias and template-model handling.
packages/​emitter-framework/​src/​python/​components/​record-expression/​record-expression.tsx Distinguishes dictionary annotations from values.
packages/​emitter-framework/​src/​python/​components/​protocol-declaration/​protocol-declaration.tsx Documents protocol generation and documentation forwarding.
packages/​emitter-framework/​src/​python/​components/​protocol-declaration/​callable-parameters.tsx Clarifies flat parameter descriptors.
packages/​emitter-framework/​src/​python/​components/​function-declaration/​function-declaration.tsx Explains signature overrides and positional parameters.
packages/​emitter-framework/​src/​python/​components/​enum-declaration/​enum-member.tsx Documents member values and metadata.
packages/​emitter-framework/​src/​python/​components/​enum-declaration/​enum-declaration.tsx Explains enum bases and JSON values.
packages/​emitter-framework/​src/​python/​components/​doc-element/​doc-element.tsx Documents normalized documentation inputs.
packages/​emitter-framework/​src/​python/​components/​array-expression/​array-expression.tsx Clarifies list annotation output.
packages/​emitter-framework/​src/​python/​builtins.ts Documents importable Python symbols.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@timotheeguerin

Copy link
Copy Markdown
Member Author

Consolidated into #12209 to keep one PR per package and at most five compiler PRs. The reviewed changes and corrections are preserved there.

Tracked in #12228.

Timothee Guerin (timotheeguerin) added a commit that referenced this pull request Oct 16, 2026
Emitter authors need usable contracts across contexts, language
components, transformations, and testing helpers, not just component
names and TypeScript signatures.

Document the public emitter framework together, including its C#,
TypeScript, and Python components. Explain defaults, supported input
shapes, transformation scope, and error filtering without changing
generated output or APIs.

Consolidates [12213](#12213),
[12220](#12220),
[12223](#12223),
[12226](#12226),
[12227](#12227).

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

Labels

emitter-framework Issues for the emitter framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants