@adecore/agents-react 0.31.12 → 0.32.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/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.js +45 -34
- 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 +238 -68
- 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.js +60 -72
- 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.js +1945 -164
- package/dist/chat/ui/rows/WorkflowRow.js +293 -34
- 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 +34 -0
- package/dist/locales/en/agent-chat.js +747 -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 +34 -0
- package/dist/locales/nl/agent-chat.js +747 -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 +8 -8
- 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/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 +2 -3
- 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/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 +10 -5
- 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 +134 -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 +126 -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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A command outside the composer, such as a menu row or a shortcut of the app, steps the reasoning effort
|
|
3
|
+
* of a chat whose composer is on screen. Keyed with the scope's `keyOf`, like `sendFromComposer`. One chat can
|
|
4
|
+
* have two composers on screen; the one that came last steps, and the one before takes over when it goes.
|
|
5
|
+
*/
|
|
6
|
+
const steppers = new Map();
|
|
7
|
+
export function registerEffortStepper(key, stepper) {
|
|
8
|
+
steppers.set(key, [...(steppers.get(key) ?? []), stepper]);
|
|
9
|
+
return () => {
|
|
10
|
+
const left = (steppers.get(key) ?? []).filter(entry => entry !== stepper);
|
|
11
|
+
if (left.length > 0) {
|
|
12
|
+
steppers.set(key, left);
|
|
13
|
+
} else {
|
|
14
|
+
steppers.delete(key);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/* False when that chat has no composer on screen. At either end of the model's efforts the composer says so and nothing changes. */
|
|
19
|
+
export function stepEffortFromComposer(key, step) {
|
|
20
|
+
const stepper = steppers.get(key)?.at(-1);
|
|
21
|
+
if (stepper === undefined) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
stepper(step);
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
const senders = new Map();
|
|
6
6
|
export function registerComposerSender(key, send) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
senders.set(key, send);
|
|
8
|
+
return () => {
|
|
9
|
+
if (senders.get(key) === send) {
|
|
10
|
+
senders.delete(key);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
13
|
}
|
|
14
14
|
/* False when that chat has no composer on screen. An empty or unsendable draft sends nothing, as with the keys. */
|
|
15
15
|
export function sendFromComposer(key, how = 'default') {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
16
|
+
const send = senders.get(key);
|
|
17
|
+
if (send === undefined) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
send(how);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
package/dist/chat/drafts.js
CHANGED
|
@@ -1,79 +1,107 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
1
2
|
import { chatStorageKey, chatStorageLegacyKeys, createChatStore } from '../storage.js';
|
|
2
3
|
import { checkAttachmentLimits, uploadBytes } from './attachments.js';
|
|
3
4
|
import { persistedJson } from './persisted-json.js';
|
|
4
5
|
const storageKey = () => chatStorageKey('drafts');
|
|
5
|
-
export const EMPTY_DRAFT = {
|
|
6
|
-
|
|
6
|
+
export const EMPTY_DRAFT = {
|
|
7
|
+
text: '',
|
|
8
|
+
mentions: [],
|
|
9
|
+
skills: [],
|
|
10
|
+
chats: [],
|
|
11
|
+
attachments: [],
|
|
12
|
+
quote: '',
|
|
13
|
+
quoteSource: null
|
|
14
|
+
};
|
|
15
|
+
const storage = persistedJson(storageKey, raw => raw ? JSON.parse(raw) : {}, {}, () => chatStorageLegacyKeys('drafts'));
|
|
7
16
|
export function isEmptyDraft(draft) {
|
|
8
|
-
|
|
17
|
+
return draft.text.trim() === '' && draft.attachments.length === 0 && draft.quote === '';
|
|
9
18
|
}
|
|
10
19
|
/*
|
|
11
20
|
* Which chats hold an unsent prompt, for a dot beside them in a list of chats. The drafts themselves
|
|
12
21
|
* stay in storage: a node that is not on screen has no composer, and this is all anyone else needs.
|
|
13
22
|
*/
|
|
14
|
-
export const useDrafts = createChatStore(() => ({
|
|
23
|
+
export const useDrafts = createChatStore(() => ({
|
|
24
|
+
ids: []
|
|
25
|
+
}), store => store.setState({
|
|
26
|
+
ids: Object.keys(storage.read())
|
|
27
|
+
}));
|
|
15
28
|
export function useHasDraft(chatId) {
|
|
16
|
-
|
|
29
|
+
const $ = _c(2);
|
|
30
|
+
let t0;
|
|
31
|
+
if ($[0] !== chatId) {
|
|
32
|
+
t0 = s => s.ids.includes(chatId);
|
|
33
|
+
$[0] = chatId;
|
|
34
|
+
$[1] = t0;
|
|
35
|
+
} else {
|
|
36
|
+
t0 = $[1];
|
|
37
|
+
}
|
|
38
|
+
return useDrafts(t0);
|
|
17
39
|
}
|
|
18
40
|
function trackDraft(chatId, held) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
41
|
+
const {
|
|
42
|
+
ids
|
|
43
|
+
} = useDrafts.getState();
|
|
44
|
+
if (ids.includes(chatId) === held) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
useDrafts.setState({
|
|
48
|
+
ids: held ? [...ids, chatId] : ids.filter(id => id !== chatId)
|
|
49
|
+
});
|
|
24
50
|
}
|
|
25
51
|
/* An unsent prompt per chat node, kept across reloads so a half-written message is never lost. */
|
|
26
52
|
export function readDraft(chatId) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
: EMPTY_DRAFT;
|
|
53
|
+
const record = storage.read()[chatId];
|
|
54
|
+
return record ? {
|
|
55
|
+
text: record.text,
|
|
56
|
+
mentions: record.mentions ?? [],
|
|
57
|
+
skills: record.skills ?? [],
|
|
58
|
+
chats: record.chats ?? [],
|
|
59
|
+
attachments: record.attachments ?? [],
|
|
60
|
+
quote: record.quote ?? '',
|
|
61
|
+
quoteSource: record.quoteSource ?? null
|
|
62
|
+
} : EMPTY_DRAFT;
|
|
39
63
|
}
|
|
40
64
|
export function writeDraft(chatId, draft) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
storage.write(drafts);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
drafts[chatId] = {
|
|
49
|
-
text: draft.text,
|
|
50
|
-
mentions: draft.mentions,
|
|
51
|
-
skills: draft.skills,
|
|
52
|
-
chats: draft.chats,
|
|
53
|
-
attachments: draft.attachments,
|
|
54
|
-
quote: draft.quote,
|
|
55
|
-
...(draft.quoteSource === null ? {} : { quoteSource: draft.quoteSource })
|
|
56
|
-
};
|
|
57
|
-
if (storage.write(drafts)) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
// A file can outgrow the storage quota; the text is the part worth keeping then.
|
|
61
|
-
drafts[chatId] = {
|
|
62
|
-
text: draft.text,
|
|
63
|
-
mentions: draft.mentions,
|
|
64
|
-
skills: draft.skills,
|
|
65
|
-
chats: draft.chats,
|
|
66
|
-
quote: draft.quote,
|
|
67
|
-
...(draft.quoteSource === null ? {} : { quoteSource: draft.quoteSource })
|
|
68
|
-
};
|
|
65
|
+
const drafts = storage.read();
|
|
66
|
+
trackDraft(chatId, !isEmptyDraft(draft));
|
|
67
|
+
if (isEmptyDraft(draft)) {
|
|
68
|
+
delete drafts[chatId];
|
|
69
69
|
storage.write(drafts);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
drafts[chatId] = {
|
|
73
|
+
text: draft.text,
|
|
74
|
+
mentions: draft.mentions,
|
|
75
|
+
skills: draft.skills,
|
|
76
|
+
chats: draft.chats,
|
|
77
|
+
attachments: draft.attachments,
|
|
78
|
+
quote: draft.quote,
|
|
79
|
+
...(draft.quoteSource === null ? {} : {
|
|
80
|
+
quoteSource: draft.quoteSource
|
|
81
|
+
})
|
|
82
|
+
};
|
|
83
|
+
if (storage.write(drafts)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// A file can outgrow the storage quota; the text is the part worth keeping then.
|
|
87
|
+
drafts[chatId] = {
|
|
88
|
+
text: draft.text,
|
|
89
|
+
mentions: draft.mentions,
|
|
90
|
+
skills: draft.skills,
|
|
91
|
+
chats: draft.chats,
|
|
92
|
+
quote: draft.quote,
|
|
93
|
+
...(draft.quoteSource === null ? {} : {
|
|
94
|
+
quoteSource: draft.quoteSource
|
|
95
|
+
})
|
|
96
|
+
};
|
|
97
|
+
storage.write(drafts);
|
|
70
98
|
}
|
|
71
99
|
/* Text handed to a draft from outside the composer goes under what was already typed, never over it. */
|
|
72
100
|
export function joinDraftText(current, added) {
|
|
73
|
-
|
|
101
|
+
return current.trim() === '' ? added : `${current.replace(/\s+$/, '')}\n\n${added}`;
|
|
74
102
|
}
|
|
75
103
|
function union(first, second) {
|
|
76
|
-
|
|
104
|
+
return [...first, ...second.filter(entry => !first.includes(entry))];
|
|
77
105
|
}
|
|
78
106
|
/*
|
|
79
107
|
* A queued message taken back to edit goes above what was typed since. Its files join the draft's as
|
|
@@ -81,40 +109,48 @@ function union(first, second) {
|
|
|
81
109
|
* it was sent with is part of its text; the draft keeps the one it holds.
|
|
82
110
|
*/
|
|
83
111
|
export function takeBackIntoDraft(current, taken) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
112
|
+
const checked = checkAttachmentLimits(current.attachments.length, taken.attachments.map(upload => ({
|
|
113
|
+
name: upload.name,
|
|
114
|
+
mime: upload.mime,
|
|
115
|
+
bytes: uploadBytes(upload),
|
|
116
|
+
upload
|
|
117
|
+
})), current.attachments.reduce((bytes, upload) => bytes + uploadBytes(upload), 0));
|
|
118
|
+
return {
|
|
119
|
+
draft: {
|
|
120
|
+
text: current.text.trim() === '' ? taken.text : joinDraftText(taken.text, current.text),
|
|
121
|
+
mentions: union(taken.mentions, current.mentions),
|
|
122
|
+
skills: union(taken.skills, current.skills),
|
|
123
|
+
chats: union(taken.chats, current.chats),
|
|
124
|
+
attachments: [...checked.accepted.map(entry => entry.upload), ...current.attachments],
|
|
125
|
+
quote: current.quote,
|
|
126
|
+
quoteSource: current.quoteSource
|
|
127
|
+
},
|
|
128
|
+
rejected: checked.rejected
|
|
129
|
+
};
|
|
97
130
|
}
|
|
98
131
|
/* The composers on screen, by chat. One that is not mounted reads what was offered from storage when it is. */
|
|
99
132
|
const takers = new Map();
|
|
100
133
|
export function takeDraftOffers(chatId, take) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
134
|
+
takers.set(chatId, take);
|
|
135
|
+
return () => {
|
|
136
|
+
if (takers.get(chatId) === take) {
|
|
137
|
+
takers.delete(chatId);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
107
140
|
}
|
|
108
141
|
/*
|
|
109
142
|
* Puts text in a chat's prompt without sending it: the person reads it and presses Enter. A mounted
|
|
110
143
|
* composer owns its draft and writes it back to storage itself, so it has to be the one to take it.
|
|
111
144
|
*/
|
|
112
145
|
export function offerDraft(chatId, text) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
146
|
+
const take = takers.get(chatId);
|
|
147
|
+
if (take) {
|
|
148
|
+
take(text);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const current = readDraft(chatId);
|
|
152
|
+
writeDraft(chatId, {
|
|
153
|
+
...current,
|
|
154
|
+
text: joinDraftText(current.text, text)
|
|
155
|
+
});
|
|
156
|
+
}
|
package/dist/chat/forks.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { forkIdsAfter, forkedTurnIds } from './logic/fork.js';
|
|
3
3
|
import { useChatScope } from '../scope.js';
|
|
4
4
|
import { useChats } from '../state/chats.js';
|
|
5
5
|
/* The chats this client holds of one host, which is where the forks it knows of are. */
|
|
6
6
|
function* forkInfosOn(statuses, owns) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
7
|
+
for (const [key, state] of Object.entries(statuses)) {
|
|
8
|
+
if (state.info.forkOf !== undefined && owns(key)) {
|
|
9
|
+
yield state.info;
|
|
11
10
|
}
|
|
11
|
+
}
|
|
12
12
|
}
|
|
13
13
|
/*
|
|
14
14
|
* Selectors answer a joined string, never a new array or set, and split it again in a memo. One runs on
|
|
@@ -16,30 +16,87 @@ function* forkInfosOn(statuses, owns) {
|
|
|
16
16
|
* statuses, which change with an info alone, are others.
|
|
17
17
|
*/
|
|
18
18
|
function joinedForks(owns, collect) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
let statuses = null;
|
|
20
|
+
let joined = '';
|
|
21
|
+
return state => {
|
|
22
|
+
if (state.statusByKey !== statuses) {
|
|
23
|
+
statuses = state.statusByKey;
|
|
24
|
+
joined = [...collect(forkInfosOn(statuses, owns))].join('\n');
|
|
25
|
+
}
|
|
26
|
+
return joined;
|
|
27
|
+
};
|
|
28
28
|
}
|
|
29
29
|
function splitIds(joined) {
|
|
30
|
-
|
|
30
|
+
return joined === '' ? [] : joined.split('\n');
|
|
31
31
|
}
|
|
32
32
|
/* The turns of this chat a fork went on after, for the thread to put a line under. */
|
|
33
33
|
export function useForkedTurns(chatId) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const $ = _c(7);
|
|
35
|
+
const {
|
|
36
|
+
owns
|
|
37
|
+
} = useChatScope();
|
|
38
|
+
let t0;
|
|
39
|
+
if ($[0] !== chatId) {
|
|
40
|
+
t0 = infos => forkedTurnIds(infos, chatId);
|
|
41
|
+
$[0] = chatId;
|
|
42
|
+
$[1] = t0;
|
|
43
|
+
} else {
|
|
44
|
+
t0 = $[1];
|
|
45
|
+
}
|
|
46
|
+
let t1;
|
|
47
|
+
if ($[2] !== owns || $[3] !== t0) {
|
|
48
|
+
t1 = joinedForks(owns, t0);
|
|
49
|
+
$[2] = owns;
|
|
50
|
+
$[3] = t0;
|
|
51
|
+
$[4] = t1;
|
|
52
|
+
} else {
|
|
53
|
+
t1 = $[4];
|
|
54
|
+
}
|
|
55
|
+
const select = t1;
|
|
56
|
+
const joined = useChats(select);
|
|
57
|
+
let t2;
|
|
58
|
+
if ($[5] !== joined) {
|
|
59
|
+
t2 = new Set(splitIds(joined));
|
|
60
|
+
$[5] = joined;
|
|
61
|
+
$[6] = t2;
|
|
62
|
+
} else {
|
|
63
|
+
t2 = $[6];
|
|
64
|
+
}
|
|
65
|
+
return t2;
|
|
38
66
|
}
|
|
39
67
|
/* The forks that went on after this turn of this chat. */
|
|
40
68
|
export function useForkIdsAfter(chatId, turnId) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
69
|
+
const $ = _c(8);
|
|
70
|
+
const {
|
|
71
|
+
owns
|
|
72
|
+
} = useChatScope();
|
|
73
|
+
let t0;
|
|
74
|
+
if ($[0] !== chatId || $[1] !== turnId) {
|
|
75
|
+
t0 = infos => forkIdsAfter(infos, chatId, turnId);
|
|
76
|
+
$[0] = chatId;
|
|
77
|
+
$[1] = turnId;
|
|
78
|
+
$[2] = t0;
|
|
79
|
+
} else {
|
|
80
|
+
t0 = $[2];
|
|
81
|
+
}
|
|
82
|
+
let t1;
|
|
83
|
+
if ($[3] !== owns || $[4] !== t0) {
|
|
84
|
+
t1 = joinedForks(owns, t0);
|
|
85
|
+
$[3] = owns;
|
|
86
|
+
$[4] = t0;
|
|
87
|
+
$[5] = t1;
|
|
88
|
+
} else {
|
|
89
|
+
t1 = $[5];
|
|
90
|
+
}
|
|
91
|
+
const select = t1;
|
|
92
|
+
const joined = useChats(select);
|
|
93
|
+
let t2;
|
|
94
|
+
if ($[6] !== joined) {
|
|
95
|
+
t2 = splitIds(joined);
|
|
96
|
+
$[6] = joined;
|
|
97
|
+
$[7] = t2;
|
|
98
|
+
} else {
|
|
99
|
+
t2 = $[7];
|
|
100
|
+
}
|
|
101
|
+
return t2;
|
|
102
|
+
}
|
package/dist/chat/guards.js
CHANGED
|
@@ -12,58 +12,30 @@ export const PASTE_ATTACHMENT_FROM_BYTES = 32 * 1024;
|
|
|
12
12
|
const encoder = new TextEncoder();
|
|
13
13
|
/* Whether pasted text is large enough to go in as an attachment. Bytes, since that is what the file weighs. */
|
|
14
14
|
export function pasteBecomesAttachment(text) {
|
|
15
|
-
|
|
15
|
+
return text.length * 3 >= PASTE_ATTACHMENT_FROM_BYTES && encoder.encode(text).length >= PASTE_ATTACHMENT_FROM_BYTES;
|
|
16
16
|
}
|
|
17
17
|
/* A name for pasted text that no attachment of the draft has yet: paste-1.txt, paste-2.txt, ... */
|
|
18
18
|
export function pastedTextName(taken) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const names = new Set(taken);
|
|
20
|
+
let index = 1;
|
|
21
|
+
while (names.has(`paste-${index}.txt`)) {
|
|
22
|
+
index += 1;
|
|
23
|
+
}
|
|
24
|
+
return `paste-${index}.txt`;
|
|
25
25
|
}
|
|
26
26
|
export function promptGuard(text) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
return {
|
|
28
|
+
count: text.length,
|
|
29
|
+
visible: text.length >= PROMPT_COUNTER_FROM,
|
|
30
|
+
tooLong: text.length > PROMPT_MAX_CHARS
|
|
31
|
+
};
|
|
32
32
|
}
|
|
33
33
|
/*
|
|
34
34
|
* Commands the CLI lists because its own terminal has them: they change the terminal, the login or
|
|
35
35
|
* the config, or they end a session the chat node does not own.
|
|
36
36
|
*/
|
|
37
|
-
const TUI_ONLY = new Set([
|
|
38
|
-
'bug',
|
|
39
|
-
'color',
|
|
40
|
-
'config',
|
|
41
|
-
'doctor',
|
|
42
|
-
'exit',
|
|
43
|
-
'heapdump',
|
|
44
|
-
'help',
|
|
45
|
-
'hooks',
|
|
46
|
-
'ide',
|
|
47
|
-
'install-github-app',
|
|
48
|
-
'keybindings',
|
|
49
|
-
'login',
|
|
50
|
-
'logout',
|
|
51
|
-
'migrate-installer',
|
|
52
|
-
'privacy-settings',
|
|
53
|
-
'quit',
|
|
54
|
-
'release-notes',
|
|
55
|
-
'reload-plugins',
|
|
56
|
-
'reload-skills',
|
|
57
|
-
'rename',
|
|
58
|
-
'resume',
|
|
59
|
-
'status',
|
|
60
|
-
'statusline',
|
|
61
|
-
'terminal-setup',
|
|
62
|
-
'theme',
|
|
63
|
-
'upgrade',
|
|
64
|
-
'vim'
|
|
65
|
-
]);
|
|
37
|
+
const TUI_ONLY = new Set(['bug', 'color', 'config', 'doctor', 'exit', 'heapdump', 'help', 'hooks', 'ide', 'install-github-app', 'keybindings', 'login', 'logout', 'migrate-installer', 'privacy-settings', 'quit', 'release-notes', 'reload-plugins', 'reload-skills', 'rename', 'resume', 'status', 'statusline', 'terminal-setup', 'theme', 'upgrade', 'vim']);
|
|
66
38
|
/* The commands of the CLI's list that mean something in a chat node. */
|
|
67
39
|
export function usableSlashCommands(names) {
|
|
68
|
-
|
|
69
|
-
}
|
|
40
|
+
return names.filter(name => !TUI_ONLY.has(name));
|
|
41
|
+
}
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export { type AccountChoice, useAccountChoice } from './account-choice.js';
|
|
1
|
+
export { type AccountChoice, useAccountChoice, type NewAccountChoice, useNewAccountChoice } from './account-choice.js';
|
|
2
2
|
export { transportActions, actionsOf, useChatActions } from './actions.js';
|
|
3
3
|
export { type ChatSendExtras, ChatClient } from './chat-client.js';
|
|
4
4
|
export type { ProjectChat } from './chat-references.js';
|
|
5
5
|
export { sendFromComposer, type ComposerSend } from './composer-send.js';
|
|
6
|
+
export { stepEffortFromComposer } from './composer-effort.js';
|
|
7
|
+
export type { EffortStep } from './logic/effort.js';
|
|
6
8
|
export { EMPTY_DRAFT, useDrafts, readDraft, writeDraft, offerDraft, type ChatDraft } from './drafts.js';
|
|
7
9
|
export { stripAnsi } from './logic/ansi.js';
|
|
8
10
|
export { FORKABLE_PROVIDERS, forkRefusal, summaryRefusal, lastSettledTurn, forkPointOf, forkPointLabel, type ForkShape, forkShapes, type ForkCliChoice, forkPayload, branchRefusal, type ForkPoint, type ForkWorktreeChoice } from './logic/fork.js';
|
package/dist/chat/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Public API: exports.test.ts snapshots this list, so a name added or dropped here is an API change.
|
|
2
|
-
export { useAccountChoice } from './account-choice.js';
|
|
2
|
+
export { useAccountChoice, useNewAccountChoice } from './account-choice.js';
|
|
3
3
|
export { transportActions, actionsOf, useChatActions } from './actions.js';
|
|
4
4
|
export { ChatClient } from './chat-client.js';
|
|
5
5
|
export { sendFromComposer } from './composer-send.js';
|
|
6
|
+
export { stepEffortFromComposer } from './composer-effort.js';
|
|
6
7
|
export { EMPTY_DRAFT, useDrafts, readDraft, writeDraft, offerDraft } from './drafts.js';
|
|
7
8
|
export { stripAnsi } from './logic/ansi.js';
|
|
8
9
|
export { FORKABLE_PROVIDERS, forkRefusal, summaryRefusal, lastSettledTurn, forkPointOf, forkPointLabel, forkShapes, forkPayload, branchRefusal } from './logic/fork.js';
|
|
@@ -23,4 +24,4 @@ export { subagentTitle, summaryWordOf, stopOf } from './subagent-list.js';
|
|
|
23
24
|
export { useSubagentSupport } from './subagent-support.js';
|
|
24
25
|
export { crumbOf, openFromMain, composerWrites, canOpenSubagent, useSubagentView, useSubagentTrail, useSubagentItem } from './subagent-view.js';
|
|
25
26
|
export { stepTimelineMessage, jumpToTimelineItem, registerTurnJumper, jumpToTimelineTurn } from './timeline-scroll.js';
|
|
26
|
-
export { statusLookOf, taskStatusWord } from '../agents/status-look.js';
|
|
27
|
+
export { statusLookOf, taskStatusWord } from '../agents/status-look.js';
|