netra-artifacts 0.1.0-alpha.7 → 0.1.0-alpha.8
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/CHANGELOG.md +8 -0
- package/README.md +6 -3
- package/dist/client/ArtifactChat.d.ts +7 -0
- package/dist/client/ArtifactChat.d.ts.map +1 -1
- package/dist/client/ArtifactChat.js +29 -2
- package/dist/client/ArtifactChat.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/starterPrompts.d.ts +26 -0
- package/dist/client/starterPrompts.d.ts.map +1 -0
- package/dist/client/starterPrompts.js +102 -0
- package/dist/client/starterPrompts.js.map +1 -0
- package/dist/client/useArtifactStream.d.ts.map +1 -1
- package/dist/client/useArtifactStream.js +2 -1
- package/dist/client/useArtifactStream.js.map +1 -1
- package/dist/types/client.d.ts +6 -2
- package/dist/types/client.d.ts.map +1 -1
- package/dist-cjs/client/ArtifactChat.js +29 -2
- package/dist-cjs/client/ArtifactChat.js.map +1 -1
- package/dist-cjs/client/index.js +3 -1
- package/dist-cjs/client/index.js.map +1 -1
- package/dist-cjs/client/starterPrompts.js +105 -0
- package/dist-cjs/client/starterPrompts.js.map +1 -0
- package/dist-cjs/client/useArtifactStream.js +2 -1
- package/dist-cjs/client/useArtifactStream.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,14 @@ adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
### Added
|
|
9
9
|
|
|
10
|
+
- **Starter prompt templates.** `STARTER_PROMPTS` (exported from
|
|
11
|
+
`netra-artifacts/client`) ships 8 prebuilt templates — each a short show
|
|
12
|
+
`label` plus a rich `prompt` actually sent to the model — covering an HTML
|
|
13
|
+
artifact, markdown answer, three.js game, generative-UI-from-JSON, image-rich
|
|
14
|
+
page, YouTube video page, pricing page, and sign-up form. `ArtifactChat`
|
|
15
|
+
renders them as chips below the composer; each carries per-request `body`
|
|
16
|
+
overrides (`mode`/`game`/`allowVideoEmbeds`/…) now merged by `sendMessage`'s
|
|
17
|
+
new second argument. Pass `starterPrompts={[]}` to hide them.
|
|
10
18
|
- **Single-file three.js games.** New `allowModuleImports` sanitize/preview flag
|
|
11
19
|
keeps a `<script type="importmap">` whose targets resolve to a trusted,
|
|
12
20
|
version-pinned ESM CDN (`esm.sh`, `cdn.jsdelivr.net`, `unpkg.com`,
|
package/README.md
CHANGED
|
@@ -41,14 +41,17 @@ const google = createGoogleGenerativeAI({
|
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
export async function POST(req: Request) {
|
|
44
|
-
|
|
44
|
+
// Spread the body so per-request fields from the client (mode, game,
|
|
45
|
+
// allowVideoEmbeds, allowModuleImports) — e.g. those sent by the built-in
|
|
46
|
+
// starter prompts — are forwarded into the options.
|
|
47
|
+
const body = await req.json();
|
|
45
48
|
const model = google("gemini-2.5-flash");
|
|
46
49
|
|
|
47
50
|
return createArtifactStreamResponse({
|
|
48
|
-
|
|
51
|
+
...body,
|
|
49
52
|
generateTextStream: (args) => streamText({ model, ...args }).textStream,
|
|
50
53
|
generateText: async (args) => (await generateText({ model, ...args })).text,
|
|
51
|
-
mode: "auto",
|
|
54
|
+
mode: body.mode ?? "auto",
|
|
52
55
|
snapshotIntervalMs: 0,
|
|
53
56
|
allowExternalFonts: true,
|
|
54
57
|
});
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { type StarterPrompt } from "./starterPrompts.js";
|
|
2
3
|
import type { HtmlArtifactCardProps, UseArtifactStreamOptions } from "../types/client.js";
|
|
3
4
|
export interface ArtifactChatProps extends UseArtifactStreamOptions {
|
|
4
5
|
placeholder?: string;
|
|
5
6
|
emptyState?: React.ReactNode;
|
|
6
7
|
cardProps?: Partial<Omit<HtmlArtifactCardProps, "artifact">>;
|
|
7
8
|
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Template chips shown below the composer. Defaults to {@link STARTER_PROMPTS}.
|
|
11
|
+
* Pass `[]` to hide them. Clicking one sends its detailed prompt with its
|
|
12
|
+
* per-request `body` overrides (mode/game/allowVideoEmbeds/…).
|
|
13
|
+
*/
|
|
14
|
+
starterPrompts?: StarterPrompt[];
|
|
8
15
|
}
|
|
9
16
|
/**
|
|
10
17
|
* A batteries-included chat surface: message list, streaming status, and a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactChat.d.ts","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE1F,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ArtifactChat.d.ts","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE1F,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4IpD"}
|
|
@@ -3,17 +3,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { useArtifactStream } from "./useArtifactStream.js";
|
|
5
5
|
import { ArtifactMessage } from "./ArtifactMessage.js";
|
|
6
|
+
import { STARTER_PROMPTS } from "./starterPrompts.js";
|
|
6
7
|
/**
|
|
7
8
|
* A batteries-included chat surface: message list, streaming status, and a
|
|
8
9
|
* composer. Drop it in with just an `endpoint` to get the full experience, or
|
|
9
10
|
* compose `useArtifactStream` + `ArtifactMessage` yourself for custom layouts.
|
|
10
11
|
*/
|
|
11
12
|
export function ArtifactChat(props) {
|
|
12
|
-
const { placeholder = "Ask anything, or describe a UI to generate…", emptyState, cardProps, className, ...streamOptions } = props;
|
|
13
|
+
const { placeholder = "Ask anything, or describe a UI to generate…", emptyState, cardProps, className, starterPrompts = STARTER_PROMPTS, ...streamOptions } = props;
|
|
13
14
|
const { messages, artifacts, status, sendMessage, stop } = useArtifactStream(streamOptions);
|
|
14
15
|
const [input, setInput] = React.useState("");
|
|
15
16
|
const scrollRef = React.useRef(null);
|
|
16
17
|
const busy = status === "submitted" || status === "streaming";
|
|
18
|
+
const showStarters = !busy && messages.length === 0 && starterPrompts.length > 0;
|
|
19
|
+
const runStarter = (p) => {
|
|
20
|
+
setInput("");
|
|
21
|
+
void sendMessage(p.prompt, p.body);
|
|
22
|
+
};
|
|
17
23
|
React.useEffect(() => {
|
|
18
24
|
scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight, behavior: "smooth" });
|
|
19
25
|
}, [messages, artifacts]);
|
|
@@ -44,7 +50,28 @@ export function ArtifactChat(props) {
|
|
|
44
50
|
fontSize: 14.5,
|
|
45
51
|
outline: "none",
|
|
46
52
|
background: "#fff",
|
|
47
|
-
} }), busy ? (_jsx("button", { type: "button", onClick: stop, style: btn("#ef4444"), children: "Stop" })) : (_jsx("button", { type: "submit", disabled: !input.trim(), style: btn("#2563eb", !input.trim()), children: "Send" }))] })
|
|
53
|
+
} }), busy ? (_jsx("button", { type: "button", onClick: stop, style: btn("#ef4444"), children: "Stop" })) : (_jsx("button", { type: "submit", disabled: !input.trim(), style: btn("#2563eb", !input.trim()), children: "Send" }))] }), showStarters && (_jsx("div", { role: "list", "aria-label": "Starter prompts", style: {
|
|
54
|
+
display: "flex",
|
|
55
|
+
flexWrap: "wrap",
|
|
56
|
+
gap: 8,
|
|
57
|
+
padding: "0 10px 12px",
|
|
58
|
+
}, children: starterPrompts.map((p) => (_jsxs("button", { type: "button", role: "listitem", onClick: () => runStarter(p), title: p.hint, style: chip(), children: [_jsx("span", { "aria-hidden": "true", style: { fontSize: 15 }, children: p.emoji }), _jsx("span", { style: { fontWeight: 600 }, children: p.label }), _jsxs("span", { style: { color: "#9ca3af", fontWeight: 400 }, children: ["\u00B7 ", p.hint] })] }, p.id))) }))] }));
|
|
59
|
+
}
|
|
60
|
+
function chip() {
|
|
61
|
+
return {
|
|
62
|
+
display: "inline-flex",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
gap: 7,
|
|
65
|
+
border: "1px solid rgba(0,0,0,0.12)",
|
|
66
|
+
borderRadius: 999,
|
|
67
|
+
padding: "7px 13px",
|
|
68
|
+
fontSize: 13,
|
|
69
|
+
lineHeight: 1.2,
|
|
70
|
+
color: "var(--aha-fg, #1f2430)",
|
|
71
|
+
background: "rgba(0,0,0,0.02)",
|
|
72
|
+
cursor: "pointer",
|
|
73
|
+
whiteSpace: "nowrap",
|
|
74
|
+
};
|
|
48
75
|
}
|
|
49
76
|
function btn(bg, disabled = false) {
|
|
50
77
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactChat.js","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArtifactChat.js","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { useArtifactStream } from "./useArtifactStream.js";
|
|
|
2
2
|
export { ArtifactChat, type ArtifactChatProps } from "./ArtifactChat.js";
|
|
3
3
|
export { ArtifactMessage, type ArtifactMessageProps } from "./ArtifactMessage.js";
|
|
4
4
|
export { MarkdownMessage, type MarkdownMessageProps } from "./MarkdownMessage.js";
|
|
5
|
+
export { STARTER_PROMPTS, type StarterPrompt } from "./starterPrompts.js";
|
|
5
6
|
export { HtmlArtifactCard, HtmlArtifactPreview, HtmlArtifactModal, HtmlArtifactToolbar, HtmlArtifactCodeView, } from "../iframe/index.js";
|
|
6
7
|
export type { ChatMessage, ArtifactStreamStatus, UseArtifactStreamOptions, UseArtifactStreamReturn, HtmlArtifactCardProps, HtmlArtifactPreviewOptions, } from "../types/client.js";
|
|
7
8
|
export type { HtmlArtifact, ArtifactTheme, ArtifactPresentation, } from "../types/artifact.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { useArtifactStream } from "./useArtifactStream.js";
|
|
|
3
3
|
export { ArtifactChat } from "./ArtifactChat.js";
|
|
4
4
|
export { ArtifactMessage } from "./ArtifactMessage.js";
|
|
5
5
|
export { MarkdownMessage } from "./MarkdownMessage.js";
|
|
6
|
+
export { STARTER_PROMPTS } from "./starterPrompts.js";
|
|
6
7
|
// Re-export the iframe surface for convenience from the client entry.
|
|
7
8
|
export { HtmlArtifactCard, HtmlArtifactPreview, HtmlArtifactModal, HtmlArtifactToolbar, HtmlArtifactCodeView, } from "../iframe/index.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAE1E,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prebuilt starter prompts shown below the composer. Each has a short `label`
|
|
3
|
+
* (the chip the user sees) and a rich `prompt` (the detailed message actually
|
|
4
|
+
* sent to the model). `body` carries per-request overrides merged into the POST
|
|
5
|
+
* body by `sendMessage` — e.g. `{ game: true }` or `{ mode: "generative_ui" }`.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: for the `body` overrides to take effect, the server route must forward
|
|
8
|
+
* those fields into `createArtifactStreamResponse` options, e.g.:
|
|
9
|
+
* `createArtifactStreamResponse({ ...(await req.json()), generateTextStream })`.
|
|
10
|
+
*/
|
|
11
|
+
export interface StarterPrompt {
|
|
12
|
+
/** Stable id. */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Short chip text shown to the user. */
|
|
15
|
+
label: string;
|
|
16
|
+
/** One-line description of what it produces. */
|
|
17
|
+
hint: string;
|
|
18
|
+
/** Leading glyph for the chip. */
|
|
19
|
+
emoji: string;
|
|
20
|
+
/** The full, detailed message sent to the chat. */
|
|
21
|
+
prompt: string;
|
|
22
|
+
/** Per-request body overrides merged into the POST body for this prompt. */
|
|
23
|
+
body?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export declare const STARTER_PROMPTS: StarterPrompt[];
|
|
26
|
+
//# sourceMappingURL=starterPrompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterPrompts.d.ts","sourceRoot":"","sources":["../../src/client/starterPrompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAqCD,eAAO,MAAM,eAAe,EAAE,aAAa,EA+E1C,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/** YouTube videos used by the video-embed starter. */
|
|
2
|
+
const VIDEO_URLS = [
|
|
3
|
+
"https://www.youtube.com/embed/dQw4w9WgXcQ?si=O39oVkrE_1PpJrRX",
|
|
4
|
+
"https://www.youtube.com/embed/_e8BFrAPedM?si=L3FxEEFbGARDVAtG",
|
|
5
|
+
"https://www.youtube.com/embed/H7gWCJNPpzk?si=trRfbxLq0ercujsX",
|
|
6
|
+
"https://www.youtube.com/embed/wQs0uhFhMaI?si=iFm1GedCmKw5SsGi",
|
|
7
|
+
"https://www.youtube.com/embed/glXx2r3ePcs?si=1iALmW5BiMPvEpTi",
|
|
8
|
+
];
|
|
9
|
+
/** Prebuilt generative-UI data payload (kept realistic and complete). */
|
|
10
|
+
const ORDER_JSON = JSON.stringify({
|
|
11
|
+
order: { id: "NX-48217", placed: "2026-05-28T14:02:00Z", status: "out_for_delivery", eta: "2026-05-30T18:00:00Z" },
|
|
12
|
+
customer: { name: "Aria Nakamura", tier: "Gold" },
|
|
13
|
+
shipment: {
|
|
14
|
+
carrier: "Aerolane",
|
|
15
|
+
tracking: "AL93 4471 0028",
|
|
16
|
+
steps: [
|
|
17
|
+
{ label: "Ordered", at: "May 28, 2:02 PM", done: true },
|
|
18
|
+
{ label: "Packed", at: "May 28, 7:40 PM", done: true },
|
|
19
|
+
{ label: "Shipped", at: "May 29, 9:15 AM", done: true },
|
|
20
|
+
{ label: "Out for delivery", at: "May 30, 8:10 AM", done: true },
|
|
21
|
+
{ label: "Delivered", at: "Est. May 30, 6:00 PM", done: false },
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
items: [
|
|
25
|
+
{ name: "Aurora Wireless Headphones", qty: 1, price: 248.0, image: "headphones" },
|
|
26
|
+
{ name: "USB-C Braided Cable (2m)", qty: 2, price: 19.0, image: "cable" },
|
|
27
|
+
],
|
|
28
|
+
totals: { subtotal: 286.0, shipping: 0, tax: 22.88, total: 308.88, currency: "USD" },
|
|
29
|
+
}, null, 2);
|
|
30
|
+
export const STARTER_PROMPTS = [
|
|
31
|
+
{
|
|
32
|
+
id: "artifact-dashboard",
|
|
33
|
+
label: "Analytics dashboard",
|
|
34
|
+
hint: "Rich HTML artifact",
|
|
35
|
+
emoji: "📊",
|
|
36
|
+
body: { mode: "artifact" },
|
|
37
|
+
prompt: "Design a polished dark-mode SaaS analytics dashboard as a single self-contained HTML artifact. Include: a top bar with product name, a time-range selector, and a search; a row of 4 KPI cards (Revenue $48.9K +4.2%, Active Users 12,480 +1.8%, Churn 1.9% -0.3%, MRR $61.2K +5.1%) each with a tiny inline sparkline; a large area/line chart of revenue over 12 months drawn with inline SVG; a donut chart of traffic sources; and a recent-transactions table with status pills. Use a confident accent color, soft gradients, hairline borders, generous spacing, and precomputed realistic numbers. Make it fully responsive and compact on phones.",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "markdown-explainer",
|
|
41
|
+
label: "Explain a concept",
|
|
42
|
+
hint: "Formatted markdown answer",
|
|
43
|
+
emoji: "📝",
|
|
44
|
+
body: { mode: "markdown" },
|
|
45
|
+
prompt: "Explain how CSS Flexbox vs CSS Grid differ and when to use each. Answer in well-structured markdown: a short intro, an H2 for each, bullet lists of strengths, a comparison table (axis, alignment, use case), a fenced ```css code block showing a holy-grail layout with Grid, and a final 'rule of thumb' callout. Keep it practical and skimmable.",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "game-runner",
|
|
49
|
+
label: "Make a 3D game",
|
|
50
|
+
hint: "Playable three.js game",
|
|
51
|
+
emoji: "🎮",
|
|
52
|
+
body: { game: true },
|
|
53
|
+
prompt: "Build a complete, playable single-file three.js endless-runner game. The player is a glowing cube on a neon grid lane that auto-runs forward; left/right (A/D or arrows, plus on-screen touch buttons) dodges oncoming obstacles, space jumps. Spawn obstacles and floating score orbs with object pooling, speed up over time, and detect collisions. Show a DOM HUD with score, a start menu, pause (Esc/P), and a game-over screen with restart. Use ACES tone mapping, ambient + directional light, a deliberate synthwave palette, screen-shake on hit, and a fixed-timestep loop. Make it genuinely fun.",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: "genui-order",
|
|
57
|
+
label: "Render this JSON",
|
|
58
|
+
hint: "Generative UI from data",
|
|
59
|
+
emoji: "🧩",
|
|
60
|
+
body: { mode: "generative_ui" },
|
|
61
|
+
prompt: "Render this order-tracking data as a beautiful, embedded generative-UI component (seamless, transparent page — it sits inline in a dark chat). Show a header with order id and an 'Out for delivery' status pill, a horizontal stepper for the shipment steps (completed vs pending), the item list with quantities and prices (use small picsum thumbnails keyed off the image field), the carrier + tracking number, and a totals summary. Cards must have their own visible surface. Here is the data:\n\n```json\n" +
|
|
62
|
+
ORDER_JSON +
|
|
63
|
+
"\n```",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "image-landing",
|
|
67
|
+
label: "Travel landing page",
|
|
68
|
+
hint: "Image-rich design",
|
|
69
|
+
emoji: "🖼️",
|
|
70
|
+
body: { mode: "artifact" },
|
|
71
|
+
prompt: "Create a striking landing page for a boutique travel company called 'Wayfare' as a single HTML artifact. Full-bleed hero with a background photo (use https://picsum.photos/seed/wayfare/1920/1080), overlaid headline, subtext and a search-trip bar; a 3-up 'Featured destinations' card grid with different seeded picsum images (seed per card: kyoto, patagonia, lisbon), price-from labels and ratings; a testimonial; and a footer CTA. Editorial typography, warm palette, rounded cards, tasteful shadows. Every image responsive with aspect-ratio and alt text. Fully responsive.",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: "video-gallery",
|
|
75
|
+
label: "Video watch page",
|
|
76
|
+
hint: "YouTube embeds",
|
|
77
|
+
emoji: "▶️",
|
|
78
|
+
body: { mode: "artifact", allowVideoEmbeds: true },
|
|
79
|
+
prompt: "Build a YouTube-style watch page as a single HTML artifact. A large primary player at the top embedding " +
|
|
80
|
+
VIDEO_URLS[0] +
|
|
81
|
+
", with a title, channel row, and action buttons; then a 'Up next' list on the side/below with the remaining videos as clickable thumbnail cards that each embed their player in a responsive 16:9 wrapper. Embed these: " +
|
|
82
|
+
VIDEO_URLS.slice(1).join(" , ") +
|
|
83
|
+
". Every iframe must use referrerpolicy=\"strict-origin-when-cross-origin\", loading=\"lazy\", allowfullscreen, and a black rounded wrapper. Dark UI, clean spacing, fully responsive.",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: "pricing",
|
|
87
|
+
label: "SaaS pricing page",
|
|
88
|
+
hint: "Conversion-focused design",
|
|
89
|
+
emoji: "💳",
|
|
90
|
+
body: { mode: "artifact" },
|
|
91
|
+
prompt: "Design a modern 3-tier SaaS pricing section as a single HTML artifact: Starter $0, Pro $24/mo (highlighted 'Most popular' with a glow/badge and scale), and Scale $79/mo. Each card: price, billing note, a feature checklist with check icons, and a CTA button. Add a monthly/annual toggle (native, CSS-only or simple), a feature-comparison table below, and an FAQ using native <details>. Premium dark aesthetic, one accent color, strong hierarchy, accessible contrast, responsive (cards stack on mobile).",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "signup-form",
|
|
95
|
+
label: "Sign-up form",
|
|
96
|
+
hint: "Polished form UI",
|
|
97
|
+
emoji: "✍️",
|
|
98
|
+
body: { mode: "artifact", allowForms: true },
|
|
99
|
+
prompt: "Create a beautiful centered sign-up card as a single HTML artifact: brand mark, heading, social sign-in buttons (Google/GitHub with inline SVG icons), an 'or' divider, then fields for full name, email, and password with a visible strength hint, a terms checkbox, and a primary 'Create account' button, plus a 'Sign in' link. Style inputs with clear labels, comfortable padding, ≥44px targets, focus rings, and helpful inline validation styling (error/success states via CSS). Glassy card on a soft gradient background, fully responsive.",
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
//# sourceMappingURL=starterPrompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterPrompts.js","sourceRoot":"","sources":["../../src/client/starterPrompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArtifactStream.d.ts","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAG5B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"useArtifactStream.d.ts","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAG5B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,CAqPzB"}
|
|
@@ -68,7 +68,7 @@ export function useArtifactStream(options) {
|
|
|
68
68
|
setMode(null);
|
|
69
69
|
setError(null);
|
|
70
70
|
}, [stop]);
|
|
71
|
-
const sendMessage = React.useCallback(async (text) => {
|
|
71
|
+
const sendMessage = React.useCallback(async (text, bodyOverrides) => {
|
|
72
72
|
const trimmed = text.trim();
|
|
73
73
|
if (!trimmed || status === "streaming" || status === "submitted")
|
|
74
74
|
return;
|
|
@@ -93,6 +93,7 @@ export function useArtifactStream(options) {
|
|
|
93
93
|
headers: { "Content-Type": "application/json", ...headers },
|
|
94
94
|
body: JSON.stringify({
|
|
95
95
|
...body,
|
|
96
|
+
...bodyOverrides,
|
|
96
97
|
messages: history.map(({ role, content }) => ({ role, content })),
|
|
97
98
|
}),
|
|
98
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArtifactStream.js","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAUvD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC5C,eAAe,IAAI,EAAE,CACtB,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC9C,EAAE,CACH,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,MAAM,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,IAAI,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAyB,IAAI,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAgB,QAAQ,CAAC,CAAC;IAE1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,EAAU,EAAE,KAA4B,EAAE,EAAE;QAC3C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GACZ,IAAI,CAAC,EAAE,CAAC;gBACP;oBACC,EAAE;oBACF,KAAK,EAAE,mBAAmB;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,WAAW;oBACnB,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACS,CAAC;YAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC9C,CAAC,EAAiB,EAAE,IAAyB,EAAU,EAAE;QACvD,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,GAAG,IAAI;YACP;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,IAAI,IAAI,SAAS;aACxB;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,EAAU,EAAE,KAA2B,EAAE,EAAE;QAC1C,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,EAAE,CAAC;QACP,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,KAAK,EAAE,IAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"useArtifactStream.js","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":"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"}
|
package/dist/types/client.d.ts
CHANGED
|
@@ -31,8 +31,12 @@ export interface UseArtifactStreamReturn {
|
|
|
31
31
|
status: ArtifactStreamStatus;
|
|
32
32
|
mode: ArtifactMode | null;
|
|
33
33
|
error: Error | null;
|
|
34
|
-
/**
|
|
35
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Append a user message and start streaming the assistant response.
|
|
36
|
+
* `bodyOverrides` are merged into the POST body for this request only —
|
|
37
|
+
* used by starter prompts to request a specific mode/flags (e.g. `game`).
|
|
38
|
+
*/
|
|
39
|
+
sendMessage: (text: string, bodyOverrides?: Record<string, unknown>) => Promise<void>;
|
|
36
40
|
/** Abort any in-flight stream and clear all state. */
|
|
37
41
|
reset: () => void;
|
|
38
42
|
/** Abort the in-flight stream without clearing history. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEvD,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,WAAW,GACX,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iDAAiD;IACjD,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEvD,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,WAAW,GACX,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iDAAiD;IACjD,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,sDAAsD;IACtD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,cAAc,GACd,UAAU,CAAC;AAEf,oEAAoE;AACpE,MAAM,WAAW,0BAA0B;IACzC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6GAA6G;IAC7G,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -39,17 +39,23 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
39
39
|
const React = __importStar(require("react"));
|
|
40
40
|
const useArtifactStream_js_1 = require("./useArtifactStream.js");
|
|
41
41
|
const ArtifactMessage_js_1 = require("./ArtifactMessage.js");
|
|
42
|
+
const starterPrompts_js_1 = require("./starterPrompts.js");
|
|
42
43
|
/**
|
|
43
44
|
* A batteries-included chat surface: message list, streaming status, and a
|
|
44
45
|
* composer. Drop it in with just an `endpoint` to get the full experience, or
|
|
45
46
|
* compose `useArtifactStream` + `ArtifactMessage` yourself for custom layouts.
|
|
46
47
|
*/
|
|
47
48
|
function ArtifactChat(props) {
|
|
48
|
-
const { placeholder = "Ask anything, or describe a UI to generate…", emptyState, cardProps, className, ...streamOptions } = props;
|
|
49
|
+
const { placeholder = "Ask anything, or describe a UI to generate…", emptyState, cardProps, className, starterPrompts = starterPrompts_js_1.STARTER_PROMPTS, ...streamOptions } = props;
|
|
49
50
|
const { messages, artifacts, status, sendMessage, stop } = (0, useArtifactStream_js_1.useArtifactStream)(streamOptions);
|
|
50
51
|
const [input, setInput] = React.useState("");
|
|
51
52
|
const scrollRef = React.useRef(null);
|
|
52
53
|
const busy = status === "submitted" || status === "streaming";
|
|
54
|
+
const showStarters = !busy && messages.length === 0 && starterPrompts.length > 0;
|
|
55
|
+
const runStarter = (p) => {
|
|
56
|
+
setInput("");
|
|
57
|
+
void sendMessage(p.prompt, p.body);
|
|
58
|
+
};
|
|
53
59
|
React.useEffect(() => {
|
|
54
60
|
scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight, behavior: "smooth" });
|
|
55
61
|
}, [messages, artifacts]);
|
|
@@ -80,7 +86,28 @@ function ArtifactChat(props) {
|
|
|
80
86
|
fontSize: 14.5,
|
|
81
87
|
outline: "none",
|
|
82
88
|
background: "#fff",
|
|
83
|
-
} }), busy ? ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: stop, style: btn("#ef4444"), children: "Stop" })) : ((0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: !input.trim(), style: btn("#2563eb", !input.trim()), children: "Send" }))] })
|
|
89
|
+
} }), busy ? ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: stop, style: btn("#ef4444"), children: "Stop" })) : ((0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: !input.trim(), style: btn("#2563eb", !input.trim()), children: "Send" }))] }), showStarters && ((0, jsx_runtime_1.jsx)("div", { role: "list", "aria-label": "Starter prompts", style: {
|
|
90
|
+
display: "flex",
|
|
91
|
+
flexWrap: "wrap",
|
|
92
|
+
gap: 8,
|
|
93
|
+
padding: "0 10px 12px",
|
|
94
|
+
}, children: starterPrompts.map((p) => ((0, jsx_runtime_1.jsxs)("button", { type: "button", role: "listitem", onClick: () => runStarter(p), title: p.hint, style: chip(), children: [(0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: { fontSize: 15 }, children: p.emoji }), (0, jsx_runtime_1.jsx)("span", { style: { fontWeight: 600 }, children: p.label }), (0, jsx_runtime_1.jsxs)("span", { style: { color: "#9ca3af", fontWeight: 400 }, children: ["\u00B7 ", p.hint] })] }, p.id))) }))] }));
|
|
95
|
+
}
|
|
96
|
+
function chip() {
|
|
97
|
+
return {
|
|
98
|
+
display: "inline-flex",
|
|
99
|
+
alignItems: "center",
|
|
100
|
+
gap: 7,
|
|
101
|
+
border: "1px solid rgba(0,0,0,0.12)",
|
|
102
|
+
borderRadius: 999,
|
|
103
|
+
padding: "7px 13px",
|
|
104
|
+
fontSize: 13,
|
|
105
|
+
lineHeight: 1.2,
|
|
106
|
+
color: "var(--aha-fg, #1f2430)",
|
|
107
|
+
background: "rgba(0,0,0,0.02)",
|
|
108
|
+
cursor: "pointer",
|
|
109
|
+
whiteSpace: "nowrap",
|
|
110
|
+
};
|
|
84
111
|
}
|
|
85
112
|
function btn(bg, disabled = false) {
|
|
86
113
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactChat.js","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ArtifactChat.js","sourceRoot":"","sources":["../../src/client/ArtifactChat.tsx"],"names":[],"mappings":"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"}
|
package/dist-cjs/client/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.HtmlArtifactCodeView = exports.HtmlArtifactToolbar = exports.HtmlArtifactModal = exports.HtmlArtifactPreview = exports.HtmlArtifactCard = exports.MarkdownMessage = exports.ArtifactMessage = exports.ArtifactChat = exports.useArtifactStream = void 0;
|
|
4
|
+
exports.HtmlArtifactCodeView = exports.HtmlArtifactToolbar = exports.HtmlArtifactModal = exports.HtmlArtifactPreview = exports.HtmlArtifactCard = exports.STARTER_PROMPTS = exports.MarkdownMessage = exports.ArtifactMessage = exports.ArtifactChat = exports.useArtifactStream = void 0;
|
|
5
5
|
var useArtifactStream_js_1 = require("./useArtifactStream.js");
|
|
6
6
|
Object.defineProperty(exports, "useArtifactStream", { enumerable: true, get: function () { return useArtifactStream_js_1.useArtifactStream; } });
|
|
7
7
|
var ArtifactChat_js_1 = require("./ArtifactChat.js");
|
|
@@ -10,6 +10,8 @@ var ArtifactMessage_js_1 = require("./ArtifactMessage.js");
|
|
|
10
10
|
Object.defineProperty(exports, "ArtifactMessage", { enumerable: true, get: function () { return ArtifactMessage_js_1.ArtifactMessage; } });
|
|
11
11
|
var MarkdownMessage_js_1 = require("./MarkdownMessage.js");
|
|
12
12
|
Object.defineProperty(exports, "MarkdownMessage", { enumerable: true, get: function () { return MarkdownMessage_js_1.MarkdownMessage; } });
|
|
13
|
+
var starterPrompts_js_1 = require("./starterPrompts.js");
|
|
14
|
+
Object.defineProperty(exports, "STARTER_PROMPTS", { enumerable: true, get: function () { return starterPrompts_js_1.STARTER_PROMPTS; } });
|
|
13
15
|
// Re-export the iframe surface for convenience from the client entry.
|
|
14
16
|
var index_js_1 = require("../iframe/index.js");
|
|
15
17
|
Object.defineProperty(exports, "HtmlArtifactCard", { enumerable: true, get: function () { return index_js_1.HtmlArtifactCard; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAEb,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,qDAAyE;AAAhE,+GAAA,YAAY,OAAA;AACrB,2DAAkF;AAAzE,qHAAA,eAAe,OAAA;AACxB,2DAAkF;AAAzE,qHAAA,eAAe,OAAA;AAExB,sEAAsE;AACtE,+CAM4B;AAL1B,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,gHAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAEb,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,qDAAyE;AAAhE,+GAAA,YAAY,OAAA;AACrB,2DAAkF;AAAzE,qHAAA,eAAe,OAAA;AACxB,2DAAkF;AAAzE,qHAAA,eAAe,OAAA;AACxB,yDAA0E;AAAjE,oHAAA,eAAe,OAAA;AAExB,sEAAsE;AACtE,+CAM4B;AAL1B,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,gHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STARTER_PROMPTS = void 0;
|
|
4
|
+
/** YouTube videos used by the video-embed starter. */
|
|
5
|
+
const VIDEO_URLS = [
|
|
6
|
+
"https://www.youtube.com/embed/dQw4w9WgXcQ?si=O39oVkrE_1PpJrRX",
|
|
7
|
+
"https://www.youtube.com/embed/_e8BFrAPedM?si=L3FxEEFbGARDVAtG",
|
|
8
|
+
"https://www.youtube.com/embed/H7gWCJNPpzk?si=trRfbxLq0ercujsX",
|
|
9
|
+
"https://www.youtube.com/embed/wQs0uhFhMaI?si=iFm1GedCmKw5SsGi",
|
|
10
|
+
"https://www.youtube.com/embed/glXx2r3ePcs?si=1iALmW5BiMPvEpTi",
|
|
11
|
+
];
|
|
12
|
+
/** Prebuilt generative-UI data payload (kept realistic and complete). */
|
|
13
|
+
const ORDER_JSON = JSON.stringify({
|
|
14
|
+
order: { id: "NX-48217", placed: "2026-05-28T14:02:00Z", status: "out_for_delivery", eta: "2026-05-30T18:00:00Z" },
|
|
15
|
+
customer: { name: "Aria Nakamura", tier: "Gold" },
|
|
16
|
+
shipment: {
|
|
17
|
+
carrier: "Aerolane",
|
|
18
|
+
tracking: "AL93 4471 0028",
|
|
19
|
+
steps: [
|
|
20
|
+
{ label: "Ordered", at: "May 28, 2:02 PM", done: true },
|
|
21
|
+
{ label: "Packed", at: "May 28, 7:40 PM", done: true },
|
|
22
|
+
{ label: "Shipped", at: "May 29, 9:15 AM", done: true },
|
|
23
|
+
{ label: "Out for delivery", at: "May 30, 8:10 AM", done: true },
|
|
24
|
+
{ label: "Delivered", at: "Est. May 30, 6:00 PM", done: false },
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
items: [
|
|
28
|
+
{ name: "Aurora Wireless Headphones", qty: 1, price: 248.0, image: "headphones" },
|
|
29
|
+
{ name: "USB-C Braided Cable (2m)", qty: 2, price: 19.0, image: "cable" },
|
|
30
|
+
],
|
|
31
|
+
totals: { subtotal: 286.0, shipping: 0, tax: 22.88, total: 308.88, currency: "USD" },
|
|
32
|
+
}, null, 2);
|
|
33
|
+
exports.STARTER_PROMPTS = [
|
|
34
|
+
{
|
|
35
|
+
id: "artifact-dashboard",
|
|
36
|
+
label: "Analytics dashboard",
|
|
37
|
+
hint: "Rich HTML artifact",
|
|
38
|
+
emoji: "📊",
|
|
39
|
+
body: { mode: "artifact" },
|
|
40
|
+
prompt: "Design a polished dark-mode SaaS analytics dashboard as a single self-contained HTML artifact. Include: a top bar with product name, a time-range selector, and a search; a row of 4 KPI cards (Revenue $48.9K +4.2%, Active Users 12,480 +1.8%, Churn 1.9% -0.3%, MRR $61.2K +5.1%) each with a tiny inline sparkline; a large area/line chart of revenue over 12 months drawn with inline SVG; a donut chart of traffic sources; and a recent-transactions table with status pills. Use a confident accent color, soft gradients, hairline borders, generous spacing, and precomputed realistic numbers. Make it fully responsive and compact on phones.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "markdown-explainer",
|
|
44
|
+
label: "Explain a concept",
|
|
45
|
+
hint: "Formatted markdown answer",
|
|
46
|
+
emoji: "📝",
|
|
47
|
+
body: { mode: "markdown" },
|
|
48
|
+
prompt: "Explain how CSS Flexbox vs CSS Grid differ and when to use each. Answer in well-structured markdown: a short intro, an H2 for each, bullet lists of strengths, a comparison table (axis, alignment, use case), a fenced ```css code block showing a holy-grail layout with Grid, and a final 'rule of thumb' callout. Keep it practical and skimmable.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "game-runner",
|
|
52
|
+
label: "Make a 3D game",
|
|
53
|
+
hint: "Playable three.js game",
|
|
54
|
+
emoji: "🎮",
|
|
55
|
+
body: { game: true },
|
|
56
|
+
prompt: "Build a complete, playable single-file three.js endless-runner game. The player is a glowing cube on a neon grid lane that auto-runs forward; left/right (A/D or arrows, plus on-screen touch buttons) dodges oncoming obstacles, space jumps. Spawn obstacles and floating score orbs with object pooling, speed up over time, and detect collisions. Show a DOM HUD with score, a start menu, pause (Esc/P), and a game-over screen with restart. Use ACES tone mapping, ambient + directional light, a deliberate synthwave palette, screen-shake on hit, and a fixed-timestep loop. Make it genuinely fun.",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "genui-order",
|
|
60
|
+
label: "Render this JSON",
|
|
61
|
+
hint: "Generative UI from data",
|
|
62
|
+
emoji: "🧩",
|
|
63
|
+
body: { mode: "generative_ui" },
|
|
64
|
+
prompt: "Render this order-tracking data as a beautiful, embedded generative-UI component (seamless, transparent page — it sits inline in a dark chat). Show a header with order id and an 'Out for delivery' status pill, a horizontal stepper for the shipment steps (completed vs pending), the item list with quantities and prices (use small picsum thumbnails keyed off the image field), the carrier + tracking number, and a totals summary. Cards must have their own visible surface. Here is the data:\n\n```json\n" +
|
|
65
|
+
ORDER_JSON +
|
|
66
|
+
"\n```",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "image-landing",
|
|
70
|
+
label: "Travel landing page",
|
|
71
|
+
hint: "Image-rich design",
|
|
72
|
+
emoji: "🖼️",
|
|
73
|
+
body: { mode: "artifact" },
|
|
74
|
+
prompt: "Create a striking landing page for a boutique travel company called 'Wayfare' as a single HTML artifact. Full-bleed hero with a background photo (use https://picsum.photos/seed/wayfare/1920/1080), overlaid headline, subtext and a search-trip bar; a 3-up 'Featured destinations' card grid with different seeded picsum images (seed per card: kyoto, patagonia, lisbon), price-from labels and ratings; a testimonial; and a footer CTA. Editorial typography, warm palette, rounded cards, tasteful shadows. Every image responsive with aspect-ratio and alt text. Fully responsive.",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: "video-gallery",
|
|
78
|
+
label: "Video watch page",
|
|
79
|
+
hint: "YouTube embeds",
|
|
80
|
+
emoji: "▶️",
|
|
81
|
+
body: { mode: "artifact", allowVideoEmbeds: true },
|
|
82
|
+
prompt: "Build a YouTube-style watch page as a single HTML artifact. A large primary player at the top embedding " +
|
|
83
|
+
VIDEO_URLS[0] +
|
|
84
|
+
", with a title, channel row, and action buttons; then a 'Up next' list on the side/below with the remaining videos as clickable thumbnail cards that each embed their player in a responsive 16:9 wrapper. Embed these: " +
|
|
85
|
+
VIDEO_URLS.slice(1).join(" , ") +
|
|
86
|
+
". Every iframe must use referrerpolicy=\"strict-origin-when-cross-origin\", loading=\"lazy\", allowfullscreen, and a black rounded wrapper. Dark UI, clean spacing, fully responsive.",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
id: "pricing",
|
|
90
|
+
label: "SaaS pricing page",
|
|
91
|
+
hint: "Conversion-focused design",
|
|
92
|
+
emoji: "💳",
|
|
93
|
+
body: { mode: "artifact" },
|
|
94
|
+
prompt: "Design a modern 3-tier SaaS pricing section as a single HTML artifact: Starter $0, Pro $24/mo (highlighted 'Most popular' with a glow/badge and scale), and Scale $79/mo. Each card: price, billing note, a feature checklist with check icons, and a CTA button. Add a monthly/annual toggle (native, CSS-only or simple), a feature-comparison table below, and an FAQ using native <details>. Premium dark aesthetic, one accent color, strong hierarchy, accessible contrast, responsive (cards stack on mobile).",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: "signup-form",
|
|
98
|
+
label: "Sign-up form",
|
|
99
|
+
hint: "Polished form UI",
|
|
100
|
+
emoji: "✍️",
|
|
101
|
+
body: { mode: "artifact", allowForms: true },
|
|
102
|
+
prompt: "Create a beautiful centered sign-up card as a single HTML artifact: brand mark, heading, social sign-in buttons (Google/GitHub with inline SVG icons), an 'or' divider, then fields for full name, email, and password with a visible strength hint, a terms checkbox, and a primary 'Create account' button, plus a 'Sign in' link. Style inputs with clear labels, comfortable padding, ≥44px targets, focus rings, and helpful inline validation styling (error/success states via CSS). Glassy card on a soft gradient background, fully responsive.",
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
//# sourceMappingURL=starterPrompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterPrompts.js","sourceRoot":"","sources":["../../src/client/starterPrompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ function useArtifactStream(options) {
|
|
|
104
104
|
setMode(null);
|
|
105
105
|
setError(null);
|
|
106
106
|
}, [stop]);
|
|
107
|
-
const sendMessage = React.useCallback(async (text) => {
|
|
107
|
+
const sendMessage = React.useCallback(async (text, bodyOverrides) => {
|
|
108
108
|
const trimmed = text.trim();
|
|
109
109
|
if (!trimmed || status === "streaming" || status === "submitted")
|
|
110
110
|
return;
|
|
@@ -129,6 +129,7 @@ function useArtifactStream(options) {
|
|
|
129
129
|
headers: { "Content-Type": "application/json", ...headers },
|
|
130
130
|
body: JSON.stringify({
|
|
131
131
|
...body,
|
|
132
|
+
...bodyOverrides,
|
|
132
133
|
messages: history.map(({ role, content }) => ({ role, content })),
|
|
133
134
|
}),
|
|
134
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArtifactStream.js","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBb,
|
|
1
|
+
{"version":3,"file":"useArtifactStream.js","sourceRoot":"","sources":["../../src/client/useArtifactStream.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED