@agent-native/toolkit 0.16.9 → 0.16.11
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/collab-ui/lead-client.d.ts.map +1 -1
- package/dist/collab-ui/lead-client.js +11 -0
- package/dist/collab-ui/lead-client.js.map +1 -1
- package/dist/collab-ui/lead-client.spec.d.ts +2 -0
- package/dist/collab-ui/lead-client.spec.d.ts.map +1 -0
- package/dist/collab-ui/lead-client.spec.js +16 -0
- package/dist/collab-ui/lead-client.spec.js.map +1 -0
- package/dist/composer/TiptapComposer.d.ts +12 -0
- package/dist/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/composer/TiptapComposer.js +59 -18
- package/dist/composer/TiptapComposer.js.map +1 -1
- package/dist/composer/TiptapComposer.spec.js +31 -1
- package/dist/composer/TiptapComposer.spec.js.map +1 -1
- package/dist/design-tweaks/scrub-input.d.ts.map +1 -1
- package/dist/design-tweaks/scrub-input.js +3 -2
- package/dist/design-tweaks/scrub-input.js.map +1 -1
- package/dist/design-tweaks/visual-style-controls.spec.js +19 -0
- package/dist/design-tweaks/visual-style-controls.spec.js.map +1 -1
- package/dist/editor/RegistryBlockContext.d.ts +4 -0
- package/dist/editor/RegistryBlockContext.d.ts.map +1 -1
- package/dist/editor/RegistryBlockContext.js.map +1 -1
- package/dist/editor/RegistryBlockNode.d.ts +13 -0
- package/dist/editor/RegistryBlockNode.d.ts.map +1 -1
- package/dist/editor/RegistryBlockNode.js +47 -20
- package/dist/editor/RegistryBlockNode.js.map +1 -1
- package/dist/editor/RegistryBlockNode.spec.js +61 -1
- package/dist/editor/RegistryBlockNode.spec.js.map +1 -1
- package/dist/editor/useCollabReconcile.concurrent.spec.js +63 -0
- package/dist/editor/useCollabReconcile.concurrent.spec.js.map +1 -1
- package/dist/editor/useCollabReconcile.d.ts.map +1 -1
- package/dist/editor/useCollabReconcile.js +15 -2
- package/dist/editor/useCollabReconcile.js.map +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/pointer-lock.d.ts +2 -0
- package/dist/ui/pointer-lock.d.ts.map +1 -0
- package/dist/ui/pointer-lock.js +22 -0
- package/dist/ui/pointer-lock.js.map +1 -0
- package/dist/ui/tooltip.js +1 -1
- package/package.json +1 -1
- package/src/collab-ui/lead-client.spec.ts +20 -0
- package/src/collab-ui/lead-client.ts +17 -1
- package/src/composer/TiptapComposer.spec.ts +40 -0
- package/src/composer/TiptapComposer.tsx +182 -75
- package/src/design-tweaks/scrub-input.tsx +3 -2
- package/src/design-tweaks/visual-style-controls.spec.tsx +37 -0
- package/src/editor/RegistryBlockContext.tsx +4 -0
- package/src/editor/RegistryBlockNode.spec.ts +78 -0
- package/src/editor/RegistryBlockNode.tsx +106 -19
- package/src/editor/useCollabReconcile.concurrent.spec.ts +75 -0
- package/src/editor/useCollabReconcile.ts +19 -2
- package/src/ui/index.ts +1 -0
- package/src/ui/pointer-lock.ts +21 -0
- package/src/ui/tooltip.tsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead-client.d.ts","sourceRoot":"","sources":["../../src/collab-ui/lead-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACvC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"lead-client.d.ts","sourceRoot":"","sources":["../../src/collab-ui/lead-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACvC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAsCT"}
|
|
@@ -6,6 +6,12 @@ export function isReconcileLeadClient(awareness, localClientId) {
|
|
|
6
6
|
return false;
|
|
7
7
|
if (!awareness)
|
|
8
8
|
return true;
|
|
9
|
+
// The peer loop below skips the local client, so its own capability has to be
|
|
10
|
+
// checked here — otherwise a read-only viewer that is alone, or that holds the
|
|
11
|
+
// lowest id, still wins the election and then applies nothing.
|
|
12
|
+
const localState = awareness.getStates().get(localClientId);
|
|
13
|
+
if (localState?.canFlushDocument === false)
|
|
14
|
+
return false;
|
|
9
15
|
let hasPeer = false;
|
|
10
16
|
let minVisible = localClientId;
|
|
11
17
|
awareness.getStates().forEach((state, clientId) => {
|
|
@@ -14,6 +20,11 @@ export function isReconcileLeadClient(awareness, localClientId) {
|
|
|
14
20
|
const candidate = state;
|
|
15
21
|
if (!candidate?.user)
|
|
16
22
|
return;
|
|
23
|
+
// Read-only viewers subscribe to awareness for presence but bind no Y.Doc,
|
|
24
|
+
// so electing one stops external snapshots reconciling anywhere. Absent
|
|
25
|
+
// (legacy clients that never publish the field) still counts as eligible.
|
|
26
|
+
if (candidate.canFlushDocument === false)
|
|
27
|
+
return;
|
|
17
28
|
hasPeer = true;
|
|
18
29
|
if (candidate.visible !== false && clientId < minVisible) {
|
|
19
30
|
minVisible = clientId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead-client.js","sourceRoot":"","sources":["../../src/collab-ui/lead-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,gFAAgF;AAChF,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CACnC,SAAuC,EACvC,aAAwC;IAExC,IAAI,aAAa,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAG,aAAa,CAAC;IAC/B,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAChD,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,aAAa;YAAE,OAAO;QACvE,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"lead-client.js","sourceRoot":"","sources":["../../src/collab-ui/lead-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,gFAAgF;AAChF,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CACnC,SAAuC,EACvC,aAAwC;IAExC,IAAI,aAAa,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,8EAA8E;IAC9E,+EAA+E;IAC/E,+DAA+D;IAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,aAAa,CAE7C,CAAC;IACd,IAAI,UAAU,EAAE,gBAAgB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAG,aAAa,CAAC;IAC/B,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAChD,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,aAAa;YAAE,OAAO;QACvE,MAAM,SAAS,GAAG,KAIjB,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,IAAI;YAAE,OAAO;QAC7B,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,SAAS,CAAC,gBAAgB,KAAK,KAAK;YAAE,OAAO;QACjD,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;YACzD,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC;IAC3E,IAAI,WAAW;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,aAAa,IAAI,UAAU,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-client.spec.d.ts","sourceRoot":"","sources":["../../src/collab-ui/lead-client.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { isReconcileLeadClient } from "./lead-client.js";
|
|
3
|
+
/** Minimal Awareness stand-in: isReconcileLeadClient only calls getStates(). */
|
|
4
|
+
function fakeAwareness(states) {
|
|
5
|
+
return { getStates: () => states };
|
|
6
|
+
}
|
|
7
|
+
describe("isReconcileLeadClient", () => {
|
|
8
|
+
it("does not elect a read-only viewer that can never apply a snapshot", () => {
|
|
9
|
+
const states = new Map([
|
|
10
|
+
[3, { user: { name: "Viewer" }, canFlushDocument: false }],
|
|
11
|
+
[7, { user: { name: "Editor" }, canFlushDocument: true }],
|
|
12
|
+
]);
|
|
13
|
+
expect(isReconcileLeadClient(fakeAwareness(states), 7)).toBe(true);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=lead-client.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-client.spec.js","sourceRoot":"","sources":["../../src/collab-ui/lead-client.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,gFAAgF;AAChF,SAAS,aAAa,CAAC,MAA4B;IACjD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAA0B,CAAC;AAC7D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAkB;YACtC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;YAC1D,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -243,6 +243,10 @@ export declare function isComposerEditorUsable<T extends {
|
|
|
243
243
|
isDestroyed?: boolean;
|
|
244
244
|
}>(editor: T | null | undefined): editor is T;
|
|
245
245
|
export declare function createTiptapComposerExtensions(getPlaceholder: () => string | undefined): (import("@tiptap/core").Extension<import("@tiptap/extension-placeholder").PlaceholderOptions, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Node<any, any>)[];
|
|
246
|
+
export declare function hasConfiguredCloudProvider(groups: ReadonlyArray<{
|
|
247
|
+
engine: string;
|
|
248
|
+
configured: boolean;
|
|
249
|
+
}>): boolean;
|
|
246
250
|
export declare function isOpenAiModelProviderGroup(group: {
|
|
247
251
|
engine: string;
|
|
248
252
|
label: string;
|
|
@@ -261,6 +265,14 @@ export declare function shouldShowModelSelectorSkeleton(isLoading: boolean, engi
|
|
|
261
265
|
export declare function shouldShowOnlyConnectPath(showBuilderCta: boolean, groups: ReadonlyArray<{
|
|
262
266
|
configured: boolean;
|
|
263
267
|
}>): boolean;
|
|
268
|
+
/**
|
|
269
|
+
* When nothing is routable yet, the model hook resolves `selectedModel` to
|
|
270
|
+
* `""` rather than pre-selecting something unusable — that reflects "nothing
|
|
271
|
+
* chosen," not "nothing to show." The picker itself still has a job to do in
|
|
272
|
+
* that state (its connect-provider CTAs), so gate on there being engines to
|
|
273
|
+
* list and a way to change the selection, not on a model already being set.
|
|
274
|
+
*/
|
|
275
|
+
export declare function shouldRenderModelSelector(availableModels: ReadonlyArray<unknown> | undefined, onModelChange: unknown): boolean;
|
|
264
276
|
export declare function compactComposerModelName(model: string, t?: ComposerTranslate): string;
|
|
265
277
|
export declare function compactComposerReasoningEffortLabel(effort: ReasoningEffort, t?: ComposerTranslate): string;
|
|
266
278
|
export declare function composerModelCostTier(model: string): 1 | 2 | 3 | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiptapComposer.d.ts","sourceRoot":"","sources":["../../src/composer/TiptapComposer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TiptapComposer.d.ts","sourceRoot":"","sources":["../../src/composer/TiptapComposer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -544,6 +544,9 @@ const LOCAL_RUNTIME_ENGINES = new Set([
|
|
|
544
544
|
"pi-cli",
|
|
545
545
|
"opencode-cli",
|
|
546
546
|
]);
|
|
547
|
+
export function hasConfiguredCloudProvider(groups) {
|
|
548
|
+
return groups.some((group) => group.configured && !LOCAL_RUNTIME_ENGINES.has(group.engine));
|
|
549
|
+
}
|
|
547
550
|
function isOpenAiModelId(model) {
|
|
548
551
|
const normalizedModel = model.toLowerCase();
|
|
549
552
|
return (normalizedModel.startsWith("gpt-") ||
|
|
@@ -578,6 +581,16 @@ export function shouldShowModelSelectorSkeleton(isLoading, engineCount) {
|
|
|
578
581
|
export function shouldShowOnlyConnectPath(showBuilderCta, groups) {
|
|
579
582
|
return showBuilderCta && groups.every((group) => !group.configured);
|
|
580
583
|
}
|
|
584
|
+
/**
|
|
585
|
+
* When nothing is routable yet, the model hook resolves `selectedModel` to
|
|
586
|
+
* `""` rather than pre-selecting something unusable — that reflects "nothing
|
|
587
|
+
* chosen," not "nothing to show." The picker itself still has a job to do in
|
|
588
|
+
* that state (its connect-provider CTAs), so gate on there being engines to
|
|
589
|
+
* list and a way to change the selection, not on a model already being set.
|
|
590
|
+
*/
|
|
591
|
+
export function shouldRenderModelSelector(availableModels, onModelChange) {
|
|
592
|
+
return Boolean(availableModels && availableModels.length > 0 && onModelChange);
|
|
593
|
+
}
|
|
581
594
|
function friendlyModelName(model, t) {
|
|
582
595
|
if (model === "auto") {
|
|
583
596
|
return (t?.("agentChat.composer.defaultModel", {
|
|
@@ -748,7 +761,7 @@ export function getComposerReasoningEffortOptions(model) {
|
|
|
748
761
|
? ["low", "medium", "high", "xhigh", "max"]
|
|
749
762
|
: getReasoningEffortOptionsForModel(model);
|
|
750
763
|
}
|
|
751
|
-
function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnly = false, hostedHarness = false, showAutoModelOption = true, modelListLoading = false, open: controlledOpen, onChange, onEffortChange, onAgentChange, onModelSelectorOpenChange, providerConnectStatusEnabled = true, onConnectProvider, onConnectLocalRuntime, imageModel, }) {
|
|
764
|
+
function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnly = false, hostedHarness = false, showAutoModelOption = true, modelListLoading = false, open: controlledOpen, onChange, onEffortChange, onAgentChange, onModelSelectorOpenChange, providerConnectStatusEnabled = true, onConnectProvider, onConnectLocalRuntime, terminalModeControl, imageModel, }) {
|
|
752
765
|
const adapters = useComposerRuntimeAdapters();
|
|
753
766
|
const t = adapters.translate;
|
|
754
767
|
const reasoning = adapters.models?.reasoning;
|
|
@@ -834,27 +847,31 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
834
847
|
}, [agentOnly, controlledOpen, onModelSelectorOpenChange]);
|
|
835
848
|
const visibleProviderGroups = modelProviderGroups;
|
|
836
849
|
const showModelListSkeleton = shouldShowModelSelectorSkeleton(modelListLoading, engines.length);
|
|
837
|
-
// Keep setup actions
|
|
838
|
-
//
|
|
839
|
-
// what becomes available after connecting or adding a key.
|
|
850
|
+
// Keep setup actions visible, but do not show unusable model rows until one
|
|
851
|
+
// provider or local agent is ready.
|
|
840
852
|
const builderFlow = adapters.builder.useConnectFlow({
|
|
841
853
|
enabled: providerConnectStatusEnabled,
|
|
842
854
|
trackingSource: "composer_builder_cta",
|
|
843
855
|
});
|
|
844
856
|
const hasConfiguredBuilderModels = providerGroups.some((group) => group.engine === "builder" && group.configured);
|
|
845
|
-
const
|
|
857
|
+
const hasConfiguredCloudProviderReady = hasConfiguredCloudProvider(providerGroups);
|
|
858
|
+
const hasConnectedSubscription = providerGroups.some((group) => hasConfiguredCloudProviderReady &&
|
|
859
|
+
group.configured &&
|
|
860
|
+
group.isSubscription &&
|
|
861
|
+
!LOCAL_RUNTIME_ENGINES.has(group.engine));
|
|
846
862
|
const hasUnconfiguredVisibleModels = modelProviderGroups.some((group) => !group.configured);
|
|
847
|
-
const
|
|
863
|
+
const hasConfiguredProvider = providerGroups.some((group) => group.configured);
|
|
864
|
+
const showBuilderAction = !hasConfiguredCloudProviderReady &&
|
|
848
865
|
(Boolean(onConnectProvider) ||
|
|
849
866
|
(providerConnectStatusEnabled &&
|
|
850
867
|
!builderFlow.configured &&
|
|
851
868
|
!builderFlow.envManaged &&
|
|
852
869
|
!hasConfiguredBuilderModels &&
|
|
853
870
|
!hasConnectedSubscription));
|
|
854
|
-
const showAddKeysAction =
|
|
871
|
+
const showAddKeysAction = !hasConfiguredCloudProviderReady &&
|
|
872
|
+
(hasUnconfiguredVisibleModels || showBuilderAction);
|
|
855
873
|
const showProviderActions = showBuilderAction || showAddKeysAction;
|
|
856
|
-
const onlyConnectPathAvailable = shouldShowOnlyConnectPath(
|
|
857
|
-
modelProviderGroups.length === 0;
|
|
874
|
+
const onlyConnectPathAvailable = shouldShowOnlyConnectPath(showProviderActions, providerGroups);
|
|
858
875
|
const openLlmSettings = useCallback(() => {
|
|
859
876
|
try {
|
|
860
877
|
window.location.hash = "llm";
|
|
@@ -883,7 +900,7 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
883
900
|
? "bg-accent text-foreground"
|
|
884
901
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`, children: [_jsxs("span", { className: "flex min-w-0 items-center", children: [_jsx("span", { className: "shrink-0 text-[12px] font-medium", children: "Agent" }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { role: "img", "aria-label": t("agentChat.composer.harnessAgentHelp", {
|
|
885
902
|
defaultValue: "Learn about harness agents",
|
|
886
|
-
}), onClick: (event) => event.stopPropagation(), className: `ms-1.5 ${PICKER_HELP_BUTTON_CLASS}`, children: _jsx(IconHelpCircle, { "aria-hidden": "true", className: PICKER_HELP_ICON_CLASS, strokeWidth: 1.8 }) }) }), _jsxs(TooltipContent, { side: "right", className: "
|
|
903
|
+
}), onClick: (event) => event.stopPropagation(), className: `ms-1.5 ${PICKER_HELP_BUTTON_CLASS}`, children: _jsx(IconHelpCircle, { "aria-hidden": "true", className: PICKER_HELP_ICON_CLASS, strokeWidth: 1.8 }) }) }), _jsxs(TooltipContent, { side: "right", className: "max-w-xs", children: [_jsx("span", { className: "block", children: hostedHarness
|
|
887
904
|
? t("agentChat.composer.hostedHarnessDescription", {
|
|
888
905
|
defaultValue: "Hosted mode uses app tools only. For full coding with a repository and shell, use Agent Native Desktop.",
|
|
889
906
|
})
|
|
@@ -897,7 +914,11 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
897
914
|
? "bg-accent text-foreground"
|
|
898
915
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`, children: [_jsx("span", { className: "shrink-0 text-[12px] font-medium", children: t("agentChat.composer.effort", {
|
|
899
916
|
defaultValue: "Effort",
|
|
900
|
-
}) }), _jsx("span", { className: "ms-auto min-w-0 max-w-[6rem] truncate text-end text-[11px] text-muted-foreground/80", children: effortLabel(selectedEffort) }), _jsx(IconChevronRight, { className: "h-3 w-3 shrink-0 opacity-60 rtl:-scale-x-100" })] }))
|
|
917
|
+
}) }), _jsx("span", { className: "ms-auto min-w-0 max-w-[6rem] truncate text-end text-[11px] text-muted-foreground/80", children: effortLabel(selectedEffort) }), _jsx(IconChevronRight, { className: "h-3 w-3 shrink-0 opacity-60 rtl:-scale-x-100" })] })), terminalModeControl && (_jsxs("button", { type: "button", role: "tab", "aria-selected": resolvedSection === "mode", onClick: () => setDetailSection("mode"), onMouseEnter: () => setDetailSection("mode"), className: `flex w-full min-w-0 items-center gap-1 rounded-md px-2 py-2 text-start transition-colors ${resolvedSection === "mode"
|
|
918
|
+
? "bg-accent text-foreground"
|
|
919
|
+
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`, children: [_jsx("span", { className: "shrink-0 text-[12px] font-medium", children: t("agentPanel.mode", { defaultValue: "Mode" }) }), _jsx("span", { className: "ms-auto min-w-0 max-w-[6rem] truncate text-end text-[11px] text-muted-foreground/80", children: terminalModeControl.enabled
|
|
920
|
+
? t("agentPanel.cli", { defaultValue: "CLI" })
|
|
921
|
+
: t("agentPanel.uiMode", { defaultValue: "UI" }) }), _jsx(IconChevronRight, { className: "h-3 w-3 shrink-0 opacity-60 rtl:-scale-x-100" })] }))] }) }), _jsx(PopoverContent, { side: "right", align: "start", sideOffset: 4, alignOffset: -8, collisionPadding: 8, className: `z-[320] overflow-visible ${MODEL_SELECTOR_POPOVER_CLASS}`, style: MODEL_SELECTOR_POPOVER_STYLE, children: _jsx("div", { className: "max-h-[min(500px,var(--radix-popover-content-available-height,500px))] overflow-y-auto", children: _jsxs("div", { className: "min-h-0 min-w-0", role: "tabpanel", "aria-label": resolvedSection, children: [resolvedSection === "agent" && agents && (_jsx("div", { className: "flex flex-col", children: agents.map((agent) => {
|
|
901
922
|
const isSelected = agent.id === (selectedAgent ?? "default");
|
|
902
923
|
const isConfigured = agent.configured !== false;
|
|
903
924
|
const canConnect = !isConfigured && Boolean(onConnectLocalRuntime);
|
|
@@ -912,7 +933,7 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
912
933
|
? "hover:bg-accent/50"
|
|
913
934
|
: "cursor-default opacity-50"}`, children: [agent.icon ? (_jsx("span", { className: "flex size-4 shrink-0 items-center justify-center text-muted-foreground", "aria-hidden": "true", children: agent.icon })) : null, _jsx("span", { className: `min-w-0 truncate text-[12px] ${isSelected
|
|
914
935
|
? "text-foreground"
|
|
915
|
-
: "text-muted-foreground"}`, children: agent.label }), agent.description && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { role: "img", "aria-label": `${agent.label} details`, onClick: (event) => event.stopPropagation(), className: PICKER_HELP_BUTTON_CLASS, children: _jsx(IconHelpCircle, { "aria-hidden": "true", className: PICKER_HELP_ICON_CLASS, strokeWidth: 1.8 }) }) }), _jsx(TooltipContent, { side: "left", className: "
|
|
936
|
+
: "text-muted-foreground"}`, children: agent.label }), agent.description && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { role: "img", "aria-label": `${agent.label} details`, onClick: (event) => event.stopPropagation(), className: PICKER_HELP_BUTTON_CLASS, children: _jsx(IconHelpCircle, { "aria-hidden": "true", className: PICKER_HELP_ICON_CLASS, strokeWidth: 1.8 }) }) }), _jsx(TooltipContent, { side: "left", className: "max-w-xs", children: agent.description })] })), _jsx("span", { className: "min-w-0 flex-1", "aria-hidden": "true" }), isSelected && isConfigured && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }), !isConfigured && statusLabel && (_jsx("button", { type: "button", disabled: !canConnect, className: "ms-auto max-w-[6rem] shrink-0 truncate px-2 py-2 text-end text-[10px] text-muted-foreground/70 opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100 hover:text-foreground focus-visible:opacity-100 disabled:cursor-default", onClick: () => {
|
|
916
937
|
if (canConnect)
|
|
917
938
|
connectLocalRuntime(agent.id);
|
|
918
939
|
}, children: statusLabel }))] }, agent.id));
|
|
@@ -935,7 +956,9 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
935
956
|
defaultValue: "Add your own keys",
|
|
936
957
|
}) }), _jsx("span", { className: "block text-[11px] text-muted-foreground", children: t("agentPanel.configureProviderKeys", {
|
|
937
958
|
defaultValue: "Choose a cloud, gateway, or local provider",
|
|
938
|
-
}) })] })] }))] })),
|
|
959
|
+
}) })] })] }))] })), hasConfiguredCloudProviderReady &&
|
|
960
|
+
imageModel &&
|
|
961
|
+
imageModel.options.length > 0 && (_jsxs("div", { className: "mt-2 pt-1", children: [_jsx("div", { className: "px-2 py-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground", children: imageModel.label ??
|
|
939
962
|
t("agentChat.composer.imageModel", {
|
|
940
963
|
defaultValue: "Image model",
|
|
941
964
|
}) }), imageModel.options.map((option) => (_jsxs("button", { type: "button", onClick: () => {
|
|
@@ -943,19 +966,23 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
943
966
|
setPickerOpen(false);
|
|
944
967
|
}, className: "flex w-full items-center gap-3 rounded-md px-2 py-2 text-start hover:bg-accent/50", children: [_jsx("span", { className: `min-w-0 flex-1 truncate text-[12px] ${option.value === imageModel.value
|
|
945
968
|
? "text-foreground"
|
|
946
|
-
: "text-muted-foreground"}`, children: option.label }), option.value === imageModel.value && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }, option.value)))] })), showModelListSkeleton && _jsx(ModelSelectorSkeleton, {}),
|
|
969
|
+
: "text-muted-foreground"}`, children: option.label }), option.value === imageModel.value && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }, option.value)))] })), hasConfiguredProvider && showModelListSkeleton && (_jsx(ModelSelectorSkeleton, {})), hasConfiguredProvider &&
|
|
970
|
+
isCodexAgent &&
|
|
947
971
|
!showModelListSkeleton &&
|
|
948
972
|
!onlyConnectPathAvailable &&
|
|
949
973
|
modelProviderGroups.length === 0 && (_jsxs("button", { type: "button", onClick: openLlmSettings, className: "flex w-full items-center rounded-md px-2 py-2 text-start hover:bg-accent/50", children: [_jsx("span", { className: "min-w-0 flex-1 truncate text-[12px] text-muted-foreground", children: t("agentChat.composer.noOpenAiModels", {
|
|
950
974
|
defaultValue: "No OpenAI models configured",
|
|
951
|
-
}) }), _jsx("span", { className: "shrink-0 text-[11px] text-muted-foreground/70", children: "Configure" })] })),
|
|
975
|
+
}) }), _jsx("span", { className: "shrink-0 text-[11px] text-muted-foreground/70", children: "Configure" })] })), hasConfiguredProvider &&
|
|
976
|
+
autoModelGroup &&
|
|
977
|
+
!onlyConnectPathAvailable && (_jsxs("button", { type: "button", onClick: () => {
|
|
952
978
|
onChange("auto", autoModelGroup.engine);
|
|
953
979
|
setPickerOpen(false);
|
|
954
980
|
}, className: "mt-1 flex w-full items-center gap-3 rounded-md px-2 py-1.5 text-start hover:bg-accent/50", children: [_jsx("span", { className: `min-w-0 flex-1 truncate text-[13px] ${model === "auto"
|
|
955
981
|
? "text-foreground"
|
|
956
982
|
: "text-muted-foreground"}`, children: t("agentChat.composer.auto", {
|
|
957
983
|
defaultValue: "Auto",
|
|
958
|
-
}) }), model === "auto" && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] })),
|
|
984
|
+
}) }), model === "auto" && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] })), hasConfiguredProvider &&
|
|
985
|
+
!onlyConnectPathAvailable &&
|
|
959
986
|
visibleProviderGroups.map((group, groupIndex) => {
|
|
960
987
|
const models = latestModelsOnly(group.models);
|
|
961
988
|
const showProviderLabels = visibleProviderGroups.length > 1;
|
|
@@ -1003,7 +1030,21 @@ function ModelSelector({ model, effort, engines, agents, selectedAgent, agentOnl
|
|
|
1003
1030
|
})] }, `${group.engine}:${group.label}`));
|
|
1004
1031
|
})] })), resolvedSection === "effort" && effortOptions.length > 0 && (_jsx("div", { className: "flex flex-col", children: effortOptions.map((option) => (_jsxs("button", { type: "button", onClick: () => onEffortChange?.(option), className: "flex w-full items-center gap-3 rounded-md px-2 py-2 text-start hover:bg-accent/50", children: [_jsx("span", { className: `min-w-0 flex-1 truncate text-[12px] ${option === selectedEffort
|
|
1005
1032
|
? "text-foreground"
|
|
1006
|
-
: "text-muted-foreground"}`, children: effortLabel(option) }), option === selectedEffort && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }, option))) }))
|
|
1033
|
+
: "text-muted-foreground"}`, children: effortLabel(option) }), option === selectedEffort && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }, option))) })), resolvedSection === "mode" && terminalModeControl && (_jsx("div", { className: "flex flex-col", children: [
|
|
1034
|
+
{
|
|
1035
|
+
enabled: false,
|
|
1036
|
+
label: t("agentPanel.uiMode", { defaultValue: "UI" }),
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
enabled: true,
|
|
1040
|
+
label: t("agentPanel.cli", { defaultValue: "CLI" }),
|
|
1041
|
+
},
|
|
1042
|
+
].map((option) => (_jsxs("button", { type: "button", onClick: () => {
|
|
1043
|
+
terminalModeControl.onChange(option.enabled);
|
|
1044
|
+
setPickerOpen(false);
|
|
1045
|
+
}, className: "flex w-full items-center gap-3 rounded-md px-2 py-2 text-start hover:bg-accent/50", children: [_jsx("span", { className: `min-w-0 flex-1 truncate text-[12px] ${option.enabled === terminalModeControl.enabled
|
|
1046
|
+
? "text-foreground"
|
|
1047
|
+
: "text-muted-foreground"}`, children: option.label }), option.enabled === terminalModeControl.enabled && (_jsx(IconCheck, { className: "size-4 shrink-0 text-primary" }))] }, option.label))) }))] }) }) })] }) })] }));
|
|
1007
1048
|
}
|
|
1008
1049
|
function ModelSelectorSkeleton() {
|
|
1009
1050
|
const t = useComposerRuntimeAdapters().translate;
|
|
@@ -2237,6 +2278,6 @@ export function TiptapComposer({ placeholder, disabled = false, maxDocumentAttac
|
|
|
2237
2278
|
defaultValue: "Remove {{name}} context",
|
|
2238
2279
|
name: item.title,
|
|
2239
2280
|
}), className: "ms-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground", children: _jsx(IconX, { className: "h-3 w-3" }) })] }, item.key)))] })), _jsx("div", { "data-agent-composer-variant": layoutVariant, "data-agent-composer-slot": "editor-wrap", className: `agent-composer-editor-wrap ${composerMode || hasContextRows ? "px-2 pt-1 pb-1" : "px-2 pt-2 pb-1"}`, children: _jsx(EditorContent, { editor: editor, "data-agent-composer-variant": layoutVariant, "data-agent-composer-slot": "editor", className: "agent-composer-editor aui-composer flex-1 min-w-0 [&_.ProseMirror]:outline-none [&_.ProseMirror_p]:m-0 px-0.5" }) }), voiceEnabled && _jsx(VoiceRecordingOverlay, { voice: voice }), _jsxs("div", { "data-agent-composer-variant": layoutVariant, "data-agent-composer-slot": "toolbar", className: "agent-composer-toolbar flex items-center gap-1 px-2 py-1.5", children: [attachButton ??
|
|
2240
|
-
(plusMenuMode === "hidden" ? null : (_jsx(ComposerPlusMenu, { onSelectMode: handleSelectMode, mode: plusMenuMode, terminalModeControl: terminalModeControl, extensionTools: extensionTools, onAttachmentError: onAttachmentError }))), toolbarSlot ?? modeControl, _jsx("div", { "data-agent-composer-slot": "toolbar-spacer", className: "flex-1" }),
|
|
2281
|
+
(plusMenuMode === "hidden" ? null : (_jsx(ComposerPlusMenu, { onSelectMode: handleSelectMode, mode: plusMenuMode, terminalModeControl: terminalModeControl, extensionTools: extensionTools, onAttachmentError: onAttachmentError }))), toolbarSlot ?? modeControl, _jsx("div", { "data-agent-composer-slot": "toolbar-spacer", className: "flex-1" }), shouldRenderModelSelector(availableModels, onModelChange) && (_jsx(ModelSelector, { model: selectedModel ?? "", open: modelSelectorOpen, effort: selectedEffort, engines: availableModels, agents: availableAgents, selectedAgent: selectedAgent, agentOnly: agentOnly, hostedHarness: hostedHarness, showAutoModelOption: showAutoModelOption, modelListLoading: modelListLoading, onChange: onModelChange, onEffortChange: onEffortChange, onAgentChange: onAgentChange, onModelSelectorOpenChange: onModelSelectorOpenChange, providerConnectStatusEnabled: providerConnectStatusEnabled, onConnectProvider: onConnectProvider, onConnectLocalRuntime: onConnectLocalRuntime, terminalModeControl: terminalModeControl, imageModel: imageModelMenu })), execMode && onExecModeChange && (_jsx(ModeSelector, { mode: execMode, onChange: onExecModeChange, planModeDisabled: planModeDisabled, planModeDisabledReason: planModeDisabledReason })), actionButton ?? (_jsxs(_Fragment, { children: [extraActionButton, voiceEnabled && (_jsx(VoiceButton, { voice: voice, isMac: isMac, disabled: disabled })), primaryAction === "stop" ? (stopButton) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", onClick: () => void submitComposer("immediate"), disabled: !canSend, "data-agent-composer-slot": "send-button", className: "agent-composer-send-button shrink-0 flex h-7 w-7 items-center justify-center rounded-md bg-primary text-primary-foreground hover:opacity-90 transition-[opacity,transform] duration-150 active:scale-[0.97] disabled:opacity-30 disabled:cursor-not-allowed", children: _jsx(IconArrowUp, { className: "h-3.5 w-3.5" }) }) }), _jsx(TooltipContent, { children: sendButtonTooltip })] }))] }))] }), _jsx(MentionPopover, { ref: popoverRef, type: popover?.type ?? "@", position: popover?.position ?? null, mentionItems: filteredMentionItems, skills: filteredSkills, commands: filteredCommands, hint: hint, isLoading: popover?.type === "@" ? mentionsLoading : skillsLoading, query: popover?.query ?? "", onSelectMention: handleSelectMention, onSelectSkill: handleSelectSkill, onSelectCommand: handleSelectCommand, onClose: closePopover })] }));
|
|
2241
2282
|
}
|
|
2242
2283
|
//# sourceMappingURL=TiptapComposer.js.map
|