@agent-native/toolkit 0.21.3 → 0.22.0-nightly-20260926111339

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/agent-native.eject.json +11 -20
  2. package/dist/agentkit.d.ts +5 -1
  3. package/dist/agentkit.d.ts.map +1 -1
  4. package/dist/agentkit.js +2 -0
  5. package/dist/agentkit.js.map +1 -1
  6. package/dist/app-shell/PromptHome.d.ts +26 -0
  7. package/dist/app-shell/PromptHome.d.ts.map +1 -0
  8. package/dist/app-shell/PromptHome.js +19 -0
  9. package/dist/app-shell/PromptHome.js.map +1 -0
  10. package/dist/app-shell/PromptHome.spec.d.ts +2 -0
  11. package/dist/app-shell/PromptHome.spec.d.ts.map +1 -0
  12. package/dist/app-shell/PromptHome.spec.js +206 -0
  13. package/dist/app-shell/PromptHome.spec.js.map +1 -0
  14. package/dist/app-shell/TemplateLibraryGrid.d.ts +48 -0
  15. package/dist/app-shell/TemplateLibraryGrid.d.ts.map +1 -0
  16. package/dist/app-shell/TemplateLibraryGrid.js +20 -0
  17. package/dist/app-shell/TemplateLibraryGrid.js.map +1 -0
  18. package/dist/app-shell/TemplatePreviewDialog.d.ts +41 -0
  19. package/dist/app-shell/TemplatePreviewDialog.d.ts.map +1 -0
  20. package/dist/app-shell/TemplatePreviewDialog.js +50 -0
  21. package/dist/app-shell/TemplatePreviewDialog.js.map +1 -0
  22. package/dist/app-shell/TemplatePreviewDialog.spec.d.ts +2 -0
  23. package/dist/app-shell/TemplatePreviewDialog.spec.d.ts.map +1 -0
  24. package/dist/app-shell/TemplatePreviewDialog.spec.js +258 -0
  25. package/dist/app-shell/TemplatePreviewDialog.spec.js.map +1 -0
  26. package/dist/app-shell/index.d.ts +3 -0
  27. package/dist/app-shell/index.d.ts.map +1 -1
  28. package/dist/app-shell/index.js +3 -0
  29. package/dist/app-shell/index.js.map +1 -1
  30. package/dist/app-shell/prompt-home.css +159 -0
  31. package/dist/composer/ComposerContextMenu.d.ts +48 -0
  32. package/dist/composer/ComposerContextMenu.d.ts.map +1 -0
  33. package/dist/composer/ComposerContextMenu.js +295 -0
  34. package/dist/composer/ComposerContextMenu.js.map +1 -0
  35. package/dist/composer/ComposerContextMenu.spec.d.ts +2 -0
  36. package/dist/composer/ComposerContextMenu.spec.d.ts.map +1 -0
  37. package/dist/composer/ComposerContextMenu.spec.js +270 -0
  38. package/dist/composer/ComposerContextMenu.spec.js.map +1 -0
  39. package/dist/composer/ComposerContextMenuSearch.d.ts +11 -0
  40. package/dist/composer/ComposerContextMenuSearch.d.ts.map +1 -0
  41. package/dist/composer/ComposerContextMenuSearch.js +42 -0
  42. package/dist/composer/ComposerContextMenuSearch.js.map +1 -0
  43. package/dist/composer/ComposerContextPicker.d.ts +7 -0
  44. package/dist/composer/ComposerContextPicker.d.ts.map +1 -0
  45. package/dist/composer/ComposerContextPicker.js +71 -0
  46. package/dist/composer/ComposerContextPicker.js.map +1 -0
  47. package/dist/composer/ComposerContextPicker.spec.d.ts +2 -0
  48. package/dist/composer/ComposerContextPicker.spec.d.ts.map +1 -0
  49. package/dist/composer/ComposerContextPicker.spec.js +454 -0
  50. package/dist/composer/ComposerContextPicker.spec.js.map +1 -0
  51. package/dist/composer/ComposerContextPickerDialog.d.ts +8 -0
  52. package/dist/composer/ComposerContextPickerDialog.d.ts.map +1 -0
  53. package/dist/composer/ComposerContextPickerDialog.js +101 -0
  54. package/dist/composer/ComposerContextPickerDialog.js.map +1 -0
  55. package/dist/composer/ComposerContextPickerDialog.spec.d.ts +2 -0
  56. package/dist/composer/ComposerContextPickerDialog.spec.d.ts.map +1 -0
  57. package/dist/composer/ComposerContextPickerDialog.spec.js +329 -0
  58. package/dist/composer/ComposerContextPickerDialog.spec.js.map +1 -0
  59. package/dist/composer/ComposerContextSearchInput.d.ts +7 -0
  60. package/dist/composer/ComposerContextSearchInput.d.ts.map +1 -0
  61. package/dist/composer/ComposerContextSearchInput.js +18 -0
  62. package/dist/composer/ComposerContextSearchInput.js.map +1 -0
  63. package/dist/composer/PromptComposer.context.spec.d.ts +2 -0
  64. package/dist/composer/PromptComposer.context.spec.d.ts.map +1 -0
  65. package/dist/composer/PromptComposer.context.spec.js +383 -0
  66. package/dist/composer/PromptComposer.context.spec.js.map +1 -0
  67. package/dist/composer/PromptComposer.d.ts +19 -5
  68. package/dist/composer/PromptComposer.d.ts.map +1 -1
  69. package/dist/composer/PromptComposer.js +30 -25
  70. package/dist/composer/PromptComposer.js.map +1 -1
  71. package/dist/composer/PromptComposer.spec.js +24 -1
  72. package/dist/composer/PromptComposer.spec.js.map +1 -1
  73. package/dist/composer/TiptapComposer.d.ts +13 -2
  74. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  75. package/dist/composer/TiptapComposer.js +89 -32
  76. package/dist/composer/TiptapComposer.js.map +1 -1
  77. package/dist/composer/context-items.d.ts +12 -0
  78. package/dist/composer/context-items.d.ts.map +1 -0
  79. package/dist/composer/context-items.js +46 -0
  80. package/dist/composer/context-items.js.map +1 -0
  81. package/dist/composer/context-items.spec.d.ts +2 -0
  82. package/dist/composer/context-items.spec.d.ts.map +1 -0
  83. package/dist/composer/context-items.spec.js +43 -0
  84. package/dist/composer/context-items.spec.js.map +1 -0
  85. package/dist/composer/index.d.ts +4 -1
  86. package/dist/composer/index.d.ts.map +1 -1
  87. package/dist/composer/index.js +3 -1
  88. package/dist/composer/index.js.map +1 -1
  89. package/dist/composer/runtime-adapters.d.ts +6 -1
  90. package/dist/composer/runtime-adapters.d.ts.map +1 -1
  91. package/dist/composer/runtime-adapters.js.map +1 -1
  92. package/dist/composer/useComposerContextPicker.d.ts +111 -0
  93. package/dist/composer/useComposerContextPicker.d.ts.map +1 -0
  94. package/dist/composer/useComposerContextPicker.js +299 -0
  95. package/dist/composer/useComposerContextPicker.js.map +1 -0
  96. package/dist/design-system/default-adapter.d.ts.map +1 -1
  97. package/dist/design-system/default-adapter.js +13 -7
  98. package/dist/design-system/default-adapter.js.map +1 -1
  99. package/dist/design-system/default-adapter.spec.js +13 -0
  100. package/dist/design-system/default-adapter.spec.js.map +1 -1
  101. package/dist/design-system/types.d.ts +4 -1
  102. package/dist/design-system/types.d.ts.map +1 -1
  103. package/dist/index.d.ts +0 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +0 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/styles.css +1 -0
  108. package/dist/ui/command.d.ts +8 -2
  109. package/dist/ui/command.d.ts.map +1 -1
  110. package/dist/ui/command.js +9 -2
  111. package/dist/ui/command.js.map +1 -1
  112. package/dist/ui/command.spec.js +20 -1
  113. package/dist/ui/command.spec.js.map +1 -1
  114. package/package.json +2 -15
  115. package/src/agentkit.ts +26 -0
  116. package/src/app-shell/PromptHome.spec.tsx +404 -0
  117. package/src/app-shell/PromptHome.tsx +111 -0
  118. package/src/app-shell/TemplateLibraryGrid.tsx +212 -0
  119. package/src/app-shell/TemplatePreviewDialog.spec.tsx +473 -0
  120. package/src/app-shell/TemplatePreviewDialog.tsx +224 -0
  121. package/src/app-shell/index.ts +3 -0
  122. package/src/app-shell/prompt-home.css +159 -0
  123. package/src/composer/ComposerContextMenu.spec.tsx +343 -0
  124. package/src/composer/ComposerContextMenu.tsx +610 -0
  125. package/src/composer/ComposerContextMenuSearch.tsx +69 -0
  126. package/src/composer/ComposerContextPicker.spec.tsx +520 -0
  127. package/src/composer/ComposerContextPicker.tsx +280 -0
  128. package/src/composer/ComposerContextPickerDialog.spec.tsx +405 -0
  129. package/src/composer/ComposerContextPickerDialog.tsx +274 -0
  130. package/src/composer/ComposerContextSearchInput.tsx +48 -0
  131. package/src/composer/PromptComposer.context.spec.tsx +577 -0
  132. package/src/composer/PromptComposer.spec.ts +24 -1
  133. package/src/composer/PromptComposer.tsx +60 -26
  134. package/src/composer/TiptapComposer.tsx +198 -48
  135. package/src/composer/context-items.spec.ts +68 -0
  136. package/src/composer/context-items.ts +72 -0
  137. package/src/composer/index.ts +27 -0
  138. package/src/composer/runtime-adapters.tsx +6 -1
  139. package/src/composer/useComposerContextPicker.ts +441 -0
  140. package/src/design-system/default-adapter.spec.tsx +23 -0
  141. package/src/design-system/default-adapter.tsx +52 -23
  142. package/src/design-system/types.ts +4 -1
  143. package/src/index.ts +0 -1
  144. package/src/styles.css +1 -0
  145. package/src/ui/command.spec.tsx +33 -1
  146. package/src/ui/command.tsx +52 -9
  147. package/dist/marketing/MarketingHome.d.ts +0 -36
  148. package/dist/marketing/MarketingHome.d.ts.map +0 -1
  149. package/dist/marketing/MarketingHome.js +0 -28
  150. package/dist/marketing/MarketingHome.js.map +0 -1
  151. package/dist/marketing/MarketingHome.spec.d.ts +0 -2
  152. package/dist/marketing/MarketingHome.spec.d.ts.map +0 -1
  153. package/dist/marketing/MarketingHome.spec.js +0 -44
  154. package/dist/marketing/MarketingHome.spec.js.map +0 -1
  155. package/dist/marketing/Starfield.d.ts +0 -8
  156. package/dist/marketing/Starfield.d.ts.map +0 -1
  157. package/dist/marketing/Starfield.js +0 -349
  158. package/dist/marketing/Starfield.js.map +0 -1
  159. package/dist/marketing/index.d.ts +0 -3
  160. package/dist/marketing/index.d.ts.map +0 -1
  161. package/dist/marketing/index.js +0 -3
  162. package/dist/marketing/index.js.map +0 -1
  163. package/src/marketing/MarketingHome.spec.tsx +0 -75
  164. package/src/marketing/MarketingHome.tsx +0 -183
  165. package/src/marketing/Starfield.tsx +0 -403
  166. package/src/marketing/index.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextPicker.spec.js","sourceRoot":"","sources":["../../src/composer/ComposerContextPicker.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ComposerContextPickerConfig } from "./useComposerContextPicker.js";
2
+ export declare function ComposerContextPickerDialog({ config, title, onClose, onRestoreFocus, }: {
3
+ config: ComposerContextPickerConfig;
4
+ title: string;
5
+ onClose: () => void;
6
+ onRestoreFocus: () => void;
7
+ }): import("react").JSX.Element;
8
+ //# sourceMappingURL=ComposerContextPickerDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextPickerDialog.d.ts","sourceRoot":"","sources":["../../src/composer/ComposerContextPickerDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAEvC,wBAAgB,2BAA2B,CAAC,EAC1C,MAAM,EACN,KAAK,EACL,OAAO,EACP,cAAc,GACf,EAAE;IACD,MAAM,EAAE,2BAA2B,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,+BAmPA"}
@@ -0,0 +1,101 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef, useState } from "react";
3
+ import { Alert, AlertDescription } from "../ui/alert.js";
4
+ import { Button } from "../ui/button.js";
5
+ import { Checkbox } from "../ui/checkbox.js";
6
+ import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "../ui/dialog.js";
7
+ import { Input } from "../ui/input.js";
8
+ import { Label } from "../ui/label.js";
9
+ import { Skeleton } from "../ui/skeleton.js";
10
+ import { useComposerContextPicker, } from "./useComposerContextPicker.js";
11
+ export function ComposerContextPickerDialog({ config, title, onClose, onRestoreFocus, }) {
12
+ const picker = useComposerContextPicker({ config, onClose });
13
+ const { t, stage, link, selecting, loading, items, location } = picker;
14
+ const presentation = typeof config.presentation === "object" ? config.presentation : undefined;
15
+ const urlOnly = presentation?.mode === "url";
16
+ const id = useId();
17
+ const input = useRef(null);
18
+ const [touched, setTouched] = useState(false);
19
+ useEffect(() => {
20
+ input.current?.focus();
21
+ }, [stage]);
22
+ const validation = touched && link.trim() ? picker.linkError : undefined;
23
+ const error = stage === "link" ? picker.actionError?.message : picker.error;
24
+ const attach = t("agentChat.composer.contextAttach", {
25
+ defaultValue: "Attach",
26
+ });
27
+ const canAttach = picker.selectedItems.length > 0 && !loading && !selecting && !error;
28
+ return (_jsx(Dialog, { open: true, onOpenChange: (open) => {
29
+ if (!open)
30
+ onClose();
31
+ }, children: _jsxs(DialogContent, { "aria-describedby": undefined, closeLabel: t("agentChat.common.close", { defaultValue: "Close" }), onOpenAutoFocus: (event) => {
32
+ event.preventDefault();
33
+ input.current?.focus();
34
+ }, onCloseAutoFocus: (event) => {
35
+ event.preventDefault();
36
+ onRestoreFocus();
37
+ }, children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: title }) }), _jsxs("form", { noValidate: true, className: "grid gap-4", onSubmit: (event) => {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ if (selecting)
41
+ return;
42
+ if (stage === "link")
43
+ picker.submitLink();
44
+ else if (canAttach)
45
+ void picker.select("batch");
46
+ }, children: [stage === "link" ? (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { htmlFor: `${id}-url`, children: config.link?.label ??
47
+ t("agentChat.composer.contextUrlLabel", {
48
+ defaultValue: "URL",
49
+ }) }), _jsx(Input, { ref: input, id: `${id}-url`, type: "url", value: link, placeholder: config.link?.placeholder, "aria-invalid": Boolean(validation), "aria-describedby": validation ? `${id}-validation` : undefined, disabled: selecting, onBlur: () => setTouched(true), onChange: (event) => {
50
+ picker.setLink(event.target.value);
51
+ picker.setActionError(undefined);
52
+ } }), validation && (_jsx("p", { id: `${id}-validation`, className: "text-sm text-destructive", children: validation }))] })) : (_jsxs(_Fragment, { children: [_jsx(Input, { ref: input, type: "search", "aria-label": config.searchPlaceholder, placeholder: config.searchPlaceholder, value: location.search, onChange: (event) => {
53
+ picker.cursors.current = [undefined];
54
+ picker.move({
55
+ search: event.target.value,
56
+ page: 1,
57
+ url: location.url,
58
+ });
59
+ } }), error ? null : loading ? (_jsxs("div", { className: "grid gap-2", role: "status", "aria-label": t("agentChat.composer.contextPending", {
60
+ defaultValue: "Loading context…",
61
+ }), children: [_jsx(Skeleton, { className: "h-8 w-full" }), _jsx(Skeleton, { className: "h-8 w-full" }), _jsx(Skeleton, { className: "h-8 w-full" })] })) : items.length ? (_jsx("div", { className: "grid max-h-64 gap-3 overflow-y-auto", children: items.map((item) => {
62
+ const attached = config.selectedIds?.includes(item.id) === true;
63
+ return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: `${id}-${item.id}`, checked: attached ||
64
+ picker.selectedItems.some((selected) => selected.id === item.id), disabled: attached || item.disabled || selecting, onCheckedChange: (checked) => picker.toggleItem(item, checked === true) }), _jsx(Label, { htmlFor: `${id}-${item.id}`, children: item.title })] }, item.id));
65
+ }) })) : (_jsx("p", { role: "status", className: "text-sm text-muted-foreground", children: config.emptyMessage ??
66
+ t("agentChat.composer.noContextResults", {
67
+ defaultValue: "No matching context.",
68
+ }) })), (location.page > 1 || picker.hasMore) && (_jsxs("div", { className: "flex gap-2", children: [location.page > 1 && (_jsx(Button, { type: "button", variant: "outline", disabled: loading || selecting, onClick: () => picker.move({
69
+ ...location,
70
+ page: location.page - 1,
71
+ cursor: picker.cursors.current[location.page - 2],
72
+ }), children: t("agentChat.composer.contextPrevious", {
73
+ defaultValue: "Previous",
74
+ }) })), picker.hasMore && (_jsx(Button, { type: "button", variant: "outline", disabled: loading || selecting || Boolean(error), onClick: () => {
75
+ picker.cursors.current = [
76
+ ...picker.cursors.current.slice(0, location.page),
77
+ picker.result?.nextCursor,
78
+ ];
79
+ picker.move({
80
+ ...location,
81
+ page: location.page + 1,
82
+ cursor: picker.result?.nextCursor,
83
+ });
84
+ }, children: t("agentChat.composer.contextNext", {
85
+ defaultValue: "Next",
86
+ }) }))] }))] })), error && (_jsx(Alert, { variant: "destructive", children: _jsx(AlertDescription, { children: error }) })), error &&
87
+ (stage === "link" ? picker.actionError?.retry : picker.retry) && (_jsx("div", { children: _jsx(Button, { type: "button", variant: "outline", disabled: selecting || (stage === "results" && loading), onClick: () => {
88
+ if (stage === "link")
89
+ picker.actionError?.retry?.();
90
+ else
91
+ picker.retry?.();
92
+ }, children: t("agentChat.common.retry", { defaultValue: "Retry" }) }) })), _jsxs(DialogFooter, { children: [stage === "results" && (_jsx(Button, { type: "button", variant: "outline", onClick: () => {
93
+ setTouched(false);
94
+ picker.back();
95
+ }, children: t("agentChat.composer.contextBack", { defaultValue: "Back" }) })), _jsx(Button, { type: "button", variant: "outline", onClick: onClose, children: t("agentChat.common.cancel", { defaultValue: "Cancel" }) }), _jsx(Button, { type: "submit", disabled: stage === "link"
96
+ ? selecting || Boolean(picker.linkError)
97
+ : !canAttach, children: stage === "link" && !urlOnly
98
+ ? t("agentChat.common.continue", { defaultValue: "Continue" })
99
+ : attach })] })] })] }) }));
100
+ }
101
+ //# sourceMappingURL=ComposerContextPickerDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextPickerDialog.js","sourceRoot":"","sources":["../../src/composer/ComposerContextPickerDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ComposerContextPickerDialog.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextPickerDialog.spec.d.ts","sourceRoot":"","sources":["../../src/composer/ComposerContextPickerDialog.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,329 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { act } from "react";
4
+ import { createRoot } from "react-dom/client";
5
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
6
+ import { TooltipProvider } from "../ui/tooltip.js";
7
+ import { ComposerContextMenu, } from "./ComposerContextMenu.js";
8
+ let container;
9
+ let root;
10
+ beforeEach(() => {
11
+ vi.stubGlobal("IS_REACT_ACT_ENVIRONMENT", true);
12
+ vi.spyOn(HTMLElement.prototype, "scrollIntoView").mockImplementation(() => { });
13
+ container = document.createElement("div");
14
+ document.body.append(container);
15
+ root = createRoot(container);
16
+ });
17
+ afterEach(async () => {
18
+ await act(async () => root.unmount());
19
+ container.remove();
20
+ vi.restoreAllMocks();
21
+ vi.unstubAllGlobals();
22
+ });
23
+ const frames = [
24
+ { id: "file-a:1", title: "First frame", url: "https://example.com/a" },
25
+ { id: "file-b:1", title: "Second frame", url: "https://example.com/b" },
26
+ ];
27
+ function multiple() {
28
+ return {
29
+ presentation: {
30
+ type: "dialog",
31
+ mode: "multiple",
32
+ onAttach: vi.fn().mockResolvedValue(undefined),
33
+ },
34
+ searchPlaceholder: "Search frames",
35
+ scopeKey: "account-a",
36
+ refreshKey: 0,
37
+ link: {
38
+ label: "Source URL",
39
+ placeholder: "https://example.com/file",
40
+ submitLabel: "Unused legacy label",
41
+ validate: (url) => url.includes("/supported/") ? undefined : "Use a supported source URL",
42
+ },
43
+ load: vi.fn().mockResolvedValue({ items: frames, hasMore: false }),
44
+ };
45
+ }
46
+ async function render(config, onParentSubmit) {
47
+ await act(async () => root.render(_jsx(TooltipProvider, { children: _jsxs("form", { onSubmit: (event) => {
48
+ event.preventDefault();
49
+ onParentSubmit?.();
50
+ }, children: [_jsx("input", { "aria-label": "Prompt draft", defaultValue: "Keep my draft" }), _jsx(ComposerContextMenu, { items: [
51
+ {
52
+ id: "category",
53
+ label: "Design",
54
+ children: [
55
+ { id: "link", label: "Attach source", picker: config },
56
+ ],
57
+ },
58
+ ] })] }) })));
59
+ }
60
+ async function tick() {
61
+ await act(async () => {
62
+ await new Promise((resolve) => setTimeout(resolve, 0));
63
+ });
64
+ }
65
+ function row(text) {
66
+ const target = Array.from(document.querySelectorAll('[role="menuitem"]')).find((element) => element.textContent === text);
67
+ expect(target, text).toBeDefined();
68
+ return target;
69
+ }
70
+ const dialog = () => document.querySelector('[role="dialog"]');
71
+ const trigger = () => container.querySelector('button[aria-label="Add context"]');
72
+ function button(text) {
73
+ const target = Array.from(dialog().querySelectorAll("button")).find((element) => element.textContent === text);
74
+ expect(target, text).toBeDefined();
75
+ return target;
76
+ }
77
+ async function open() {
78
+ await act(async () => trigger().dispatchEvent(new KeyboardEvent("keydown", { key: "ArrowDown", bubbles: true })));
79
+ await act(async () => row("Add context").click());
80
+ await act(async () => row("Design").click());
81
+ expect(row("Attach source").hasAttribute("aria-haspopup")).toBe(false);
82
+ await act(async () => row("Attach source").click());
83
+ await tick();
84
+ expect(dialog()).not.toBeNull();
85
+ }
86
+ async function type(value, selector = 'input[type="url"]') {
87
+ const input = dialog().querySelector(selector);
88
+ await act(async () => {
89
+ Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value").set.call(input, value);
90
+ input.dispatchEvent(new Event("input", { bubbles: true }));
91
+ });
92
+ }
93
+ async function click(text) {
94
+ await act(async () => button(text).click());
95
+ await tick();
96
+ }
97
+ async function choose(title) {
98
+ const label = Array.from(dialog().querySelectorAll("label")).find((element) => element.textContent === title);
99
+ const checkbox = document.getElementById(label.htmlFor);
100
+ await act(async () => checkbox.click());
101
+ return checkbox;
102
+ }
103
+ async function browse() {
104
+ await type("https://example.com/supported/file");
105
+ await click("Continue");
106
+ }
107
+ function deferred() {
108
+ let resolve;
109
+ let reject;
110
+ const promise = new Promise((yes, no) => {
111
+ resolve = yes;
112
+ reject = no;
113
+ });
114
+ return { promise, resolve, reject };
115
+ }
116
+ describe("shared context URL dialog", () => {
117
+ it("isolates Continue and Attach form submissions from the portaled parent composer", async () => {
118
+ const config = multiple();
119
+ const parent = vi.fn();
120
+ config.presentation.onAttach.mockResolvedValue(false);
121
+ await render(config, parent);
122
+ await open();
123
+ await type("https://example.com/supported/file");
124
+ await act(async () => dialog().querySelector("form").requestSubmit());
125
+ expect(config.load).toHaveBeenCalledOnce();
126
+ expect(parent).not.toHaveBeenCalled();
127
+ await choose("First frame");
128
+ await act(async () => dialog().querySelector("form").requestSubmit());
129
+ expect(config.presentation.onAttach).toHaveBeenCalledOnce();
130
+ expect(parent).not.toHaveBeenCalled();
131
+ expect(container.querySelector('[aria-label="Prompt draft"]')
132
+ .value).toBe("Keep my draft");
133
+ });
134
+ it("opens only from an ordinary menu action, focuses URL after menu close and restores plus on cancel", async () => {
135
+ const config = multiple();
136
+ await render(config);
137
+ expect(dialog()).toBeNull();
138
+ await open();
139
+ expect(document.querySelector('[role="menu"]')).toBeNull();
140
+ expect(dialog().textContent).toContain("Attach source");
141
+ expect(document.activeElement).toBe(dialog().querySelector('input[type="url"]'));
142
+ expect(dialog().querySelectorAll("form")).toHaveLength(1);
143
+ expect(config.load).not.toHaveBeenCalled();
144
+ await click("Cancel");
145
+ expect(dialog()).toBeNull();
146
+ expect(document.activeElement).toBe(trigger());
147
+ expect(container.querySelector('[aria-label="Prompt draft"]')
148
+ .value).toBe("Keep my draft");
149
+ await open();
150
+ expect(dialog().querySelector('input[type="url"]').value).toBe("");
151
+ });
152
+ it("makes blank Enter inert and validates URL and host restrictions before any provider call", async () => {
153
+ const config = multiple();
154
+ await render(config);
155
+ await open();
156
+ expect(button("Continue").disabled).toBe(true);
157
+ await act(async () => dialog()
158
+ .querySelector("form")
159
+ .dispatchEvent(new Event("submit", { bubbles: true, cancelable: true })));
160
+ expect(dialog().querySelector('[role="alert"]')).toBeNull();
161
+ expect(dialog().textContent).not.toContain("Enter a link.");
162
+ for (const url of [
163
+ "not-a-url",
164
+ "javascript:alert(1)",
165
+ "ftp://example.com/supported/file",
166
+ "https://user:secret@example.com/supported/file",
167
+ "https://example.com/unsupported",
168
+ ]) {
169
+ await type(url);
170
+ expect(button("Continue").disabled).toBe(true);
171
+ await act(async () => dialog()
172
+ .querySelector("form")
173
+ .dispatchEvent(new Event("submit", { bubbles: true, cancelable: true })));
174
+ }
175
+ expect(config.load).not.toHaveBeenCalled();
176
+ expect(config.presentation.onAttach).not.toHaveBeenCalled();
177
+ await browse();
178
+ expect(config.load).toHaveBeenCalledOnce();
179
+ });
180
+ it("stages checkboxes, excludes already attached IDs without conflating files and attaches one frozen batch", async () => {
181
+ const config = multiple();
182
+ await render({ ...config, selectedIds: ["file-a:1"] });
183
+ await open();
184
+ await browse();
185
+ expect(button("Attach").disabled).toBe(true);
186
+ const existing = await choose("First frame");
187
+ expect(existing.getAttribute("aria-checked")).toBe("true");
188
+ expect(existing.hasAttribute("disabled")).toBe(true);
189
+ await choose("Second frame");
190
+ expect(config.presentation.onAttach).not.toHaveBeenCalled();
191
+ await click("Attach");
192
+ expect(config.presentation.onAttach).toHaveBeenCalledOnce();
193
+ const [items, request] = config.presentation.onAttach.mock.calls[0];
194
+ expect(items).toEqual([frames[1]]);
195
+ expect(Object.isFrozen(items)).toBe(true);
196
+ expect(Object.isFrozen(items[0])).toBe(true);
197
+ expect(request).toMatchObject({
198
+ url: "https://example.com/supported/file",
199
+ page: 1,
200
+ signal: expect.any(AbortSignal),
201
+ });
202
+ expect(dialog()).toBeNull();
203
+ });
204
+ it("retains staged choices across pages, search and ordinary refresh", async () => {
205
+ const config = multiple();
206
+ config.load.mockImplementation(async ({ page }) => ({
207
+ items: [frames[page === 2 ? 1 : 0]],
208
+ hasMore: page === 1,
209
+ nextCursor: "second",
210
+ }));
211
+ await render(config);
212
+ await open();
213
+ await browse();
214
+ await choose("First frame");
215
+ await click("Next");
216
+ await choose("Second frame");
217
+ await type("one", 'input[type="search"]');
218
+ await render({ ...config, refreshKey: 1 });
219
+ await click("Attach");
220
+ expect(config.presentation.onAttach.mock.calls[0][0]).toEqual(frames);
221
+ expect(config.load.mock.calls.some(([request]) => request.cursor === "second")).toBe(true);
222
+ });
223
+ it("shows provider errors, retries without losing the URL, and suppresses late cancelled reads", async () => {
224
+ const config = multiple();
225
+ const late = deferred();
226
+ config.load
227
+ .mockRejectedValueOnce(new Error("Source access denied"))
228
+ .mockReturnValueOnce(late.promise);
229
+ await render(config);
230
+ await open();
231
+ await browse();
232
+ expect(dialog().querySelector('[role="alert"]').textContent).toBe("Source access denied");
233
+ expect(dialog().querySelector('[role="status"]')).toBeNull();
234
+ await click("Retry");
235
+ const request = config.load.mock.calls.at(-1)[0];
236
+ expect(request.url).toBe("https://example.com/supported/file");
237
+ await click("Cancel");
238
+ expect(request.signal.aborted).toBe(true);
239
+ await act(async () => late.resolve({ items: frames, hasMore: false }));
240
+ expect(dialog()).toBeNull();
241
+ });
242
+ it("aborts a pending batch on identity change and does not close a newer dialog", async () => {
243
+ const config = multiple();
244
+ const pending = deferred();
245
+ config.presentation.onAttach.mockReturnValue(pending.promise);
246
+ await render(config);
247
+ await open();
248
+ await browse();
249
+ await choose("First frame");
250
+ await click("Attach");
251
+ const request = config.presentation.onAttach.mock.calls[0][1];
252
+ expect(button("Attach").disabled).toBe(true);
253
+ await render({ ...config, scopeKey: "account-b" });
254
+ await tick();
255
+ expect(dialog()).toBeNull();
256
+ expect(request.signal.aborted).toBe(true);
257
+ await open();
258
+ await act(async () => pending.resolve());
259
+ expect(dialog()).not.toBeNull();
260
+ expect(dialog().querySelector('input[type="url"]').value).toBe("");
261
+ });
262
+ it("backs out of a pending list and ignores its stale response", async () => {
263
+ const config = multiple();
264
+ const pending = deferred();
265
+ config.load.mockReturnValue(pending.promise);
266
+ await render(config);
267
+ await open();
268
+ await browse();
269
+ const request = config.load.mock.calls[0][0];
270
+ await click("Back");
271
+ expect(request.signal.aborted).toBe(true);
272
+ await act(async () => pending.resolve({ items: frames, hasMore: false }));
273
+ expect(dialog().querySelector('[role="checkbox"]')).toBeNull();
274
+ expect(document.activeElement).toBe(dialog().querySelector('input[type="url"]'));
275
+ });
276
+ it("retries failed batches and respects false without clearing staged selection", async () => {
277
+ const config = multiple();
278
+ config.presentation.onAttach
279
+ .mockRejectedValueOnce(new Error("Cannot attach yet"))
280
+ .mockResolvedValueOnce(false);
281
+ await render(config);
282
+ await open();
283
+ await browse();
284
+ await choose("First frame");
285
+ await click("Attach");
286
+ expect(dialog().textContent).toContain("Cannot attach yet");
287
+ await click("Retry");
288
+ expect(dialog()).not.toBeNull();
289
+ expect(config.presentation.onAttach).toHaveBeenCalledTimes(2);
290
+ expect(button("Attach").disabled).toBe(false);
291
+ });
292
+ it("uses URL-only mode without a list, keeps caret navigation, and restores focus on Escape", async () => {
293
+ const select = vi.fn().mockResolvedValue(false);
294
+ const load = vi.fn();
295
+ await render({
296
+ presentation: { type: "dialog", mode: "url" },
297
+ onSelect: select,
298
+ load,
299
+ searchPlaceholder: "Unused",
300
+ link: {
301
+ label: "Website URL",
302
+ placeholder: "https://example.com",
303
+ submitLabel: "Unused",
304
+ },
305
+ });
306
+ await open();
307
+ expect(button("Attach").disabled).toBe(true);
308
+ await type("https://example.com/page");
309
+ const input = dialog().querySelector('input[type="url"]');
310
+ for (const key of ["ArrowLeft", "ArrowRight"])
311
+ await act(async () => input.dispatchEvent(new KeyboardEvent("keydown", { key, bubbles: true })));
312
+ expect(dialog()).not.toBeNull();
313
+ await click("Attach");
314
+ expect(load).not.toHaveBeenCalled();
315
+ expect(select).toHaveBeenCalledWith({
316
+ id: "https://example.com/page",
317
+ title: "https://example.com/page",
318
+ url: "https://example.com/page",
319
+ }, expect.objectContaining({
320
+ url: "https://example.com/page",
321
+ signal: expect.any(AbortSignal),
322
+ }));
323
+ await act(async () => input.dispatchEvent(new KeyboardEvent("keydown", { key: "Escape", bubbles: true })));
324
+ await tick();
325
+ expect(dialog()).toBeNull();
326
+ expect(document.activeElement).toBe(trigger());
327
+ });
328
+ });
329
+ //# sourceMappingURL=ComposerContextPickerDialog.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextPickerDialog.spec.js","sourceRoot":"","sources":["../../src/composer/ComposerContextPickerDialog.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ import { CommandInput } from "../ui/command.js";
3
+ export interface ComposerContextSearchInputProps extends Omit<ComponentPropsWithoutRef<typeof CommandInput>, "leading"> {
4
+ onBack?: () => void;
5
+ }
6
+ export declare const ComposerContextSearchInput: import("react").ForwardRefExoticComponent<ComposerContextSearchInputProps & import("react").RefAttributes<HTMLInputElement>>;
7
+ //# sourceMappingURL=ComposerContextSearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextSearchInput.d.ts","sourceRoot":"","sources":["../../src/composer/ComposerContextSearchInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAC3D,wBAAwB,CAAC,OAAO,YAAY,CAAC,EAC7C,SAAS,CACV;IACC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,8HAgCrC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { IconArrowLeft } from "@tabler/icons-react";
3
+ import { forwardRef } from "react";
4
+ import { Button } from "../ui/button.js";
5
+ import { CommandInput } from "../ui/command.js";
6
+ import { useComposerRuntimeAdapters } from "./runtime-adapters.js";
7
+ export const ComposerContextSearchInput = forwardRef(({ onBack, ...props }, ref) => {
8
+ const t = useComposerRuntimeAdapters().translate;
9
+ return (_jsx(CommandInput, { ...props, ref: ref, leading: onBack ? (_jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "-ms-2 size-8 shrink-0", "aria-label": t("agentChat.composer.contextBack", {
10
+ defaultValue: "Back",
11
+ }), onKeyDown: (event) => {
12
+ // Keep cmdk from activating the selected row on native button keys.
13
+ if (event.key === "Enter" || event.key === " ")
14
+ event.stopPropagation();
15
+ }, onClick: onBack, children: _jsx(IconArrowLeft, {}) })) : undefined }));
16
+ });
17
+ ComposerContextSearchInput.displayName = "ComposerContextSearchInput";
18
+ //# sourceMappingURL=ComposerContextSearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerContextSearchInput.js","sourceRoot":"","sources":["../../src/composer/ComposerContextSearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAiC,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AASnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAGlD,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,CAAC,GAAG,0BAA0B,EAAE,CAAC,SAAU,CAAC;IAClD,OAAO,CACL,KAAC,YAAY,OACP,KAAK,EACT,GAAG,EAAE,GAAG,EACR,OAAO,EACL,MAAM,CAAC,CAAC,CAAC,CACP,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,uBAAuB,gBACrB,CAAC,CAAC,gCAAgC,EAAE;gBAC9C,YAAY,EAAE,MAAM;aACrB,CAAC,EACF,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,oEAAoE;gBACpE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;oBAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC,EACD,OAAO,EAAE,MAAM,YAEf,KAAC,aAAa,KAAG,GACV,CACV,CAAC,CAAC,CAAC,SAAS,GAEf,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,0BAA0B,CAAC,WAAW,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PromptComposer.context.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptComposer.context.spec.d.ts","sourceRoot":"","sources":["../../src/composer/PromptComposer.context.spec.tsx"],"names":[],"mappings":""}