Commit 3b47698
docs(dx): TypeScript DX audit + JSDoc sweep + public-surface hygiene (#709)
* docs(dx): TypeScript DX audit — methodology + graded findings
Audit of the dev-facing @threadplane/* public surface (chat/ag-ui/langgraph/
render, 302 exports). Method: TypeDoc extraction for JSDoc/signature grading +
real tsserver quick-info probing for hover/inference. Findings: JSDoc is the
dominant gap (0/66 fns have @example, 60/66 undocumented params, 21 missing
summaries); view/ask don't infer component inputs from schema; 8 internal
consts leak into the public surface; hover readability is otherwise clean.
Includes a triage table for fix sequencing.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(dx): JSDoc sweep — undocumented dev-facing helpers (audit PR 1)
Re-baselined the TS DX audit against post-#685 main (#685 already documented
tools/action/view/ask + made view/ask generic). Close the remaining
missing-summary holes on the dev-facing surface:
- chat: isUserMessage/isAssistantMessage/isToolMessage/isSystemMessage,
getInterrupt, isTyping, mockAgent — summaries + @PARAM + @example
- render: provideViews, signalStateStore — summaries + @PARAM + @example
Regenerated chat/render api-docs.json; updated the findings doc with a
post-#685 re-baseline note. Comment-only; chat + render build green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* refactor(chat)!: prune internal-only exports + document public factories (audit F5)
Surface hygiene — tighten the public API to what's intentional:
- Remove from @threadplane/chat public surface (0 external consumers, internal
relative-imported): CHAT_MARKDOWN_STYLES, ICON_* (7 inline-SVG consts),
surfaceToSpec, createClientToolsCoordinator. (toClientToolSpecs kept.)
- Document genuinely-public factories that lacked summaries: a2uiBasicCatalog,
createA2uiSurfaceStore, createContentClassifier, createParseTreeStore (chat),
and the advanced citation APIs bridgeCitationsState (ag-ui) + extractCitations
(langgraph) — kept per their "advanced consumers" intent.
chat api-docs 227→217 entries. chat/ag-ui/langgraph/render build, chat
type-tests, examples/chat, and website all green. Pre-1.0 breaking-OK removal.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(dx): formalize inline ts examples as @example tags (provideAgent/injectAgent)
Convert the inline ```ts usage blocks in the ag-ui + langgraph provideAgent /
injectAgent JSDoc into formal @example tags so IDEs and the api-docs site render
them as examples (api-docs now reports examples=1/1 ag-ui, 2/1 langgraph). Prose
descriptions retained; ag-ui + langgraph build green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(dx): document config-interface members (ChatConfig/AgentConfig/RenderConfig)
The objects app developers fill in when wiring the framework now carry both an
interface-level summary and per-member JSDoc:
- chat ChatConfig: interface summary (members were already documented)
- ag-ui AgentConfig: url/agentId/threadId/headers member docs + clean summary
- render RenderConfig: interface summary + registry/store/functions/handlers docs
(langgraph AgentConfig was already fully documented.)
chat/ag-ui/render build green; api-docs regenerated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 71b0bae commit 3b47698
25 files changed
Lines changed: 441 additions & 184 deletions
File tree
- apps/website
- content/docs
- ag-ui/api
- chat/api
- langgraph/api
- render/api
- docs/superpowers/specs
- libs
- ag-ui/src/lib
- chat/src
- lib
- a2ui
- catalog
- agent
- primitives
- chat-interrupt
- chat-typing-indicator
- streaming
- testing
- langgraph/src/lib
- internals
- render/src/lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
| 370 | + | |
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
375 | | - | |
| 375 | + | |
376 | 376 | | |
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
381 | | - | |
| 381 | + | |
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
| 393 | + | |
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
399 | | - | |
| 399 | + | |
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
| |||
537 | 537 | | |
538 | 538 | | |
539 | 539 | | |
540 | | - | |
| 540 | + | |
541 | 541 | | |
542 | 542 | | |
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
546 | | - | |
| 546 | + | |
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
551 | 551 | | |
552 | | - | |
| 552 | + | |
553 | 553 | | |
554 | 554 | | |
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
560 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
561 | 563 | | |
562 | 564 | | |
563 | 565 | | |
564 | 566 | | |
565 | | - | |
| 567 | + | |
566 | 568 | | |
567 | 569 | | |
568 | 570 | | |
569 | 571 | | |
570 | 572 | | |
571 | 573 | | |
572 | | - | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
573 | 577 | | |
574 | 578 | | |
575 | 579 | | |
576 | 580 | | |
577 | | - | |
| 581 | + | |
578 | 582 | | |
579 | 583 | | |
580 | 584 | | |
| |||
594 | 598 | | |
595 | 599 | | |
596 | 600 | | |
597 | | - | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
598 | 604 | | |
599 | 605 | | |
600 | 606 | | |
| |||
0 commit comments