ummaya 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -3
- package/bin/ummaya +10 -1
- package/npm-shrinkwrap.json +253 -2
- package/package.json +5 -1
- package/prompts/manifest.yaml +2 -2
- package/prompts/session_guidance_v1.md +3 -1
- package/prompts/system_v1.md +9 -7
- package/pyproject.toml +26 -7
- package/specs/2803-document-production-hardening/contracts/document-tools.schema.json +1043 -0
- package/src/ummaya/_canonical/__init__.py +2 -0
- package/src/ummaya/context/builder.py +17 -11
- package/src/ummaya/engine/engine.py +30 -113
- package/src/ummaya/engine/query.py +20 -0
- package/src/ummaya/evidence/__init__.py +44 -0
- package/src/ummaya/evidence/__main__.py +7 -0
- package/src/ummaya/evidence/dataset_contract.py +193 -0
- package/src/ummaya/evidence/document_authoring_cases.py +33 -0
- package/src/ummaya/evidence/document_harness.py +313 -0
- package/src/ummaya/evidence/document_viewer_ux.py +391 -0
- package/src/ummaya/evidence/gates.py +70 -0
- package/src/ummaya/evidence/json_types.py +20 -0
- package/src/ummaya/evidence/models.py +145 -0
- package/src/ummaya/evidence/output_payload.py +89 -0
- package/src/ummaya/evidence/payload_documents.py +233 -0
- package/src/ummaya/evidence/route_contracts.py +224 -0
- package/src/ummaya/evidence/route_helpers.py +150 -0
- package/src/ummaya/evidence/runner.py +177 -0
- package/src/ummaya/evidence/source_provenance.py +246 -0
- package/src/ummaya/evidence/source_provenance_redaction.py +176 -0
- package/src/ummaya/evidence/task_registry.py +264 -0
- package/src/ummaya/evidence/tool_layer.py +39 -0
- package/src/ummaya/evidence/tool_layer_models.py +151 -0
- package/src/ummaya/ipc/adapter_manifest_emitter.py +26 -10
- package/src/ummaya/ipc/document_intent_normalization.py +185 -0
- package/src/ummaya/ipc/frame_schema.py +52 -5
- package/src/ummaya/ipc/route_diagnostics.py +73 -0
- package/src/ummaya/ipc/stdio.py +2282 -417
- package/src/ummaya/llm/client.py +234 -59
- package/src/ummaya/llm/config.py +8 -3
- package/src/ummaya/llm/reasoning.py +84 -0
- package/src/ummaya/primitives/__init__.py +6 -2
- package/src/ummaya/primitives/delegation.py +1 -1
- package/src/ummaya/primitives/document.py +28 -0
- package/src/ummaya/settings.py +0 -3
- package/src/ummaya/tools/discovery_bridge.py +34 -2
- package/src/ummaya/tools/documents/__init__.py +297 -0
- package/src/ummaya/tools/documents/adapter_registry.py +487 -0
- package/src/ummaya/tools/documents/archive_container_probe.py +167 -0
- package/src/ummaya/tools/documents/artifact_store.py +454 -0
- package/src/ummaya/tools/documents/authoring.py +283 -0
- package/src/ummaya/tools/documents/baselines.py +114 -0
- package/src/ummaya/tools/documents/capability.py +331 -0
- package/src/ummaya/tools/documents/contracts.py +112 -0
- package/src/ummaya/tools/documents/conversion.py +521 -0
- package/src/ummaya/tools/documents/diff.py +275 -0
- package/src/ummaya/tools/documents/engines.py +163 -0
- package/src/ummaya/tools/documents/evaluation.py +291 -0
- package/src/ummaya/tools/documents/explicit_values.py +108 -0
- package/src/ummaya/tools/documents/fixtures.py +174 -0
- package/src/ummaya/tools/documents/format_completion_audit.py +471 -0
- package/src/ummaya/tools/documents/formats/__init__.py +2 -0
- package/src/ummaya/tools/documents/formats/archive.py +528 -0
- package/src/ummaya/tools/documents/formats/base.py +41 -0
- package/src/ummaya/tools/documents/formats/code_file.py +211 -0
- package/src/ummaya/tools/documents/formats/data_file.py +272 -0
- package/src/ummaya/tools/documents/formats/hwp.py +284 -0
- package/src/ummaya/tools/documents/formats/hwpx.py +1837 -0
- package/src/ummaya/tools/documents/formats/odf.py +435 -0
- package/src/ummaya/tools/documents/formats/ooxml.py +1030 -0
- package/src/ummaya/tools/documents/formats/passive.py +766 -0
- package/src/ummaya/tools/documents/formats/pdf.py +702 -0
- package/src/ummaya/tools/documents/formats/text_web.py +268 -0
- package/src/ummaya/tools/documents/hwp_conversion_probe.py +178 -0
- package/src/ummaya/tools/documents/hwp_direct_candidate.py +141 -0
- package/src/ummaya/tools/documents/inspection.py +289 -0
- package/src/ummaya/tools/documents/intake.py +1079 -0
- package/src/ummaya/tools/documents/legacy_office_promotion_probe.py +366 -0
- package/src/ummaya/tools/documents/models.py +1598 -0
- package/src/ummaya/tools/documents/odf_promotion_probe.py +167 -0
- package/src/ummaya/tools/documents/orchestrator.py +96 -0
- package/src/ummaya/tools/documents/passive_capability_probe.py +251 -0
- package/src/ummaya/tools/documents/patch.py +170 -0
- package/src/ummaya/tools/documents/pdfa_conformance.py +284 -0
- package/src/ummaya/tools/documents/pdfa_promotion_probe.py +198 -0
- package/src/ummaya/tools/documents/permissions.py +110 -0
- package/src/ummaya/tools/documents/planner.py +616 -0
- package/src/ummaya/tools/documents/registry.py +2733 -0
- package/src/ummaya/tools/documents/render.py +978 -0
- package/src/ummaya/tools/documents/render_comparison.py +113 -0
- package/src/ummaya/tools/documents/render_comparison_models.py +74 -0
- package/src/ummaya/tools/documents/render_comparison_regions.py +73 -0
- package/src/ummaya/tools/documents/render_comparison_style.py +161 -0
- package/src/ummaya/tools/documents/reread.py +157 -0
- package/src/ummaya/tools/documents/runtime_authoring.py +244 -0
- package/src/ummaya/tools/documents/runtime_authoring_bundle.py +76 -0
- package/src/ummaya/tools/documents/scorecard.py +184 -0
- package/src/ummaya/tools/documents/socratic_planner.py +193 -0
- package/src/ummaya/tools/documents/style.py +48 -0
- package/src/ummaya/tools/documents/tool_defs.py +523 -0
- package/src/ummaya/tools/documents/validate.py +347 -0
- package/src/ummaya/tools/executor.py +61 -12
- package/src/ummaya/tools/geocoding/kakao_client.py +1 -2
- package/src/ummaya/tools/kma/apihub_catalog.py +984 -1
- package/src/ummaya/tools/kma/apihub_structured_adapter.py +86 -6
- package/src/ummaya/tools/kma/apihub_url_adapter.py +593 -0
- package/src/ummaya/tools/kma/apihub_url_catalog.py +296 -0
- package/src/ummaya/tools/live_proxy.py +0 -3
- package/src/ummaya/tools/location_adapters.py +8 -6
- package/src/ummaya/tools/manifest_metadata.py +16 -3
- package/src/ummaya/tools/models.py +5 -1
- package/src/ummaya/tools/mvp_surface.py +2 -2
- package/src/ummaya/tools/nmc/emergency_search.py +8 -6
- package/src/ummaya/tools/register_all.py +17 -0
- package/src/ummaya/tools/registry.py +10 -1
- package/src/ummaya/tools/resolve_location.py +4 -4
- package/src/ummaya/tools/routing/__init__.py +59 -0
- package/src/ummaya/tools/routing/builder.py +105 -0
- package/src/ummaya/tools/routing/cards.py +29 -0
- package/src/ummaya/tools/routing/decision_service.py +534 -0
- package/src/ummaya/tools/routing/decision_types.py +74 -0
- package/src/ummaya/tools/routing/feasibility.py +122 -0
- package/src/ummaya/tools/routing/intent.py +17 -0
- package/src/ummaya/tools/routing/intent_extractor.py +207 -0
- package/src/ummaya/tools/routing/intent_patterns.py +160 -0
- package/src/ummaya/tools/routing/intent_public_data.py +150 -0
- package/src/ummaya/tools/routing/intent_types.py +48 -0
- package/src/ummaya/tools/routing/lint.py +78 -0
- package/src/ummaya/tools/routing/metadata.py +174 -0
- package/src/ummaya/tools/routing/projection.py +340 -0
- package/src/ummaya/tools/routing/retrieval_policy.py +629 -0
- package/src/ummaya/tools/routing/schema.py +81 -0
- package/src/ummaya/tools/routing/types.py +96 -0
- package/src/ummaya/tools/routing_index.py +2 -2
- package/src/ummaya/tools/search.py +40 -106
- package/src/ummaya/tools/verified_data_go_kr/_manifest.py +115 -25
- package/src/ummaya/tools/verified_data_go_kr/airkorea_air_quality.py +109 -4
- package/src/ummaya/tools/verified_data_go_kr/nmc_aed_site.py +108 -2
- package/src/ummaya/tools/verified_data_go_kr/pps_bid_public_info.py +174 -9
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_arrival.py +66 -3
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_location.py +12 -2
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_route.py +8 -2
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_route_station.py +114 -0
- package/src/ummaya/tools/verified_data_go_kr/tago_bus_station.py +14 -3
- package/src/ummaya/tools/verify_canonical_map.py +21 -0
- package/tests/fixtures/documents/public_forms/baselines.yaml +113 -0
- package/tui/package.json +1 -2
- package/tui/src/.cc-byte-identical-whitelist.yaml +266 -0
- package/tui/src/QueryEngine.ts +12 -4
- package/tui/src/bridge/inboundAttachments.ts +3 -3
- package/tui/src/cli/handlers/auth.ts +4 -13
- package/tui/src/cli/handlers/mcp.tsx +3 -3
- package/tui/src/cli/print.ts +69 -18
- package/tui/src/cli/update.ts +13 -13
- package/tui/src/commands/copy/index.ts +1 -1
- package/tui/src/commands/cost/cost.ts +2 -2
- package/tui/src/commands/init-verifiers.ts +5 -5
- package/tui/src/commands/init.ts +30 -30
- package/tui/src/commands/insights.ts +44 -44
- package/tui/src/commands/install-github-app/install-github-app.tsx +2 -2
- package/tui/src/commands/install-github-app/setupGitHubActions.ts +3 -3
- package/tui/src/commands/install-github-app/types.ts +8 -30
- package/tui/src/commands/install.tsx +5 -5
- package/tui/src/commands/mcp/addCommand.ts +5 -5
- package/tui/src/commands/mcp/xaaIdpCommand.ts +2 -2
- package/tui/src/commands/plugin/ManageMarketplaces.tsx +2 -2
- package/tui/src/commands/plugin/types.ts +6 -28
- package/tui/src/commands/plugin/unifiedTypes.ts +4 -26
- package/tui/src/commands/reasoning/index.ts +13 -0
- package/tui/src/commands/reasoning/reasoning.tsx +177 -0
- package/tui/src/commands/rename/generateSessionName.ts +1 -1
- package/tui/src/commands/thinkback/thinkback.tsx +3 -3
- package/tui/src/commands.ts +2 -0
- package/tui/src/components/Feedback.tsx +1 -1
- package/tui/src/components/LogoV2/EmergencyTip.tsx +11 -2
- package/tui/src/components/LogoV2/WelcomeV2.tsx +1 -3
- package/tui/src/components/Messages.tsx +2 -1
- package/tui/src/components/ScrollKeybindingHandler.tsx +6 -6
- package/tui/src/components/Spinner/types.ts +6 -28
- package/tui/src/components/Spinner.tsx +2 -2
- package/tui/src/components/agents/generateAgent.ts +1 -1
- package/tui/src/components/agents/new-agent-creation/types.ts +4 -26
- package/tui/src/components/config/EnvSecretIsolatedEditor.tsx +1 -1
- package/tui/src/components/design-system/LoadingState.tsx +2 -2
- package/tui/src/components/mcp/types.ts +16 -38
- package/tui/src/components/messages/AssistantToolUseMessage.tsx +3 -2
- package/tui/src/components/messages/UserCrossSessionMessage.ts +16 -4
- package/tui/src/components/messages/UserForkBoilerplateMessage.ts +16 -4
- package/tui/src/components/messages/UserGitHubWebhookMessage.ts +16 -4
- package/tui/src/components/messages/UserToolResultMessage/utils.tsx +3 -2
- package/tui/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts +9 -4
- package/tui/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts +9 -4
- package/tui/src/components/primitive/DocumentSocraticReviewBlock.tsx +129 -0
- package/tui/src/components/primitive/DocumentToolResultCard.tsx +224 -0
- package/tui/src/components/primitive/documentSocraticReview.ts +215 -0
- package/tui/src/components/primitive/index.tsx +43 -1
- package/tui/src/components/primitive/types.ts +137 -0
- package/tui/src/components/ui/option.ts +4 -26
- package/tui/src/constants/common.ts +0 -2
- package/tui/src/constants/prompts.ts +4 -3
- package/tui/src/constants/querySource.ts +4 -26
- package/tui/src/entrypoints/sdk/controlTypes.ts +26 -48
- package/tui/src/entrypoints/sdk/coreTypes.generated.ts +3 -25
- package/tui/src/entrypoints/sdk/runtimeTypes.ts +38 -60
- package/tui/src/entrypoints/sdk/sdkUtilityTypes.ts +4 -26
- package/tui/src/entrypoints/sdk/settingsTypes.generated.ts +3 -25
- package/tui/src/entrypoints/sdk/toolTypes.ts +3 -25
- package/tui/src/hooks/toolPermission/handlers/interactiveHandler.ts +10 -0
- package/tui/src/hooks/useApiKeyVerification.ts +1 -1
- package/tui/src/hooks/useVirtualScroll.ts +1 -1
- package/tui/src/ink/ink.tsx +33 -14
- package/tui/src/ink/reconciler.ts +2 -3
- package/tui/src/ink/render-to-screen.ts +30 -10
- package/tui/src/ipc/bridge.ts +62 -15
- package/tui/src/ipc/bridgeSingleton.ts +5 -1
- package/tui/src/ipc/codec.ts +29 -3
- package/tui/src/ipc/frames.generated.ts +407 -312
- package/tui/src/ipc/llmClient.ts +279 -76
- package/tui/src/ipc/llmTypes.ts +16 -1
- package/tui/src/ipc/schema/frame.schema.json +1 -3475
- package/tui/src/keybindings/defaultBindings.ts +4 -0
- package/tui/src/main.tsx +32 -11
- package/tui/src/native-ts/file-index/index.ts +33 -3
- package/tui/src/observability/surface.ts +2 -2
- package/tui/src/probes/toolRegistryProbe.tsx +3 -1
- package/tui/src/projectOnboardingState.ts +7 -6
- package/tui/src/query/chatMessageTypes.ts +18 -0
- package/tui/src/query/chatMessagesBuilder.ts +1 -1
- package/tui/src/query/deps.ts +1 -1
- package/tui/src/query/messageGuards.ts +106 -0
- package/tui/src/query/publicDataTerminalRepair.ts +384 -0
- package/tui/src/query/run.ts +1075 -0
- package/tui/src/query/supportBoundary.ts +168 -0
- package/tui/src/query/toolResultErrors.ts +103 -0
- package/tui/src/query/toolRunner.ts +687 -0
- package/tui/src/query/unavailableToolRepair.ts +118 -0
- package/tui/src/query.ts +9 -1721
- package/tui/src/screens/REPL.tsx +42 -31
- package/tui/src/services/api/adapterManifest.ts +4 -0
- package/tui/src/services/api/backendChat/events.ts +117 -0
- package/tui/src/services/api/backendChat/finalMessage.ts +40 -0
- package/tui/src/services/api/backendChat/frame.ts +9 -0
- package/tui/src/services/api/backendChat/streaming.ts +430 -0
- package/tui/src/services/api/backendChat/types.ts +62 -0
- package/tui/src/services/api/backendChat.ts +1 -0
- package/tui/src/services/api/client.ts +98 -14
- package/tui/src/services/api/errorUtils.ts +5 -5
- package/tui/src/services/api/errors.ts +1 -1
- package/tui/src/services/api/logging.ts +1 -1
- package/tui/src/services/api/ummaya/evidence.ts +194 -0
- package/tui/src/services/api/ummaya/messages.ts +255 -0
- package/tui/src/services/api/ummaya/nonStreaming.ts +66 -0
- package/tui/src/services/api/ummaya/provider.ts +200 -0
- package/tui/src/services/api/ummaya/reasoning.ts +24 -0
- package/tui/src/services/api/ummaya/request.ts +200 -0
- package/tui/src/services/api/ummaya/selectionContext.ts +240 -0
- package/tui/src/services/api/ummaya/streaming.ts +365 -0
- package/tui/src/services/api/ummaya/streamingPayload.ts +129 -0
- package/tui/src/services/api/ummaya/streamingReader.ts +40 -0
- package/tui/src/services/api/ummaya/toolSelection.ts +217 -0
- package/tui/src/services/api/ummaya/types.ts +110 -0
- package/tui/src/services/api/ummaya/usage.ts +30 -0
- package/tui/src/services/api/ummaya.ts +26 -364
- package/tui/src/services/api/withRetry.ts +1 -1
- package/tui/src/services/awaySummary.ts +2 -2
- package/tui/src/services/claudeAiLimits.ts +1 -1
- package/tui/src/services/compact/autoCompact.ts +1 -1
- package/tui/src/services/compact/compact.ts +1 -1
- package/tui/src/services/lsp/types.ts +8 -30
- package/tui/src/services/tips/types.ts +6 -28
- package/tui/src/services/tokenEstimation.ts +1 -1
- package/tui/src/services/toolRegistry/bootGuard.ts +5 -5
- package/tui/src/services/toolUseSummary/toolUseSummaryGenerator.ts +1 -1
- package/tui/src/services/tools/toolExecution.ts +94 -1
- package/tui/src/skills/bundled/stuck.ts +12 -12
- package/tui/src/state/AppStateStore.ts +7 -0
- package/tui/src/store/pendingPermissionSlot.ts +1 -1
- package/tui/src/store/session-store.ts +10 -36
- package/tui/src/stubs/any-stub.ts +15 -10
- package/tui/src/stubs/color-diff-napi.ts +37 -23
- package/tui/src/stubs/globals.d.ts +3 -3
- package/tui/src/stubs/macro-preload.ts +23 -12
- package/tui/src/tools/AdapterTool/AdapterTool.ts +1239 -163
- package/tui/src/tools/AdapterTool/routeDiagnostics.ts +75 -0
- package/tui/src/tools/AgentTool/AgentTool.tsx +84 -1371
- package/tui/src/tools/AgentTool/agentToolHandoff.ts +114 -0
- package/tui/src/tools/AgentTool/agentToolPartialResult.ts +16 -0
- package/tui/src/tools/AgentTool/agentToolProgress.ts +32 -0
- package/tui/src/tools/AgentTool/agentToolResolver.ts +161 -0
- package/tui/src/tools/AgentTool/agentToolResult.ts +163 -0
- package/tui/src/tools/AgentTool/agentToolUtils.ts +14 -686
- package/tui/src/tools/AgentTool/asyncAgentLifecycle.ts +208 -0
- package/tui/src/tools/AgentTool/asyncLifecycle.ts +153 -0
- package/tui/src/tools/AgentTool/backgroundedCompletion.ts +126 -0
- package/tui/src/tools/AgentTool/backgroundedLifecycle.ts +174 -0
- package/tui/src/tools/AgentTool/foregroundBackground.ts +83 -0
- package/tui/src/tools/AgentTool/foregroundDrain.tsx +133 -0
- package/tui/src/tools/AgentTool/foregroundFinalize.ts +98 -0
- package/tui/src/tools/AgentTool/foregroundLifecycle.tsx +237 -0
- package/tui/src/tools/AgentTool/foregroundProgress.tsx +169 -0
- package/tui/src/tools/AgentTool/foregroundTask.ts +89 -0
- package/tui/src/tools/AgentTool/forkSubagent.ts +1 -12
- package/tui/src/tools/AgentTool/forkSubagentGate.ts +34 -0
- package/tui/src/tools/AgentTool/launchRouting.ts +203 -0
- package/tui/src/tools/AgentTool/lifecycle.ts +244 -0
- package/tui/src/tools/AgentTool/mcpRouting.ts +73 -0
- package/tui/src/tools/AgentTool/orchestrationSupport.ts +70 -0
- package/tui/src/tools/AgentTool/permissions.ts +39 -0
- package/tui/src/tools/AgentTool/promptSetup.ts +181 -0
- package/tui/src/tools/AgentTool/remoteRouting.ts +62 -0
- package/tui/src/tools/AgentTool/resultMapping.ts +116 -0
- package/tui/src/tools/AgentTool/resumeAgent.ts +39 -107
- package/tui/src/tools/AgentTool/resumeAgentHelpers.ts +140 -0
- package/tui/src/tools/AgentTool/runAgent.ts +1 -1
- package/tui/src/tools/AgentTool/runtimeConfig.ts +57 -0
- package/tui/src/tools/AgentTool/schemas.ts +196 -0
- package/tui/src/tools/AgentTool/sourceVerificationPropagation.ts +263 -0
- package/tui/src/tools/AgentTool/worktreeLifecycle.ts +105 -0
- package/tui/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +174 -202
- package/tui/src/tools/BashTool/BashTool.tsx +71 -1072
- package/tui/src/tools/BashTool/bashCommandHelpers.ts +12 -12
- package/tui/src/tools/BashTool/bashPermissions/astPreflight.ts +173 -0
- package/tui/src/tools/BashTool/bashPermissions/classifierChecks.ts +199 -0
- package/tui/src/tools/BashTool/bashPermissions/compoundGuards.ts +53 -0
- package/tui/src/tools/BashTool/bashPermissions/constants.ts +99 -0
- package/tui/src/tools/BashTool/bashPermissions/index.ts +38 -0
- package/tui/src/tools/BashTool/bashPermissions/legacyMisparsing.ts +62 -0
- package/tui/src/tools/BashTool/bashPermissions/main.ts +135 -0
- package/tui/src/tools/BashTool/bashPermissions/normalizedCommands.ts +33 -0
- package/tui/src/tools/BashTool/bashPermissions/operatorFlow.ts +98 -0
- package/tui/src/tools/BashTool/bashPermissions/permissionChecks.ts +200 -0
- package/tui/src/tools/BashTool/bashPermissions/prefixSuggestions.ts +88 -0
- package/tui/src/tools/BashTool/bashPermissions/promptClassifierRules.ts +125 -0
- package/tui/src/tools/BashTool/bashPermissions/ruleDelegates.ts +19 -0
- package/tui/src/tools/BashTool/bashPermissions/ruleMatching.ts +145 -0
- package/tui/src/tools/BashTool/bashPermissions/sandboxAutoAllow.ts +75 -0
- package/tui/src/tools/BashTool/bashPermissions/subcommandFlow.ts +205 -0
- package/tui/src/tools/BashTool/bashPermissions/subcommandGuards.ts +73 -0
- package/tui/src/tools/BashTool/bashPermissions/subcommandResultHelpers.ts +116 -0
- package/tui/src/tools/BashTool/bashPermissions/types.ts +26 -0
- package/tui/src/tools/BashTool/bashPermissions/wrapperStripping.ts +139 -0
- package/tui/src/tools/BashTool/bashPermissions.ts +26 -2621
- package/tui/src/tools/BashTool/call.ts +202 -0
- package/tui/src/tools/BashTool/callLoader.ts +35 -0
- package/tui/src/tools/BashTool/commandClassification.ts +151 -0
- package/tui/src/tools/BashTool/commandClassificationLoader.ts +40 -0
- package/tui/src/tools/BashTool/cwdReset.ts +33 -0
- package/tui/src/tools/BashTool/lineTruncation.ts +11 -0
- package/tui/src/tools/BashTool/modeValidation.ts +13 -1
- package/tui/src/tools/BashTool/outputPersistence.ts +42 -0
- package/tui/src/tools/BashTool/permissionClassification.ts +66 -0
- package/tui/src/tools/BashTool/permissionLoader.ts +44 -0
- package/tui/src/tools/BashTool/resultLoader.ts +29 -0
- package/tui/src/tools/BashTool/resultMapping.ts +83 -0
- package/tui/src/tools/BashTool/sandboxPolicy.ts +79 -0
- package/tui/src/tools/BashTool/schemas.ts +65 -0
- package/tui/src/tools/BashTool/sedEditExecution.ts +59 -0
- package/tui/src/tools/BashTool/shellExecution.tsx +245 -0
- package/tui/src/tools/BashTool/shellOutputUtils.ts +85 -0
- package/tui/src/tools/BashTool/shellPermissionGauntlet.ts +97 -0
- package/tui/src/tools/BashTool/uiLoader.ts +37 -0
- package/tui/src/tools/BriefTool/upload.ts +1 -1
- package/tui/src/tools/CalculatorTool/parser.ts +2 -2
- package/tui/src/tools/DocumentPrimitive/DocumentPrimitive.ts +262 -0
- package/tui/src/tools/DocumentPrimitive/dispatchNormalization.ts +270 -0
- package/tui/src/tools/DocumentPrimitive/documentDestinationPath.ts +18 -0
- package/tui/src/tools/DocumentPrimitive/documentMutationGuard.ts +22 -0
- package/tui/src/tools/DocumentPrimitive/documentPatchNormalization.ts +248 -0
- package/tui/src/tools/DocumentPrimitive/documentSourceVerification.ts +245 -0
- package/tui/src/tools/DocumentPrimitive/documentSourceVerificationFields.ts +103 -0
- package/tui/src/tools/DocumentPrimitive/modelVisibleOutput.ts +40 -0
- package/tui/src/tools/DocumentPrimitive/prompt.ts +35 -0
- package/tui/src/tools/FileEditTool/FileEditTool.ts +9 -507
- package/tui/src/tools/FileEditTool/call.ts +228 -0
- package/tui/src/tools/FileEditTool/validateInput.ts +196 -0
- package/tui/src/tools/FileReadTool/imageProcessor.ts +13 -0
- package/tui/src/tools/FileWriteTool/FileWriteTool.ts +7 -300
- package/tui/src/tools/FileWriteTool/call.ts +223 -0
- package/tui/src/tools/FileWriteTool/validateInput.ts +80 -0
- package/tui/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +19 -3
- package/tui/src/tools/LookupPrimitive/LookupPrimitive.ts +48 -29
- package/tui/src/tools/LookupPrimitive/prompt.ts +6 -7
- package/tui/src/tools/MCPTool/trustPolicy.ts +118 -0
- package/tui/src/tools/McpAuthTool/McpAuthTool.ts +21 -3
- package/tui/src/tools/NotebookEditTool/NotebookEditTool.ts +7 -326
- package/tui/src/tools/NotebookEditTool/call.ts +254 -0
- package/tui/src/tools/NotebookEditTool/notebookModel.ts +51 -0
- package/tui/src/tools/NotebookEditTool/validateInput.ts +142 -0
- package/tui/src/tools/PowerShellTool/PowerShellTool.tsx +46 -937
- package/tui/src/tools/PowerShellTool/acceptEditsCommandValidation.ts +162 -0
- package/tui/src/tools/PowerShellTool/call.ts +179 -0
- package/tui/src/tools/PowerShellTool/callLoader.ts +37 -0
- package/tui/src/tools/PowerShellTool/commandClassification.ts +86 -0
- package/tui/src/tools/PowerShellTool/modeValidation.ts +25 -332
- package/tui/src/tools/PowerShellTool/outputPersistence.ts +42 -0
- package/tui/src/tools/PowerShellTool/permissionClassification.ts +28 -0
- package/tui/src/tools/PowerShellTool/resultLoader.ts +31 -0
- package/tui/src/tools/PowerShellTool/resultMapping.ts +75 -0
- package/tui/src/tools/PowerShellTool/schemas.ts +40 -0
- package/tui/src/tools/PowerShellTool/shellExecution.tsx +258 -0
- package/tui/src/tools/PowerShellTool/symlinkModeValidation.ts +44 -0
- package/tui/src/tools/PowerShellTool/uiLoader.ts +37 -0
- package/tui/src/tools/PowerShellTool/validation.ts +39 -0
- package/tui/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +19 -3
- package/tui/src/tools/ResolveLocationPrimitive/ResolveLocationPrimitive.ts +30 -19
- package/tui/src/tools/ResolveLocationPrimitive/prompt.ts +2 -6
- package/tui/src/tools/SkillTool/SkillTool.ts +2 -2
- package/tui/src/tools/SubmitPrimitive/SubmitPrimitive.ts +51 -18
- package/tui/src/tools/TaskCreateTool/TaskCreateTool.ts +16 -2
- package/tui/src/tools/TaskGetTool/TaskGetTool.ts +23 -3
- package/tui/src/tools/TaskListTool/TaskListTool.ts +22 -4
- package/tui/src/tools/TaskOutputTool/TaskOutputTool.tsx +46 -547
- package/tui/src/tools/TaskOutputTool/lookup.ts +216 -0
- package/tui/src/tools/TaskOutputTool/render.tsx +257 -0
- package/tui/src/tools/TaskOutputTool/schemas.ts +55 -0
- package/tui/src/tools/TaskOutputTool/serialization.ts +36 -0
- package/tui/src/tools/TaskStopTool/TaskStopTool.ts +10 -0
- package/tui/src/tools/TaskUpdateTool/TaskUpdateTool.ts +14 -364
- package/tui/src/tools/TaskUpdateTool/completion.ts +62 -0
- package/tui/src/tools/TaskUpdateTool/schemas.ts +62 -0
- package/tui/src/tools/TaskUpdateTool/serialization.ts +46 -0
- package/tui/src/tools/TaskUpdateTool/statusUpdate.ts +247 -0
- package/tui/src/tools/TodoWriteTool/TodoWriteTool.ts +21 -2
- package/tui/src/tools/ToolSearchTool/ToolSearchTool.ts +21 -302
- package/tui/src/tools/ToolSearchTool/ccSupportTools.ts +223 -0
- package/tui/src/tools/ToolSearchTool/descriptionCache.ts +50 -0
- package/tui/src/tools/ToolSearchTool/keywordSearch.ts +216 -0
- package/tui/src/tools/ToolSearchTool/prompt.ts +10 -4
- package/tui/src/tools/ToolSearchTool/resultMapping.ts +30 -0
- package/tui/src/tools/ToolSearchTool/schemas.ts +30 -0
- package/tui/src/tools/ToolSearchTool/searchPool.ts +47 -0
- package/tui/src/tools/ToolSearchTool/supportIntentHints.ts +140 -0
- package/tui/src/tools/TranslateTool/TranslateTool.ts +1 -1
- package/tui/src/tools/VerifyPrimitive/VerifyPrimitive.ts +27 -10
- package/tui/src/tools/WebFetchTool/WebFetchTool.ts +43 -138
- package/tui/src/tools/WebFetchTool/call.ts +227 -0
- package/tui/src/tools/WebFetchTool/resolvedAddressSafety.ts +78 -0
- package/tui/src/tools/WebFetchTool/sourceVerification.ts +204 -0
- package/tui/src/tools/WebFetchTool/types.ts +23 -0
- package/tui/src/tools/WebFetchTool/urlSafety.ts +181 -0
- package/tui/src/tools/WebFetchTool/utils.ts +1 -1
- package/tui/src/tools/WebSearchTool/UI.tsx +0 -1
- package/tui/src/tools/WebSearchTool/WebSearchTool.ts +9 -313
- package/tui/src/tools/WebSearchTool/call.ts +33 -0
- package/tui/src/tools/WebSearchTool/responseMapping.ts +190 -0
- package/tui/src/tools/WebSearchTool/resultBlock.ts +47 -0
- package/tui/src/tools/WebSearchTool/schemas.ts +47 -0
- package/tui/src/tools/WebSearchTool/toolSchema.ts +12 -0
- package/tui/src/tools/WorkspaceToolAdapter/WorkspaceToolAdapter.ts +79 -0
- package/tui/src/tools/WorkspaceToolAdapter/allowedRootPolicy.ts +85 -0
- package/tui/src/tools/WorkspaceToolAdapter/documentFormatGuards.ts +73 -0
- package/tui/src/tools/WorkspaceToolAdapter/inputNormalization.ts +105 -0
- package/tui/src/tools/WorkspaceToolAdapter/mcpExposurePolicy.ts +64 -0
- package/tui/src/tools/WorkspaceToolAdapter/toolDefFactory.ts +215 -0
- package/tui/src/tools/WorkspaceToolAdapter/toolNames.ts +6 -0
- package/tui/src/tools/WorkspaceToolAdapter/workspacePolicy.ts +15 -0
- package/tui/src/tools/_shared/citizenUserText.ts +49 -0
- package/tui/src/tools/_shared/dispatchPrimitive.ts +6 -6
- package/tui/src/tools/_shared/documentChangeToPatch.ts +125 -0
- package/tui/src/tools/_shared/documentDispatchArguments.ts +87 -0
- package/tui/src/tools/_shared/documentPrimitiveTimeout.ts +13 -0
- package/tui/src/tools/_shared/documentToolResultRender.ts +98 -0
- package/tui/src/tools/_shared/locationInputRepair.ts +112 -0
- package/tui/src/tools/_shared/pendingCallRegistry.ts +1 -6
- package/tui/src/tools/_shared/rootPrimitiveInput.ts +68 -0
- package/tui/src/tools/_shared/toolChoiceRepair/documentCompletionPatterns.ts +58 -0
- package/tui/src/tools/_shared/toolChoiceRepair/documentCompletionPrompt.ts +271 -0
- package/tui/src/tools/_shared/toolChoiceRepair/documentRepair.ts +452 -0
- package/tui/src/tools/_shared/toolChoiceRepair/messageAccess.ts +80 -0
- package/tui/src/tools/_shared/toolChoiceRepair/publicDataRepair.ts +92 -0
- package/tui/src/tools/_shared/toolChoiceRepair/supportRepair.ts +135 -0
- package/tui/src/tools/_shared/toolChoiceRepair.ts +61 -0
- package/tui/src/tools/shared/mockDisclaimer.ts +1 -1
- package/tui/src/tools.ts +39 -190
- package/tui/src/types/fileSuggestion.ts +4 -26
- package/tui/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +186 -148
- package/tui/src/types/generated/events_mono/common/v1/auth.ts +25 -11
- package/tui/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +47 -30
- package/tui/src/types/generated/google/protobuf/timestamp.ts +21 -7
- package/tui/src/types/message.ts +80 -102
- package/tui/src/types/messageQueueTypes.ts +6 -28
- package/tui/src/types/notebook.ts +16 -38
- package/tui/src/types/statusLine.ts +4 -26
- package/tui/src/types/tools.ts +24 -46
- package/tui/src/types/utils.ts +6 -28
- package/tui/src/upstreamproxy/relay.ts +7 -3
- package/tui/src/upstreamproxy/upstreamproxy.ts +1 -1
- package/tui/src/utils/assistantMessageFactories.ts +9 -3
- package/tui/src/utils/attachments.ts +1 -1
- package/tui/src/utils/auth.ts +129 -139
- package/tui/src/utils/bash/ast.ts +23 -23
- package/tui/src/utils/bash/bashParser.ts +5 -5
- package/tui/src/utils/billing.ts +1 -1
- package/tui/src/utils/collapseReadSearch.ts +3 -3
- package/tui/src/utils/cronTasks.ts +1 -1
- package/tui/src/utils/execFileNoThrow.ts +1 -1
- package/tui/src/utils/filePersistence/types.ts +16 -38
- package/tui/src/utils/forkedAgent.ts +1 -1
- package/tui/src/utils/gracefulShutdown.ts +4 -4
- package/tui/src/utils/heapDumpService.ts +12 -8
- package/tui/src/utils/hooks/apiQueryHookHelper.ts +1 -1
- package/tui/src/utils/hooks/execPromptHook.ts +1 -1
- package/tui/src/utils/hooks/skillImprovement.ts +1 -1
- package/tui/src/utils/kExaoneReasoning.ts +138 -0
- package/tui/src/utils/mcp/dateTimeParser.ts +1 -1
- package/tui/src/utils/messages.ts +19 -0
- package/tui/src/utils/migrateSessions.ts +3 -3
- package/tui/src/utils/model/model.ts +6 -6
- package/tui/src/utils/multiToolLayout.ts +13 -0
- package/tui/src/utils/permissions/yoloClassifier.ts +1 -1
- package/tui/src/utils/plugins/headlessPluginInstall.ts +1 -1
- package/tui/src/utils/plugins/mcpPluginIntegration.ts +1 -1
- package/tui/src/utils/plugins/mcpbHandler.ts +1 -1
- package/tui/src/utils/plugins/pluginLoader.ts +8 -8
- package/tui/src/utils/processUserInput/processSlashCommand.tsx +2 -2
- package/tui/src/utils/processUserInput/processUserInput.ts +26 -0
- package/tui/src/utils/protectedNamespace.ts +5 -3
- package/tui/src/utils/rawJsonToolCall.ts +242 -0
- package/tui/src/utils/ripgrep.ts +16 -7
- package/tui/src/utils/sessionTitle.ts +1 -1
- package/tui/src/utils/settings/applySettingsChange.ts +4 -0
- package/tui/src/utils/settings/permissionValidation.ts +14 -2
- package/tui/src/utils/settings/types.ts +9 -3
- package/tui/src/utils/shell/prefix.ts +1 -1
- package/tui/src/utils/sideQuery.ts +1 -1
- package/tui/src/utils/stats.ts +1 -1
- package/tui/src/utils/systemThemeWatcher.ts +13 -3
- package/tui/src/utils/teleport.tsx +1 -1
- package/uv.lock +394 -22
- package/assets/copilot-gate-logo.svg +0 -58
- package/assets/govon-logo.svg +0 -40
- package/src/ummaya/eval/__init__.py +0 -5
- package/src/ummaya/eval/retrieval.py +0 -713
- package/tui/src/services/api/claude.ts +0 -3510
- package/tui/src/utils/messageStream.ts +0 -186
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
"""TAGO bus route-station search adapter."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
from typing import cast
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ummaya.tools.executor import ToolExecutor
|
|
11
|
+
from ummaya.tools.models import GovAPITool
|
|
12
|
+
from ummaya.tools.registry import ToolRegistry
|
|
13
|
+
from ummaya.tools.verified_data_go_kr._factory import (
|
|
14
|
+
build_tool,
|
|
15
|
+
handle_verified_input,
|
|
16
|
+
register_module,
|
|
17
|
+
)
|
|
18
|
+
from ummaya.tools.verified_data_go_kr._manifest import require_spec
|
|
19
|
+
|
|
20
|
+
_TAGO_CITY_CODE_DESCRIPTION = (
|
|
21
|
+
"Official TAGO cityCode from the provider getCtyCodeList contract. "
|
|
22
|
+
"Common metropolitan examples: Busan=21, Daegu=22, Incheon=23, "
|
|
23
|
+
"Gwangju=24, Daejeon=25, Ulsan=26."
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class TagoBusRouteStationInput(BaseModel):
|
|
28
|
+
"""Input for TAGO route-station search."""
|
|
29
|
+
|
|
30
|
+
model_config = ConfigDict(extra="forbid")
|
|
31
|
+
|
|
32
|
+
city_code: str = Field(..., min_length=1, description=_TAGO_CITY_CODE_DESCRIPTION)
|
|
33
|
+
route_id: str = Field(
|
|
34
|
+
...,
|
|
35
|
+
min_length=1,
|
|
36
|
+
description="Official TAGO routeId returned by tago_bus_route_search.",
|
|
37
|
+
)
|
|
38
|
+
node_nm: str | None = Field(
|
|
39
|
+
default=None,
|
|
40
|
+
min_length=1,
|
|
41
|
+
description=(
|
|
42
|
+
"Optional client-side filter against the official TAGO response field nodenm. "
|
|
43
|
+
"Use it to narrow a route's passing stops to a citizen-named place such as 부산역."
|
|
44
|
+
),
|
|
45
|
+
)
|
|
46
|
+
updown_cd: str | None = Field(
|
|
47
|
+
default=None,
|
|
48
|
+
min_length=1,
|
|
49
|
+
description=(
|
|
50
|
+
"Optional client-side filter against the official TAGO response field updowncd "
|
|
51
|
+
"when a direction is already known."
|
|
52
|
+
),
|
|
53
|
+
)
|
|
54
|
+
page_no: int = Field(default=1, ge=1, description="Page number.")
|
|
55
|
+
num_of_rows: int = Field(default=100, ge=1, le=100, description="Rows per page.")
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
SPEC = require_spec("tago_bus_route_station_search")
|
|
59
|
+
INPUT_SCHEMA = TagoBusRouteStationInput
|
|
60
|
+
TOOL: GovAPITool = build_tool(SPEC, INPUT_SCHEMA)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
async def handle(
|
|
64
|
+
input_model: TagoBusRouteStationInput,
|
|
65
|
+
*,
|
|
66
|
+
fixture_body: bytes | None = None,
|
|
67
|
+
) -> dict[str, object]:
|
|
68
|
+
"""Fetch or replay TAGO route-station rows."""
|
|
69
|
+
|
|
70
|
+
output = await handle_verified_input(input_model, SPEC, fixture_body=fixture_body)
|
|
71
|
+
if input_model.node_nm is None and input_model.updown_cd is None:
|
|
72
|
+
return output
|
|
73
|
+
return _filter_route_stations(
|
|
74
|
+
output,
|
|
75
|
+
node_nm=input_model.node_nm,
|
|
76
|
+
updown_cd=input_model.updown_cd,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def _filter_route_stations(
|
|
81
|
+
output: dict[str, object],
|
|
82
|
+
*,
|
|
83
|
+
node_nm: str | None,
|
|
84
|
+
updown_cd: str | None,
|
|
85
|
+
) -> dict[str, object]:
|
|
86
|
+
items = output.get("items")
|
|
87
|
+
if not isinstance(items, list):
|
|
88
|
+
return output
|
|
89
|
+
|
|
90
|
+
filtered: list[dict[str, object]] = []
|
|
91
|
+
for item in items:
|
|
92
|
+
if not isinstance(item, dict):
|
|
93
|
+
continue
|
|
94
|
+
record = item.get("record")
|
|
95
|
+
if not isinstance(record, dict):
|
|
96
|
+
continue
|
|
97
|
+
typed_record = cast(dict[str, object], record)
|
|
98
|
+
if node_nm is not None and node_nm not in str(typed_record.get("nodenm", "")):
|
|
99
|
+
continue
|
|
100
|
+
if updown_cd is not None and str(typed_record.get("updowncd", "")) != updown_cd:
|
|
101
|
+
continue
|
|
102
|
+
filtered.append(cast(dict[str, object], item))
|
|
103
|
+
|
|
104
|
+
filtered_output = dict(output)
|
|
105
|
+
filtered_output["items"] = filtered
|
|
106
|
+
filtered_output["total_count"] = len(filtered)
|
|
107
|
+
filtered_output["next_cursor"] = None
|
|
108
|
+
return filtered_output
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def register(registry: ToolRegistry, executor: ToolExecutor) -> None:
|
|
112
|
+
"""Register this adapter."""
|
|
113
|
+
|
|
114
|
+
register_module(registry, executor, tool=TOOL, input_schema=INPUT_SCHEMA, handler=handle)
|
|
@@ -15,15 +15,26 @@ from ummaya.tools.verified_data_go_kr._factory import (
|
|
|
15
15
|
)
|
|
16
16
|
from ummaya.tools.verified_data_go_kr._manifest import require_spec
|
|
17
17
|
|
|
18
|
+
_TAGO_CITY_CODE_DESCRIPTION = (
|
|
19
|
+
"Official TAGO cityCode from the provider getCtyCodeList contract. "
|
|
20
|
+
"Common metropolitan examples: Busan=21, Daegu=22, Incheon=23, "
|
|
21
|
+
"Gwangju=24, Daejeon=25, Ulsan=26."
|
|
22
|
+
)
|
|
23
|
+
|
|
18
24
|
|
|
19
25
|
class TagoBusStationInput(BaseModel):
|
|
20
26
|
"""Input for TAGO bus station search."""
|
|
21
27
|
|
|
22
28
|
model_config = ConfigDict(extra="forbid")
|
|
23
29
|
|
|
24
|
-
city_code: str = Field(..., min_length=1, description=
|
|
25
|
-
node_nm: str | None = Field(
|
|
26
|
-
|
|
30
|
+
city_code: str = Field(..., min_length=1, description=_TAGO_CITY_CODE_DESCRIPTION)
|
|
31
|
+
node_nm: str | None = Field(
|
|
32
|
+
default=None,
|
|
33
|
+
description=(
|
|
34
|
+
"Bus stop name fragment, for example 부산역 when the citizen asks near Busan Station."
|
|
35
|
+
),
|
|
36
|
+
)
|
|
37
|
+
node_no: str | None = Field(default=None, description="Bus stop number printed at the stop.")
|
|
27
38
|
page_no: int = Field(default=1, ge=1, description="Page number.")
|
|
28
39
|
num_of_rows: int = Field(default=10, ge=1, le=100, description="Rows per page.")
|
|
29
40
|
|
|
@@ -11,6 +11,11 @@ Public API
|
|
|
11
11
|
Return the ``family_hint`` string for the given check tool_id, or ``None``
|
|
12
12
|
if the tool_id is not recognised.
|
|
13
13
|
|
|
14
|
+
``resolve_tool_id(identifier)`` → ``str | None``
|
|
15
|
+
Return the canonical ``mock_verify_*`` tool_id when *identifier* is either a
|
|
16
|
+
canonical check tool_id or an internal family_hint alias such as
|
|
17
|
+
``mobile_id`` / ``simple_auth_module``.
|
|
18
|
+
|
|
14
19
|
``get_canonical_map()`` → ``Mapping[str, str]``
|
|
15
20
|
Return the full frozen ``{tool_id: family_hint}`` mapping.
|
|
16
21
|
|
|
@@ -99,6 +104,22 @@ def resolve_family(tool_id: str) -> str | None:
|
|
|
99
104
|
return _load_map().get(tool_id)
|
|
100
105
|
|
|
101
106
|
|
|
107
|
+
def resolve_tool_id(identifier: str) -> str | None:
|
|
108
|
+
"""Return the canonical check tool_id for *identifier*.
|
|
109
|
+
|
|
110
|
+
This is the runtime guard for model-facing alias drift. The manifest can
|
|
111
|
+
include internal verify-family entries for backward compatibility, but
|
|
112
|
+
adapter dispatch is owned by canonical ``mock_verify_*`` tool ids.
|
|
113
|
+
"""
|
|
114
|
+
mapping = _load_map()
|
|
115
|
+
if identifier in mapping:
|
|
116
|
+
return identifier
|
|
117
|
+
for tool_id, family in mapping.items():
|
|
118
|
+
if family == identifier:
|
|
119
|
+
return tool_id
|
|
120
|
+
return None
|
|
121
|
+
|
|
122
|
+
|
|
102
123
|
def get_canonical_map() -> Mapping[str, str]:
|
|
103
124
|
"""Return the full ``{tool_id: family_hint}`` frozen mapping (read-only)."""
|
|
104
125
|
return _load_map()
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
catalog_id: public-form-conformance-baselines-v1
|
|
3
|
+
source_policy: offline_fixtures_only
|
|
4
|
+
live_network_allowed: false
|
|
5
|
+
baselines:
|
|
6
|
+
- template_id: birth-benefit-application-hwpx
|
|
7
|
+
schema_id: birth-benefit-application-v1
|
|
8
|
+
format: hwpx
|
|
9
|
+
authoritative_standard: KS X 6101 OWPML/HWPX
|
|
10
|
+
authority_refs:
|
|
11
|
+
- specs/2803-document-production-hardening/spec.md#FR-002
|
|
12
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
13
|
+
supports_conformance: true
|
|
14
|
+
expected_page_count: 2
|
|
15
|
+
required_fields:
|
|
16
|
+
- field_id: applicant_name
|
|
17
|
+
label: Applicant name
|
|
18
|
+
path: /body/section[1]/field[applicant_name]
|
|
19
|
+
- field_id: child_birth_date
|
|
20
|
+
label: Child birth date
|
|
21
|
+
path: /body/section[1]/field[child_birth_date]
|
|
22
|
+
protected_text:
|
|
23
|
+
- text: Birth benefit application
|
|
24
|
+
anchor: /body/section[1]/p[1]
|
|
25
|
+
- text: Required attachments
|
|
26
|
+
anchor: /body/section[2]/p[1]
|
|
27
|
+
required_labels:
|
|
28
|
+
- text: Applicant
|
|
29
|
+
anchor: /body/section[1]/table[1]/cell[1,1]
|
|
30
|
+
- text: Name
|
|
31
|
+
anchor: /body/section[1]/table[1]/cell[1,2]
|
|
32
|
+
- text: Child
|
|
33
|
+
anchor: /body/section[1]/table[1]/cell[2,1]
|
|
34
|
+
- text: Date of birth
|
|
35
|
+
anchor: /body/section[1]/table[1]/cell[2,2]
|
|
36
|
+
table_geometries:
|
|
37
|
+
- table_id: applicant-table
|
|
38
|
+
anchor: /body/section[1]/table[1]
|
|
39
|
+
rows: 2
|
|
40
|
+
columns: 2
|
|
41
|
+
signature_regions:
|
|
42
|
+
- text: Applicant signature or seal
|
|
43
|
+
anchor: /body/section[1]/p[2]
|
|
44
|
+
metadata_exact_matches:
|
|
45
|
+
page_count: 2
|
|
46
|
+
margin_top_mm: 20
|
|
47
|
+
margin_bottom_mm: 15
|
|
48
|
+
- template_id: civil-form-docx
|
|
49
|
+
schema_id: civil-form-ooxml-v1
|
|
50
|
+
format: docx
|
|
51
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
52
|
+
authority_refs:
|
|
53
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
54
|
+
supports_conformance: true
|
|
55
|
+
required_fields: []
|
|
56
|
+
protected_text: []
|
|
57
|
+
required_labels: []
|
|
58
|
+
table_geometries: []
|
|
59
|
+
signature_regions: []
|
|
60
|
+
metadata_exact_matches: {}
|
|
61
|
+
- template_id: civil-ledger-xlsx
|
|
62
|
+
schema_id: civil-ledger-ooxml-v1
|
|
63
|
+
format: xlsx
|
|
64
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
65
|
+
authority_refs:
|
|
66
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
67
|
+
supports_conformance: true
|
|
68
|
+
required_fields: []
|
|
69
|
+
protected_text: []
|
|
70
|
+
required_labels: []
|
|
71
|
+
table_geometries: []
|
|
72
|
+
signature_regions: []
|
|
73
|
+
metadata_exact_matches: {}
|
|
74
|
+
- template_id: civil-briefing-pptx
|
|
75
|
+
schema_id: civil-briefing-ooxml-v1
|
|
76
|
+
format: pptx
|
|
77
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
78
|
+
authority_refs:
|
|
79
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
80
|
+
supports_conformance: true
|
|
81
|
+
required_fields: []
|
|
82
|
+
protected_text: []
|
|
83
|
+
required_labels: []
|
|
84
|
+
table_geometries: []
|
|
85
|
+
signature_regions: []
|
|
86
|
+
metadata_exact_matches: {}
|
|
87
|
+
- template_id: fillable-permit-pdf
|
|
88
|
+
schema_id: fillable-permit-pdf-v1
|
|
89
|
+
format: pdf
|
|
90
|
+
authoritative_standard: PDF AcroForm and rendered appearance
|
|
91
|
+
authority_refs:
|
|
92
|
+
- specs/2803-document-production-hardening/spec.md#FR-014
|
|
93
|
+
supports_conformance: true
|
|
94
|
+
required_fields: []
|
|
95
|
+
protected_text: []
|
|
96
|
+
required_labels: []
|
|
97
|
+
table_geometries: []
|
|
98
|
+
signature_regions: []
|
|
99
|
+
metadata_exact_matches: {}
|
|
100
|
+
- template_id: legacy-hwp-readonly
|
|
101
|
+
schema_id: legacy-hwp-readonly-v1
|
|
102
|
+
format: hwp
|
|
103
|
+
authoritative_standard: HWP binary read-only boundary
|
|
104
|
+
authority_refs:
|
|
105
|
+
- specs/2803-document-production-hardening/spec.md#FR-017
|
|
106
|
+
supports_conformance: false
|
|
107
|
+
unsupported_reason: HWP binary write is blocked in this epic; conformance-ready output requires HWPX or another promoted editable derivative.
|
|
108
|
+
required_fields: []
|
|
109
|
+
protected_text: []
|
|
110
|
+
required_labels: []
|
|
111
|
+
table_geometries: []
|
|
112
|
+
signature_regions: []
|
|
113
|
+
metadata_exact_matches: {}
|
package/tui/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ummaya",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"gen:ipc": "bun run scripts/gen-ipc-types.ts",
|
|
12
12
|
"gen:pipa-hash": "bun run scripts/gen-pipa-hash.ts",
|
|
13
13
|
"diff:upstream": "bun run scripts/diff-upstream.ts",
|
|
14
|
-
"tui:smoke": "bun run scripts/tui-smoke.ts",
|
|
15
14
|
"test:soak": "bun test --timeout 600000 tests/soak",
|
|
16
15
|
"test": "bun test --max-concurrency=1 tests/entrypoints tests/hooks tests/i18n tests/ink tests/ipc tests/memdir tests/permissions tests/primitive tests/store tests/theme tests/unit",
|
|
17
16
|
"typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
|
|
@@ -377,3 +377,269 @@ entries:
|
|
|
377
377
|
cause: W13
|
|
378
378
|
spec_ref: "Epic #2639 D1 (TeleportResumeWrapper DROP)"
|
|
379
379
|
notes: "launchTeleportResumeWrapper export removed; underlying TeleportResumeWrapper.tsx is in NEVER-PORT registry (tui/src/components/.never-port.md row 7)."
|
|
380
|
+
- path: tui/src/components/AutoModeOptInDialog.tsx
|
|
381
|
+
cause: W2,W14
|
|
382
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
383
|
+
notes: "Visible opt-in copy and brand surface align with UMMAYA while preserving CC dialog semantics."
|
|
384
|
+
- path: tui/src/components/BypassPermissionsModeDialog.tsx
|
|
385
|
+
cause: W2,W14
|
|
386
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
387
|
+
notes: "Permission-bypass warning copy is UMMAYA-branded without changing the underlying approval contract."
|
|
388
|
+
- path: tui/src/components/ClaudeInChromeOnboarding.tsx
|
|
389
|
+
cause: W2,W7
|
|
390
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
391
|
+
notes: "Claude 1P browser onboarding surface is rewritten or inert for the UMMAYA public-service client."
|
|
392
|
+
- path: tui/src/components/ClaudeMdExternalIncludesDialog.tsx
|
|
393
|
+
cause: W2,W14
|
|
394
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
395
|
+
notes: "External include warning copy uses UMMAYA terms while preserving CC trust semantics."
|
|
396
|
+
- path: tui/src/components/CostThresholdDialog.tsx
|
|
397
|
+
cause: W7,W14
|
|
398
|
+
spec_ref: "#1633; docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
399
|
+
notes: "Claude billing threshold language is removed or neutralized for the single-provider UMMAYA harness."
|
|
400
|
+
- path: tui/src/components/DesktopHandoff.tsx
|
|
401
|
+
cause: W7,W13
|
|
402
|
+
spec_ref: "#1633; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
403
|
+
notes: "Anthropic desktop handoff surface is retained only where needed for unreachable compatibility."
|
|
404
|
+
- path: tui/src/components/DesktopUpsell/DesktopUpsellStartup.tsx
|
|
405
|
+
cause: W7,W13
|
|
406
|
+
spec_ref: "#1633; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
407
|
+
notes: "Claude desktop upsell is removed from the UMMAYA runtime surface."
|
|
408
|
+
- path: tui/src/components/Feedback.tsx
|
|
409
|
+
cause: W7,W13
|
|
410
|
+
spec_ref: "#1633; tui/src/components/.never-port.md"
|
|
411
|
+
notes: "Anthropic feedback endpoint surface is never-port for UMMAYA."
|
|
412
|
+
- path: tui/src/components/FeedbackSurvey/FeedbackSurveyView.tsx
|
|
413
|
+
cause: W7,W13
|
|
414
|
+
spec_ref: "#1633; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
415
|
+
notes: "Anthropic survey copy and endpoint behavior are removed from the citizen harness."
|
|
416
|
+
- path: tui/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx
|
|
417
|
+
cause: W7,W13
|
|
418
|
+
spec_ref: "#1633; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
419
|
+
notes: "Transcript-sharing prompt no longer routes to Anthropic 1P survey infrastructure."
|
|
420
|
+
- path: tui/src/components/HelpV2/General.tsx
|
|
421
|
+
cause: W2,W14
|
|
422
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
423
|
+
notes: "Help text is UMMAYA-branded and adjusted for public-service workflows."
|
|
424
|
+
- path: tui/src/components/InterruptedByUser.tsx
|
|
425
|
+
cause: W14
|
|
426
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
427
|
+
notes: "Interruption wording follows the UMMAYA TUI copy audit without changing control flow."
|
|
428
|
+
- path: tui/src/components/LogSelector.tsx
|
|
429
|
+
cause: W2,W14
|
|
430
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
431
|
+
notes: "Log selection labels are UMMAYA-facing while preserving the CC selector behavior."
|
|
432
|
+
- path: tui/src/components/ScrollKeybindingHandler.tsx
|
|
433
|
+
cause: W14
|
|
434
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
435
|
+
notes: "Comment-only terminal selection and scroll wording cleanup from the real-use TUI audit; runtime behavior is unchanged."
|
|
436
|
+
expected_sha256: 2d751caa56cdc06adfdd727221219ef027b5f6211a7a2a69b2bbfcfa0427c57b
|
|
437
|
+
- path: tui/src/components/LogoV2/ChannelsNotice.tsx
|
|
438
|
+
cause: W2,W7
|
|
439
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § 마스코트 · 브랜딩 확정; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
440
|
+
notes: "Claude channels notice is replaced by UMMAYA channel language."
|
|
441
|
+
- path: tui/src/components/LogoV2/EmergencyTip.tsx
|
|
442
|
+
cause: W2,W7
|
|
443
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § 마스코트 · 브랜딩 확정; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
444
|
+
notes: "Dynamic top-of-feed notices are sanitized so upstream provider or SaaS copy cannot surface in the UMMAYA terminal."
|
|
445
|
+
expected_sha256: 03e6b435d81d7019fb4f0ee960514b100b59bba17959754fa2a0e803c5ab7e27
|
|
446
|
+
- path: tui/src/components/LogoV2/GuestPassesUpsell.tsx
|
|
447
|
+
cause: W7,W13
|
|
448
|
+
spec_ref: "tui/src/components/.never-port.md; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
449
|
+
notes: "Guest-pass upsell is an Anthropic 1P business surface and is never-port for UMMAYA."
|
|
450
|
+
- path: tui/src/components/MCPServerDesktopImportDialog.tsx
|
|
451
|
+
cause: W2,W14
|
|
452
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
453
|
+
notes: "Desktop import copy is UMMAYA-facing while retaining MCP import semantics."
|
|
454
|
+
- path: tui/src/components/MCPServerDialogCopy.tsx
|
|
455
|
+
cause: W2,W14
|
|
456
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
457
|
+
notes: "MCP server dialog copy is adjusted for UMMAYA terminology."
|
|
458
|
+
- path: tui/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx
|
|
459
|
+
cause: W2,W14
|
|
460
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
461
|
+
notes: "Managed-settings security text is UMMAYA-branded without changing policy enforcement."
|
|
462
|
+
- path: tui/src/components/ModelPicker.tsx
|
|
463
|
+
cause: W2,W14
|
|
464
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § L1-A; docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
465
|
+
notes: "Model picker reflects the fixed K-EXAONE provider surface instead of Claude model selection."
|
|
466
|
+
- path: tui/src/components/OutputStylePicker.tsx
|
|
467
|
+
cause: W14
|
|
468
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
469
|
+
notes: "Output-style picker copy follows the UMMAYA TUI copy audit."
|
|
470
|
+
- path: tui/src/components/PackageManagerAutoUpdater.tsx
|
|
471
|
+
cause: W2,W14
|
|
472
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
473
|
+
notes: "Package-manager updater visible copy uses UMMAYA package identity."
|
|
474
|
+
- path: tui/src/components/Passes/Passes.tsx
|
|
475
|
+
cause: W7,W13
|
|
476
|
+
spec_ref: "tui/src/components/.never-port.md; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
477
|
+
notes: "Claude subscription pass UI is never-port for the UMMAYA public-service harness."
|
|
478
|
+
- path: tui/src/components/RemoteCallout.tsx
|
|
479
|
+
cause: W7,W13
|
|
480
|
+
spec_ref: "#1633; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
481
|
+
notes: "Anthropic remote-session callout is kept only as an unreachable compatibility surface."
|
|
482
|
+
- path: tui/src/components/Settings/Config.tsx
|
|
483
|
+
cause: W2,W14
|
|
484
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
485
|
+
notes: "Settings configuration copy uses UMMAYA terms while preserving setting keys."
|
|
486
|
+
- path: tui/src/components/Stats.tsx
|
|
487
|
+
cause: W2,W14
|
|
488
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
489
|
+
notes: "Stats display text follows UMMAYA terminology without altering metrics aggregation."
|
|
490
|
+
- path: tui/src/components/TeleportError.tsx
|
|
491
|
+
cause: W7,W13
|
|
492
|
+
spec_ref: "#1633; #1978 T011"
|
|
493
|
+
notes: "Teleport error surface remains stubbed after Anthropic teleport module deletion."
|
|
494
|
+
- path: tui/src/components/TeleportRepoMismatchDialog.tsx
|
|
495
|
+
cause: W7,W13
|
|
496
|
+
spec_ref: "#1633; #1978 T011"
|
|
497
|
+
notes: "Teleport repository mismatch dialog is retained only for compile compatibility."
|
|
498
|
+
- path: tui/src/components/ThemePicker.tsx
|
|
499
|
+
cause: W14
|
|
500
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
501
|
+
notes: "Theme picker text and defaults follow UMMAYA TUI audit output."
|
|
502
|
+
- path: tui/src/components/ThinkingToggle.tsx
|
|
503
|
+
cause: W2,W9
|
|
504
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § L1-A; #2521"
|
|
505
|
+
notes: "Thinking toggle reflects K-EXAONE reasoning behavior rather than Claude thinking copy."
|
|
506
|
+
- path: tui/src/components/WorkflowMultiselectDialog.tsx
|
|
507
|
+
cause: W14
|
|
508
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
509
|
+
notes: "Workflow selector copy follows UMMAYA workflow terminology."
|
|
510
|
+
- path: tui/src/components/agents/AgentDetail.tsx
|
|
511
|
+
cause: W14,W15
|
|
512
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
513
|
+
notes: "Agent detail surface uses UMMAYA copy with stable runtime imports."
|
|
514
|
+
- path: tui/src/components/agents/AgentsList.tsx
|
|
515
|
+
cause: W14,W15
|
|
516
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
517
|
+
notes: "Agent list surface uses UMMAYA copy with stable runtime imports."
|
|
518
|
+
- path: tui/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx
|
|
519
|
+
cause: W14
|
|
520
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
521
|
+
notes: "Agent wizard confirmation copy follows UMMAYA terminology."
|
|
522
|
+
- path: tui/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx
|
|
523
|
+
cause: W14
|
|
524
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
525
|
+
notes: "Agent wizard description copy follows UMMAYA terminology."
|
|
526
|
+
- path: tui/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx
|
|
527
|
+
cause: W14
|
|
528
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
529
|
+
notes: "Agent wizard method copy follows UMMAYA terminology."
|
|
530
|
+
- path: tui/src/components/design-system/LoadingState.tsx
|
|
531
|
+
cause: W14
|
|
532
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
533
|
+
notes: "Loading state copy and layout are adjusted by the UMMAYA TUI audit."
|
|
534
|
+
- path: tui/src/components/grove/Grove.tsx
|
|
535
|
+
cause: W7,W13
|
|
536
|
+
spec_ref: "tui/src/components/.never-port.md; specs/cc-migration-audit/scope-S3-components-screens.md § 7"
|
|
537
|
+
notes: "Anthropic Grove surface is never-port for UMMAYA."
|
|
538
|
+
- path: tui/src/components/hooks/HooksConfigMenu.tsx
|
|
539
|
+
cause: W14,W15
|
|
540
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
541
|
+
notes: "Hooks config menu copy and imports are adjusted for the UMMAYA runtime."
|
|
542
|
+
- path: tui/src/components/hooks/SelectEventMode.tsx
|
|
543
|
+
cause: W14
|
|
544
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
545
|
+
notes: "Hook event selector copy follows UMMAYA terminology."
|
|
546
|
+
- path: tui/src/components/hooks/SelectHookMode.tsx
|
|
547
|
+
cause: W14
|
|
548
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
549
|
+
notes: "Hook selector copy follows UMMAYA terminology."
|
|
550
|
+
- path: tui/src/components/hooks/SelectMatcherMode.tsx
|
|
551
|
+
cause: W14
|
|
552
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
553
|
+
notes: "Hook matcher selector copy follows UMMAYA terminology."
|
|
554
|
+
- path: tui/src/components/hooks/ViewHookMode.tsx
|
|
555
|
+
cause: W14
|
|
556
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
557
|
+
notes: "Hook view mode copy follows UMMAYA terminology."
|
|
558
|
+
- path: tui/src/components/mcp/ElicitationDialog.tsx
|
|
559
|
+
cause: W14
|
|
560
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
561
|
+
notes: "MCP elicitation dialog copy is adjusted for UMMAYA."
|
|
562
|
+
- path: tui/src/components/mcp/MCPListPanel.tsx
|
|
563
|
+
cause: W14,W15
|
|
564
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
565
|
+
notes: "MCP list panel copy and imports are stabilized for the UMMAYA runtime."
|
|
566
|
+
- path: tui/src/components/mcp/MCPSettings.tsx
|
|
567
|
+
cause: W14,W15
|
|
568
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
569
|
+
notes: "MCP settings copy and imports are stabilized for the UMMAYA runtime."
|
|
570
|
+
- path: tui/src/components/mcp/McpParsingWarnings.tsx
|
|
571
|
+
cause: W14
|
|
572
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
573
|
+
notes: "MCP warning copy follows UMMAYA terminology."
|
|
574
|
+
- path: tui/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx
|
|
575
|
+
cause: W14
|
|
576
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
577
|
+
notes: "Rejected-plan message copy follows the UMMAYA terminal audit."
|
|
578
|
+
- path: tui/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx
|
|
579
|
+
cause: W14
|
|
580
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
581
|
+
notes: "Bash permission option copy follows UMMAYA permission UX wording."
|
|
582
|
+
- path: tui/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx
|
|
583
|
+
cause: W14
|
|
584
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
585
|
+
notes: "Computer-use approval copy follows UMMAYA permission UX wording."
|
|
586
|
+
- path: tui/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx
|
|
587
|
+
cause: W14
|
|
588
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
589
|
+
notes: "Plan-mode permission copy follows UMMAYA permission UX wording."
|
|
590
|
+
- path: tui/src/components/permissions/FilePermissionDialog/permissionOptions.tsx
|
|
591
|
+
cause: W14
|
|
592
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
593
|
+
notes: "File permission option copy follows UMMAYA permission UX wording."
|
|
594
|
+
- path: tui/src/components/permissions/PermissionPrompt.tsx
|
|
595
|
+
cause: W14
|
|
596
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
597
|
+
notes: "Permission prompt copy follows UMMAYA permission UX wording."
|
|
598
|
+
- path: tui/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx
|
|
599
|
+
cause: W14
|
|
600
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
601
|
+
notes: "PowerShell permission option copy follows UMMAYA permission UX wording."
|
|
602
|
+
- path: tui/src/components/permissions/SandboxPermissionRequest.tsx
|
|
603
|
+
cause: W11,W14
|
|
604
|
+
spec_ref: "specs/cc-migration-audit/scope-S3-components-screens.md § 5.2; docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
605
|
+
notes: "Sandbox permission surface removes Anthropic runtime hints and uses UMMAYA permission wording."
|
|
606
|
+
- path: tui/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx
|
|
607
|
+
cause: W14
|
|
608
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
609
|
+
notes: "Skill permission copy follows UMMAYA permission UX wording."
|
|
610
|
+
- path: tui/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx
|
|
611
|
+
cause: W14
|
|
612
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
613
|
+
notes: "Web fetch permission copy follows UMMAYA permission UX wording."
|
|
614
|
+
- path: tui/src/components/permissions/rules/AddPermissionRules.tsx
|
|
615
|
+
cause: W14
|
|
616
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
617
|
+
notes: "Permission-rule authoring copy follows UMMAYA permission UX wording."
|
|
618
|
+
- path: tui/src/components/permissions/rules/AddWorkspaceDirectory.tsx
|
|
619
|
+
cause: W14
|
|
620
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
621
|
+
notes: "Workspace-directory permission copy follows UMMAYA permission UX wording."
|
|
622
|
+
- path: tui/src/components/permissions/rules/PermissionRuleList.tsx
|
|
623
|
+
cause: W14
|
|
624
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
625
|
+
notes: "Permission-rule list copy follows UMMAYA permission UX wording."
|
|
626
|
+
- path: tui/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx
|
|
627
|
+
cause: W14
|
|
628
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
629
|
+
notes: "Workspace-directory removal copy follows UMMAYA permission UX wording."
|
|
630
|
+
- path: tui/src/components/sandbox/SandboxOverridesTab.tsx
|
|
631
|
+
cause: W11,W14
|
|
632
|
+
spec_ref: "specs/cc-migration-audit/scope-S3-components-screens.md § 5.2; docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
633
|
+
notes: "Sandbox override copy removes Anthropic runtime assumptions."
|
|
634
|
+
- path: tui/src/components/sandbox/SandboxSettings.tsx
|
|
635
|
+
cause: W11,W14
|
|
636
|
+
spec_ref: "specs/cc-migration-audit/scope-S3-components-screens.md § 5.2; docs/requirements/ummaya-migration-tree.md § UI L2"
|
|
637
|
+
notes: "Sandbox settings copy removes Anthropic runtime assumptions."
|
|
638
|
+
- path: tui/src/components/skills/SkillsMenu.tsx
|
|
639
|
+
cause: W14,W15
|
|
640
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; .github/workflows/tui-boot-smoke.yml"
|
|
641
|
+
notes: "Skills menu copy and imports are stabilized for the UMMAYA runtime."
|
|
642
|
+
- path: tui/src/screens/Doctor.tsx
|
|
643
|
+
cause: W2,W14
|
|
644
|
+
spec_ref: "docs/requirements/ummaya-migration-tree.md § UI L2; specs/2639-s3-ui-guard/spec.md"
|
|
645
|
+
notes: "Doctor screen output is UMMAYA-branded while preserving diagnostic flow."
|
package/tui/src/QueryEngine.ts
CHANGED
|
@@ -29,6 +29,11 @@ const updateUsage = (current: _NNU, delta: _NNU): _NNU => {
|
|
|
29
29
|
return out
|
|
30
30
|
}
|
|
31
31
|
const accumulateUsage = (total: _NNU, current: _NNU): _NNU => updateUsage(total, current)
|
|
32
|
+
export function getMessageStartUsageDelta(event: {
|
|
33
|
+
readonly message?: { readonly usage?: NonNullableUsage }
|
|
34
|
+
}): NonNullableUsage | undefined {
|
|
35
|
+
return event.message?.usage
|
|
36
|
+
}
|
|
32
37
|
import stripAnsi from 'strip-ansi'
|
|
33
38
|
import type { Command } from './commands.js'
|
|
34
39
|
import { getSlashCommandToolSkills } from './commands.js'
|
|
@@ -804,10 +809,13 @@ export class QueryEngine {
|
|
|
804
809
|
if (message.event.type === 'message_start') {
|
|
805
810
|
// Reset current message usage for new message
|
|
806
811
|
currentMessageUsage = EMPTY_USAGE
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
812
|
+
const messageStartUsage = getMessageStartUsageDelta(message.event)
|
|
813
|
+
if (messageStartUsage !== undefined) {
|
|
814
|
+
currentMessageUsage = updateUsage(
|
|
815
|
+
currentMessageUsage,
|
|
816
|
+
messageStartUsage,
|
|
817
|
+
)
|
|
818
|
+
}
|
|
811
819
|
}
|
|
812
820
|
if (message.event.type === 'message_delta') {
|
|
813
821
|
currentMessageUsage = updateUsage(
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* (oauth-authed, same store), write to ~/.claude/uploads/{sessionId}/, and
|
|
7
7
|
* return @path refs to prepend. Claude's Read tool takes it from there.
|
|
8
8
|
*
|
|
9
|
-
* Best-effort:
|
|
9
|
+
* Best-effort: each failure (no token, network, non-2xx, disk) logs debug and
|
|
10
10
|
* skips that attachment. The message still reaches Claude, just without @path.
|
|
11
11
|
*/
|
|
12
12
|
|
|
@@ -63,7 +63,7 @@ function uploadsDir(): string {
|
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Fetch + write one attachment. Returns the absolute path on success,
|
|
66
|
-
* undefined
|
|
66
|
+
* undefined when resolution fails.
|
|
67
67
|
*/
|
|
68
68
|
async function resolveOne(att: InboundAttachment): Promise<string | undefined> {
|
|
69
69
|
const token = getBridgeAccessToken()
|
|
@@ -129,7 +129,7 @@ export async function resolveInboundAttachments(
|
|
|
129
129
|
const ok = paths.filter((p): p is string => p !== undefined)
|
|
130
130
|
if (ok.length === 0) return ''
|
|
131
131
|
// Quoted form — extractAtMentionedFiles truncates unquoted @refs at the
|
|
132
|
-
// first space, which breaks
|
|
132
|
+
// first space, which breaks home dirs with spaces (/Users/John Smith/).
|
|
133
133
|
return ok.map(p => `@"${p}"`).join(' ') + ' '
|
|
134
134
|
}
|
|
135
135
|
|