Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 211 additions & 0 deletions docs/plan/closure-dtos.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
# Unit 2.1 acceptance list (PHASES 2.1): every `#[ts(export)]` type.
# Generated by scripts/gen_closure_inventory.py; do not edit by hand.
# Format: <name> <category> <source file>. The [exported] section must equal
# the manifest coverage report (tools/aimux-codegen/generated/coverage.txt).

[exported] 193
AiMuxError error aimux-core/src/error.rs
ApiCallError error aimux-core/src/error.rs
AspectRatio core aimux-core/src/shared.rs
AssistantPart user aimux-core/src/language_model_message.rs
AudioChunk multimodal aimux-core/src/transcription_model.rs
AudioData multimodal aimux-core/src/speech_model.rs
AudioInput multimodal aimux-core/src/transcription_model.rs
BooleanCriteria core aimux-core/src/evaluation_model.rs
BreakKind recording aimux-core/src/trace/store.rs
CallOptions user aimux-core/src/options.rs
CatalogueSource provider aimux-core/src/model_catalogue.rs
ChatCompletion core aimux-core/src/openai_output.rs
ChatCompletionChoice core aimux-core/src/openai_output.rs
ChatCompletionChunk core aimux-core/src/openai_output.rs
ChatCompletionChunkChoice core aimux-core/src/openai_output.rs
ChatCompletionChunkFunction core aimux-core/src/openai_output.rs
ChatCompletionChunkToolCall core aimux-core/src/openai_output.rs
ChatCompletionDelta core aimux-core/src/openai_output.rs
ChatCompletionFunction core aimux-core/src/openai_output.rs
ChatCompletionMessage core aimux-core/src/openai_output.rs
ChatCompletionToolCall core aimux-core/src/openai_output.rs
ChatCompletionUsage core aimux-core/src/openai_output.rs
CompletionTokensDetails core aimux-core/src/openai_output.rs
ContentPart multimodal aimux-core/src/content.rs
CustomPart user aimux-core/src/language_model_message.rs
DecisionAnswer core aimux-core/src/decision_model.rs
DecisionBooleanCriteria core aimux-core/src/decision_model.rs
DecisionCallOptions core aimux-core/src/decision_model.rs
DecisionCapabilities core aimux-core/src/decision_model.rs
DecisionDescription core aimux-core/src/decision_model.rs
DecisionImage core aimux-core/src/decision_model.rs
DecisionOption core aimux-core/src/decision_model.rs
DecisionProbabilitySource core aimux-core/src/decision_model.rs
DecisionQuestion core aimux-core/src/decision_model.rs
DecisionResponse core aimux-core/src/decision_model.rs
DecisionResult core aimux-core/src/decision_model.rs
DecisionRounding core aimux-core/src/decision_model.rs
DecisionScoreLevel core aimux-core/src/decision_model.rs
DecisionValue core aimux-core/src/decision_model.rs
EmbeddingCallOptions multimodal aimux-core/src/embedding_model.rs
EmbeddingResponse multimodal aimux-core/src/embedding_model.rs
EmbeddingResult multimodal aimux-core/src/embedding_model.rs
EmbeddingUsage multimodal aimux-core/src/embedding_model.rs
EvaluationAnswer core aimux-core/src/evaluation_model.rs
EvaluationCallOptions core aimux-core/src/evaluation_model.rs
EvaluationInput core aimux-core/src/evaluation_model.rs
EvaluationQuestion core aimux-core/src/evaluation_model.rs
EvaluationQuestionType core aimux-core/src/evaluation_model.rs
EvaluationResult core aimux-core/src/evaluation_model.rs
EvaluationRounding core aimux-core/src/evaluation_model.rs
EvaluationUsage core aimux-core/src/evaluation_model.rs
FileBytes core aimux-core/src/shared.rs
FileData core aimux-core/src/shared.rs
FilePart user aimux-core/src/language_model_message.rs
Fingerprint recording aimux-core/src/trace/fingerprint.rs
FinishReason core aimux-core/src/types.rs
FinishReasonUnified core aimux-core/src/types.rs
FunctionTool tool aimux-core/src/tool.rs
FunctionToolInputExample tool aimux-core/src/tool.rs
GenerateContent core aimux-core/src/result.rs
GenerateObjectResult core aimux-core/src/generate.rs
GenerateResult core aimux-core/src/result.rs
GenerateTextOptions core aimux-core/src/generate.rs
GenerateTextResult core aimux-core/src/generate.rs
GeneratedFile core aimux-core/src/result.rs
GeneratedFileData core aimux-core/src/shared.rs
HttpExchange recording aimux-core/src/recording.rs
HttpRecord recording aimux-core/src/recording.rs
ImageCallOptions multimodal aimux-core/src/image_model.rs
ImageFile multimodal aimux-core/src/image_model.rs
ImageFileData multimodal aimux-core/src/image_model.rs
ImageOutputs multimodal aimux-core/src/image_model.rs
ImageResponse multimodal aimux-core/src/image_model.rs
ImageResult multimodal aimux-core/src/image_model.rs
ImageUsage multimodal aimux-core/src/image_model.rs
InputAudioFormat multimodal aimux-core/src/transcription_model.rs
InputRecord recording aimux-core/src/recording.rs
InputTokenUsage core aimux-core/src/types.rs
LanguageModelMessage user aimux-core/src/language_model_message.rs
MessageContent user aimux-core/src/message.rs
Modality provider aimux-core/src/model_catalogue.rs
ModelCapabilities provider aimux-core/src/model_catalogue.rs
ModelCost provider aimux-core/src/model_catalogue.rs
ModelId provider aimux-core/src/model_id.rs
ModelLimits provider aimux-core/src/model_catalogue.rs
ModelMessage user aimux-core/src/message.rs
ModelModalities provider aimux-core/src/model_catalogue.rs
ModelPrompt user aimux-core/src/message.rs
ModelSpec provider aimux-core/src/model_catalogue.rs
ModelType provider aimux-core/src/model_catalogue.rs
OutcomeRecord recording aimux-core/src/recording.rs
OutcomeStatus recording aimux-core/src/recording.rs
OutputTokenUsage core aimux-core/src/types.rs
PrefixBreak recording aimux-core/src/trace/store.rs
PromptTokensDetails core aimux-core/src/openai_output.rs
ProviderAuditSpec recording aimux-core/src/trace/verdict.rs
ProviderFamily recording aimux-core/src/trace/verdict.rs
ProviderRecord recording aimux-core/src/recording.rs
ProviderTool tool aimux-core/src/tool.rs
RawToolApprovalRequest core aimux-core/src/result.rs
RawToolCall tool aimux-core/src/tool.rs
ReasoningEffort core aimux-core/src/types.rs
ReasoningFileOutput core aimux-core/src/result.rs
ReasoningFilePart user aimux-core/src/language_model_message.rs
ReasoningMode provider aimux-core/src/model_catalogue.rs
ReasoningOutput core aimux-core/src/result.rs
ReasoningPart core aimux-core/src/result.rs
ReasoningPart user aimux-core/src/language_model_message.rs
ReasoningSpec provider aimux-core/src/model_catalogue.rs
ReasoningVisibility provider aimux-core/src/model_catalogue.rs
Recording recording aimux-core/src/recording.rs
RecordingOperation recording aimux-core/src/recording.rs
RequestCacheHints recording aimux-core/src/trace/record.rs
RequestInfo core aimux-core/src/shared.rs
RerankingCallOptions core aimux-core/src/reranking_model.rs
RerankingDocuments core aimux-core/src/reranking_model.rs
RerankingRank core aimux-core/src/reranking_model.rs
RerankingResponse core aimux-core/src/reranking_model.rs
RerankingResult core aimux-core/src/reranking_model.rs
ResponseFormat user aimux-core/src/options.rs
ResponseInfo core aimux-core/src/shared.rs
ResponseMetadata core aimux-core/src/types.rs
ResponseRecord recording aimux-core/src/recording.rs
RetryError error aimux-core/src/error.rs
RetryErrorReason error aimux-core/src/error.rs
Role user aimux-core/src/message.rs
RuntimeModel provider aimux-core/src/model_catalogue.rs
SearchCallOptions core aimux-core/src/search_model.rs
SearchResponse core aimux-core/src/search_model.rs
SearchResult core aimux-core/src/search_model.rs
SearchResultItem core aimux-core/src/search_model.rs
SessionCall core aimux-core/src/session.rs
SessionChainView recording aimux-core/src/trace/store.rs
SessionSource core aimux-core/src/session.rs
SessionStepStat recording aimux-core/src/trace/store.rs
SessionView core aimux-core/src/session.rs
Size core aimux-core/src/shared.rs
SkillFile core aimux-core/src/skills_model.rs
Source core aimux-core/src/result.rs
SpeechCallOptions multimodal aimux-core/src/speech_model.rs
SpeechRequest multimodal aimux-core/src/speech_model.rs
SpeechResponse multimodal aimux-core/src/speech_model.rs
SpeechResult multimodal aimux-core/src/speech_model.rs
StreamPart core aimux-core/src/stream_part.rs
StreamResponseInfo core aimux-core/src/shared.rs
StreamTextResultAggregated core aimux-core/src/result.rs
TextContentBinding core aimux-core/src/result.rs
TextPart user aimux-core/src/language_model_message.rs
TextStreamPart core aimux-core/src/stream_part.rs
TimeoutConfiguration user aimux-core/src/options.rs
TimingRecord recording aimux-core/src/recording.rs
Tool tool aimux-core/src/tool.rs
ToolApprovalRequestOutput core aimux-core/src/result.rs
ToolApprovalResponsePart user aimux-core/src/language_model_message.rs
ToolCall tool aimux-core/src/tool.rs
ToolCallPart user aimux-core/src/language_model_message.rs
ToolCallRepairReply tool aimux-core/src/parse_tool_call.rs
ToolChoice tool aimux-core/src/tool.rs
ToolPart user aimux-core/src/language_model_message.rs
ToolResult tool aimux-core/src/tool.rs
ToolResultContent user aimux-core/src/language_model_message.rs
ToolResultOutput user aimux-core/src/language_model_message.rs
ToolResultPart user aimux-core/src/language_model_message.rs
TraceFilter recording aimux-core/src/trace/store.rs
TraceRecord recording aimux-core/src/trace/record.rs
TraceStats recording aimux-core/src/trace/store.rs
TranscriptionCallOptions multimodal aimux-core/src/transcription_model.rs
TranscriptionRequest multimodal aimux-core/src/transcription_model.rs
TranscriptionResponse multimodal aimux-core/src/transcription_model.rs
TranscriptionResult multimodal aimux-core/src/transcription_model.rs
TranscriptionSegment multimodal aimux-core/src/transcription_model.rs
TranscriptionStreamPart multimodal aimux-core/src/transcription_model.rs
UploadFileCallOptions multimodal aimux-core/src/files_model.rs
UploadFileData multimodal aimux-core/src/files_model.rs
UploadFileResult multimodal aimux-core/src/files_model.rs
UploadSkillCallOptions core aimux-core/src/skills_model.rs
UploadSkillResult core aimux-core/src/skills_model.rs
Usage core aimux-core/src/types.rs
UsageSnapshot recording aimux-core/src/trace/record.rs
UserPart user aimux-core/src/language_model_message.rs
Verdict recording aimux-core/src/trace/verdict.rs
VerdictConfidence recording aimux-core/src/trace/verdict.rs
VerdictKind recording aimux-core/src/trace/verdict.rs
VideoCallOptions multimodal aimux-core/src/video_model.rs
VideoData multimodal aimux-core/src/video_model.rs
VideoFile multimodal aimux-core/src/video_model.rs
VideoFileData multimodal aimux-core/src/video_model.rs
VideoFrameImage multimodal aimux-core/src/video_model.rs
VideoFrameType multimodal aimux-core/src/video_model.rs
VideoPollOptions multimodal aimux-core/src/video_model.rs
VideoResponse multimodal aimux-core/src/video_model.rs
VideoResult multimodal aimux-core/src/video_model.rs
Warning core aimux-core/src/types.rs

[derive-ts-without-export] 1
AiMuxErrorWire aimux-core/src/error.rs

[excluded] 7 (web-tool wire, not a binding DTO)
WireCallRequest tools/aimux-web/src/wire.rs
WireCallResponse tools/aimux-web/src/wire.rs
WireContentPart tools/aimux-web/src/wire.rs
WireMessage tools/aimux-web/src/wire.rs
WireMeta tools/aimux-web/src/wire.rs
WireOptions tools/aimux-web/src/wire.rs
WireTool tools/aimux-web/src/wire.rs
174 changes: 174 additions & 0 deletions docs/plan/closure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Consumer-closure inventory (PHASES 1.5)

Generated by `scripts/gen_closure_inventory.py`; do not edit by hand.
Counts cover tracked files only. Phase-3 acceptance: every list below reaches zero
except the file-size table (split scope is D10).

## Summary

| item | count |
|---|---|
| FFI `aimux_*_new` (name ends in `_new`) | 29 |
| FFI `aimux_*_new*` (incl. `_new_with_base` etc.) | 51 |
| .rs files > 1000 lines (all tracked) | 36 |
| .rs files > 1000 lines (excluding `*/tests/*`) | 24 |
| ts-rs `#[derive(TS)]` sites | 201 |
| `from_resolved` occurrences | 0 |
| closure-typed `Box/Arc<dyn Fn*>` (non-test) | 3 |
| hand-written binding type files | 6 |

## FFI constructors `aimux_*_new`

- `aimux_abort_signal_new`
- `aimux_anthropic_aws_new`
- `aimux_anthropic_aws_new_with_base` (suffixed)
- `aimux_anthropic_new`
- `aimux_anthropic_new_with_base` (suffixed)
- `aimux_azure_new`
- `aimux_azure_new_with_base` (suffixed)
- `aimux_bedrock_new`
- `aimux_bedrock_new_with_base` (suffixed)
- `aimux_cohere_embedding_new`
- `aimux_cohere_embedding_new_with_base` (suffixed)
- `aimux_cohere_new`
- `aimux_cohere_new_with_base` (suffixed)
- `aimux_cohere_reranking_new`
- `aimux_cohere_reranking_new_with_base` (suffixed)
- `aimux_google_embedding_new`
- `aimux_google_embedding_new_with_base` (suffixed)
- `aimux_google_image_new`
- `aimux_google_image_new_with_base` (suffixed)
- `aimux_google_video_new`
- `aimux_google_video_new_with_base` (suffixed)
- `aimux_jev_decision_new`
- `aimux_jev_decision_new_with_probability_source` (suffixed)
- `aimux_mistral_new`
- `aimux_mistral_new_with_base` (suffixed)
- `aimux_moa_new`
- `aimux_mock_replay_new`
- `aimux_openai_embedding_new`
- `aimux_openai_embedding_new_with_base` (suffixed)
- `aimux_openai_files_new`
- `aimux_openai_files_new_with_base` (suffixed)
- `aimux_openai_image_new`
- `aimux_openai_image_new_with_base` (suffixed)
- `aimux_openai_new`
- `aimux_openai_new_with_base` (suffixed)
- `aimux_openai_speech_new`
- `aimux_openai_speech_new_with_base` (suffixed)
- `aimux_openai_transcription_new`
- `aimux_openai_transcription_new_with_base` (suffixed)
- `aimux_provider_handle_new`
- `aimux_provider_new`
- `aimux_router_new`
- `aimux_tavily_search_new`
- `aimux_tavily_search_new_with_base` (suffixed)
- `aimux_trace_new`
- `aimux_trace_new_audited` (suffixed)
- `aimux_transcription_session_new`
- `aimux_vertex_new`
- `aimux_vertex_new_with_base` (suffixed)
- `aimux_xai_new`
- `aimux_xai_new_with_base` (suffixed)

## Hand-written binding types

| file | lines |
|---|---|
| bindings/kotlin/src/main/kotlin/ai/arcships/aimux/Types.kt | 1248 |
| bindings/java/src/main/java/ai/arcships/aimux/Types.java | 5354 |
| bindings/swift/Sources/Aimux/Types.swift | 1734 |
| bindings/flutter/lib/types.dart | 2251 |
| bindings/python/python/aimux/wrapper.py | 1214 |
| bindings/go/types.go | 687 |

## ts-rs derives

| file | `derive(TS)` |
|---|---|
| aimux-core/src/content.rs | 1 |
| aimux-core/src/decision_model.rs | 14 |
| aimux-core/src/embedding_model.rs | 4 |
| aimux-core/src/error.rs | 5 |
| aimux-core/src/evaluation_model.rs | 9 |
| aimux-core/src/files_model.rs | 3 |
| aimux-core/src/generate.rs | 3 |
| aimux-core/src/image_model.rs | 7 |
| aimux-core/src/language_model_message.rs | 14 |
| aimux-core/src/message.rs | 4 |
| aimux-core/src/model_catalogue.rs | 12 |
| aimux-core/src/model_id.rs | 1 |
| aimux-core/src/openai_output.rs | 13 |
| aimux-core/src/options.rs | 3 |
| aimux-core/src/parse_tool_call.rs | 1 |
| aimux-core/src/recording.rs | 10 |
| aimux-core/src/reranking_model.rs | 5 |
| aimux-core/src/result.rs | 11 |
| aimux-core/src/search_model.rs | 4 |
| aimux-core/src/session.rs | 3 |
| aimux-core/src/shared.rs | 8 |
| aimux-core/src/skills_model.rs | 3 |
| aimux-core/src/speech_model.rs | 5 |
| aimux-core/src/stream_part.rs | 2 |
| aimux-core/src/tool.rs | 8 |
| aimux-core/src/trace/fingerprint.rs | 1 |
| aimux-core/src/trace/record.rs | 3 |
| aimux-core/src/trace/store.rs | 6 |
| aimux-core/src/trace/verdict.rs | 5 |
| aimux-core/src/transcription_model.rs | 9 |
| aimux-core/src/types.rs | 8 |
| aimux-core/src/video_model.rs | 9 |
| tools/aimux-web/src/wire.rs | 7 |

## `from_resolved`

| file | occurrences |
|---|---|

## Closure-typed fields and parameters (non-test)

| file | `Box/Arc<dyn Fn*>` |
|---|---|
| aimux-core/src/parse_tool_call.rs | 1 |
| aimux-provider-utils/src/resolvable.rs | 2 |

## .rs files over 1000 lines

| file | lines | kind |
|---|---|---|
| aimux-ffi/src/lib.rs | 4729 | src |
| aimux-providers/src/anthropic/convert.rs | 3207 | src |
| aimux-core/src/recording.rs | 3067 | src |
| aimux-providers/tests/deepseek_chat_test.rs | 2562 | test |
| aimux-providers/tests/groq_test.rs | 2342 | test |
| aimux-providers/src/openai/responses/convert.rs | 2274 | src |
| aimux-providers/tests/open_responses_test.rs | 2235 | test |
| aimux-providers/tests/huggingface_responses_test.rs | 1959 | test |
| aimux-providers/src/google/convert.rs | 1893 | src |
| aimux-core/src/replay.rs | 1830 | src |
| aimux-providers/src/anthropic/stream.rs | 1785 | src |
| aimux-providers/src/openai/responses/responses_convert.rs | 1742 | src |
| aimux-providers/src/bedrock/convert.rs | 1699 | src |
| bindings/node/src/lib.rs | 1694 | src |
| aimux-providers/tests/data_loss_regression_test.rs | 1631 | test |
| aimux-core/src/generate.rs | 1490 | src |
| aimux-providers/src/open_responses.rs | 1424 | src |
| aimux-providers/tests/conformance_test.rs | 1400 | test |
| bindings/python/src/lib.rs | 1340 | src |
| aimux-providers/src/xai/responses/mod.rs | 1277 | src |
| aimux-ffi/tests/exports_smoke_test.rs | 1269 | test |
| aimux-providers/src/openai/convert.rs | 1262 | src |
| aimux-providers/src/vertex/model.rs | 1227 | src |
| aimux-providers/tests/bedrock_remaining_test.rs | 1215 | test |
| aimux-providers/tests/e2e_test.rs | 1185 | test |
| aimux-providers/src/elevenlabs.rs | 1184 | src |
| aimux-providers/src/huggingface/responses.rs | 1172 | src |
| aimux-providers/tests/bedrock_convert_test.rs | 1170 | test |
| aimux-providers/tests/openai_compatible_test.rs | 1152 | test |
| tools/aimux-codegen/src/extract.rs | 1134 | src |
| aimux-provider-utils/tests/streaming_tool_call_tracker_test.rs | 1105 | test |
| aimux-providers/src/vertex/auth.rs | 1090 | src |
| aimux-core/src/openai_output.rs | 1065 | src |
| aimux-providers/src/google/model.rs | 1045 | src |
| bindings/node/src/multimodal.rs | 1017 | src |
| aimux-providers/src/xai/responses/convert.rs | 1013 | src |
Loading
Loading