@adecore/agents-react 0.31.12 → 0.33.0
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 +1 -1
- package/dist/agents/AccountDot.js +57 -6
- package/dist/agents/AgentIcon.js +88 -12
- package/dist/agents/ModelOptionControl.js +153 -18
- package/dist/agents/ProviderLogo.js +49 -4
- package/dist/agents/account-limits.js +17 -14
- package/dist/agents/accounts.js +99 -67
- package/dist/agents/agent-marks.js +5 -3
- package/dist/agents/model-name.js +42 -31
- package/dist/agents/model-options.js +8 -8
- package/dist/agents/model-requirement.js +17 -14
- package/dist/agents/option-words.d.ts +7 -0
- package/dist/agents/option-words.js +35 -0
- package/dist/agents/provider-paths.js +6 -6
- package/dist/agents/status-look.js +32 -12
- package/dist/chat/account-choice.d.ts +13 -0
- package/dist/chat/account-choice.js +90 -20
- package/dist/chat/actions.js +126 -59
- package/dist/chat/activity.js +5 -5
- package/dist/chat/attachments.js +74 -53
- package/dist/chat/bookmarks.js +58 -48
- package/dist/chat/chat-client.js +344 -263
- package/dist/chat/chat-references.js +3 -3
- package/dist/chat/composer-effort.d.ts +5 -0
- package/dist/chat/composer-effort.js +26 -0
- package/dist/chat/composer-send.js +13 -13
- package/dist/chat/drafts.js +115 -79
- package/dist/chat/forks.js +81 -24
- package/dist/chat/guards.js +15 -43
- package/dist/chat/index.d.ts +3 -1
- package/dist/chat/index.js +3 -2
- package/dist/chat/logic/ansi.js +170 -167
- package/dist/chat/logic/answers.js +2 -2
- package/dist/chat/logic/bookmarks.js +19 -19
- package/dist/chat/logic/command-looks.js +138 -96
- package/dist/chat/logic/context-usage.js +13 -9
- package/dist/chat/logic/continue-after-stop.js +15 -19
- package/dist/chat/logic/effort.d.ts +14 -0
- package/dist/chat/logic/effort.js +34 -0
- package/dist/chat/logic/embedded-code.js +387 -326
- package/dist/chat/logic/fork.js +134 -110
- package/dist/chat/logic/generated-image.js +54 -23
- package/dist/chat/logic/goal.js +28 -20
- package/dist/chat/logic/handback.js +6 -6
- package/dist/chat/logic/json.js +2 -2
- package/dist/chat/logic/limit.js +46 -30
- package/dist/chat/logic/picker-entries.d.ts +5 -3
- package/dist/chat/logic/picker-entries.js +83 -43
- package/dist/chat/logic/resume-compaction.d.ts +14 -1
- package/dist/chat/logic/resume-compaction.js +93 -24
- package/dist/chat/logic/scrubber.js +188 -136
- package/dist/chat/logic/thought.js +13 -16
- package/dist/chat/logic/thread-cards.js +60 -48
- package/dist/chat/logic/timeline-copy.js +30 -38
- package/dist/chat/logic/timeline-target.js +92 -63
- package/dist/chat/logic/timeline.js +499 -355
- package/dist/chat/logic/tool-catalog.js +54 -34
- package/dist/chat/logic/tools.js +106 -82
- package/dist/chat/logic/visual-height.js +18 -18
- package/dist/chat/logic/visual-viewport.js +6 -3
- package/dist/chat/logic/welcome.js +9 -9
- package/dist/chat/logic/workflow.d.ts +10 -0
- package/dist/chat/logic/workflow.js +130 -32
- package/dist/chat/mentions.js +149 -109
- package/dist/chat/persisted-json.js +51 -54
- package/dist/chat/preferences.d.ts +4 -0
- package/dist/chat/preferences.js +162 -84
- package/dist/chat/prompt-hold.js +9 -9
- package/dist/chat/quote.js +21 -30
- package/dist/chat/reading-width.js +12 -10
- package/dist/chat/recent-messages.js +34 -21
- package/dist/chat/resume-compaction-dismissals.js +25 -5
- package/dist/chat/runtime-modes.js +3 -3
- package/dist/chat/send-key.js +11 -7
- package/dist/chat/stash.js +89 -69
- package/dist/chat/subagent-conversation.js +181 -139
- package/dist/chat/subagent-list.js +65 -67
- package/dist/chat/subagent-support.js +12 -7
- package/dist/chat/subagent-view.js +132 -44
- package/dist/chat/thumbnails.js +88 -60
- package/dist/chat/timeline-flash.js +24 -12
- package/dist/chat/timeline-scroll.js +116 -86
- package/dist/chat/ui/AccountPill.js +126 -15
- package/dist/chat/ui/AnsiOutput.js +62 -6
- package/dist/chat/ui/BookmarkMarker.js +231 -41
- package/dist/chat/ui/BookmarkSubmenu.js +165 -18
- package/dist/chat/ui/ChatActivity.js +649 -70
- package/dist/chat/ui/ChatReferenceChip.js +104 -9
- package/dist/chat/ui/CodeBlock.js +132 -58
- package/dist/chat/ui/Composer.js +866 -132
- package/dist/chat/ui/ComposerInput.js +309 -120
- package/dist/chat/ui/DiffPool.js +75 -14
- package/dist/chat/ui/EditDiff.js +160 -21
- package/dist/chat/ui/FadingWords.js +32 -3
- package/dist/chat/ui/GoalDock.js +235 -42
- package/dist/chat/ui/ImageView.js +617 -61
- package/dist/chat/ui/LimitState.js +446 -72
- package/dist/chat/ui/Markdown.js +991 -173
- package/dist/chat/ui/MermaidBlock.js +285 -79
- package/dist/chat/ui/MessageActions.js +251 -39
- package/dist/chat/ui/ModelMarks.js +55 -5
- package/dist/chat/ui/Pickers.js +664 -113
- package/dist/chat/ui/PromptComposer.js +281 -51
- package/dist/chat/ui/QuoteButton.js +151 -57
- package/dist/chat/ui/ResumeCompactionDock.d.ts +6 -2
- package/dist/chat/ui/ResumeCompactionDock.js +141 -6
- package/dist/chat/ui/RowTime.js +59 -5
- package/dist/chat/ui/RunSettings.js +1744 -154
- package/dist/chat/ui/Scrubber.js +517 -88
- package/dist/chat/ui/ShellCommand.js +183 -107
- package/dist/chat/ui/SubagentControls.js +212 -24
- package/dist/chat/ui/SubagentInfo.js +170 -13
- package/dist/chat/ui/SubagentStopButton.js +115 -24
- package/dist/chat/ui/SubagentTimeline.js +357 -91
- package/dist/chat/ui/Timeline.js +988 -476
- package/dist/chat/ui/TimelineMenu.js +552 -37
- package/dist/chat/ui/UnifiedDiff.js +234 -27
- package/dist/chat/ui/UploadThumb.js +37 -7
- package/dist/chat/ui/VisualDialogs.js +251 -20
- package/dist/chat/ui/VisualFrame.js +321 -95
- package/dist/chat/ui/Welcome.js +72 -7
- package/dist/chat/ui/chips.js +1 -1
- package/dist/chat/ui/code-lines.js +36 -36
- package/dist/chat/ui/code-streaming.js +1 -1
- package/dist/chat/ui/code-theme.js +7 -7
- package/dist/chat/ui/composer/ComposerControls.js +329 -21
- package/dist/chat/ui/composer/ComposerMenu.js +358 -30
- package/dist/chat/ui/composer/DraftParts.js +185 -11
- package/dist/chat/ui/composer/QueuedMessages.js +138 -13
- package/dist/chat/ui/composer/chips.js +29 -19
- package/dist/chat/ui/composer/editor.js +79 -63
- package/dist/chat/ui/composer/insert.js +26 -12
- package/dist/chat/ui/composer/key-handler.js +180 -127
- package/dist/chat/ui/composer/keys.js +90 -73
- package/dist/chat/ui/composer/menu-aria.js +18 -9
- package/dist/chat/ui/composer/placeholder.js +78 -31
- package/dist/chat/ui/composer/surface.js +13 -37
- package/dist/chat/ui/composer/use-chat-controls.js +230 -90
- package/dist/chat/ui/composer/use-compaction-offer.js +50 -18
- package/dist/chat/ui/composer/use-composer-draft.js +65 -34
- package/dist/chat/ui/composer/use-composer-menus.js +478 -193
- package/dist/chat/ui/composer/use-composer-submit.js +251 -109
- package/dist/chat/ui/composer/use-continuable-turn.js +33 -6
- package/dist/chat/ui/composer/use-draft-files.js +245 -93
- package/dist/chat/ui/composer/use-effort-stepper.d.ts +13 -0
- package/dist/chat/ui/composer/use-effort-stepper.js +88 -0
- package/dist/chat/ui/composer/use-notice.js +61 -16
- package/dist/chat/ui/composer/use-pending-requests.js +38 -17
- package/dist/chat/ui/composer/use-prompt-history.js +117 -45
- package/dist/chat/ui/composer/use-prompt-hold.js +119 -35
- package/dist/chat/ui/composer/use-take-back.js +94 -72
- package/dist/chat/ui/diff/ApprovalReview.js +101 -23
- package/dist/chat/ui/diff/DiffFallbackBoundary.js +21 -13
- package/dist/chat/ui/diff/DiffOmitted.js +56 -6
- package/dist/chat/ui/diff/DiffStack.js +92 -8
- package/dist/chat/ui/diff/DiffUnavailable.js +56 -6
- package/dist/chat/ui/diff/EditorEditDiff.js +263 -51
- package/dist/chat/ui/diff/EditorPatchDiff.js +39 -14
- package/dist/chat/ui/diff/LegacyDiffPool.js +27 -10
- package/dist/chat/ui/diff/LegacyEditDiff.js +97 -20
- package/dist/chat/ui/diff/LegacyUnifiedDiff.js +172 -42
- package/dist/chat/ui/diff/RawDiff.js +65 -5
- package/dist/chat/ui/diff/ReviewDiff.js +77 -5
- package/dist/chat/ui/diff/diff-props.js +1 -1
- package/dist/chat/ui/diff/diff-source-budget.js +46 -35
- package/dist/chat/ui/diff/editor-edit-model.js +18 -14
- package/dist/chat/ui/diff/review-plan.js +63 -40
- package/dist/chat/ui/diff/review-settle.js +24 -9
- package/dist/chat/ui/diff/syntax-runtime.js +236 -201
- package/dist/chat/ui/diff/use-review-stack.js +146 -25
- package/dist/chat/ui/diff-syntax.js +70 -58
- package/dist/chat/ui/diff-theme.js +31 -12
- package/dist/chat/ui/file-links.js +39 -10
- package/dist/chat/ui/find-reveal.js +29 -8
- package/dist/chat/ui/full-diff.js +17 -12
- package/dist/chat/ui/highlighter.js +143 -113
- package/dist/chat/ui/icons.js +16 -7
- package/dist/chat/ui/index.js +1 -1
- package/dist/chat/ui/intelligent-ui/UiBlockFrame.js +556 -82
- package/dist/chat/ui/intelligent-ui/UiFallbackPart.js +73 -5
- package/dist/chat/ui/intelligent-ui/UiReply.js +666 -262
- package/dist/chat/ui/intelligent-ui/block-local.js +59 -31
- package/dist/chat/ui/intelligent-ui/chart-data.js +77 -67
- package/dist/chat/ui/intelligent-ui/node-text.js +77 -91
- package/dist/chat/ui/intelligent-ui/registry.js +46 -46
- package/dist/chat/ui/intelligent-ui/render-context.js +1 -1
- package/dist/chat/ui/intelligent-ui/renderers/base-land.js +1 -1
- package/dist/chat/ui/intelligent-ui/renderers/binding.js +3 -3
- package/dist/chat/ui/intelligent-ui/renderers/chart.js +1223 -123
- package/dist/chat/ui/intelligent-ui/renderers/choices.js +312 -34
- package/dist/chat/ui/intelligent-ui/renderers/content.js +1241 -86
- package/dist/chat/ui/intelligent-ui/renderers/data.js +619 -54
- package/dist/chat/ui/intelligent-ui/renderers/inputs.js +868 -67
- package/dist/chat/ui/intelligent-ui/renderers/links.js +366 -62
- package/dist/chat/ui/intelligent-ui/renderers/map-slots.js +118 -60
- package/dist/chat/ui/intelligent-ui/renderers/map-style.js +85 -78
- package/dist/chat/ui/intelligent-ui/renderers/map-view.js +282 -217
- package/dist/chat/ui/intelligent-ui/renderers/map.js +621 -69
- package/dist/chat/ui/intelligent-ui/renderers/place-point.js +15 -8
- package/dist/chat/ui/intelligent-ui/renderers/structure.js +262 -20
- package/dist/chat/ui/intelligent-ui/renderers/text.js +674 -49
- package/dist/chat/ui/intelligent-ui/reply-parts.js +24 -15
- package/dist/chat/ui/intelligent-ui/table-data.js +97 -57
- package/dist/chat/ui/intelligent-ui/tones.js +31 -31
- package/dist/chat/ui/intelligent-ui/use-in-view.js +30 -12
- package/dist/chat/ui/intelligent-ui/use-later.js +28 -13
- package/dist/chat/ui/intelligent-ui/use-truncated.js +45 -21
- package/dist/chat/ui/intelligent-ui/use-ui-links.js +296 -109
- package/dist/chat/ui/intelligent-ui/use-ui-queries.js +256 -246
- package/dist/chat/ui/markdown-blocks.js +296 -262
- package/dist/chat/ui/mermaid.d.ts +8 -20
- package/dist/chat/ui/mermaid.js +47 -84
- package/dist/chat/ui/quote-selection.js +32 -29
- package/dist/chat/ui/rehype-chips.js +35 -23
- package/dist/chat/ui/rehype-fade.js +28 -17
- package/dist/chat/ui/remark-html-as-text.js +22 -15
- package/dist/chat/ui/reply-context.js +1 -1
- package/dist/chat/ui/reveal.js +161 -72
- package/dist/chat/ui/rows/ForksRow.js +226 -24
- package/dist/chat/ui/rows/GeneratedImageRow.js +541 -87
- package/dist/chat/ui/rows/MessageRows.js +1706 -159
- package/dist/chat/ui/rows/RowContainer.js +57 -7
- package/dist/chat/ui/rows/Rows.js +463 -54
- package/dist/chat/ui/rows/SubagentRow.js +577 -60
- package/dist/chat/ui/rows/TaskRow.js +359 -40
- package/dist/chat/ui/rows/VisualRow.js +233 -11
- package/dist/chat/ui/rows/WorkRows.d.ts +3 -0
- package/dist/chat/ui/rows/WorkRows.js +1945 -164
- package/dist/chat/ui/rows/WorkflowRow.js +756 -37
- package/dist/chat/ui/rows/row-rhythm.js +27 -17
- package/dist/chat/ui/theme-watch.js +26 -23
- package/dist/chat/ui/timestamp-format.js +4 -1
- package/dist/chat/ui/use-diff-source-tokens.js +70 -34
- package/dist/chat/ui/useToggleSet.js +51 -19
- package/dist/chat/ui/visual-theme.js +153 -128
- package/dist/chat/visual-bridge.js +123 -123
- package/dist/chat/visual-viewport.js +94 -83
- package/dist/chat/visuals.js +13 -5
- package/dist/host-hooks.d.ts +29 -0
- package/dist/host-hooks.js +78 -0
- package/dist/host.js +120 -48
- package/dist/index.js +1 -1
- package/dist/lazy.js +38 -32
- package/dist/locales/en/agent-chat.d.ts +42 -0
- package/dist/locales/en/agent-chat.js +755 -713
- package/dist/locales/en/agent-prompts.js +42 -42
- package/dist/locales/en/agent-providers.d.ts +1 -0
- package/dist/locales/en/agent-providers.js +166 -165
- package/dist/locales/en/agent-usage.d.ts +6 -0
- package/dist/locales/en/agent-usage.js +129 -123
- package/dist/locales/nl/agent-chat.d.ts +42 -0
- package/dist/locales/nl/agent-chat.js +755 -713
- package/dist/locales/nl/agent-prompts.js +42 -42
- package/dist/locales/nl/agent-providers.d.ts +1 -0
- package/dist/locales/nl/agent-providers.js +166 -165
- package/dist/locales/nl/agent-usage.d.ts +6 -0
- package/dist/locales/nl/agent-usage.js +129 -123
- package/dist/locales.js +14 -14
- package/dist/mounted-registry.js +31 -30
- package/dist/port-transport.js +122 -111
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/logic/focus.js +15 -14
- package/dist/prompts/logic/keys.js +93 -59
- package/dist/prompts/logic/prompts.js +27 -14
- package/dist/prompts/logic/subjects.js +60 -46
- package/dist/prompts/logic/useFocusAfterAnswer.js +60 -20
- package/dist/prompts/logic/usePromptSession.js +88 -77
- package/dist/prompts/ui/ApprovalBody.js +246 -27
- package/dist/prompts/ui/PromptActions.js +215 -9
- package/dist/prompts/ui/PromptCard.js +215 -36
- package/dist/prompts/ui/PromptView.js +372 -34
- package/dist/prompts/ui/QuestionBody.js +269 -73
- package/dist/providers/AccountColors.js +36 -5
- package/dist/providers/AccountDetail.js +683 -50
- package/dist/providers/AccountVariables.js +139 -32
- package/dist/providers/AddAccountForm.js +125 -38
- package/dist/providers/CliDetail.js +343 -36
- package/dist/providers/InstallPage.js +644 -59
- package/dist/providers/ProviderList.d.ts +2 -1
- package/dist/providers/ProviderList.js +215 -23
- package/dist/providers/ProvidersPane.d.ts +4 -2
- package/dist/providers/ProvidersPane.js +244 -64
- package/dist/providers/account-actions.js +54 -30
- package/dist/providers/index.js +1 -1
- package/dist/providers/install-steps.js +12 -9
- package/dist/providers/pane-target.d.ts +3 -0
- package/dist/providers/pane-target.js +34 -13
- package/dist/providers/parts.js +62 -12
- package/dist/providers/provider-abilities.js +5 -5
- package/dist/providers/provider-groups.js +75 -40
- package/dist/providers/variables.js +73 -39
- package/dist/scope.js +6 -6
- package/dist/settings/sections.js +18 -18
- package/dist/state/chats.js +404 -192
- package/dist/state/index.js +1 -1
- package/dist/state/provider-accounts.js +70 -47
- package/dist/state/providers.js +45 -16
- package/dist/state/usage.js +154 -77
- package/dist/storage.js +69 -68
- package/dist/testing/index.js +1 -1
- package/dist/testing/prompts.js +105 -67
- package/dist/transport.js +10 -10
- package/dist/ui/PlainTextarea.js +27 -3
- package/dist/usage/LimitsList.js +646 -40
- package/dist/usage/UsageBreakdown.js +879 -38
- package/dist/usage/UsageChart.js +311 -32
- package/dist/usage/UsageDialog.js +46 -4
- package/dist/usage/UsageLimits.js +467 -34
- package/dist/usage/UsageLimitsCard.js +95 -11
- package/dist/usage/UsagePage.js +817 -96
- package/dist/usage/UsagePane.js +164 -10
- package/dist/usage/UsageSummary.js +151 -6
- package/dist/usage/UsageTiles.js +164 -14
- package/dist/usage/format.js +32 -32
- package/dist/usage/index.d.ts +1 -1
- package/dist/usage/index.js +2 -1
- package/dist/usage/limit-groups.d.ts +2 -0
- package/dist/usage/limit-groups.js +77 -59
- package/dist/usage/limits.js +78 -43
- package/dist/usage/money.js +20 -4
- package/dist/usage/summary.js +85 -64
- package/package.json +9 -9
- package/src/agents/ModelOptionControl.tsx +3 -1
- package/src/agents/option-words.ts +27 -0
- package/src/chat/account-choice.ts +41 -1
- package/src/chat/composer-effort.ts +32 -0
- package/src/chat/forks.ts +4 -5
- package/src/chat/index.ts +3 -1
- package/src/chat/logic/effort.ts +32 -0
- package/src/chat/logic/picker-entries.ts +45 -10
- package/src/chat/logic/resume-compaction.ts +95 -17
- package/src/chat/logic/timeline.ts +11 -3
- package/src/chat/logic/workflow.ts +86 -4
- package/src/chat/preferences.ts +35 -0
- package/src/chat/subagent-view.ts +2 -3
- package/src/chat/ui/AnsiOutput.tsx +1 -2
- package/src/chat/ui/BookmarkSubmenu.tsx +3 -3
- package/src/chat/ui/ChatActivity.tsx +14 -22
- package/src/chat/ui/ChatReferenceChip.tsx +2 -3
- package/src/chat/ui/Composer.tsx +15 -7
- package/src/chat/ui/EditDiff.tsx +2 -3
- package/src/chat/ui/LimitState.tsx +2 -2
- package/src/chat/ui/Markdown.tsx +10 -8
- package/src/chat/ui/MermaidBlock.tsx +57 -49
- package/src/chat/ui/Pickers.tsx +49 -29
- package/src/chat/ui/PromptComposer.tsx +7 -9
- package/src/chat/ui/ResumeCompactionDock.tsx +16 -4
- package/src/chat/ui/RunSettings.tsx +67 -28
- package/src/chat/ui/Scrubber.tsx +3 -3
- package/src/chat/ui/ShellCommand.tsx +2 -0
- package/src/chat/ui/SubagentInfo.tsx +2 -3
- package/src/chat/ui/SubagentTimeline.tsx +12 -16
- package/src/chat/ui/Timeline.tsx +6 -6
- package/src/chat/ui/UnifiedDiff.tsx +3 -4
- package/src/chat/ui/VisualFrame.tsx +5 -8
- package/src/chat/ui/code-theme.ts +4 -4
- package/src/chat/ui/composer/placeholder.ts +2 -2
- package/src/chat/ui/composer/use-compaction-offer.ts +36 -16
- package/src/chat/ui/composer/use-composer-menus.ts +4 -9
- package/src/chat/ui/composer/use-composer-submit.ts +2 -1
- package/src/chat/ui/composer/use-effort-stepper.ts +56 -0
- package/src/chat/ui/composer/use-notice.ts +2 -2
- package/src/chat/ui/diff/EditorEditDiff.tsx +9 -13
- package/src/chat/ui/diff/LegacyEditDiff.tsx +12 -17
- package/src/chat/ui/diff/LegacyUnifiedDiff.tsx +13 -21
- package/src/chat/ui/diff/use-review-stack.ts +4 -4
- package/src/chat/ui/diff-theme.ts +3 -3
- package/src/chat/ui/file-links.ts +2 -2
- package/src/chat/ui/intelligent-ui/UiReply.tsx +2 -0
- package/src/chat/ui/intelligent-ui/renderers/chart.tsx +3 -3
- package/src/chat/ui/intelligent-ui/renderers/content.tsx +5 -6
- package/src/chat/ui/intelligent-ui/renderers/map-view.tsx +2 -1
- package/src/chat/ui/intelligent-ui/renderers/map.tsx +2 -1
- package/src/chat/ui/intelligent-ui/use-truncated.ts +16 -19
- package/src/chat/ui/intelligent-ui/use-ui-links.ts +3 -3
- package/src/chat/ui/mermaid.ts +52 -96
- package/src/chat/ui/rows/ForksRow.tsx +3 -5
- package/src/chat/ui/rows/GeneratedImageRow.tsx +2 -1
- package/src/chat/ui/rows/MessageRows.tsx +12 -21
- package/src/chat/ui/rows/SubagentRow.tsx +3 -3
- package/src/chat/ui/rows/TaskRow.tsx +1 -1
- package/src/chat/ui/rows/WorkRows.tsx +11 -6
- package/src/chat/ui/rows/WorkflowRow.tsx +144 -54
- package/src/chat/ui/useToggleSet.ts +15 -18
- package/src/chat/ui/visual-theme.ts +2 -3
- package/src/host-hooks.ts +113 -0
- package/src/lazy.tsx +2 -0
- package/src/locales/en/agent-chat.ts +142 -108
- package/src/locales/en/agent-prompts.ts +7 -7
- package/src/locales/en/agent-providers.ts +35 -34
- package/src/locales/en/agent-usage.ts +26 -20
- package/src/locales/nl/agent-chat.ts +134 -100
- package/src/locales/nl/agent-prompts.ts +5 -5
- package/src/locales/nl/agent-providers.ts +33 -32
- package/src/locales/nl/agent-usage.ts +25 -20
- package/src/providers/CliDetail.tsx +2 -1
- package/src/providers/InstallPage.tsx +2 -4
- package/src/providers/ProviderList.tsx +12 -2
- package/src/providers/ProvidersPane.tsx +45 -15
- package/src/providers/pane-target.ts +20 -4
- package/src/state/chats.ts +2 -2
- package/src/usage/LimitsList.tsx +12 -13
- package/src/usage/UsageBreakdown.tsx +17 -6
- package/src/usage/UsageLimits.tsx +2 -1
- package/src/usage/UsagePage.tsx +3 -3
- package/src/usage/index.ts +1 -1
- package/src/usage/limit-groups.ts +12 -0
- package/src/usage/limits.ts +2 -2
- package/src/usage/money.ts +1 -2
|
@@ -7,8 +7,8 @@ import { clampVisualHeight, visualContentHeight } from './logic/visual-height.js
|
|
|
7
7
|
*/
|
|
8
8
|
const SILENCE_MS = 3000;
|
|
9
9
|
function timeout(ms, run) {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const timer = setTimeout(run, ms);
|
|
11
|
+
return () => clearTimeout(timer);
|
|
12
12
|
}
|
|
13
13
|
/*
|
|
14
14
|
* Talks to the frame of one visual. It hands the sandbox host page the visual's page when it says it
|
|
@@ -17,135 +17,135 @@ function timeout(ms, run) {
|
|
|
17
17
|
* messages that come from the page count only once the page was sent.
|
|
18
18
|
*/
|
|
19
19
|
export class VisualBridge {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
20
|
+
options;
|
|
21
|
+
theme;
|
|
22
|
+
html = null;
|
|
23
|
+
/* Whether the sandbox host page ever said it listens, which is what tells it from an error page. */
|
|
24
|
+
heard = false;
|
|
25
|
+
/* The sandbox host page listens and has not been sent the page yet. */
|
|
26
|
+
waiting = false;
|
|
27
|
+
/* The theme the page was last sent, from the moment it was sent; null before that. */
|
|
28
|
+
sent = null;
|
|
29
|
+
/* Whether the page reported a size since it was sent, which says it runs and is drawn. */
|
|
30
|
+
live = false;
|
|
31
|
+
viewportReady = false;
|
|
32
|
+
viewport = null;
|
|
33
|
+
disposed = false;
|
|
34
|
+
cancelSilence = () => undefined;
|
|
35
|
+
constructor(options) {
|
|
36
|
+
this.options = options;
|
|
37
|
+
this.theme = options.theme;
|
|
38
|
+
options.page.then(html => {
|
|
39
|
+
this.html = html;
|
|
40
|
+
this.sendPage();
|
|
41
|
+
}, () => {
|
|
42
|
+
if (!this.disposed) {
|
|
43
|
+
options.onFailure();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/* A `message` event of the window the frame is in. */
|
|
48
|
+
receive(event) {
|
|
49
|
+
const frame = this.options.frame();
|
|
50
|
+
if (this.disposed || frame === null || event.source !== frame) {
|
|
51
|
+
return;
|
|
46
52
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
const message = parseVisualMessage(event.data);
|
|
54
|
+
switch (message?.method) {
|
|
55
|
+
case VISUAL_BRIDGE_METHODS.sandboxProxyReady:
|
|
56
|
+
// A frame that loads again starts over from the sandbox host page.
|
|
57
|
+
this.heard = true;
|
|
58
|
+
this.waiting = true;
|
|
59
|
+
this.sent = null;
|
|
60
|
+
this.live = false;
|
|
61
|
+
this.viewportReady = false;
|
|
62
|
+
this.cancelSilence();
|
|
63
|
+
this.sendPage();
|
|
64
|
+
return;
|
|
65
|
+
case VISUAL_BRIDGE_METHODS.sizeChanged:
|
|
66
|
+
if (this.sent === null) {
|
|
67
|
+
return;
|
|
52
68
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// A frame that loads again starts over from the sandbox host page.
|
|
57
|
-
this.heard = true;
|
|
58
|
-
this.waiting = true;
|
|
59
|
-
this.sent = null;
|
|
60
|
-
this.live = false;
|
|
61
|
-
this.viewportReady = false;
|
|
62
|
-
this.cancelSilence();
|
|
63
|
-
this.sendPage();
|
|
64
|
-
return;
|
|
65
|
-
case VISUAL_BRIDGE_METHODS.sizeChanged:
|
|
66
|
-
if (this.sent === null) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (!this.live) {
|
|
70
|
-
this.live = true;
|
|
71
|
-
this.options.onAppearance(this.sent.appearance);
|
|
72
|
-
}
|
|
73
|
-
this.options.onHeight(this.options.onViewportReady ? visualContentHeight(message.height) : clampVisualHeight(this.options.visual, message.height));
|
|
74
|
-
return;
|
|
75
|
-
case VISUAL_BRIDGE_METHODS.viewportReady:
|
|
76
|
-
if (this.sent === null) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
this.viewportReady = true;
|
|
80
|
-
this.options.onViewportReady?.();
|
|
81
|
-
this.setViewport(this.viewport);
|
|
82
|
-
return;
|
|
83
|
-
case VISUAL_BRIDGE_METHODS.scrollRequest:
|
|
84
|
-
if (this.sent !== null && this.viewportReady && this.viewport !== null) {
|
|
85
|
-
this.options.onScroll?.(message.request);
|
|
86
|
-
}
|
|
87
|
-
return;
|
|
88
|
-
case VISUAL_BRIDGE_METHODS.openLink:
|
|
89
|
-
if (this.sent === null) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (this.options.mayOpenLink()) {
|
|
93
|
-
this.options.openLink(message.url);
|
|
94
|
-
}
|
|
95
|
-
frame.postMessage(visualOpenLinkResult(message.id), '*');
|
|
96
|
-
return;
|
|
97
|
-
default:
|
|
98
|
-
return;
|
|
69
|
+
if (!this.live) {
|
|
70
|
+
this.live = true;
|
|
71
|
+
this.options.onAppearance(this.sent.appearance);
|
|
99
72
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (
|
|
104
|
-
|
|
73
|
+
this.options.onHeight(this.options.onViewportReady ? visualContentHeight(message.height) : clampVisualHeight(this.options.visual, message.height));
|
|
74
|
+
return;
|
|
75
|
+
case VISUAL_BRIDGE_METHODS.viewportReady:
|
|
76
|
+
if (this.sent === null) {
|
|
77
|
+
return;
|
|
105
78
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (this.
|
|
112
|
-
|
|
79
|
+
this.viewportReady = true;
|
|
80
|
+
this.options.onViewportReady?.();
|
|
81
|
+
this.setViewport(this.viewport);
|
|
82
|
+
return;
|
|
83
|
+
case VISUAL_BRIDGE_METHODS.scrollRequest:
|
|
84
|
+
if (this.sent !== null && this.viewportReady && this.viewport !== null) {
|
|
85
|
+
this.options.onScroll?.(message.request);
|
|
113
86
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
87
|
+
return;
|
|
88
|
+
case VISUAL_BRIDGE_METHODS.openLink:
|
|
89
|
+
if (this.sent === null) {
|
|
90
|
+
return;
|
|
117
91
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
loaded() {
|
|
121
|
-
if (this.heard || this.disposed) {
|
|
122
|
-
return;
|
|
92
|
+
if (this.options.mayOpenLink()) {
|
|
93
|
+
this.options.openLink(message.url);
|
|
123
94
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
});
|
|
95
|
+
frame.postMessage(visualOpenLinkResult(message.id), '*');
|
|
96
|
+
return;
|
|
97
|
+
default:
|
|
98
|
+
return;
|
|
130
99
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
100
|
+
}
|
|
101
|
+
setViewport(viewport) {
|
|
102
|
+
this.viewport = viewport;
|
|
103
|
+
if (!this.disposed && this.sent !== null && this.viewportReady) {
|
|
104
|
+
this.options.frame()?.postMessage(visualViewportMessage(viewport), '*');
|
|
134
105
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
frame.postMessage(visualResourceReadyMessage(this.html), '*');
|
|
143
|
-
// The page writes itself as that message arrives and listens before the next one, so a theme
|
|
144
|
-
// that changed since the frame's address was set follows right after it.
|
|
145
|
-
this.postTheme(frame);
|
|
106
|
+
}
|
|
107
|
+
/* The app's theme changed; a page that was sent follows it at once, without loading again. */
|
|
108
|
+
setTheme(theme) {
|
|
109
|
+
this.theme = theme;
|
|
110
|
+
const frame = this.options.frame();
|
|
111
|
+
if (this.disposed || this.sent === null || frame === null) {
|
|
112
|
+
return;
|
|
146
113
|
}
|
|
147
|
-
postTheme(frame)
|
|
148
|
-
|
|
149
|
-
|
|
114
|
+
this.postTheme(frame);
|
|
115
|
+
if (this.live) {
|
|
116
|
+
this.options.onAppearance(theme.appearance);
|
|
150
117
|
}
|
|
151
|
-
}
|
|
118
|
+
}
|
|
119
|
+
/* The frame fired `load`. */
|
|
120
|
+
loaded() {
|
|
121
|
+
if (this.heard || this.disposed) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this.cancelSilence();
|
|
125
|
+
this.cancelSilence = (this.options.after ?? timeout)(SILENCE_MS, () => {
|
|
126
|
+
if (!this.heard && !this.disposed) {
|
|
127
|
+
this.options.onFailure();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
dispose() {
|
|
132
|
+
this.disposed = true;
|
|
133
|
+
this.cancelSilence();
|
|
134
|
+
}
|
|
135
|
+
sendPage() {
|
|
136
|
+
const frame = this.options.frame();
|
|
137
|
+
if (this.disposed || !this.waiting || this.html === null || frame === null) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.waiting = false;
|
|
141
|
+
// Any origin, since the frame's own is opaque; `receive` checks every answer's source instead.
|
|
142
|
+
frame.postMessage(visualResourceReadyMessage(this.html), '*');
|
|
143
|
+
// The page writes itself as that message arrives and listens before the next one, so a theme
|
|
144
|
+
// that changed since the frame's address was set follows right after it.
|
|
145
|
+
this.postTheme(frame);
|
|
146
|
+
}
|
|
147
|
+
postTheme(frame) {
|
|
148
|
+
this.sent = this.theme;
|
|
149
|
+
frame.postMessage(visualHostContextMessage(this.theme), '*');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -1,92 +1,103 @@
|
|
|
1
1
|
import { visualViewportGeometry } from './logic/visual-viewport.js';
|
|
2
2
|
/* Keeps one small frame in a full-height timeline row, without rendering React on scroll. */
|
|
3
3
|
export class VisualViewportController {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
4
|
+
box;
|
|
5
|
+
viewport;
|
|
6
|
+
scroller;
|
|
7
|
+
bridge;
|
|
8
|
+
observer;
|
|
9
|
+
attributes;
|
|
10
|
+
view;
|
|
11
|
+
frame = 0;
|
|
12
|
+
disposed = false;
|
|
13
|
+
last = '';
|
|
14
|
+
pendingDelta = 0;
|
|
15
|
+
onScroll;
|
|
16
|
+
constructor(box, viewport, scroller, bridge) {
|
|
17
|
+
this.box = box;
|
|
18
|
+
this.viewport = viewport;
|
|
19
|
+
this.scroller = scroller;
|
|
20
|
+
this.bridge = bridge;
|
|
21
|
+
this.view = box.ownerDocument.defaultView;
|
|
22
|
+
this.onScroll = () => this.refresh();
|
|
23
|
+
this.observer = new ResizeObserver(this.onScroll);
|
|
24
|
+
this.observer.observe(box);
|
|
25
|
+
this.observer.observe(scroller);
|
|
26
|
+
this.attributes = new MutationObserver(this.onScroll);
|
|
27
|
+
const row = box.closest('[data-index]');
|
|
28
|
+
if (row) {
|
|
29
|
+
this.attributes.observe(row, {
|
|
30
|
+
attributes: true,
|
|
31
|
+
attributeFilter: ['style']
|
|
32
|
+
});
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const key = `${geometry.top}:${geometry.height}`;
|
|
43
|
-
if (key !== this.last) {
|
|
44
|
-
this.last = key;
|
|
45
|
-
this.bridge.setViewport(geometry);
|
|
46
|
-
}
|
|
34
|
+
scroller.addEventListener('scroll', this.onScroll, {
|
|
35
|
+
passive: true
|
|
36
|
+
});
|
|
37
|
+
this.refresh();
|
|
38
|
+
}
|
|
39
|
+
refresh() {
|
|
40
|
+
if (this.disposed) {
|
|
41
|
+
return;
|
|
47
42
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.schedule();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.pendingDelta = 0;
|
|
60
|
-
const start = this.scroller.scrollTop + this.offsetInScroller(outer, box);
|
|
61
|
-
const top = 'to' in request ? start + request.to : request.edge === 'start' ? 0 : this.scroller.scrollHeight;
|
|
62
|
-
this.scroller.scrollTo({ top, behavior: 'instant' });
|
|
63
|
-
this.refresh();
|
|
43
|
+
const top = this.offsetInScroller(this.scroller.getBoundingClientRect(), this.box.getBoundingClientRect());
|
|
44
|
+
const available = this.scroller.clientHeight;
|
|
45
|
+
const geometry = visualViewportGeometry(this.box.offsetHeight, available, top);
|
|
46
|
+
this.viewport.style.height = `${geometry.height}px`;
|
|
47
|
+
const key = `${geometry.top}:${geometry.height}`;
|
|
48
|
+
if (key !== this.last) {
|
|
49
|
+
this.last = key;
|
|
50
|
+
this.bridge.setViewport(geometry);
|
|
64
51
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.bridge.setViewport(null);
|
|
52
|
+
}
|
|
53
|
+
scroll(request) {
|
|
54
|
+
const outer = this.scroller.getBoundingClientRect();
|
|
55
|
+
const box = this.box.getBoundingClientRect();
|
|
56
|
+
if (this.disposed || box.bottom <= outer.top || box.top >= outer.bottom) {
|
|
57
|
+
return;
|
|
72
58
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return (box.top - outer.top) / scale - this.scroller.clientTop;
|
|
59
|
+
if ('by' in request) {
|
|
60
|
+
this.pendingDelta += request.by;
|
|
61
|
+
this.schedule();
|
|
62
|
+
return;
|
|
78
63
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
64
|
+
this.pendingDelta = 0;
|
|
65
|
+
const start = this.scroller.scrollTop + this.offsetInScroller(outer, box);
|
|
66
|
+
const top = 'to' in request ? start + request.to : request.edge === 'start' ? 0 : this.scroller.scrollHeight;
|
|
67
|
+
this.scroller.scrollTo({
|
|
68
|
+
top,
|
|
69
|
+
behavior: 'instant'
|
|
70
|
+
});
|
|
71
|
+
this.refresh();
|
|
72
|
+
}
|
|
73
|
+
dispose() {
|
|
74
|
+
this.disposed = true;
|
|
75
|
+
this.view.cancelAnimationFrame(this.frame);
|
|
76
|
+
this.observer.disconnect();
|
|
77
|
+
this.attributes.disconnect();
|
|
78
|
+
this.scroller.removeEventListener('scroll', this.onScroll);
|
|
79
|
+
this.bridge.setViewport(null);
|
|
80
|
+
}
|
|
81
|
+
/* The box's top below the scroller's visible top, in the scroller's own pixels. */
|
|
82
|
+
offsetInScroller(outer, box) {
|
|
83
|
+
// A chat on a canvas can be scaled; messages inside its frame use unscaled CSS pixels.
|
|
84
|
+
const scale = outer.height / this.scroller.offsetHeight || 1;
|
|
85
|
+
return (box.top - outer.top) / scale - this.scroller.clientTop;
|
|
86
|
+
}
|
|
87
|
+
schedule() {
|
|
88
|
+
if (this.frame || this.disposed) {
|
|
89
|
+
return;
|
|
91
90
|
}
|
|
92
|
-
|
|
91
|
+
this.frame = this.view.requestAnimationFrame(() => {
|
|
92
|
+
this.frame = 0;
|
|
93
|
+
if (this.pendingDelta !== 0) {
|
|
94
|
+
this.scroller.scrollBy({
|
|
95
|
+
top: this.pendingDelta,
|
|
96
|
+
behavior: 'instant'
|
|
97
|
+
});
|
|
98
|
+
this.pendingDelta = 0;
|
|
99
|
+
}
|
|
100
|
+
this.refresh();
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
package/dist/chat/visuals.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { create } from 'zustand';
|
|
2
|
-
export const useVisualDialog = create(
|
|
2
|
+
export const useVisualDialog = create(set => ({
|
|
3
|
+
chatKey: null,
|
|
4
|
+
visualId: null,
|
|
5
|
+
kind: null,
|
|
6
|
+
open: (chatKey, visualId, kind) => set({
|
|
7
|
+
chatKey,
|
|
8
|
+
visualId,
|
|
9
|
+
kind
|
|
10
|
+
}),
|
|
11
|
+
close: () => set({
|
|
3
12
|
chatKey: null,
|
|
4
13
|
visualId: null,
|
|
5
|
-
kind: null
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}));
|
|
14
|
+
kind: null
|
|
15
|
+
})
|
|
16
|
+
}));
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ProviderPlatform } from '@adecore/agent-contracts';
|
|
2
|
+
import { type ChatHost, type CommandLook } from './host.js';
|
|
3
|
+
export declare function useHostCodeMode(): 'light' | 'dark';
|
|
4
|
+
export declare function useHostCodeThemes(): {
|
|
5
|
+
light: string;
|
|
6
|
+
dark: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function useHostAttachmentUrl(...args: Parameters<ChatHost['attachments']['useUrl']>): ReturnType<ChatHost['attachments']['useUrl']>;
|
|
9
|
+
export declare function useHostTasks(...args: Parameters<ChatHost['tasks']['useTasks']>): ReturnType<ChatHost['tasks']['useTasks']>;
|
|
10
|
+
export declare function useHostTask(...args: Parameters<ChatHost['tasks']['useTask']>): ReturnType<ChatHost['tasks']['useTask']>;
|
|
11
|
+
export declare function useHostExtraPrompts(...args: Parameters<ChatHost['prompts']['useExtra']>): ReturnType<ChatHost['prompts']['useExtra']>;
|
|
12
|
+
export declare function useHostStreaming(): ReturnType<ChatHost['useStreaming']>;
|
|
13
|
+
export declare function useHostSendDelivery(): ReturnType<ChatHost['useSendDelivery']>;
|
|
14
|
+
export declare function useHostTimelineFind(...args: Parameters<ChatHost['useTimelineFind']>): ReturnType<ChatHost['useTimelineFind']>;
|
|
15
|
+
export declare function useHostReferableChats(): ReturnType<ChatHost['useReferableChats']>;
|
|
16
|
+
export declare function useHostLoginBlocked(...args: Parameters<ChatHost['useLoginBlocked']>): ReturnType<ChatHost['useLoginBlocked']>;
|
|
17
|
+
export declare function useHostMachinePlatform(scopeId: string): ProviderPlatform | null;
|
|
18
|
+
export declare function useHostProjectLook(...args: Parameters<ChatHost['useProjectLook']>): ReturnType<ChatHost['useProjectLook']>;
|
|
19
|
+
export declare function useHostMachineLabel(...args: Parameters<ChatHost['useMachineLabel']>): ReturnType<ChatHost['useMachineLabel']>;
|
|
20
|
+
export declare function useHostChatPlace(...args: Parameters<ChatHost['useChatPlace']>): ReturnType<ChatHost['useChatPlace']>;
|
|
21
|
+
export declare function useHostContextSources(...args: Parameters<ChatHost['useContextSources']>): ReturnType<ChatHost['useContextSources']>;
|
|
22
|
+
export declare function useHostHidesFolder(...args: Parameters<ChatHost['useHidesFolder']>): ReturnType<ChatHost['useHidesFolder']>;
|
|
23
|
+
export declare function useHostWelcome(...args: Parameters<ChatHost['useWelcome']>): ReturnType<ChatHost['useWelcome']>;
|
|
24
|
+
export declare function useHostResumeAtReset(...args: Parameters<ChatHost['useResumeAtReset']>): ReturnType<ChatHost['useResumeAtReset']>;
|
|
25
|
+
export declare function useHostComposerPlaceholder(...args: Parameters<ChatHost['useComposerPlaceholder']>): ReturnType<ChatHost['useComposerPlaceholder']>;
|
|
26
|
+
export declare function useHostThreadCards(...args: Parameters<ChatHost['useThreadCards']>): ReturnType<ChatHost['useThreadCards']>;
|
|
27
|
+
export declare function useHostReplyAuthor(...args: Parameters<ChatHost['useReplyAuthor']>): ReturnType<ChatHost['useReplyAuthor']>;
|
|
28
|
+
export declare function useHostMapSource(maps: NonNullable<ChatHost['maps']>, scopeId: string): ReturnType<NonNullable<ChatHost['maps']>['useSource']>;
|
|
29
|
+
export declare function useCommandNames(look: Required<Pick<CommandLook, 'useNames'>>, scopeId: string, chatId: string): ReturnType<NonNullable<CommandLook['useNames']>>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use no memo';
|
|
2
|
+
|
|
3
|
+
import { useChatHost } from './host.js';
|
|
4
|
+
export function useHostCodeMode() {
|
|
5
|
+
return useChatHost().code.useMode();
|
|
6
|
+
}
|
|
7
|
+
export function useHostCodeThemes() {
|
|
8
|
+
return useChatHost().code.useThemes();
|
|
9
|
+
}
|
|
10
|
+
export function useHostAttachmentUrl(...args) {
|
|
11
|
+
return useChatHost().attachments.useUrl(...args);
|
|
12
|
+
}
|
|
13
|
+
export function useHostTasks(...args) {
|
|
14
|
+
return useChatHost().tasks.useTasks(...args);
|
|
15
|
+
}
|
|
16
|
+
export function useHostTask(...args) {
|
|
17
|
+
return useChatHost().tasks.useTask(...args);
|
|
18
|
+
}
|
|
19
|
+
export function useHostExtraPrompts(...args) {
|
|
20
|
+
return useChatHost().prompts.useExtra(...args);
|
|
21
|
+
}
|
|
22
|
+
export function useHostStreaming() {
|
|
23
|
+
return useChatHost().useStreaming();
|
|
24
|
+
}
|
|
25
|
+
export function useHostSendDelivery() {
|
|
26
|
+
return useChatHost().useSendDelivery();
|
|
27
|
+
}
|
|
28
|
+
export function useHostTimelineFind(...args) {
|
|
29
|
+
return useChatHost().useTimelineFind(...args);
|
|
30
|
+
}
|
|
31
|
+
export function useHostReferableChats() {
|
|
32
|
+
return useChatHost().useReferableChats();
|
|
33
|
+
}
|
|
34
|
+
export function useHostLoginBlocked(...args) {
|
|
35
|
+
return useChatHost().useLoginBlocked(...args);
|
|
36
|
+
}
|
|
37
|
+
const noPlatform = () => null;
|
|
38
|
+
/* Null where the host does not say, as it need not. */
|
|
39
|
+
export function useHostMachinePlatform(scopeId) {
|
|
40
|
+
const useMachinePlatform = useChatHost().useMachinePlatform ?? noPlatform;
|
|
41
|
+
return useMachinePlatform(scopeId);
|
|
42
|
+
}
|
|
43
|
+
export function useHostProjectLook(...args) {
|
|
44
|
+
return useChatHost().useProjectLook(...args);
|
|
45
|
+
}
|
|
46
|
+
export function useHostMachineLabel(...args) {
|
|
47
|
+
return useChatHost().useMachineLabel(...args);
|
|
48
|
+
}
|
|
49
|
+
export function useHostChatPlace(...args) {
|
|
50
|
+
return useChatHost().useChatPlace(...args);
|
|
51
|
+
}
|
|
52
|
+
export function useHostContextSources(...args) {
|
|
53
|
+
return useChatHost().useContextSources(...args);
|
|
54
|
+
}
|
|
55
|
+
export function useHostHidesFolder(...args) {
|
|
56
|
+
return useChatHost().useHidesFolder(...args);
|
|
57
|
+
}
|
|
58
|
+
export function useHostWelcome(...args) {
|
|
59
|
+
return useChatHost().useWelcome(...args);
|
|
60
|
+
}
|
|
61
|
+
export function useHostResumeAtReset(...args) {
|
|
62
|
+
return useChatHost().useResumeAtReset(...args);
|
|
63
|
+
}
|
|
64
|
+
export function useHostComposerPlaceholder(...args) {
|
|
65
|
+
return useChatHost().useComposerPlaceholder(...args);
|
|
66
|
+
}
|
|
67
|
+
export function useHostThreadCards(...args) {
|
|
68
|
+
return useChatHost().useThreadCards(...args);
|
|
69
|
+
}
|
|
70
|
+
export function useHostReplyAuthor(...args) {
|
|
71
|
+
return useChatHost().useReplyAuthor(...args);
|
|
72
|
+
}
|
|
73
|
+
export function useHostMapSource(maps, scopeId) {
|
|
74
|
+
return maps.useSource(scopeId);
|
|
75
|
+
}
|
|
76
|
+
export function useCommandNames(look, scopeId, chatId) {
|
|
77
|
+
return look.useNames(scopeId, chatId);
|
|
78
|
+
}
|