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.
Files changed (534) hide show
  1. package/README.md +17 -3
  2. package/bin/ummaya +10 -1
  3. package/npm-shrinkwrap.json +253 -2
  4. package/package.json +5 -1
  5. package/prompts/manifest.yaml +2 -2
  6. package/prompts/session_guidance_v1.md +3 -1
  7. package/prompts/system_v1.md +9 -7
  8. package/pyproject.toml +26 -7
  9. package/specs/2803-document-production-hardening/contracts/document-tools.schema.json +1043 -0
  10. package/src/ummaya/_canonical/__init__.py +2 -0
  11. package/src/ummaya/context/builder.py +17 -11
  12. package/src/ummaya/engine/engine.py +30 -113
  13. package/src/ummaya/engine/query.py +20 -0
  14. package/src/ummaya/evidence/__init__.py +44 -0
  15. package/src/ummaya/evidence/__main__.py +7 -0
  16. package/src/ummaya/evidence/dataset_contract.py +193 -0
  17. package/src/ummaya/evidence/document_authoring_cases.py +33 -0
  18. package/src/ummaya/evidence/document_harness.py +313 -0
  19. package/src/ummaya/evidence/document_viewer_ux.py +391 -0
  20. package/src/ummaya/evidence/gates.py +70 -0
  21. package/src/ummaya/evidence/json_types.py +20 -0
  22. package/src/ummaya/evidence/models.py +145 -0
  23. package/src/ummaya/evidence/output_payload.py +89 -0
  24. package/src/ummaya/evidence/payload_documents.py +233 -0
  25. package/src/ummaya/evidence/route_contracts.py +224 -0
  26. package/src/ummaya/evidence/route_helpers.py +150 -0
  27. package/src/ummaya/evidence/runner.py +177 -0
  28. package/src/ummaya/evidence/source_provenance.py +246 -0
  29. package/src/ummaya/evidence/source_provenance_redaction.py +176 -0
  30. package/src/ummaya/evidence/task_registry.py +264 -0
  31. package/src/ummaya/evidence/tool_layer.py +39 -0
  32. package/src/ummaya/evidence/tool_layer_models.py +151 -0
  33. package/src/ummaya/ipc/adapter_manifest_emitter.py +26 -10
  34. package/src/ummaya/ipc/document_intent_normalization.py +185 -0
  35. package/src/ummaya/ipc/frame_schema.py +52 -5
  36. package/src/ummaya/ipc/route_diagnostics.py +73 -0
  37. package/src/ummaya/ipc/stdio.py +2282 -417
  38. package/src/ummaya/llm/client.py +234 -59
  39. package/src/ummaya/llm/config.py +8 -3
  40. package/src/ummaya/llm/reasoning.py +84 -0
  41. package/src/ummaya/primitives/__init__.py +6 -2
  42. package/src/ummaya/primitives/delegation.py +1 -1
  43. package/src/ummaya/primitives/document.py +28 -0
  44. package/src/ummaya/settings.py +0 -3
  45. package/src/ummaya/tools/discovery_bridge.py +34 -2
  46. package/src/ummaya/tools/documents/__init__.py +297 -0
  47. package/src/ummaya/tools/documents/adapter_registry.py +487 -0
  48. package/src/ummaya/tools/documents/archive_container_probe.py +167 -0
  49. package/src/ummaya/tools/documents/artifact_store.py +454 -0
  50. package/src/ummaya/tools/documents/authoring.py +283 -0
  51. package/src/ummaya/tools/documents/baselines.py +114 -0
  52. package/src/ummaya/tools/documents/capability.py +331 -0
  53. package/src/ummaya/tools/documents/contracts.py +112 -0
  54. package/src/ummaya/tools/documents/conversion.py +521 -0
  55. package/src/ummaya/tools/documents/diff.py +275 -0
  56. package/src/ummaya/tools/documents/engines.py +163 -0
  57. package/src/ummaya/tools/documents/evaluation.py +291 -0
  58. package/src/ummaya/tools/documents/explicit_values.py +108 -0
  59. package/src/ummaya/tools/documents/fixtures.py +174 -0
  60. package/src/ummaya/tools/documents/format_completion_audit.py +471 -0
  61. package/src/ummaya/tools/documents/formats/__init__.py +2 -0
  62. package/src/ummaya/tools/documents/formats/archive.py +528 -0
  63. package/src/ummaya/tools/documents/formats/base.py +41 -0
  64. package/src/ummaya/tools/documents/formats/code_file.py +211 -0
  65. package/src/ummaya/tools/documents/formats/data_file.py +272 -0
  66. package/src/ummaya/tools/documents/formats/hwp.py +284 -0
  67. package/src/ummaya/tools/documents/formats/hwpx.py +1837 -0
  68. package/src/ummaya/tools/documents/formats/odf.py +435 -0
  69. package/src/ummaya/tools/documents/formats/ooxml.py +1030 -0
  70. package/src/ummaya/tools/documents/formats/passive.py +766 -0
  71. package/src/ummaya/tools/documents/formats/pdf.py +702 -0
  72. package/src/ummaya/tools/documents/formats/text_web.py +268 -0
  73. package/src/ummaya/tools/documents/hwp_conversion_probe.py +178 -0
  74. package/src/ummaya/tools/documents/hwp_direct_candidate.py +141 -0
  75. package/src/ummaya/tools/documents/inspection.py +289 -0
  76. package/src/ummaya/tools/documents/intake.py +1079 -0
  77. package/src/ummaya/tools/documents/legacy_office_promotion_probe.py +366 -0
  78. package/src/ummaya/tools/documents/models.py +1598 -0
  79. package/src/ummaya/tools/documents/odf_promotion_probe.py +167 -0
  80. package/src/ummaya/tools/documents/orchestrator.py +96 -0
  81. package/src/ummaya/tools/documents/passive_capability_probe.py +251 -0
  82. package/src/ummaya/tools/documents/patch.py +170 -0
  83. package/src/ummaya/tools/documents/pdfa_conformance.py +284 -0
  84. package/src/ummaya/tools/documents/pdfa_promotion_probe.py +198 -0
  85. package/src/ummaya/tools/documents/permissions.py +110 -0
  86. package/src/ummaya/tools/documents/planner.py +616 -0
  87. package/src/ummaya/tools/documents/registry.py +2733 -0
  88. package/src/ummaya/tools/documents/render.py +978 -0
  89. package/src/ummaya/tools/documents/render_comparison.py +113 -0
  90. package/src/ummaya/tools/documents/render_comparison_models.py +74 -0
  91. package/src/ummaya/tools/documents/render_comparison_regions.py +73 -0
  92. package/src/ummaya/tools/documents/render_comparison_style.py +161 -0
  93. package/src/ummaya/tools/documents/reread.py +157 -0
  94. package/src/ummaya/tools/documents/runtime_authoring.py +244 -0
  95. package/src/ummaya/tools/documents/runtime_authoring_bundle.py +76 -0
  96. package/src/ummaya/tools/documents/scorecard.py +184 -0
  97. package/src/ummaya/tools/documents/socratic_planner.py +193 -0
  98. package/src/ummaya/tools/documents/style.py +48 -0
  99. package/src/ummaya/tools/documents/tool_defs.py +523 -0
  100. package/src/ummaya/tools/documents/validate.py +347 -0
  101. package/src/ummaya/tools/executor.py +61 -12
  102. package/src/ummaya/tools/geocoding/kakao_client.py +1 -2
  103. package/src/ummaya/tools/kma/apihub_catalog.py +984 -1
  104. package/src/ummaya/tools/kma/apihub_structured_adapter.py +86 -6
  105. package/src/ummaya/tools/kma/apihub_url_adapter.py +593 -0
  106. package/src/ummaya/tools/kma/apihub_url_catalog.py +296 -0
  107. package/src/ummaya/tools/live_proxy.py +0 -3
  108. package/src/ummaya/tools/location_adapters.py +8 -6
  109. package/src/ummaya/tools/manifest_metadata.py +16 -3
  110. package/src/ummaya/tools/models.py +5 -1
  111. package/src/ummaya/tools/mvp_surface.py +2 -2
  112. package/src/ummaya/tools/nmc/emergency_search.py +8 -6
  113. package/src/ummaya/tools/register_all.py +17 -0
  114. package/src/ummaya/tools/registry.py +10 -1
  115. package/src/ummaya/tools/resolve_location.py +4 -4
  116. package/src/ummaya/tools/routing/__init__.py +59 -0
  117. package/src/ummaya/tools/routing/builder.py +105 -0
  118. package/src/ummaya/tools/routing/cards.py +29 -0
  119. package/src/ummaya/tools/routing/decision_service.py +534 -0
  120. package/src/ummaya/tools/routing/decision_types.py +74 -0
  121. package/src/ummaya/tools/routing/feasibility.py +122 -0
  122. package/src/ummaya/tools/routing/intent.py +17 -0
  123. package/src/ummaya/tools/routing/intent_extractor.py +207 -0
  124. package/src/ummaya/tools/routing/intent_patterns.py +160 -0
  125. package/src/ummaya/tools/routing/intent_public_data.py +150 -0
  126. package/src/ummaya/tools/routing/intent_types.py +48 -0
  127. package/src/ummaya/tools/routing/lint.py +78 -0
  128. package/src/ummaya/tools/routing/metadata.py +174 -0
  129. package/src/ummaya/tools/routing/projection.py +340 -0
  130. package/src/ummaya/tools/routing/retrieval_policy.py +629 -0
  131. package/src/ummaya/tools/routing/schema.py +81 -0
  132. package/src/ummaya/tools/routing/types.py +96 -0
  133. package/src/ummaya/tools/routing_index.py +2 -2
  134. package/src/ummaya/tools/search.py +40 -106
  135. package/src/ummaya/tools/verified_data_go_kr/_manifest.py +115 -25
  136. package/src/ummaya/tools/verified_data_go_kr/airkorea_air_quality.py +109 -4
  137. package/src/ummaya/tools/verified_data_go_kr/nmc_aed_site.py +108 -2
  138. package/src/ummaya/tools/verified_data_go_kr/pps_bid_public_info.py +174 -9
  139. package/src/ummaya/tools/verified_data_go_kr/tago_bus_arrival.py +66 -3
  140. package/src/ummaya/tools/verified_data_go_kr/tago_bus_location.py +12 -2
  141. package/src/ummaya/tools/verified_data_go_kr/tago_bus_route.py +8 -2
  142. package/src/ummaya/tools/verified_data_go_kr/tago_bus_route_station.py +114 -0
  143. package/src/ummaya/tools/verified_data_go_kr/tago_bus_station.py +14 -3
  144. package/src/ummaya/tools/verify_canonical_map.py +21 -0
  145. package/tests/fixtures/documents/public_forms/baselines.yaml +113 -0
  146. package/tui/package.json +1 -2
  147. package/tui/src/.cc-byte-identical-whitelist.yaml +266 -0
  148. package/tui/src/QueryEngine.ts +12 -4
  149. package/tui/src/bridge/inboundAttachments.ts +3 -3
  150. package/tui/src/cli/handlers/auth.ts +4 -13
  151. package/tui/src/cli/handlers/mcp.tsx +3 -3
  152. package/tui/src/cli/print.ts +69 -18
  153. package/tui/src/cli/update.ts +13 -13
  154. package/tui/src/commands/copy/index.ts +1 -1
  155. package/tui/src/commands/cost/cost.ts +2 -2
  156. package/tui/src/commands/init-verifiers.ts +5 -5
  157. package/tui/src/commands/init.ts +30 -30
  158. package/tui/src/commands/insights.ts +44 -44
  159. package/tui/src/commands/install-github-app/install-github-app.tsx +2 -2
  160. package/tui/src/commands/install-github-app/setupGitHubActions.ts +3 -3
  161. package/tui/src/commands/install-github-app/types.ts +8 -30
  162. package/tui/src/commands/install.tsx +5 -5
  163. package/tui/src/commands/mcp/addCommand.ts +5 -5
  164. package/tui/src/commands/mcp/xaaIdpCommand.ts +2 -2
  165. package/tui/src/commands/plugin/ManageMarketplaces.tsx +2 -2
  166. package/tui/src/commands/plugin/types.ts +6 -28
  167. package/tui/src/commands/plugin/unifiedTypes.ts +4 -26
  168. package/tui/src/commands/reasoning/index.ts +13 -0
  169. package/tui/src/commands/reasoning/reasoning.tsx +177 -0
  170. package/tui/src/commands/rename/generateSessionName.ts +1 -1
  171. package/tui/src/commands/thinkback/thinkback.tsx +3 -3
  172. package/tui/src/commands.ts +2 -0
  173. package/tui/src/components/Feedback.tsx +1 -1
  174. package/tui/src/components/LogoV2/EmergencyTip.tsx +11 -2
  175. package/tui/src/components/LogoV2/WelcomeV2.tsx +1 -3
  176. package/tui/src/components/Messages.tsx +2 -1
  177. package/tui/src/components/ScrollKeybindingHandler.tsx +6 -6
  178. package/tui/src/components/Spinner/types.ts +6 -28
  179. package/tui/src/components/Spinner.tsx +2 -2
  180. package/tui/src/components/agents/generateAgent.ts +1 -1
  181. package/tui/src/components/agents/new-agent-creation/types.ts +4 -26
  182. package/tui/src/components/config/EnvSecretIsolatedEditor.tsx +1 -1
  183. package/tui/src/components/design-system/LoadingState.tsx +2 -2
  184. package/tui/src/components/mcp/types.ts +16 -38
  185. package/tui/src/components/messages/AssistantToolUseMessage.tsx +3 -2
  186. package/tui/src/components/messages/UserCrossSessionMessage.ts +16 -4
  187. package/tui/src/components/messages/UserForkBoilerplateMessage.ts +16 -4
  188. package/tui/src/components/messages/UserGitHubWebhookMessage.ts +16 -4
  189. package/tui/src/components/messages/UserToolResultMessage/utils.tsx +3 -2
  190. package/tui/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts +9 -4
  191. package/tui/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts +9 -4
  192. package/tui/src/components/primitive/DocumentSocraticReviewBlock.tsx +129 -0
  193. package/tui/src/components/primitive/DocumentToolResultCard.tsx +224 -0
  194. package/tui/src/components/primitive/documentSocraticReview.ts +215 -0
  195. package/tui/src/components/primitive/index.tsx +43 -1
  196. package/tui/src/components/primitive/types.ts +137 -0
  197. package/tui/src/components/ui/option.ts +4 -26
  198. package/tui/src/constants/common.ts +0 -2
  199. package/tui/src/constants/prompts.ts +4 -3
  200. package/tui/src/constants/querySource.ts +4 -26
  201. package/tui/src/entrypoints/sdk/controlTypes.ts +26 -48
  202. package/tui/src/entrypoints/sdk/coreTypes.generated.ts +3 -25
  203. package/tui/src/entrypoints/sdk/runtimeTypes.ts +38 -60
  204. package/tui/src/entrypoints/sdk/sdkUtilityTypes.ts +4 -26
  205. package/tui/src/entrypoints/sdk/settingsTypes.generated.ts +3 -25
  206. package/tui/src/entrypoints/sdk/toolTypes.ts +3 -25
  207. package/tui/src/hooks/toolPermission/handlers/interactiveHandler.ts +10 -0
  208. package/tui/src/hooks/useApiKeyVerification.ts +1 -1
  209. package/tui/src/hooks/useVirtualScroll.ts +1 -1
  210. package/tui/src/ink/ink.tsx +33 -14
  211. package/tui/src/ink/reconciler.ts +2 -3
  212. package/tui/src/ink/render-to-screen.ts +30 -10
  213. package/tui/src/ipc/bridge.ts +62 -15
  214. package/tui/src/ipc/bridgeSingleton.ts +5 -1
  215. package/tui/src/ipc/codec.ts +29 -3
  216. package/tui/src/ipc/frames.generated.ts +407 -312
  217. package/tui/src/ipc/llmClient.ts +279 -76
  218. package/tui/src/ipc/llmTypes.ts +16 -1
  219. package/tui/src/ipc/schema/frame.schema.json +1 -3475
  220. package/tui/src/keybindings/defaultBindings.ts +4 -0
  221. package/tui/src/main.tsx +32 -11
  222. package/tui/src/native-ts/file-index/index.ts +33 -3
  223. package/tui/src/observability/surface.ts +2 -2
  224. package/tui/src/probes/toolRegistryProbe.tsx +3 -1
  225. package/tui/src/projectOnboardingState.ts +7 -6
  226. package/tui/src/query/chatMessageTypes.ts +18 -0
  227. package/tui/src/query/chatMessagesBuilder.ts +1 -1
  228. package/tui/src/query/deps.ts +1 -1
  229. package/tui/src/query/messageGuards.ts +106 -0
  230. package/tui/src/query/publicDataTerminalRepair.ts +384 -0
  231. package/tui/src/query/run.ts +1075 -0
  232. package/tui/src/query/supportBoundary.ts +168 -0
  233. package/tui/src/query/toolResultErrors.ts +103 -0
  234. package/tui/src/query/toolRunner.ts +687 -0
  235. package/tui/src/query/unavailableToolRepair.ts +118 -0
  236. package/tui/src/query.ts +9 -1721
  237. package/tui/src/screens/REPL.tsx +42 -31
  238. package/tui/src/services/api/adapterManifest.ts +4 -0
  239. package/tui/src/services/api/backendChat/events.ts +117 -0
  240. package/tui/src/services/api/backendChat/finalMessage.ts +40 -0
  241. package/tui/src/services/api/backendChat/frame.ts +9 -0
  242. package/tui/src/services/api/backendChat/streaming.ts +430 -0
  243. package/tui/src/services/api/backendChat/types.ts +62 -0
  244. package/tui/src/services/api/backendChat.ts +1 -0
  245. package/tui/src/services/api/client.ts +98 -14
  246. package/tui/src/services/api/errorUtils.ts +5 -5
  247. package/tui/src/services/api/errors.ts +1 -1
  248. package/tui/src/services/api/logging.ts +1 -1
  249. package/tui/src/services/api/ummaya/evidence.ts +194 -0
  250. package/tui/src/services/api/ummaya/messages.ts +255 -0
  251. package/tui/src/services/api/ummaya/nonStreaming.ts +66 -0
  252. package/tui/src/services/api/ummaya/provider.ts +200 -0
  253. package/tui/src/services/api/ummaya/reasoning.ts +24 -0
  254. package/tui/src/services/api/ummaya/request.ts +200 -0
  255. package/tui/src/services/api/ummaya/selectionContext.ts +240 -0
  256. package/tui/src/services/api/ummaya/streaming.ts +365 -0
  257. package/tui/src/services/api/ummaya/streamingPayload.ts +129 -0
  258. package/tui/src/services/api/ummaya/streamingReader.ts +40 -0
  259. package/tui/src/services/api/ummaya/toolSelection.ts +217 -0
  260. package/tui/src/services/api/ummaya/types.ts +110 -0
  261. package/tui/src/services/api/ummaya/usage.ts +30 -0
  262. package/tui/src/services/api/ummaya.ts +26 -364
  263. package/tui/src/services/api/withRetry.ts +1 -1
  264. package/tui/src/services/awaySummary.ts +2 -2
  265. package/tui/src/services/claudeAiLimits.ts +1 -1
  266. package/tui/src/services/compact/autoCompact.ts +1 -1
  267. package/tui/src/services/compact/compact.ts +1 -1
  268. package/tui/src/services/lsp/types.ts +8 -30
  269. package/tui/src/services/tips/types.ts +6 -28
  270. package/tui/src/services/tokenEstimation.ts +1 -1
  271. package/tui/src/services/toolRegistry/bootGuard.ts +5 -5
  272. package/tui/src/services/toolUseSummary/toolUseSummaryGenerator.ts +1 -1
  273. package/tui/src/services/tools/toolExecution.ts +94 -1
  274. package/tui/src/skills/bundled/stuck.ts +12 -12
  275. package/tui/src/state/AppStateStore.ts +7 -0
  276. package/tui/src/store/pendingPermissionSlot.ts +1 -1
  277. package/tui/src/store/session-store.ts +10 -36
  278. package/tui/src/stubs/any-stub.ts +15 -10
  279. package/tui/src/stubs/color-diff-napi.ts +37 -23
  280. package/tui/src/stubs/globals.d.ts +3 -3
  281. package/tui/src/stubs/macro-preload.ts +23 -12
  282. package/tui/src/tools/AdapterTool/AdapterTool.ts +1239 -163
  283. package/tui/src/tools/AdapterTool/routeDiagnostics.ts +75 -0
  284. package/tui/src/tools/AgentTool/AgentTool.tsx +84 -1371
  285. package/tui/src/tools/AgentTool/agentToolHandoff.ts +114 -0
  286. package/tui/src/tools/AgentTool/agentToolPartialResult.ts +16 -0
  287. package/tui/src/tools/AgentTool/agentToolProgress.ts +32 -0
  288. package/tui/src/tools/AgentTool/agentToolResolver.ts +161 -0
  289. package/tui/src/tools/AgentTool/agentToolResult.ts +163 -0
  290. package/tui/src/tools/AgentTool/agentToolUtils.ts +14 -686
  291. package/tui/src/tools/AgentTool/asyncAgentLifecycle.ts +208 -0
  292. package/tui/src/tools/AgentTool/asyncLifecycle.ts +153 -0
  293. package/tui/src/tools/AgentTool/backgroundedCompletion.ts +126 -0
  294. package/tui/src/tools/AgentTool/backgroundedLifecycle.ts +174 -0
  295. package/tui/src/tools/AgentTool/foregroundBackground.ts +83 -0
  296. package/tui/src/tools/AgentTool/foregroundDrain.tsx +133 -0
  297. package/tui/src/tools/AgentTool/foregroundFinalize.ts +98 -0
  298. package/tui/src/tools/AgentTool/foregroundLifecycle.tsx +237 -0
  299. package/tui/src/tools/AgentTool/foregroundProgress.tsx +169 -0
  300. package/tui/src/tools/AgentTool/foregroundTask.ts +89 -0
  301. package/tui/src/tools/AgentTool/forkSubagent.ts +1 -12
  302. package/tui/src/tools/AgentTool/forkSubagentGate.ts +34 -0
  303. package/tui/src/tools/AgentTool/launchRouting.ts +203 -0
  304. package/tui/src/tools/AgentTool/lifecycle.ts +244 -0
  305. package/tui/src/tools/AgentTool/mcpRouting.ts +73 -0
  306. package/tui/src/tools/AgentTool/orchestrationSupport.ts +70 -0
  307. package/tui/src/tools/AgentTool/permissions.ts +39 -0
  308. package/tui/src/tools/AgentTool/promptSetup.ts +181 -0
  309. package/tui/src/tools/AgentTool/remoteRouting.ts +62 -0
  310. package/tui/src/tools/AgentTool/resultMapping.ts +116 -0
  311. package/tui/src/tools/AgentTool/resumeAgent.ts +39 -107
  312. package/tui/src/tools/AgentTool/resumeAgentHelpers.ts +140 -0
  313. package/tui/src/tools/AgentTool/runAgent.ts +1 -1
  314. package/tui/src/tools/AgentTool/runtimeConfig.ts +57 -0
  315. package/tui/src/tools/AgentTool/schemas.ts +196 -0
  316. package/tui/src/tools/AgentTool/sourceVerificationPropagation.ts +263 -0
  317. package/tui/src/tools/AgentTool/worktreeLifecycle.ts +105 -0
  318. package/tui/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +174 -202
  319. package/tui/src/tools/BashTool/BashTool.tsx +71 -1072
  320. package/tui/src/tools/BashTool/bashCommandHelpers.ts +12 -12
  321. package/tui/src/tools/BashTool/bashPermissions/astPreflight.ts +173 -0
  322. package/tui/src/tools/BashTool/bashPermissions/classifierChecks.ts +199 -0
  323. package/tui/src/tools/BashTool/bashPermissions/compoundGuards.ts +53 -0
  324. package/tui/src/tools/BashTool/bashPermissions/constants.ts +99 -0
  325. package/tui/src/tools/BashTool/bashPermissions/index.ts +38 -0
  326. package/tui/src/tools/BashTool/bashPermissions/legacyMisparsing.ts +62 -0
  327. package/tui/src/tools/BashTool/bashPermissions/main.ts +135 -0
  328. package/tui/src/tools/BashTool/bashPermissions/normalizedCommands.ts +33 -0
  329. package/tui/src/tools/BashTool/bashPermissions/operatorFlow.ts +98 -0
  330. package/tui/src/tools/BashTool/bashPermissions/permissionChecks.ts +200 -0
  331. package/tui/src/tools/BashTool/bashPermissions/prefixSuggestions.ts +88 -0
  332. package/tui/src/tools/BashTool/bashPermissions/promptClassifierRules.ts +125 -0
  333. package/tui/src/tools/BashTool/bashPermissions/ruleDelegates.ts +19 -0
  334. package/tui/src/tools/BashTool/bashPermissions/ruleMatching.ts +145 -0
  335. package/tui/src/tools/BashTool/bashPermissions/sandboxAutoAllow.ts +75 -0
  336. package/tui/src/tools/BashTool/bashPermissions/subcommandFlow.ts +205 -0
  337. package/tui/src/tools/BashTool/bashPermissions/subcommandGuards.ts +73 -0
  338. package/tui/src/tools/BashTool/bashPermissions/subcommandResultHelpers.ts +116 -0
  339. package/tui/src/tools/BashTool/bashPermissions/types.ts +26 -0
  340. package/tui/src/tools/BashTool/bashPermissions/wrapperStripping.ts +139 -0
  341. package/tui/src/tools/BashTool/bashPermissions.ts +26 -2621
  342. package/tui/src/tools/BashTool/call.ts +202 -0
  343. package/tui/src/tools/BashTool/callLoader.ts +35 -0
  344. package/tui/src/tools/BashTool/commandClassification.ts +151 -0
  345. package/tui/src/tools/BashTool/commandClassificationLoader.ts +40 -0
  346. package/tui/src/tools/BashTool/cwdReset.ts +33 -0
  347. package/tui/src/tools/BashTool/lineTruncation.ts +11 -0
  348. package/tui/src/tools/BashTool/modeValidation.ts +13 -1
  349. package/tui/src/tools/BashTool/outputPersistence.ts +42 -0
  350. package/tui/src/tools/BashTool/permissionClassification.ts +66 -0
  351. package/tui/src/tools/BashTool/permissionLoader.ts +44 -0
  352. package/tui/src/tools/BashTool/resultLoader.ts +29 -0
  353. package/tui/src/tools/BashTool/resultMapping.ts +83 -0
  354. package/tui/src/tools/BashTool/sandboxPolicy.ts +79 -0
  355. package/tui/src/tools/BashTool/schemas.ts +65 -0
  356. package/tui/src/tools/BashTool/sedEditExecution.ts +59 -0
  357. package/tui/src/tools/BashTool/shellExecution.tsx +245 -0
  358. package/tui/src/tools/BashTool/shellOutputUtils.ts +85 -0
  359. package/tui/src/tools/BashTool/shellPermissionGauntlet.ts +97 -0
  360. package/tui/src/tools/BashTool/uiLoader.ts +37 -0
  361. package/tui/src/tools/BriefTool/upload.ts +1 -1
  362. package/tui/src/tools/CalculatorTool/parser.ts +2 -2
  363. package/tui/src/tools/DocumentPrimitive/DocumentPrimitive.ts +262 -0
  364. package/tui/src/tools/DocumentPrimitive/dispatchNormalization.ts +270 -0
  365. package/tui/src/tools/DocumentPrimitive/documentDestinationPath.ts +18 -0
  366. package/tui/src/tools/DocumentPrimitive/documentMutationGuard.ts +22 -0
  367. package/tui/src/tools/DocumentPrimitive/documentPatchNormalization.ts +248 -0
  368. package/tui/src/tools/DocumentPrimitive/documentSourceVerification.ts +245 -0
  369. package/tui/src/tools/DocumentPrimitive/documentSourceVerificationFields.ts +103 -0
  370. package/tui/src/tools/DocumentPrimitive/modelVisibleOutput.ts +40 -0
  371. package/tui/src/tools/DocumentPrimitive/prompt.ts +35 -0
  372. package/tui/src/tools/FileEditTool/FileEditTool.ts +9 -507
  373. package/tui/src/tools/FileEditTool/call.ts +228 -0
  374. package/tui/src/tools/FileEditTool/validateInput.ts +196 -0
  375. package/tui/src/tools/FileReadTool/imageProcessor.ts +13 -0
  376. package/tui/src/tools/FileWriteTool/FileWriteTool.ts +7 -300
  377. package/tui/src/tools/FileWriteTool/call.ts +223 -0
  378. package/tui/src/tools/FileWriteTool/validateInput.ts +80 -0
  379. package/tui/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +19 -3
  380. package/tui/src/tools/LookupPrimitive/LookupPrimitive.ts +48 -29
  381. package/tui/src/tools/LookupPrimitive/prompt.ts +6 -7
  382. package/tui/src/tools/MCPTool/trustPolicy.ts +118 -0
  383. package/tui/src/tools/McpAuthTool/McpAuthTool.ts +21 -3
  384. package/tui/src/tools/NotebookEditTool/NotebookEditTool.ts +7 -326
  385. package/tui/src/tools/NotebookEditTool/call.ts +254 -0
  386. package/tui/src/tools/NotebookEditTool/notebookModel.ts +51 -0
  387. package/tui/src/tools/NotebookEditTool/validateInput.ts +142 -0
  388. package/tui/src/tools/PowerShellTool/PowerShellTool.tsx +46 -937
  389. package/tui/src/tools/PowerShellTool/acceptEditsCommandValidation.ts +162 -0
  390. package/tui/src/tools/PowerShellTool/call.ts +179 -0
  391. package/tui/src/tools/PowerShellTool/callLoader.ts +37 -0
  392. package/tui/src/tools/PowerShellTool/commandClassification.ts +86 -0
  393. package/tui/src/tools/PowerShellTool/modeValidation.ts +25 -332
  394. package/tui/src/tools/PowerShellTool/outputPersistence.ts +42 -0
  395. package/tui/src/tools/PowerShellTool/permissionClassification.ts +28 -0
  396. package/tui/src/tools/PowerShellTool/resultLoader.ts +31 -0
  397. package/tui/src/tools/PowerShellTool/resultMapping.ts +75 -0
  398. package/tui/src/tools/PowerShellTool/schemas.ts +40 -0
  399. package/tui/src/tools/PowerShellTool/shellExecution.tsx +258 -0
  400. package/tui/src/tools/PowerShellTool/symlinkModeValidation.ts +44 -0
  401. package/tui/src/tools/PowerShellTool/uiLoader.ts +37 -0
  402. package/tui/src/tools/PowerShellTool/validation.ts +39 -0
  403. package/tui/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +19 -3
  404. package/tui/src/tools/ResolveLocationPrimitive/ResolveLocationPrimitive.ts +30 -19
  405. package/tui/src/tools/ResolveLocationPrimitive/prompt.ts +2 -6
  406. package/tui/src/tools/SkillTool/SkillTool.ts +2 -2
  407. package/tui/src/tools/SubmitPrimitive/SubmitPrimitive.ts +51 -18
  408. package/tui/src/tools/TaskCreateTool/TaskCreateTool.ts +16 -2
  409. package/tui/src/tools/TaskGetTool/TaskGetTool.ts +23 -3
  410. package/tui/src/tools/TaskListTool/TaskListTool.ts +22 -4
  411. package/tui/src/tools/TaskOutputTool/TaskOutputTool.tsx +46 -547
  412. package/tui/src/tools/TaskOutputTool/lookup.ts +216 -0
  413. package/tui/src/tools/TaskOutputTool/render.tsx +257 -0
  414. package/tui/src/tools/TaskOutputTool/schemas.ts +55 -0
  415. package/tui/src/tools/TaskOutputTool/serialization.ts +36 -0
  416. package/tui/src/tools/TaskStopTool/TaskStopTool.ts +10 -0
  417. package/tui/src/tools/TaskUpdateTool/TaskUpdateTool.ts +14 -364
  418. package/tui/src/tools/TaskUpdateTool/completion.ts +62 -0
  419. package/tui/src/tools/TaskUpdateTool/schemas.ts +62 -0
  420. package/tui/src/tools/TaskUpdateTool/serialization.ts +46 -0
  421. package/tui/src/tools/TaskUpdateTool/statusUpdate.ts +247 -0
  422. package/tui/src/tools/TodoWriteTool/TodoWriteTool.ts +21 -2
  423. package/tui/src/tools/ToolSearchTool/ToolSearchTool.ts +21 -302
  424. package/tui/src/tools/ToolSearchTool/ccSupportTools.ts +223 -0
  425. package/tui/src/tools/ToolSearchTool/descriptionCache.ts +50 -0
  426. package/tui/src/tools/ToolSearchTool/keywordSearch.ts +216 -0
  427. package/tui/src/tools/ToolSearchTool/prompt.ts +10 -4
  428. package/tui/src/tools/ToolSearchTool/resultMapping.ts +30 -0
  429. package/tui/src/tools/ToolSearchTool/schemas.ts +30 -0
  430. package/tui/src/tools/ToolSearchTool/searchPool.ts +47 -0
  431. package/tui/src/tools/ToolSearchTool/supportIntentHints.ts +140 -0
  432. package/tui/src/tools/TranslateTool/TranslateTool.ts +1 -1
  433. package/tui/src/tools/VerifyPrimitive/VerifyPrimitive.ts +27 -10
  434. package/tui/src/tools/WebFetchTool/WebFetchTool.ts +43 -138
  435. package/tui/src/tools/WebFetchTool/call.ts +227 -0
  436. package/tui/src/tools/WebFetchTool/resolvedAddressSafety.ts +78 -0
  437. package/tui/src/tools/WebFetchTool/sourceVerification.ts +204 -0
  438. package/tui/src/tools/WebFetchTool/types.ts +23 -0
  439. package/tui/src/tools/WebFetchTool/urlSafety.ts +181 -0
  440. package/tui/src/tools/WebFetchTool/utils.ts +1 -1
  441. package/tui/src/tools/WebSearchTool/UI.tsx +0 -1
  442. package/tui/src/tools/WebSearchTool/WebSearchTool.ts +9 -313
  443. package/tui/src/tools/WebSearchTool/call.ts +33 -0
  444. package/tui/src/tools/WebSearchTool/responseMapping.ts +190 -0
  445. package/tui/src/tools/WebSearchTool/resultBlock.ts +47 -0
  446. package/tui/src/tools/WebSearchTool/schemas.ts +47 -0
  447. package/tui/src/tools/WebSearchTool/toolSchema.ts +12 -0
  448. package/tui/src/tools/WorkspaceToolAdapter/WorkspaceToolAdapter.ts +79 -0
  449. package/tui/src/tools/WorkspaceToolAdapter/allowedRootPolicy.ts +85 -0
  450. package/tui/src/tools/WorkspaceToolAdapter/documentFormatGuards.ts +73 -0
  451. package/tui/src/tools/WorkspaceToolAdapter/inputNormalization.ts +105 -0
  452. package/tui/src/tools/WorkspaceToolAdapter/mcpExposurePolicy.ts +64 -0
  453. package/tui/src/tools/WorkspaceToolAdapter/toolDefFactory.ts +215 -0
  454. package/tui/src/tools/WorkspaceToolAdapter/toolNames.ts +6 -0
  455. package/tui/src/tools/WorkspaceToolAdapter/workspacePolicy.ts +15 -0
  456. package/tui/src/tools/_shared/citizenUserText.ts +49 -0
  457. package/tui/src/tools/_shared/dispatchPrimitive.ts +6 -6
  458. package/tui/src/tools/_shared/documentChangeToPatch.ts +125 -0
  459. package/tui/src/tools/_shared/documentDispatchArguments.ts +87 -0
  460. package/tui/src/tools/_shared/documentPrimitiveTimeout.ts +13 -0
  461. package/tui/src/tools/_shared/documentToolResultRender.ts +98 -0
  462. package/tui/src/tools/_shared/locationInputRepair.ts +112 -0
  463. package/tui/src/tools/_shared/pendingCallRegistry.ts +1 -6
  464. package/tui/src/tools/_shared/rootPrimitiveInput.ts +68 -0
  465. package/tui/src/tools/_shared/toolChoiceRepair/documentCompletionPatterns.ts +58 -0
  466. package/tui/src/tools/_shared/toolChoiceRepair/documentCompletionPrompt.ts +271 -0
  467. package/tui/src/tools/_shared/toolChoiceRepair/documentRepair.ts +452 -0
  468. package/tui/src/tools/_shared/toolChoiceRepair/messageAccess.ts +80 -0
  469. package/tui/src/tools/_shared/toolChoiceRepair/publicDataRepair.ts +92 -0
  470. package/tui/src/tools/_shared/toolChoiceRepair/supportRepair.ts +135 -0
  471. package/tui/src/tools/_shared/toolChoiceRepair.ts +61 -0
  472. package/tui/src/tools/shared/mockDisclaimer.ts +1 -1
  473. package/tui/src/tools.ts +39 -190
  474. package/tui/src/types/fileSuggestion.ts +4 -26
  475. package/tui/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +186 -148
  476. package/tui/src/types/generated/events_mono/common/v1/auth.ts +25 -11
  477. package/tui/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +47 -30
  478. package/tui/src/types/generated/google/protobuf/timestamp.ts +21 -7
  479. package/tui/src/types/message.ts +80 -102
  480. package/tui/src/types/messageQueueTypes.ts +6 -28
  481. package/tui/src/types/notebook.ts +16 -38
  482. package/tui/src/types/statusLine.ts +4 -26
  483. package/tui/src/types/tools.ts +24 -46
  484. package/tui/src/types/utils.ts +6 -28
  485. package/tui/src/upstreamproxy/relay.ts +7 -3
  486. package/tui/src/upstreamproxy/upstreamproxy.ts +1 -1
  487. package/tui/src/utils/assistantMessageFactories.ts +9 -3
  488. package/tui/src/utils/attachments.ts +1 -1
  489. package/tui/src/utils/auth.ts +129 -139
  490. package/tui/src/utils/bash/ast.ts +23 -23
  491. package/tui/src/utils/bash/bashParser.ts +5 -5
  492. package/tui/src/utils/billing.ts +1 -1
  493. package/tui/src/utils/collapseReadSearch.ts +3 -3
  494. package/tui/src/utils/cronTasks.ts +1 -1
  495. package/tui/src/utils/execFileNoThrow.ts +1 -1
  496. package/tui/src/utils/filePersistence/types.ts +16 -38
  497. package/tui/src/utils/forkedAgent.ts +1 -1
  498. package/tui/src/utils/gracefulShutdown.ts +4 -4
  499. package/tui/src/utils/heapDumpService.ts +12 -8
  500. package/tui/src/utils/hooks/apiQueryHookHelper.ts +1 -1
  501. package/tui/src/utils/hooks/execPromptHook.ts +1 -1
  502. package/tui/src/utils/hooks/skillImprovement.ts +1 -1
  503. package/tui/src/utils/kExaoneReasoning.ts +138 -0
  504. package/tui/src/utils/mcp/dateTimeParser.ts +1 -1
  505. package/tui/src/utils/messages.ts +19 -0
  506. package/tui/src/utils/migrateSessions.ts +3 -3
  507. package/tui/src/utils/model/model.ts +6 -6
  508. package/tui/src/utils/multiToolLayout.ts +13 -0
  509. package/tui/src/utils/permissions/yoloClassifier.ts +1 -1
  510. package/tui/src/utils/plugins/headlessPluginInstall.ts +1 -1
  511. package/tui/src/utils/plugins/mcpPluginIntegration.ts +1 -1
  512. package/tui/src/utils/plugins/mcpbHandler.ts +1 -1
  513. package/tui/src/utils/plugins/pluginLoader.ts +8 -8
  514. package/tui/src/utils/processUserInput/processSlashCommand.tsx +2 -2
  515. package/tui/src/utils/processUserInput/processUserInput.ts +26 -0
  516. package/tui/src/utils/protectedNamespace.ts +5 -3
  517. package/tui/src/utils/rawJsonToolCall.ts +242 -0
  518. package/tui/src/utils/ripgrep.ts +16 -7
  519. package/tui/src/utils/sessionTitle.ts +1 -1
  520. package/tui/src/utils/settings/applySettingsChange.ts +4 -0
  521. package/tui/src/utils/settings/permissionValidation.ts +14 -2
  522. package/tui/src/utils/settings/types.ts +9 -3
  523. package/tui/src/utils/shell/prefix.ts +1 -1
  524. package/tui/src/utils/sideQuery.ts +1 -1
  525. package/tui/src/utils/stats.ts +1 -1
  526. package/tui/src/utils/systemThemeWatcher.ts +13 -3
  527. package/tui/src/utils/teleport.tsx +1 -1
  528. package/uv.lock +394 -22
  529. package/assets/copilot-gate-logo.svg +0 -58
  530. package/assets/govon-logo.svg +0 -40
  531. package/src/ummaya/eval/__init__.py +0 -5
  532. package/src/ummaya/eval/retrieval.py +0 -713
  533. package/tui/src/services/api/claude.ts +0 -3510
  534. package/tui/src/utils/messageStream.ts +0 -186
@@ -3,7 +3,7 @@ import type { Command } from '../commands.js'
3
3
  import { maybeMarkProjectOnboardingComplete } from '../projectOnboardingState.js'
4
4
  import { isEnvTruthy } from '../utils/envUtils.js'
5
5
 
6
- const OLD_INIT_PROMPT = `Please analyze this codebase and create a CLAUDE.md file, which will be given to future instances of Claude Code to operate in this repository.
6
+ const OLD_INIT_PROMPT = `Please analyze this codebase and create a CLAUDE.md file, which will be given to future UMMAYA sessions operating in this repository.
7
7
 
8
8
  What to add:
9
9
  1. Commands that will be commonly used, such as how to build, lint, and run tests. Include the necessary commands to develop in this codebase, such as how to run a single test.
@@ -38,8 +38,8 @@ Use AskUserQuestion to find out what the user wants:
38
38
 
39
39
  - "Also set up skills and hooks?"
40
40
  Options: "Skills + hooks" | "Skills only" | "Hooks only" | "Neither, just CLAUDE.md"
41
- Description for skills: "On-demand capabilities you or Claude invoke with \`/skill-name\` — good for repeatable workflows and reference knowledge."
42
- Description for hooks: "Deterministic shell commands that run on tool events (e.g., format after every edit). Claude can't skip them."
41
+ Description for skills: "On-demand capabilities you or UMMAYA invoke with \`/skill-name\` — good for repeatable workflows and reference knowledge."
42
+ Description for hooks: "Deterministic shell commands that run on tool events (e.g., format after every edit). UMMAYA can't skip them."
43
43
 
44
44
  ## Phase 2: Explore the codebase
45
45
 
@@ -65,16 +65,16 @@ If the user chose project CLAUDE.md or both: ask about codebase practices — no
65
65
 
66
66
  If the user chose personal CLAUDE.local.md or both: ask about them, not the codebase. Do not mark any options as "recommended" — this is about their personal preferences, not best practices. Examples of questions:
67
67
  - What's their role on the team? (e.g., "backend engineer", "data scientist", "new hire onboarding")
68
- - How familiar are they with this codebase and its languages/frameworks? (so Claude can calibrate explanation depth)
69
- - Do they have personal sandbox URLs, test accounts, API key paths, or local setup details Claude should know?
68
+ - How familiar are they with this codebase and its languages/frameworks? (so UMMAYA can calibrate explanation depth)
69
+ - Do they have personal sandbox URLs, test accounts, API key paths, or local setup details UMMAYA should know?
70
70
  - Only if Phase 2 found multiple git worktrees: ask whether their worktrees are nested inside the main repo (e.g., \`.claude/worktrees/<name>/\`) or siblings/external (e.g., \`../myrepo-feature/\`). If nested, the upward file walk finds the main repo's CLAUDE.local.md automatically — no special handling needed. If sibling/external, the personal content should live in a home-directory file (e.g., \`~/.claude/<project-name>-instructions.md\`) and each worktree gets a one-line CLAUDE.local.md stub that imports it: \`@~/.claude/<project-name>-instructions.md\`. Never put this import in the project CLAUDE.md — that would check a personal reference into the team-shared file.
71
71
  - Any communication preferences? (e.g., "be terse", "always explain tradeoffs", "don't summarize at the end")
72
72
 
73
73
  **Synthesize a proposal from Phase 2 findings** — e.g., format-on-edit if a formatter exists, a \`/verify\` skill if tests exist, a CLAUDE.md note for anything from the gap-fill answers that's a guideline rather than a workflow. For each, pick the artifact type that fits, **constrained by the Phase 1 skills+hooks choice**:
74
74
 
75
- - **Hook** (stricter) — deterministic shell command on a tool event; Claude can't skip it. Fits mechanical, fast, per-edit steps: formatting, linting, running a quick test on the changed file.
76
- - **Skill** (on-demand) — you or Claude invoke \`/skill-name\` when you want it. Fits workflows that don't belong on every edit: deep verification, session reports, deploys.
77
- - **CLAUDE.md note** (looser) — influences Claude's behavior but not enforced. Fits communication/thinking preferences: "plan before coding", "be terse", "explain tradeoffs".
75
+ - **Hook** (stricter) — deterministic shell command on a tool event; UMMAYA can't skip it. Fits mechanical, fast, per-edit steps: formatting, linting, running a quick test on the changed file.
76
+ - **Skill** (on-demand) — you or UMMAYA invoke \`/skill-name\` when you want it. Fits workflows that don't belong on every edit: deep verification, session reports, deploys.
77
+ - **CLAUDE.md note** (looser) — influences UMMAYA's behavior but not enforced. Fits communication/thinking preferences: "plan before coding", "be terse", "explain tradeoffs".
78
78
 
79
79
  **Respect Phase 1's skills+hooks choice as a hard filter**: if the user picked "Skills only", downgrade any hook you'd suggest to a skill or a CLAUDE.md note. If "Hooks only", downgrade skills to hooks (where mechanically possible) or notes. If "Neither", everything becomes a CLAUDE.md note. Never propose an artifact type the user didn't opt into.
80
80
 
@@ -94,12 +94,12 @@ If the user chose personal CLAUDE.local.md or both: ask about them, not the code
94
94
 
95
95
  ## Phase 4: Write CLAUDE.md (if user chose project or both)
96
96
 
97
- Write a minimal CLAUDE.md at the project root. Every line must pass this test: "Would removing this cause Claude to make mistakes?" If no, cut it.
97
+ Write a minimal CLAUDE.md at the project root. Every line must pass this test: "Would removing this cause UMMAYA to make mistakes?" If no, cut it.
98
98
 
99
- **Consume \`note\` entries from the Phase 3 preference queue whose target is CLAUDE.md** (team-level notes) — add each as a concise line in the most relevant section. These are the behaviors the user wants Claude to follow but didn't need guaranteed (e.g., "propose a plan before implementing", "explain the tradeoffs when refactoring"). Leave personal-targeted notes for Phase 5.
99
+ **Consume \`note\` entries from the Phase 3 preference queue whose target is CLAUDE.md** (team-level notes) — add each as a concise line in the most relevant section. These are the behaviors the user wants UMMAYA to follow but didn't need guaranteed (e.g., "propose a plan before implementing", "explain the tradeoffs when refactoring"). Leave personal-targeted notes for Phase 5.
100
100
 
101
101
  Include:
102
- - Build/test/lint commands Claude can't guess (non-standard scripts, flags, or sequences)
102
+ - Build/test/lint commands UMMAYA can't guess (non-standard scripts, flags, or sequences)
103
103
  - Code style rules that DIFFER from language defaults (e.g., "prefer type over interface")
104
104
  - Testing instructions and quirks (e.g., "run single test with: pytest -k 'test_name'")
105
105
  - Repo etiquette (branch naming, PR conventions, commit style)
@@ -108,11 +108,11 @@ Include:
108
108
  - Important parts from existing AI coding tool configs if they exist (AGENTS.md, .cursor/rules, .cursorrules, .github/copilot-instructions.md, .windsurfrules, .clinerules)
109
109
 
110
110
  Exclude:
111
- - File-by-file structure or component lists (Claude can discover these by reading the codebase)
112
- - Standard language conventions Claude already knows
111
+ - File-by-file structure or component lists (UMMAYA can discover these by reading the codebase)
112
+ - Standard language conventions UMMAYA already knows
113
113
  - Generic advice ("write clean code", "handle errors")
114
114
  - Detailed API docs or long references — use \`@path/to/import\` syntax instead (e.g., \`@docs/api-reference.md\`) to inline content on demand without bloating CLAUDE.md
115
- - Information that changes frequently — reference the source with \`@path/to/import\` so Claude always reads the current version
115
+ - Information that changes frequently — reference the source with \`@path/to/import\` so UMMAYA always reads the current version
116
116
  - Long tutorials or walkthroughs (move to a separate file and reference with \`@path/to/import\`, or put in a skill)
117
117
  - Commands obvious from manifest files (e.g., standard "npm test", "cargo test", "pytest")
118
118
 
@@ -132,7 +132,7 @@ If CLAUDE.md already exists: read it, propose specific changes as diffs, and exp
132
132
 
133
133
  For projects with multiple concerns, suggest organizing instructions into \`.claude/rules/\` as separate focused files (e.g., \`code-style.md\`, \`testing.md\`, \`security.md\`). These are loaded automatically alongside CLAUDE.md and can be scoped to specific file paths using \`paths\` frontmatter.
134
134
 
135
- For projects with distinct subdirectories (monorepos, multi-module projects, etc.): mention that subdirectory CLAUDE.md files can be added for module-specific instructions (they're loaded automatically when Claude works in those directories). Offer to create them if the user wants.
135
+ For projects with distinct subdirectories (monorepos, multi-module projects, etc.): mention that subdirectory CLAUDE.md files can be added for module-specific instructions (they're loaded automatically when UMMAYA works in those directories). Offer to create them if the user wants.
136
136
 
137
137
  ## Phase 5: Write CLAUDE.local.md (if user chose personal or both)
138
138
 
@@ -141,11 +141,11 @@ Write a minimal CLAUDE.local.md at the project root. This file is automatically
141
141
  **Consume \`note\` entries from the Phase 3 preference queue whose target is CLAUDE.local.md** (personal-level notes) — add each as a concise line. If the user chose personal-only in Phase 1, this is the sole consumer of note entries.
142
142
 
143
143
  Include:
144
- - The user's role and familiarity with the codebase (so Claude can calibrate explanations)
144
+ - The user's role and familiarity with the codebase (so UMMAYA can calibrate explanations)
145
145
  - Personal sandbox URLs, test accounts, or local setup details
146
146
  - Personal workflow or communication preferences
147
147
 
148
- Keep it short — only include what would make Claude's responses noticeably better for this user.
148
+ Keep it short — only include what would make UMMAYA's responses noticeably better for this user.
149
149
 
150
150
  If Phase 2 found multiple git worktrees and the user confirmed they use sibling/external worktrees (not nested inside the main repo): the upward file walk won't find a single CLAUDE.local.md from all worktrees. Write the actual personal content to \`~/.claude/<project-name>-instructions.md\` and make CLAUDE.local.md a one-line stub that imports it: \`@~/.claude/<project-name>-instructions.md\`. The user can copy this one-line stub to each sibling worktree. Never put this import in the project CLAUDE.md. If worktrees are nested inside the main repo (e.g., \`.claude/worktrees/\`), no special handling is needed — the main repo's CLAUDE.local.md is found automatically.
151
151
 
@@ -153,7 +153,7 @@ If CLAUDE.local.md already exists: read it, propose specific additions, and do n
153
153
 
154
154
  ## Phase 6: Suggest and create skills (if user chose "Skills + hooks" or "Skills only")
155
155
 
156
- Skills add capabilities Claude can use on demand without bloating every session.
156
+ Skills add capabilities UMMAYA can use on demand without bloating every session.
157
157
 
158
158
  **First, consume \`skill\` entries from the Phase 3 preference queue.** Each queued skill preference becomes a SKILL.md tailored to what the user described. For each:
159
159
  - Name it from the preference (e.g., "verify-deep", "session-report", "deploy-sandbox")
@@ -176,10 +176,10 @@ name: <skill-name>
176
176
  description: <what the skill does and when to use it>
177
177
  ---
178
178
 
179
- <Instructions for Claude>
179
+ <Instructions for UMMAYA>
180
180
  \`\`\`
181
181
 
182
- Both the user (\`/<skill-name>\`) and Claude can invoke skills by default. For workflows with side effects (e.g., \`/deploy\`, \`/fix-issue 123\`), add \`disable-model-invocation: true\` so only the user can trigger it, and use \`$ARGUMENTS\` to accept input.
182
+ Both the user (\`/<skill-name>\`) and UMMAYA can invoke skills by default. For workflows with side effects (e.g., \`/deploy\`, \`/fix-issue 123\`), add \`disable-model-invocation: true\` so only the user can trigger it, and use \`$ARGUMENTS\` to accept input.
183
183
 
184
184
  ## Phase 7: Suggest additional optimizations
185
185
 
@@ -187,9 +187,9 @@ Tell the user you're going to suggest a few additional optimizations now that CL
187
187
 
188
188
  Check the environment and ask about each gap you find (use AskUserQuestion):
189
189
 
190
- - **GitHub CLI**: Run \`which gh\` (or \`where gh\` on Windows). If it's missing AND the project uses GitHub (check \`git remote -v\` for github.com), ask the user if they want to install it. Explain that the GitHub CLI lets Claude help with commits, pull requests, issues, and code review directly.
190
+ - **GitHub CLI**: Run \`which gh\` (or \`where gh\` on Windows). If it's missing AND the project uses GitHub (check \`git remote -v\` for github.com), ask the user if they want to install it. Explain that the GitHub CLI lets UMMAYA help with commits, pull requests, issues, and code review directly.
191
191
 
192
- - **Linting**: If Phase 2 found no lint config (no .eslintrc, ruff.toml, .golangci.yml, etc. for the project's language), ask the user if they want Claude to set up linting for this codebase. Explain that linting catches issues early and gives Claude fast feedback on its own edits.
192
+ - **Linting**: If Phase 2 found no lint config (no .eslintrc, ruff.toml, .golangci.yml, etc. for the project's language), ask the user if they want UMMAYA to set up linting for this codebase. Explain that linting catches issues early and gives UMMAYA fast feedback on its own edits.
193
193
 
194
194
  - **Proposal-sourced hooks** (if user chose "Skills + hooks" or "Hooks only"): Consume \`hook\` entries from the Phase 3 preference queue. If Phase 2 found a formatter and the queue has no formatting hook, offer format-on-edit as a fallback. If the user chose "Neither" or "Skills only" in Phase 1, skip this bullet entirely.
195
195
 
@@ -199,9 +199,9 @@ Check the environment and ask about each gap you find (use AskUserQuestion):
199
199
 
200
200
  2. Pick the event and matcher from the preference:
201
201
  - "after every edit" → \`PostToolUse\` with matcher \`Write|Edit\`
202
- - "when Claude finishes" / "before I review" → \`Stop\` event (fires at the end of every turn — including read-only ones)
202
+ - "when UMMAYA finishes" / "before I review" → \`Stop\` event (fires at the end of every turn — including read-only ones)
203
203
  - "before running bash" → \`PreToolUse\` with matcher \`Bash\`
204
- - "before committing" (literal git-commit gate) → **not a hooks.json hook.** Matchers can't filter Bash by command content, so there's no way to target only \`git commit\`. Route this to a git pre-commit hook (\`.git/hooks/pre-commit\`, husky, pre-commit framework) instead — offer to write one. If the user actually means "before I review and commit Claude's output", that's \`Stop\` — probe to disambiguate.
204
+ - "before committing" (literal git-commit gate) → **not a hooks.json hook.** Matchers can't filter Bash by command content, so there's no way to target only \`git commit\`. Route this to a git pre-commit hook (\`.git/hooks/pre-commit\`, husky, pre-commit framework) instead — offer to write one. If the user actually means "before I review and commit UMMAYA's output", that's \`Stop\` — probe to disambiguate.
205
205
  Probe if the preference is ambiguous.
206
206
 
207
207
  3. **Load the hook reference** (once per \`/init\` run, before the first hook): invoke the Skill tool with \`skill: 'update-config'\` and args starting with \`[hooks-only]\` followed by a one-line summary of what you're building — e.g., \`[hooks-only] Constructing a PostToolUse/Write|Edit format hook for .claude/settings.json using ruff\`. This loads the hooks schema and verification flow into context. Subsequent hooks reuse it — don't re-invoke.
@@ -214,13 +214,13 @@ Act on each "yes" before moving on.
214
214
 
215
215
  Recap what was set up — which files were written and the key points included in each. Remind the user these files are a starting point: they should review and tweak them, and can run \`/init\` again anytime to re-scan.
216
216
 
217
- Then tell the user that you'll be introducing a few more suggestions for optimizing their codebase and Claude Code setup based on what you found. Present these as a single, well-formatted to-do list where every item is relevant to this repo. Put the most impactful items first.
217
+ Then tell the user that you'll be introducing a few more suggestions for optimizing their codebase and UMMAYA setup based on what you found. Present these as a single, well-formatted to-do list where every item is relevant to this repo. Put the most impactful items first.
218
218
 
219
219
  When building the list, work through these checks and include only what applies:
220
- - If frontend code was detected (React, Vue, Svelte, etc.): \`/plugin install frontend-design@claude-plugins-official\` gives Claude design principles and component patterns so it produces polished UI; \`/plugin install playwright@claude-plugins-official\` lets Claude launch a real browser, screenshot what it built, and fix visual bugs itself.
220
+ - If frontend code was detected (React, Vue, Svelte, etc.): \`/plugin install frontend-design@claude-plugins-official\` gives UMMAYA design principles and component patterns so it produces polished UI; \`/plugin install playwright@claude-plugins-official\` lets UMMAYA launch a real browser, screenshot what it built, and fix visual bugs itself.
221
221
  - If you found gaps in Phase 7 (missing GitHub CLI, missing linting) and the user said no: list them here with a one-line reason why each helps.
222
- - If tests are missing or sparse: suggest setting up a test framework so Claude can verify its own changes.
223
- - To help you create skills and optimize existing skills using evals, Claude Code has an official skill-creator plugin you can install. Install it with \`/plugin install skill-creator@claude-plugins-official\`, then run \`/skill-creator <skill-name>\` to create new skills or refine any existing skill. (Always include this one.)
222
+ - If tests are missing or sparse: suggest setting up a test framework so UMMAYA can verify its own changes.
223
+ - To help you create skills and optimize existing skills using evals, UMMAYA has an official skill-creator plugin you can install. Install it with \`/plugin install skill-creator@claude-plugins-official\`, then run \`/skill-creator <skill-name>\` to create new skills or refine any existing skill. (Always include this one.)
224
224
  - Browse official plugins with \`/plugin\` — these bundle skills, agents, hooks, and MCP servers that you may find helpful. You can also create your own custom plugins to share them with others. (Always include this one.)`
225
225
 
226
226
  const command = {
@@ -230,8 +230,8 @@ const command = {
230
230
  return feature('NEW_INIT') &&
231
231
  (process.env.USER_TYPE === 'ant' ||
232
232
  isEnvTruthy(process.env.CLAUDE_CODE_NEW_INIT))
233
- ? 'Initialize new CLAUDE.md file(s) and optional skills/hooks with codebase documentation'
234
- : 'Initialize a new CLAUDE.md file with codebase documentation'
233
+ ? 'Initialize new UMMAYA memory file(s) and optional skills/hooks with codebase documentation'
234
+ : 'Initialize a new UMMAYA memory file with codebase documentation'
235
235
  },
236
236
  contentLength: 0, // Dynamic content
237
237
  progressMessage: 'analyzing your codebase',
@@ -14,7 +14,7 @@ import {
14
14
  import { tmpdir } from 'os'
15
15
  import { extname, join } from 'path'
16
16
  import type { Command } from '../commands.js'
17
- import { queryWithModel } from '../services/api/claude.js'
17
+ import { queryWithModel } from '../services/api/ummaya.js'
18
18
  import {
19
19
  AGENT_TOOL_NAME,
20
20
  LEGACY_AGENT_TOOL_NAME,
@@ -377,7 +377,7 @@ const LABEL_MAP: Record<string, string> = {
377
377
  wrong_approach: 'Wrong Approach',
378
378
  buggy_code: 'Buggy Code',
379
379
  user_rejected_action: 'User Rejected Action',
380
- claude_got_blocked: 'Claude Got Blocked',
380
+ claude_got_blocked: 'UMMAYA Got Blocked',
381
381
  user_stopped_early: 'User Stopped Early',
382
382
  wrong_file_or_location: 'Wrong File/Location',
383
383
  excessive_changes: 'Excessive Changes',
@@ -427,13 +427,13 @@ function getSessionMetaDir(): string {
427
427
  return join(getDataDir(), 'session-meta')
428
428
  }
429
429
 
430
- const FACET_EXTRACTION_PROMPT = `Analyze this Claude Code session and extract structured facets.
430
+ const FACET_EXTRACTION_PROMPT = `Analyze this UMMAYA session and extract structured facets.
431
431
 
432
432
  CRITICAL GUIDELINES:
433
433
 
434
434
  1. **goal_categories**: Count ONLY what the USER explicitly asked for.
435
- - DO NOT count Claude's autonomous codebase exploration
436
- - DO NOT count work Claude decided to do on its own
435
+ - DO NOT count UMMAYA's autonomous codebase exploration
436
+ - DO NOT count work UMMAYA decided to do on its own
437
437
  - ONLY count when user says "can you...", "please...", "I need...", "let's..."
438
438
 
439
439
  2. **user_satisfaction_counts**: Base ONLY on explicit user signals.
@@ -444,7 +444,7 @@ CRITICAL GUIDELINES:
444
444
  - "this is broken", "I give up" → frustrated
445
445
 
446
446
  3. **friction_counts**: Be specific about what went wrong.
447
- - misunderstood_request: Claude interpreted incorrectly
447
+ - misunderstood_request: UMMAYA interpreted incorrectly
448
448
  - wrong_approach: Right goal, wrong solution method
449
449
  - buggy_code: Code didn't work correctly
450
450
  - user_rejected_action: User said no/stop to a tool call
@@ -867,9 +867,9 @@ function formatTranscriptForFacets(log: LogOption): string {
867
867
  return lines.join('\n')
868
868
  }
869
869
 
870
- const SUMMARIZE_CHUNK_PROMPT = `Summarize this portion of a Claude Code session transcript. Focus on:
870
+ const SUMMARIZE_CHUNK_PROMPT = `Summarize this portion of a UMMAYA session transcript. Focus on:
871
871
  1. What the user asked for
872
- 2. What Claude did (tools used, files modified)
872
+ 2. What UMMAYA did (tools used, files modified)
873
873
  3. Any friction or issues
874
874
  4. The outcome
875
875
 
@@ -1055,7 +1055,7 @@ RESPOND WITH ONLY A VALID JSON OBJECT matching this schema:
1055
1055
  }
1056
1056
 
1057
1057
  /**
1058
- * Detects multi-clauding (using multiple Claude sessions concurrently).
1058
+ * Detects parallel-session usage (using multiple UMMAYA sessions concurrently).
1059
1059
  * Uses a sliding window to find the pattern: session1 -> session2 -> session1
1060
1060
  * within a 30-minute window.
1061
1061
  */
@@ -1336,12 +1336,12 @@ type InsightSection = {
1336
1336
  const INSIGHT_SECTIONS: InsightSection[] = [
1337
1337
  {
1338
1338
  name: 'project_areas',
1339
- prompt: `Analyze this Claude Code usage data and identify project areas.
1339
+ prompt: `Analyze this UMMAYA usage data and identify project areas.
1340
1340
 
1341
1341
  RESPOND WITH ONLY A VALID JSON OBJECT:
1342
1342
  {
1343
1343
  "areas": [
1344
- {"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how Claude Code was used."}
1344
+ {"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how UMMAYA was used."}
1345
1345
  ]
1346
1346
  }
1347
1347
 
@@ -1350,18 +1350,18 @@ Include 4-5 areas. Skip internal CC operations.`,
1350
1350
  },
1351
1351
  {
1352
1352
  name: 'interaction_style',
1353
- prompt: `Analyze this Claude Code usage data and describe the user's interaction style.
1353
+ prompt: `Analyze this UMMAYA usage data and describe the user's interaction style.
1354
1354
 
1355
1355
  RESPOND WITH ONLY A VALID JSON OBJECT:
1356
1356
  {
1357
- "narrative": "2-3 paragraphs analyzing HOW the user interacts with Claude Code. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let Claude run? Include specific examples. Use **bold** for key insights.",
1357
+ "narrative": "2-3 paragraphs analyzing HOW the user interacts with UMMAYA. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let UMMAYA run? Include specific examples. Use **bold** for key insights.",
1358
1358
  "key_pattern": "One sentence summary of most distinctive interaction style"
1359
1359
  }`,
1360
1360
  maxTokens: 8192,
1361
1361
  },
1362
1362
  {
1363
1363
  name: 'what_works',
1364
- prompt: `Analyze this Claude Code usage data and identify what's working well for this user. Use second person ("you").
1364
+ prompt: `Analyze this UMMAYA usage data and identify what's working well for this user. Use second person ("you").
1365
1365
 
1366
1366
  RESPOND WITH ONLY A VALID JSON OBJECT:
1367
1367
  {
@@ -1376,7 +1376,7 @@ Include 3 impressive workflows.`,
1376
1376
  },
1377
1377
  {
1378
1378
  name: 'friction_analysis',
1379
- prompt: `Analyze this Claude Code usage data and identify friction points for this user. Use second person ("you").
1379
+ prompt: `Analyze this UMMAYA usage data and identify friction points for this user. Use second person ("you").
1380
1380
 
1381
1381
  RESPOND WITH ONLY A VALID JSON OBJECT:
1382
1382
  {
@@ -1391,10 +1391,10 @@ Include 3 friction categories with 2 examples each.`,
1391
1391
  },
1392
1392
  {
1393
1393
  name: 'suggestions',
1394
- prompt: `Analyze this Claude Code usage data and suggest improvements.
1394
+ prompt: `Analyze this UMMAYA usage data and suggest improvements.
1395
1395
 
1396
1396
  ## CC FEATURES REFERENCE (pick from these for features_to_try):
1397
- 1. **MCP Servers**: Connect Claude to external tools, databases, and APIs via Model Context Protocol.
1397
+ 1. **MCP Servers**: Connect UMMAYA to external tools, databases, and APIs via Model Context Protocol.
1398
1398
  - How to use: Run \`claude mcp add <server-name> -- <command>\`
1399
1399
  - Good for: database queries, Slack integration, GitHub issue lookup, connecting to internal APIs
1400
1400
 
@@ -1406,12 +1406,12 @@ Include 3 friction categories with 2 examples each.`,
1406
1406
  - How to use: Add to \`.claude/settings.json\` under "hooks" key.
1407
1407
  - Good for: auto-formatting code, running type checks, enforcing conventions
1408
1408
 
1409
- 4. **Headless Mode**: Run Claude non-interactively from scripts and CI/CD.
1409
+ 4. **Headless Mode**: Run UMMAYA non-interactively from scripts and CI/CD.
1410
1410
  - How to use: \`claude -p "fix lint errors" --allowedTools "Edit,Read,Bash"\`
1411
1411
  - Good for: CI/CD integration, batch code fixes, automated reviews
1412
1412
 
1413
- 5. **Task Agents**: Claude spawns focused sub-agents for complex exploration or parallel work.
1414
- - How to use: Claude auto-invokes when helpful, or ask "use an agent to explore X"
1413
+ 5. **Task Agents**: UMMAYA spawns focused sub-agents for complex exploration or parallel work.
1414
+ - How to use: UMMAYA auto-invokes when helpful, or ask "use an agent to explore X"
1415
1415
  - Good for: codebase exploration, understanding complex systems
1416
1416
 
1417
1417
  RESPOND WITH ONLY A VALID JSON OBJECT:
@@ -1427,14 +1427,14 @@ RESPOND WITH ONLY A VALID JSON OBJECT:
1427
1427
  ]
1428
1428
  }
1429
1429
 
1430
- IMPORTANT for claude_md_additions: PRIORITIZE instructions that appear MULTIPLE TIMES in the user data. If user told Claude the same thing in 2+ sessions (e.g., 'always run tests', 'use TypeScript'), that's a PRIME candidate - they shouldn't have to repeat themselves.
1430
+ IMPORTANT for claude_md_additions: PRIORITIZE instructions that appear MULTIPLE TIMES in the user data. If user told UMMAYA the same thing in 2+ sessions (e.g., 'always run tests', 'use TypeScript'), that's a PRIME candidate - they shouldn't have to repeat themselves.
1431
1431
 
1432
1432
  IMPORTANT for features_to_try: Pick 2-3 from the CC FEATURES REFERENCE above. Include 2-3 items for each category.`,
1433
1433
  maxTokens: 8192,
1434
1434
  },
1435
1435
  {
1436
1436
  name: 'on_the_horizon',
1437
- prompt: `Analyze this Claude Code usage data and identify future opportunities.
1437
+ prompt: `Analyze this UMMAYA usage data and identify future opportunities.
1438
1438
 
1439
1439
  RESPOND WITH ONLY A VALID JSON OBJECT:
1440
1440
  {
@@ -1451,7 +1451,7 @@ Include 3 opportunities. Think BIG - autonomous workflows, parallel agents, iter
1451
1451
  ? [
1452
1452
  {
1453
1453
  name: 'cc_team_improvements',
1454
- prompt: `Analyze this Claude Code usage data and suggest product improvements for the CC team.
1454
+ prompt: `Analyze this UMMAYA usage data and suggest product improvements for the UMMAYA team.
1455
1455
 
1456
1456
  RESPOND WITH ONLY A VALID JSON OBJECT:
1457
1457
  {
@@ -1465,7 +1465,7 @@ Include 2-3 improvements based on friction patterns observed.`,
1465
1465
  },
1466
1466
  {
1467
1467
  name: 'model_behavior_improvements',
1468
- prompt: `Analyze this Claude Code usage data and suggest model behavior improvements.
1468
+ prompt: `Analyze this UMMAYA usage data and suggest model behavior improvements.
1469
1469
 
1470
1470
  RESPOND WITH ONLY A VALID JSON OBJECT:
1471
1471
  {
@@ -1481,7 +1481,7 @@ Include 2-3 improvements based on friction patterns observed.`,
1481
1481
  : []),
1482
1482
  {
1483
1483
  name: 'fun_ending',
1484
- prompt: `Analyze this Claude Code usage data and find a memorable moment.
1484
+ prompt: `Analyze this UMMAYA usage data and find a memorable moment.
1485
1485
 
1486
1486
  RESPOND WITH ONLY A VALID JSON OBJECT:
1487
1487
  {
@@ -1735,15 +1735,15 @@ async function generateParallelInsights(
1735
1735
  .join('\n') || ''
1736
1736
 
1737
1737
  // Now generate "At a Glance" with access to other sections' outputs
1738
- const atAGlancePrompt = `You're writing an "At a Glance" summary for a Claude Code usage insights report for Claude Code users. The goal is to help them understand their usage and improve how they can use Claude better, especially as models improve.
1738
+ const atAGlancePrompt = `You're writing an "At a Glance" summary for a UMMAYA usage insights report for UMMAYA users. The goal is to help them understand their usage and improve how they can use UMMAYA better, especially as models improve.
1739
1739
 
1740
1740
  Use this 4-part structure:
1741
1741
 
1742
- 1. **What's working** - What is the user's unique style of interacting with Claude and what are some impactful things they've done? You can include one or two details, but keep it high level since things might not be fresh in the user's memory. Don't be fluffy or overly complimentary. Also, don't focus on the tool calls they use.
1742
+ 1. **What's working** - What is the user's unique style of interacting with UMMAYA and what are some impactful things they've done? You can include one or two details, but keep it high level since things might not be fresh in the user's memory. Don't be fluffy or overly complimentary. Also, don't focus on the tool calls they use.
1743
1743
 
1744
- 2. **What's hindering you** - Split into (a) Claude's fault (misunderstandings, wrong approaches, bugs) and (b) user-side friction (not providing enough context, environment issues -- ideally more general than just one project). Be honest but constructive.
1744
+ 2. **What's hindering you** - Split into (a) UMMAYA's fault (misunderstandings, wrong approaches, bugs) and (b) user-side friction (not providing enough context, environment issues -- ideally more general than just one project). Be honest but constructive.
1745
1745
 
1746
- 3. **Quick wins to try** - Specific Claude Code features they could try from the examples below, or a workflow technique if you think it's really compelling. (Avoid stuff like "Ask Claude to confirm before taking actions" or "Type out more context up front" which are less compelling.)
1746
+ 3. **Quick wins to try** - Specific UMMAYA features they could try from the examples below, or a workflow technique if you think it's really compelling. (Avoid stuff like "Ask UMMAYA to confirm before taking actions" or "Type out more context up front" which are less compelling.)
1747
1747
 
1748
1748
  4. **Ambitious workflows for better models** - As we move to much more capable models over the next 3-6 months, what should they prepare for? What workflows that seem impossible now will become possible? Draw from the appropriate section below.
1749
1749
 
@@ -2006,7 +2006,7 @@ function generateHtmlReport(
2006
2006
  const interactionStyle = insights.interaction_style
2007
2007
  const interactionHtml = interactionStyle?.narrative
2008
2008
  ? `
2009
- <h2 id="section-usage">How You Use Claude Code</h2>
2009
+ <h2 id="section-usage">How You Use UMMAYA</h2>
2010
2010
  <div class="narrative">
2011
2011
  ${markdownToHtml(interactionStyle.narrative)}
2012
2012
  ${interactionStyle.key_pattern ? `<div class="key-insight"><strong>Key pattern:</strong> ${escapeHtml(interactionStyle.key_pattern)}</div>` : ''}
@@ -2070,7 +2070,7 @@ function generateHtmlReport(
2070
2070
  <h2 id="section-features">Existing CC Features to Try</h2>
2071
2071
  <div class="claude-md-section">
2072
2072
  <h3>Suggested CLAUDE.md Additions</h3>
2073
- <p style="font-size: 12px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code to add it to your CLAUDE.md.</p>
2073
+ <p style="font-size: 12px; color: #64748b; margin-bottom: 12px;">Just copy this into UMMAYA to add it to your memory file.</p>
2074
2074
  <div class="claude-md-actions">
2075
2075
  <button class="copy-all-btn" onclick="copyAllCheckedClaudeMd()">Copy All Checked</button>
2076
2076
  </div>
@@ -2095,7 +2095,7 @@ function generateHtmlReport(
2095
2095
  ${
2096
2096
  suggestions.features_to_try && suggestions.features_to_try.length > 0
2097
2097
  ? `
2098
- <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code and it'll set it up for you.</p>
2098
+ <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into UMMAYA and it'll set it up for you.</p>
2099
2099
  <div class="features-section">
2100
2100
  ${suggestions.features_to_try
2101
2101
  .map(
@@ -2129,8 +2129,8 @@ function generateHtmlReport(
2129
2129
  ${
2130
2130
  suggestions.usage_patterns && suggestions.usage_patterns.length > 0
2131
2131
  ? `
2132
- <h2 id="section-patterns">New Ways to Use Claude Code</h2>
2133
- <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code and it'll walk you through it.</p>
2132
+ <h2 id="section-patterns">New Ways to Use UMMAYA</h2>
2133
+ <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into UMMAYA and it'll walk you through it.</p>
2134
2134
  <div class="patterns-section">
2135
2135
  ${suggestions.usage_patterns
2136
2136
  .map(
@@ -2143,7 +2143,7 @@ function generateHtmlReport(
2143
2143
  pat.copyable_prompt
2144
2144
  ? `
2145
2145
  <div class="copyable-prompt-section">
2146
- <div class="prompt-label">Paste into Claude Code:</div>
2146
+ <div class="prompt-label">Paste into UMMAYA:</div>
2147
2147
  <div class="copyable-prompt-row">
2148
2148
  <code class="copyable-prompt">${escapeHtml(pat.copyable_prompt)}</code>
2149
2149
  <button class="copy-btn" onclick="copyText(this)">Copy</button>
@@ -2178,7 +2178,7 @@ function generateHtmlReport(
2178
2178
  <div class="horizon-title">${escapeHtml(opp.title || '')}</div>
2179
2179
  <div class="horizon-possible">${escapeHtml(opp.whats_possible || '')}</div>
2180
2180
  ${opp.how_to_try ? `<div class="horizon-tip"><strong>Getting started:</strong> ${escapeHtml(opp.how_to_try)}</div>` : ''}
2181
- ${opp.copyable_prompt ? `<div class="pattern-prompt"><div class="prompt-label">Paste into Claude Code:</div><code>${escapeHtml(opp.copyable_prompt)}</code><button class="copy-btn" onclick="copyText(this)">Copy</button></div>` : ''}
2181
+ ${opp.copyable_prompt ? `<div class="pattern-prompt"><div class="prompt-label">Paste into UMMAYA:</div><code>${escapeHtml(opp.copyable_prompt)}</code><button class="copy-btn" onclick="copyText(this)">Copy</button></div>` : ''}
2182
2182
  </div>
2183
2183
  `,
2184
2184
  )
@@ -2485,13 +2485,13 @@ function generateHtmlReport(
2485
2485
  <html>
2486
2486
  <head>
2487
2487
  <meta charset="utf-8">
2488
- <title>Claude Code Insights</title>
2488
+ <title>UMMAYA Insights</title>
2489
2489
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
2490
2490
  <style>${css}</style>
2491
2491
  </head>
2492
2492
  <body>
2493
2493
  <div class="container">
2494
- <h1>Claude Code Insights</h1>
2494
+ <h1>UMMAYA Insights</h1>
2495
2495
  <p class="subtitle">${data.total_messages.toLocaleString()} messages across ${data.total_sessions} sessions${data.total_sessions_scanned && data.total_sessions_scanned > data.total_sessions ? ` (${data.total_sessions_scanned.toLocaleString()} total)` : ''} | ${data.date_range.start} to ${data.date_range.end}</p>
2496
2496
 
2497
2497
  ${atAGlanceHtml}
@@ -2557,7 +2557,7 @@ function generateHtmlReport(
2557
2557
  data.multi_clauding.overlap_events === 0
2558
2558
  ? `
2559
2559
  <p style="font-size: 14px; color: #64748b; padding: 8px 0;">
2560
- No parallel session usage detected. You typically work with one Claude Code session at a time.
2560
+ No parallel session usage detected. You typically work with one UMMAYA session at a time.
2561
2561
  </p>
2562
2562
  `
2563
2563
  : `
@@ -2576,7 +2576,7 @@ function generateHtmlReport(
2576
2576
  </div>
2577
2577
  </div>
2578
2578
  <p style="font-size: 13px; color: #475569; margin-top: 12px;">
2579
- You run multiple Claude Code sessions simultaneously. Multi-clauding is detected when sessions
2579
+ You run multiple UMMAYA sessions simultaneously. Parallel-session usage is detected when sessions
2580
2580
  overlap in time, suggesting parallel workflows.
2581
2581
  </p>
2582
2582
  `
@@ -2610,7 +2610,7 @@ function generateHtmlReport(
2610
2610
 
2611
2611
  <div class="charts-row">
2612
2612
  <div class="chart-card">
2613
- <div class="chart-title">What Helped Most (Claude's Capabilities)</div>
2613
+ <div class="chart-title">What Helped Most (UMMAYA's Capabilities)</div>
2614
2614
  ${generateBarChart(data.success, '#16a34a')}
2615
2615
  </div>
2616
2616
  <div class="chart-card">
@@ -2994,7 +2994,7 @@ export async function generateUsageReport(options?: {
2994
2994
  const aggregated = aggregateData(substantiveSessions, substantiveFacets)
2995
2995
  aggregated.total_sessions_scanned = totalSessionsScanned
2996
2996
 
2997
- // Generate parallel insights from Claude (6 sections)
2997
+ // Generate parallel insights from UMMAYA (6 sections)
2998
2998
  const insights = await generateParallelInsights(aggregated, facets)
2999
2999
 
3000
3000
  // Generate HTML report
@@ -3141,7 +3141,7 @@ ${atAGlance.quick_wins ? `**Quick wins to try:** ${atAGlance.quick_wins} See _Fe
3141
3141
  ${atAGlance.ambitious_workflows ? `**Ambitious workflows:** ${atAGlance.ambitious_workflows} See _On the Horizon_.` : ''}`
3142
3142
  : '_No insights generated_'
3143
3143
 
3144
- const header = `# Claude Code Insights
3144
+ const header = `# UMMAYA Insights
3145
3145
 
3146
3146
  ${stats}
3147
3147
  ${data.date_range.start} to ${data.date_range.end}
@@ -3152,7 +3152,7 @@ ${remoteInfo}
3152
3152
 
3153
3153
  Your full shareable insights report is ready: ${reportUrl}${uploadHint}`
3154
3154
 
3155
- // Return prompt for Claude to respond to
3155
+ // Return prompt for UMMAYA to respond to
3156
3156
  return [
3157
3157
  {
3158
3158
  type: 'text',