@drawnagency/primitives 0.1.110 → 0.1.112
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/{chunk-3GAG6ZXB.js → chunk-3SZNUCXI.js} +8 -4
- package/dist/chunk-4I5OO5UB.js +785 -0
- package/dist/{chunk-ALMEC3XN.js → chunk-5KNXTMUC.js} +22 -18
- package/dist/{chunk-OUYB2GCW.js → chunk-BR4MIPTM.js} +1 -57
- package/dist/chunk-CXZ5YJG4.js +85 -0
- package/dist/{chunk-RA5IOFPY.js → chunk-DNY72JZN.js} +16 -38
- package/dist/{chunk-7MI3HCOF.js → chunk-EPWBPIV6.js} +10 -6
- package/dist/chunk-FV7JQRCN.js +94 -0
- package/dist/{chunk-UVIYI4J6.js → chunk-HSXMOS5Q.js} +15 -2
- package/dist/chunk-IIDKW7AV.js +41 -0
- package/dist/chunk-IINIZBQB.js +204 -0
- package/dist/chunk-MM7KZS5C.js +30 -0
- package/dist/{chunk-VCCNKTFD.js → chunk-OGGZ5AXT.js} +3 -31
- package/dist/{chunk-XQMDWXD6.js → chunk-P3ZNCHW7.js} +1 -1
- package/dist/chunk-QQ3S3P5P.js +38 -0
- package/dist/{chunk-ELQ4C677.js → chunk-TALRVOGO.js} +9 -44
- package/dist/chunk-VAYZJKVR.js +209 -0
- package/dist/{chunk-OTDA6KWL.js → chunk-VLPELTPI.js} +1 -1
- package/dist/{chunk-7WQJ57XG.js → chunk-VT3PYGVW.js} +68 -260
- package/dist/chunk-WUJ3XNFI.js +62 -0
- package/dist/{chunk-NXGIHSL5.js → chunk-Z2LO4PSQ.js} +11 -91
- package/dist/collab/rebase.js +1 -1
- package/dist/components/chat/ChatComposer.d.ts +25 -0
- package/dist/components/chat/ChatComposer.d.ts.map +1 -0
- package/dist/components/chat/ChatPanel.d.ts +5 -4
- package/dist/components/chat/ChatPanel.d.ts.map +1 -1
- package/dist/components/chat/markdown.d.ts +14 -0
- package/dist/components/chat/markdown.d.ts.map +1 -0
- package/dist/components/editor/index.js +16 -11
- package/dist/components/primitives/EditablePlainText.d.ts.map +1 -1
- package/dist/components/primitives/index.js +15 -10
- package/dist/components/sections/brand-guide.js +11 -9
- package/dist/components/sections/register-schemas.js +19 -14
- package/dist/components/sections/register.js +19 -14
- package/dist/components/shell/AudienceChips.d.ts +10 -0
- package/dist/components/shell/AudienceChips.d.ts.map +1 -0
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsChatbot.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsDecks.d.ts +13 -0
- package/dist/components/shell/SiteSettingsDecks.d.ts.map +1 -0
- package/dist/components/shell/SiteSettingsModal.d.ts.map +1 -1
- package/dist/deck/DeckComponentView.d.ts +13 -0
- package/dist/deck/DeckComponentView.d.ts.map +1 -0
- package/dist/deck/DeckPlayer.d.ts +26 -0
- package/dist/deck/DeckPlayer.d.ts.map +1 -0
- package/dist/deck/DeckSlideView.d.ts +17 -0
- package/dist/deck/DeckSlideView.d.ts.map +1 -0
- package/dist/deck/DeckStage.d.ts +16 -0
- package/dist/deck/DeckStage.d.ts.map +1 -0
- package/dist/deck/components/DeckImage.d.ts +14 -0
- package/dist/deck/components/DeckImage.d.ts.map +1 -0
- package/dist/deck/components/DeckImageGrid.d.ts +27 -0
- package/dist/deck/components/DeckImageGrid.d.ts.map +1 -0
- package/dist/deck/components/DeckRichText.d.ts +22 -0
- package/dist/deck/components/DeckRichText.d.ts.map +1 -0
- package/dist/deck/components/DeckVideo.d.ts +15 -0
- package/dist/deck/components/DeckVideo.d.ts.map +1 -0
- package/dist/deck/editing.d.ts +50 -0
- package/dist/deck/editing.d.ts.map +1 -0
- package/dist/deck/flip.d.ts +11 -0
- package/dist/deck/flip.d.ts.map +1 -0
- package/dist/deck/index.d.ts +24 -0
- package/dist/deck/index.d.ts.map +1 -0
- package/dist/deck/index.js +53 -0
- package/dist/deck/layouts/CenteredTextLayout.d.ts +12 -0
- package/dist/deck/layouts/CenteredTextLayout.d.ts.map +1 -0
- package/dist/deck/layouts/ColumnSplitLayout.d.ts +14 -0
- package/dist/deck/layouts/ColumnSplitLayout.d.ts.map +1 -0
- package/dist/deck/layouts/FullBleedImageLayout.d.ts +14 -0
- package/dist/deck/layouts/FullBleedImageLayout.d.ts.map +1 -0
- package/dist/deck/media.d.ts +33 -0
- package/dist/deck/media.d.ts.map +1 -0
- package/dist/deck/tokens.d.ts +22 -0
- package/dist/deck/tokens.d.ts.map +1 -0
- package/dist/deck/useStageScale.d.ts +10 -0
- package/dist/deck/useStageScale.d.ts.map +1 -0
- package/dist/deck-builder/DeckBuilderApp.d.ts +30 -0
- package/dist/deck-builder/DeckBuilderApp.d.ts.map +1 -0
- package/dist/deck-builder/DeckBuilderTopBar.d.ts +24 -0
- package/dist/deck-builder/DeckBuilderTopBar.d.ts.map +1 -0
- package/dist/deck-builder/DeckChatPanel.d.ts +45 -0
- package/dist/deck-builder/DeckChatPanel.d.ts.map +1 -0
- package/dist/deck-builder/DeckEditor.d.ts +37 -0
- package/dist/deck-builder/DeckEditor.d.ts.map +1 -0
- package/dist/deck-builder/DeckLibrary.d.ts +22 -0
- package/dist/deck-builder/DeckLibrary.d.ts.map +1 -0
- package/dist/deck-builder/DeckSlideSurface.d.ts +31 -0
- package/dist/deck-builder/DeckSlideSurface.d.ts.map +1 -0
- package/dist/deck-builder/deck-api.d.ts +76 -0
- package/dist/deck-builder/deck-api.d.ts.map +1 -0
- package/dist/deck-builder/deck-chat-client.d.ts +44 -0
- package/dist/deck-builder/deck-chat-client.d.ts.map +1 -0
- package/dist/deck-builder/deck-chat-history.d.ts +10 -0
- package/dist/deck-builder/deck-chat-history.d.ts.map +1 -0
- package/dist/deck-builder/index.d.ts +13 -0
- package/dist/deck-builder/index.d.ts.map +1 -0
- package/dist/deck-builder/index.js +1505 -0
- package/dist/deck-builder/starter-deck.d.ts +23 -0
- package/dist/deck-builder/starter-deck.d.ts.map +1 -0
- package/dist/deck-builder/types.d.ts +29 -0
- package/dist/deck-builder/types.d.ts.map +1 -0
- package/dist/deck-builder/useSortableSlide.d.ts +29 -0
- package/dist/deck-builder/useSortableSlide.d.ts.map +1 -0
- package/dist/index.js +70 -63
- package/dist/lib/deck-access.d.ts +86 -0
- package/dist/lib/deck-access.d.ts.map +1 -0
- package/dist/lib/deck-access.js +58 -0
- package/dist/lib/deck-dexie.d.ts +88 -0
- package/dist/lib/deck-dexie.d.ts.map +1 -0
- package/dist/lib/deck-dexie.js +22 -0
- package/dist/lib/deck-edit.d.ts +67 -0
- package/dist/lib/deck-edit.d.ts.map +1 -0
- package/dist/lib/deck-media-assets.d.ts +27 -0
- package/dist/lib/deck-media-assets.d.ts.map +1 -0
- package/dist/lib/deck-media-assets.js +25 -0
- package/dist/lib/deck-media-refs.d.ts +35 -0
- package/dist/lib/deck-media-refs.d.ts.map +1 -0
- package/dist/lib/deck-media-refs.js +36 -0
- package/dist/lib/deck-tool.d.ts +25 -0
- package/dist/lib/deck-tool.d.ts.map +1 -0
- package/dist/lib/deck-tool.js +58 -0
- package/dist/lib/index-ops.js +2 -2
- package/dist/lib/index.js +17 -12
- package/dist/lib/nav-progress.d.ts +14 -0
- package/dist/lib/nav-progress.d.ts.map +1 -0
- package/dist/lib/nav.d.ts.map +1 -1
- package/dist/media/index.js +3 -3
- package/dist/schemas/deck-meta.d.ts +85 -0
- package/dist/schemas/deck-meta.d.ts.map +1 -0
- package/dist/schemas/deck-meta.js +64 -0
- package/dist/schemas/deck.d.ts +954 -0
- package/dist/schemas/deck.d.ts.map +1 -0
- package/dist/schemas/deck.js +65 -0
- package/dist/schemas/index.js +39 -37
- package/dist/schemas/site-config.d.ts +13 -1
- package/dist/schemas/site-config.d.ts.map +1 -1
- package/package.json +37 -1
- package/src/components/chat/ChatComposer.tsx +100 -0
- package/src/components/chat/ChatPanel.tsx +20 -69
- package/src/components/chat/markdown.ts +32 -0
- package/src/components/primitives/EditablePlainText.tsx +11 -1
- package/src/components/shell/AudienceChips.tsx +30 -0
- package/src/components/shell/EditorShell.tsx +12 -0
- package/src/components/shell/SiteSettingsChatbot.tsx +1 -18
- package/src/components/shell/SiteSettingsDecks.tsx +41 -0
- package/src/components/shell/SiteSettingsModal.tsx +11 -0
- package/src/deck/DeckComponentView.tsx +28 -0
- package/src/deck/DeckPlayer.tsx +166 -0
- package/src/deck/DeckSlideView.tsx +38 -0
- package/src/deck/DeckStage.tsx +39 -0
- package/src/deck/components/DeckImage.tsx +38 -0
- package/src/deck/components/DeckImageGrid.tsx +254 -0
- package/src/deck/components/DeckRichText.tsx +111 -0
- package/src/deck/components/DeckVideo.tsx +81 -0
- package/src/deck/editing.tsx +201 -0
- package/src/deck/flip.ts +70 -0
- package/src/deck/index.ts +30 -0
- package/src/deck/layouts/CenteredTextLayout.tsx +29 -0
- package/src/deck/layouts/ColumnSplitLayout.tsx +69 -0
- package/src/deck/layouts/FullBleedImageLayout.tsx +58 -0
- package/src/deck/media.tsx +46 -0
- package/src/deck/tokens.ts +57 -0
- package/src/deck/useStageScale.ts +44 -0
- package/src/deck-builder/DeckBuilderApp.tsx +572 -0
- package/src/deck-builder/DeckBuilderTopBar.tsx +62 -0
- package/src/deck-builder/DeckChatPanel.tsx +334 -0
- package/src/deck-builder/DeckEditor.tsx +258 -0
- package/src/deck-builder/DeckLibrary.tsx +195 -0
- package/src/deck-builder/DeckSlideSurface.tsx +55 -0
- package/src/deck-builder/deck-api.ts +177 -0
- package/src/deck-builder/deck-chat-client.ts +129 -0
- package/src/deck-builder/deck-chat-history.ts +62 -0
- package/src/deck-builder/index.ts +12 -0
- package/src/deck-builder/starter-deck.ts +86 -0
- package/src/deck-builder/types.ts +24 -0
- package/src/deck-builder/useSortableSlide.ts +102 -0
- package/src/lib/deck-access.ts +132 -0
- package/src/lib/deck-dexie.ts +190 -0
- package/src/lib/deck-edit.ts +196 -0
- package/src/lib/deck-media-assets.ts +57 -0
- package/src/lib/deck-media-refs.ts +67 -0
- package/src/lib/deck-tool.ts +95 -0
- package/src/lib/nav-progress.ts +108 -0
- package/src/lib/nav.ts +21 -1
- package/src/schemas/deck-meta.ts +88 -0
- package/src/schemas/deck.ts +478 -0
- package/src/schemas/index.ts +4 -0
- package/src/schemas/site-config.ts +24 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Deck } from "../schemas/deck";
|
|
2
|
+
/**
|
|
3
|
+
* The builder's client for `/api/decks` (ADR 0002's routes).
|
|
4
|
+
*
|
|
5
|
+
* Every function returns a discriminated result instead of throwing, because
|
|
6
|
+
* every failure mode here is one the UI has to SAY something specific about —
|
|
7
|
+
* a 409 is not an error to log, it is a decision to put in front of the author.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Just the sidecar fields the grid renders, narrowed from the response rather
|
|
11
|
+
* than cast to `DeckMeta`.
|
|
12
|
+
*
|
|
13
|
+
* Deliberately NOT the whole sidecar and NOT `parseDeckMeta`: the meta schema
|
|
14
|
+
* pins `schemaVersion` to a literal, so validating the full shape here would
|
|
15
|
+
* make a portal running an older package version drop every deck from the
|
|
16
|
+
* listing — silently, and exactly for the user whose decks they are. Reading
|
|
17
|
+
* only what is displayed keeps a schema bump a non-event on this side.
|
|
18
|
+
*/
|
|
19
|
+
export interface PublishedDeckMeta {
|
|
20
|
+
title: string;
|
|
21
|
+
slideCount: number;
|
|
22
|
+
updatedAt: string;
|
|
23
|
+
}
|
|
24
|
+
export interface PublishedDeckSummary {
|
|
25
|
+
id: string;
|
|
26
|
+
version: string;
|
|
27
|
+
/** null when the route reported the sidecar unreadable, or a field is missing. */
|
|
28
|
+
meta: PublishedDeckMeta | null;
|
|
29
|
+
}
|
|
30
|
+
export type DeckApiFailure =
|
|
31
|
+
/** 409 — the deck moved on the branch since this draft's baseVersion. */
|
|
32
|
+
{
|
|
33
|
+
kind: "conflict";
|
|
34
|
+
currentVersion: string | null;
|
|
35
|
+
message: string;
|
|
36
|
+
}
|
|
37
|
+
/** 400 — the deck did not satisfy the schema. Per-path messages. */
|
|
38
|
+
| {
|
|
39
|
+
kind: "invalid";
|
|
40
|
+
details: string[];
|
|
41
|
+
}
|
|
42
|
+
/** 401/403 — not signed in, or not a Deck Creator. */
|
|
43
|
+
| {
|
|
44
|
+
kind: "forbidden";
|
|
45
|
+
message: string;
|
|
46
|
+
}
|
|
47
|
+
/** 404 — no such deck, or not one this caller may see. */
|
|
48
|
+
| {
|
|
49
|
+
kind: "notFound";
|
|
50
|
+
}
|
|
51
|
+
/** 503 and transport failures — nothing was written and a retry is right. */
|
|
52
|
+
| {
|
|
53
|
+
kind: "unavailable";
|
|
54
|
+
message: string;
|
|
55
|
+
} | {
|
|
56
|
+
kind: "failed";
|
|
57
|
+
message: string;
|
|
58
|
+
};
|
|
59
|
+
export type DeckApiResult<T> = {
|
|
60
|
+
ok: true;
|
|
61
|
+
value: T;
|
|
62
|
+
} | ({
|
|
63
|
+
ok: false;
|
|
64
|
+
} & DeckApiFailure);
|
|
65
|
+
export declare function listPublishedDecks(): Promise<DeckApiResult<PublishedDeckSummary[]>>;
|
|
66
|
+
export declare function readPublishedDeck(id: string): Promise<DeckApiResult<{
|
|
67
|
+
deck: Deck;
|
|
68
|
+
version: string;
|
|
69
|
+
meta: PublishedDeckMeta | null;
|
|
70
|
+
}>>;
|
|
71
|
+
export declare function publishDeck(deck: Deck, baseVersion: string | null): Promise<DeckApiResult<{
|
|
72
|
+
version: string;
|
|
73
|
+
meta: PublishedDeckMeta | null;
|
|
74
|
+
}>>;
|
|
75
|
+
export declare function deletePublishedDeck(id: string): Promise<DeckApiResult<true>>;
|
|
76
|
+
//# sourceMappingURL=deck-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deck-api.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAChC;AAUD,MAAM,MAAM,cAAc;AACxB,yEAAyE;AACvE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACtE,oEAAoE;GAClE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE;AACxC,sDAAsD;GACpD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACxC,0DAA0D;GACxD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB,6EAA6E;GAC3E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC;AAgDzF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAsBzF;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,aAAa,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAczF;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,aAAa,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAgB7E;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAWlF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type Deck } from "../schemas/deck";
|
|
2
|
+
/**
|
|
3
|
+
* The builder's client for `POST /api/deck-chat` (#35).
|
|
4
|
+
*
|
|
5
|
+
* The route's event contract, and what each event means to the UI:
|
|
6
|
+
*
|
|
7
|
+
* text { text } a delta of the assistant's prose
|
|
8
|
+
* retry { attempt, issues } the model's deck failed validation and it is
|
|
9
|
+
* being asked to fix it — DISCARD the prose
|
|
10
|
+
* streamed so far, or the transcript shows two
|
|
11
|
+
* answers for one turn
|
|
12
|
+
* deck { deck } a deck that PARSED server-side; stage it
|
|
13
|
+
* error { error, details? } the turn produced no usable deck
|
|
14
|
+
* done { truncated } end of turn (always last)
|
|
15
|
+
*
|
|
16
|
+
* A turn with no `deck` event is not a failure: the assistant is allowed to
|
|
17
|
+
* answer a question without rewriting the deck.
|
|
18
|
+
*/
|
|
19
|
+
export interface DeckChatMessage {
|
|
20
|
+
role: "user" | "assistant";
|
|
21
|
+
content: string;
|
|
22
|
+
}
|
|
23
|
+
export interface DeckChatHandlers {
|
|
24
|
+
onText: (delta: string) => void;
|
|
25
|
+
/** Prose from the failed attempt must be dropped before the next one streams. */
|
|
26
|
+
onRetry: (attempt: number, issues: string[]) => void;
|
|
27
|
+
}
|
|
28
|
+
export type DeckChatResult = {
|
|
29
|
+
ok: true;
|
|
30
|
+
deck: Deck | null;
|
|
31
|
+
truncated: boolean;
|
|
32
|
+
} | {
|
|
33
|
+
ok: false;
|
|
34
|
+
error: string;
|
|
35
|
+
details?: string[];
|
|
36
|
+
retryAfterMs?: number;
|
|
37
|
+
};
|
|
38
|
+
export declare const DECK_CHAT_ERROR_COPY: Record<string, string>;
|
|
39
|
+
export declare function deckChatCanRetry(error: string): boolean;
|
|
40
|
+
export declare function streamDeckChat(body: {
|
|
41
|
+
deck: Deck;
|
|
42
|
+
messages: DeckChatMessage[];
|
|
43
|
+
}, handlers: DeckChatHandlers, signal?: AbortSignal): Promise<DeckChatResult>;
|
|
44
|
+
//# sourceMappingURL=deck-chat-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deck-chat-client.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-chat-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAcvD,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,EACjD,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAiEzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DeckChatMessage } from "./deck-chat-client";
|
|
2
|
+
/** Turns kept per deck. A turn is a user line plus a reply; 60 is a long
|
|
3
|
+
* authoring session and still a bounded localStorage footprint. */
|
|
4
|
+
export declare const DECK_CHAT_MESSAGE_CAP = 60;
|
|
5
|
+
export declare function loadDeckChat(scope: string, deckId: string): DeckChatMessage[];
|
|
6
|
+
/** Empty turns (the mid-stream assistant stub) are never stored. */
|
|
7
|
+
export declare function saveDeckChat(scope: string, deckId: string, messages: DeckChatMessage[]): void;
|
|
8
|
+
/** Called when a deck is deleted: its conversation goes with it. */
|
|
9
|
+
export declare function clearDeckChat(scope: string, deckId: string): void;
|
|
10
|
+
//# sourceMappingURL=deck-chat-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deck-chat-history.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiB1D;oEACoE;AACpE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAexC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CAO7E;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAQ7F;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMjE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Deck Builder — a sealed subtree like ./deck and ./document.
|
|
3
|
+
*
|
|
4
|
+
* NOT re-exported from the primitives root barrel: this graph reaches the deck
|
|
5
|
+
* runtime, and nothing on an ordinary viewer page may pull that in. Only the
|
|
6
|
+
* builder route (`core/src/pages/decks.astro`) imports from here, as a
|
|
7
|
+
* `client:only` island, so the whole thing is paid for by opening the builder
|
|
8
|
+
* and by nothing else.
|
|
9
|
+
*/
|
|
10
|
+
export { DeckBuilderApp } from "./DeckBuilderApp";
|
|
11
|
+
export { starterDeck, newDeckId } from "./starter-deck";
|
|
12
|
+
export type { DeckGridEntry } from "./types";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deck-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|