forgebook 0.1.2 → 0.1.3
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/README.md +22 -1
- package/dist/bin/forgebook/agentClient.d.ts +22 -0
- package/dist/bin/forgebook/agentClient.d.ts.map +1 -0
- package/dist/bin/forgebook/agentClient.js +70 -0
- package/dist/bin/forgebook/agentClient.js.map +1 -0
- package/dist/bin/forgebook/agentText.d.ts +18 -0
- package/dist/bin/forgebook/agentText.d.ts.map +1 -0
- package/dist/bin/forgebook/agentText.js +44 -0
- package/dist/bin/forgebook/agentText.js.map +1 -0
- package/dist/bin/forgebook/forgebook.mjs +228 -49
- package/dist/bin/forgebook/forgebook.mjs.map +1 -1
- package/dist/bin/forgebook/mcpTools.d.ts +12 -0
- package/dist/bin/forgebook/mcpTools.d.ts.map +1 -0
- package/dist/bin/forgebook/mcpTools.js +89 -0
- package/dist/bin/forgebook/mcpTools.js.map +1 -0
- package/dist/src/viewState.d.ts +9 -0
- package/dist/src/viewState.d.ts.map +1 -1
- package/dist/src/viewState.js +15 -0
- package/dist/src/viewState.js.map +1 -1
- package/dist/src/vite/agent.types.d.ts +90 -0
- package/dist/src/vite/agent.types.d.ts.map +1 -0
- package/dist/src/vite/agent.types.js +1 -0
- package/dist/src/vite/agent.types.js.map +1 -0
- package/dist/src/vite/agentApi.d.ts +94 -0
- package/dist/src/vite/agentApi.d.ts.map +1 -0
- package/dist/src/vite/agentApi.js +162 -0
- package/dist/src/vite/agentApi.js.map +1 -0
- package/dist/src/vite/agentRoutes.d.ts +45 -0
- package/dist/src/vite/agentRoutes.d.ts.map +1 -0
- package/dist/src/vite/agentRoutes.js +94 -0
- package/dist/src/vite/agentRoutes.js.map +1 -0
- package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
- package/dist/src/vite/forgebookPlugin.js +9 -2
- package/dist/src/vite/forgebookPlugin.js.map +1 -1
- package/dist/src/vite/mcpProtocol.d.ts +73 -0
- package/dist/src/vite/mcpProtocol.d.ts.map +1 -0
- package/dist/src/vite/mcpProtocol.js +181 -0
- package/dist/src/vite/mcpProtocol.js.map +1 -0
- package/dist/src/vite/pages.d.ts +12 -0
- package/dist/src/vite/pages.d.ts.map +1 -1
- package/dist/src/vite/pages.js +21 -0
- package/dist/src/vite/pages.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tools `forgebook mcp` offers agents, each answered by the catalogue as `forgebook stories` and `forgebook story`
|
|
3
|
+
* are: `list_stories`, `get_story`, `story_address`.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { filteredStories, isStoriesDocument } from "../../src/vite/agentApi.js";
|
|
8
|
+
/** The schema of the view argument, shared by the tools. */
|
|
9
|
+
const VIEW = {
|
|
10
|
+
type: "string",
|
|
11
|
+
description: "The view the links open in, as the catalogue's address writes it (theme=dark&lang=it); none for the default."
|
|
12
|
+
};
|
|
13
|
+
/** A text argument, or none. */
|
|
14
|
+
const textOf = (args, name) => {
|
|
15
|
+
const value = args[name];
|
|
16
|
+
return typeof value === "string" && value !== "" ? value : undefined;
|
|
17
|
+
};
|
|
18
|
+
/** An answer as a tool's result: a failure when the catalogue did not answer 200. */
|
|
19
|
+
const resultOf = (answer) => ({
|
|
20
|
+
structured: answer.body,
|
|
21
|
+
isError: answer.status !== 200
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* The tools, asking the catalogue through `ask`.
|
|
25
|
+
*
|
|
26
|
+
* @param ask - asks the catalogue (the running dev server, or the server `forgebook mcp` keeps).
|
|
27
|
+
*/
|
|
28
|
+
export const catalogueTools = (ask) => [
|
|
29
|
+
{
|
|
30
|
+
name: "list_stories",
|
|
31
|
+
description: "List the catalogue's components and stories, with each story's id and the links that open it, and the problems the story index found. Filter by source id or by text in a component's title.",
|
|
32
|
+
inputSchema: {
|
|
33
|
+
type: "object",
|
|
34
|
+
properties: {
|
|
35
|
+
source: { type: "string", description: "Only this source's stories (its id)." },
|
|
36
|
+
component: { type: "string", description: "Only components whose title holds this text, any case." },
|
|
37
|
+
view: VIEW
|
|
38
|
+
},
|
|
39
|
+
additionalProperties: false
|
|
40
|
+
},
|
|
41
|
+
call: async (args) => {
|
|
42
|
+
const answer = await ask("stories", new URLSearchParams({ view: textOf(args, "view") ?? "" }));
|
|
43
|
+
if (answer.status !== 200 || !isStoriesDocument(answer.body))
|
|
44
|
+
return resultOf(answer);
|
|
45
|
+
const filter = { source: textOf(args, "source"), component: textOf(args, "component") };
|
|
46
|
+
return { structured: filteredStories(answer.body, filter), isError: false };
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "get_story",
|
|
51
|
+
description: "One story in detail: its args as the catalogue renders it, its component's props (types, defaults, descriptions), its links in the view asked for, and what failed while reading it.",
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
id: { type: "string", description: "The story's id, as list_stories gives it." },
|
|
56
|
+
view: VIEW
|
|
57
|
+
},
|
|
58
|
+
required: ["id"],
|
|
59
|
+
additionalProperties: false
|
|
60
|
+
},
|
|
61
|
+
call: async (args) => resultOf(await ask("story", new URLSearchParams({ id: textOf(args, "id") ?? "", view: textOf(args, "view") ?? "" })))
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "story_address",
|
|
65
|
+
description: "The links that open a story in the catalogue and in its frame alone, in the view asked for: give them to a person to look at what you describe.",
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
id: { type: "string", description: "The story's id, as list_stories gives it." },
|
|
70
|
+
view: VIEW
|
|
71
|
+
},
|
|
72
|
+
required: ["id"],
|
|
73
|
+
additionalProperties: false
|
|
74
|
+
},
|
|
75
|
+
call: async (args) => {
|
|
76
|
+
const id = textOf(args, "id") ?? "";
|
|
77
|
+
const answer = await ask("stories", new URLSearchParams({ view: textOf(args, "view") ?? "" }));
|
|
78
|
+
if (answer.status !== 200 || !isStoriesDocument(answer.body))
|
|
79
|
+
return resultOf(answer);
|
|
80
|
+
const story = answer.body.components
|
|
81
|
+
.flatMap((component) => component.stories)
|
|
82
|
+
.find((each) => each.id === id);
|
|
83
|
+
return story === undefined
|
|
84
|
+
? { structured: { error: `No story "${id}"` }, isError: true }
|
|
85
|
+
: { structured: { id, links: story.links }, isError: false };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
//# sourceMappingURL=mcpTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTools.js","sourceRoot":"","sources":["../../../bin/forgebook/mcpTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOhF,4DAA4D;AAC5D,MAAM,IAAI,GAAG;IACX,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,8GAA8G;CACxG,CAAC;AAEX,gCAAgC;AAChC,MAAM,MAAM,GAAG,CAAC,IAAuC,EAAE,IAAY,EAAsB,EAAE;IAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC,CAAC;AAEF,qFAAqF;AACrF,MAAM,QAAQ,GAAG,CAAC,MAAmB,EAAiB,EAAE,CAAC,CAAC;IACxD,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG;CAC/B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAsB,EAAE,CAAC;IAC9D;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,8LAA8L;QAChM,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC/E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;gBACpG,IAAI,EAAE,IAAI;aACX;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,IAAI,EAAE,KAAK,EAAE,IAAuC,EAA0B,EAAE;YAC9E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9E,CAAC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,sLAAsL;QACxL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBAChF,IAAI,EAAE,IAAI;aACX;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,oBAAoB,EAAE,KAAK;SAC5B;QACD,IAAI,EAAE,KAAK,EAAE,IAAuC,EAA0B,EAAE,CAC9E,QAAQ,CACN,MAAM,GAAG,CACP,OAAO,EACP,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CACxF,CACF;KACJ;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,iJAAiJ;QACnJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBAChF,IAAI,EAAE,IAAI;aACX;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,oBAAoB,EAAE,KAAK;SAC5B;QACD,IAAI,EAAE,KAAK,EAAE,IAAuC,EAA0B,EAAE;YAC9E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;iBACjC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;iBACzC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAClC,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC9D,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjE,CAAC;KACF;CACF,CAAC"}
|
package/dist/src/viewState.d.ts
CHANGED
|
@@ -191,4 +191,13 @@ export declare const codeGlobalsOf: (view: Pick<ViewState, "switches">, switches
|
|
|
191
191
|
* @param search - the catalogue's query (`theme=dark&lang=it`), with or without `?`.
|
|
192
192
|
*/
|
|
193
193
|
export declare const frameAddressOf: (frameUrl: string, id: string, search: string) => string;
|
|
194
|
+
/**
|
|
195
|
+
* The address of a story's page in the catalogue from a catalogue's address query, for a tool that does not know the
|
|
196
|
+
* catalogue's switches: the story selected, the view kept as written.
|
|
197
|
+
*
|
|
198
|
+
* @param pageUrl - the catalogue's page (`http://localhost:5173/`).
|
|
199
|
+
* @param id - the story's id.
|
|
200
|
+
* @param search - the view's query (`theme=dark&lang=it`), with or without `?`.
|
|
201
|
+
*/
|
|
202
|
+
export declare const storyAddressOf: (pageUrl: string, id: string, search: string) => string;
|
|
194
203
|
//# sourceMappingURL=viewState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewState.d.ts","sourceRoot":"","sources":["../../src/viewState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,gDAAgD;AAChD,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,qHAAqH;AACrH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,MAAM,EAAE,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,6BAA8B,CAAC;AAE5D,oHAAoH;AACpH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAElC,4GAA4G;AAC5G,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG;IACtB,yGAAyG;IACzG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC,CAAC;AAEF,4GAA4G;AAC5G,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC;AAEzE,mCAAmC;AACnC,eAAO,MAAM,YAAY,EAAE,SAY1B,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAsC,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,KAAG,OAAkC,CAAC;AAEjF,sCAAsC;AACtC,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAAmC,CAAC;AAQpF,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,iBAAiB,EACjB,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CACzE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC,KAAG,MACpB,CAAC;AAQ9D,yFAAyF;AACzF,eAAO,MAAM,kBAAkB;;;CAAkC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MACyC,CAAC;AAsDzF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,WAAW,aAAa,KAAG,SAmBpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,aAAa,KAAG,SAAqC,CAAC;AA6B7F;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,EAAE,UAAU,SAAS,UAAU,EAAE,KAAG,eAU7E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,EAAE,UAAU,SAAS,UAAU,EAAE,KAAG,OAIjD,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,UAAU,KAAG,OACS,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,IAAI,MAAM,EACV,MAAM,SAAS,EACf,UAAU,SAAS,UAAU,EAAE,KAC9B,MAIF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,KAAG,QAIzC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACjC,UAAU,SAAS,UAAU,EAAE,KAC9B,OAAO,GAAG,MAAM,GAAG,QAIrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACjC,UAAU,SAAS,UAAU,EAAE,KAC9B,OAIF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,SAAS,UAAU,EAAE,KAAG,MAG/F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACjC,UAAU,SAAS,UAAU,EAAE,KAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK/B,CAAC;AAgBJ;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,IAAI,MAAM,EAAE,QAAQ,MAAM,KAAG,MAM7E,CAAC"}
|
|
1
|
+
{"version":3,"file":"viewState.d.ts","sourceRoot":"","sources":["../../src/viewState.ts"],"names":[],"mappings":"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"}
|
package/dist/src/viewState.js
CHANGED
|
@@ -300,4 +300,19 @@ export const frameAddressOf = (frameUrl, id, search) => {
|
|
|
300
300
|
params.set("story", id);
|
|
301
301
|
return `${frameUrl}?${params.toString()}`;
|
|
302
302
|
};
|
|
303
|
+
/**
|
|
304
|
+
* The address of a story's page in the catalogue from a catalogue's address query, for a tool that does not know the
|
|
305
|
+
* catalogue's switches: the story selected, the view kept as written.
|
|
306
|
+
*
|
|
307
|
+
* @param pageUrl - the catalogue's page (`http://localhost:5173/`).
|
|
308
|
+
* @param id - the story's id.
|
|
309
|
+
* @param search - the view's query (`theme=dark&lang=it`), with or without `?`.
|
|
310
|
+
*/
|
|
311
|
+
export const storyAddressOf = (pageUrl, id, search) => {
|
|
312
|
+
const params = new URLSearchParams(search);
|
|
313
|
+
params.delete("component");
|
|
314
|
+
params.delete("story");
|
|
315
|
+
params.set("story", id);
|
|
316
|
+
return `${pageUrl}?${params.toString()}`;
|
|
317
|
+
};
|
|
303
318
|
//# sourceMappingURL=viewState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewState.js","sourceRoot":"","sources":["../../src/viewState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"viewState.js","sourceRoot":"","sources":["../../src/viewState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The documents the catalogue answers tools and agents with: the stories a catalogue has, and one story in detail.
|
|
3
|
+
* The dev server makes them (`/__forgebook/api/`), `forgebook stories` and `forgebook story` print them, and
|
|
4
|
+
* `forgebook mcp` hands them to an agent.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Each document carries `schema`, so a tool can refuse a shape it does not know; a change that breaks a reader bumps
|
|
8
|
+
* it. Every story carries its links, so a person can open what a tool talks about in the same view.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { ComponentDocs } from "../componentDocs.ts";
|
|
13
|
+
/** The version of the documents' shape. */
|
|
14
|
+
export type AgentSchema = 1;
|
|
15
|
+
/** Where a story opens, in the view the answer describes. */
|
|
16
|
+
export type StoryLinks = {
|
|
17
|
+
/** Its page in the catalogue (the shell, the story selected). */
|
|
18
|
+
readonly address: string;
|
|
19
|
+
/** Its frame alone: the story's own document, as the tests open it. */
|
|
20
|
+
readonly frame: string;
|
|
21
|
+
};
|
|
22
|
+
/** A story, as the list of stories gives it. */
|
|
23
|
+
export type AgentStory = {
|
|
24
|
+
/** `<source>:<title>--<export>` in kebab case: what `forgebook story` takes. */
|
|
25
|
+
readonly id: string;
|
|
26
|
+
/** The name the catalogue shows. */
|
|
27
|
+
readonly name: string;
|
|
28
|
+
/** The named export in the story file. */
|
|
29
|
+
readonly exportName: string;
|
|
30
|
+
/** What it shows and what to notice, from its TSDoc; none when it has none. */
|
|
31
|
+
readonly description: string | undefined;
|
|
32
|
+
/** Its tags, the meta's and its own. */
|
|
33
|
+
readonly tags: readonly string[];
|
|
34
|
+
/** Whether it is listed nowhere (`!dev`), opened only by its address. */
|
|
35
|
+
readonly isUnlisted: boolean;
|
|
36
|
+
/** Where it opens. */
|
|
37
|
+
readonly links: StoryLinks;
|
|
38
|
+
};
|
|
39
|
+
/** A component (a story file) and its stories. */
|
|
40
|
+
export type AgentComponent = {
|
|
41
|
+
/** `<source>:<title>` in kebab case. */
|
|
42
|
+
readonly id: string;
|
|
43
|
+
/** Its whole title (`Inputs/Selection/Select`). */
|
|
44
|
+
readonly title: string;
|
|
45
|
+
/** The id of the source it belongs to. */
|
|
46
|
+
readonly source: string;
|
|
47
|
+
/** The story file, relative to the module that declares the source. */
|
|
48
|
+
readonly file: string;
|
|
49
|
+
/** Its stories: the listed ones in the catalogue's order, then the unlisted ones. */
|
|
50
|
+
readonly stories: readonly AgentStory[];
|
|
51
|
+
};
|
|
52
|
+
/** A source of stories: a package's, or the project's own. */
|
|
53
|
+
export type AgentSource = {
|
|
54
|
+
/** Its id, the first part of its stories' ids. */
|
|
55
|
+
readonly id: string;
|
|
56
|
+
/** The name the catalogue shows. */
|
|
57
|
+
readonly name: string;
|
|
58
|
+
};
|
|
59
|
+
/** The stories a catalogue has, and what is wrong in their indexes. */
|
|
60
|
+
export type StoriesDocument = {
|
|
61
|
+
/** The shape's version. */
|
|
62
|
+
readonly schema: AgentSchema;
|
|
63
|
+
/** The catalogue's name. */
|
|
64
|
+
readonly title: string;
|
|
65
|
+
/** Its sources, in the catalogue's order. */
|
|
66
|
+
readonly sources: readonly AgentSource[];
|
|
67
|
+
/** Every component with its stories, in the catalogue's order. */
|
|
68
|
+
readonly components: readonly AgentComponent[];
|
|
69
|
+
/** One message per problem the index found (a title without a family, two files with the same title). */
|
|
70
|
+
readonly problems: readonly string[];
|
|
71
|
+
};
|
|
72
|
+
/** One story in detail: what an agent needs to use it or to write the next one. */
|
|
73
|
+
export type StoryDocument = {
|
|
74
|
+
/** The shape's version. */
|
|
75
|
+
readonly schema: AgentSchema;
|
|
76
|
+
/** The story, with its links in the view asked for. */
|
|
77
|
+
readonly story: AgentStory;
|
|
78
|
+
/** Its component's id and title. */
|
|
79
|
+
readonly component: Pick<AgentComponent, "id" | "title" | "source" | "file">;
|
|
80
|
+
/**
|
|
81
|
+
* The component's docs as the props panel reads them (its props, their types, defaults and TSDoc); none when the
|
|
82
|
+
* story file names no component, or its docs could not be read (the reason is then in `problems`).
|
|
83
|
+
*/
|
|
84
|
+
readonly docs: ComponentDocs | undefined;
|
|
85
|
+
/** The story's args once its module ran, the meta's under its own; only what can be written as JSON. */
|
|
86
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
87
|
+
/** What went wrong while reading it: its module failing to load, its docs failing to be read. */
|
|
88
|
+
readonly problems: readonly string[];
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=agent.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.d.ts","sourceRoot":"","sources":["../../../src/vite/agent.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC;AAE5B,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG;IACvB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG;IACvB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,WAAW,GAAG;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG;IAC5B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,kEAAkE;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,yGAAyG;IACzG,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,wGAAwG;IACxG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,iGAAiG;IACjG,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=agent.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.js","sourceRoot":"","sources":["../../../src/vite/agent.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The documents the catalogue answers tools and agents with, made from what the pages use: the story tree, a story's
|
|
3
|
+
* module as the frame reads it, its component's docs as the props panel reads them. Pure: values in, documents out;
|
|
4
|
+
* the dev server loads the modules and hands them here.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { type LoadedPreview } from "../frame/storyModule.ts";
|
|
9
|
+
import { type StoryLocation, type StoryTree } from "../storyTree.ts";
|
|
10
|
+
import type { StoriesDocument, StoryDocument, StoryLinks } from "./agent.types.ts";
|
|
11
|
+
/** Where the catalogue is served, for the links: its page and its frame page. */
|
|
12
|
+
export type CataloguePages = {
|
|
13
|
+
/** The catalogue's page (`http://localhost:5173/`). */
|
|
14
|
+
readonly page: string;
|
|
15
|
+
/** The frame page (`http://localhost:5173/frame.html`). */
|
|
16
|
+
readonly frame: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A story's links in a view.
|
|
20
|
+
*
|
|
21
|
+
* @param pages - where the catalogue is served.
|
|
22
|
+
* @param id - the story's id.
|
|
23
|
+
* @param view - the view's query (`theme=dark&lang=it`); empty for the default view.
|
|
24
|
+
*/
|
|
25
|
+
export declare const storyLinks: (pages: CataloguePages, id: string, view: string) => StoryLinks;
|
|
26
|
+
/**
|
|
27
|
+
* The stories a catalogue has.
|
|
28
|
+
*
|
|
29
|
+
* @param title - the catalogue's name.
|
|
30
|
+
* @param tree - its story tree.
|
|
31
|
+
* @param pages - where it is served, for the links.
|
|
32
|
+
* @param view - the view the links open in; empty for the default view.
|
|
33
|
+
*/
|
|
34
|
+
export declare const storiesDocument: (title: string, tree: StoryTree, pages: CataloguePages, view: string) => StoriesDocument;
|
|
35
|
+
/**
|
|
36
|
+
* A value as JSON keeps it: functions, symbols, `undefined` and cycles dropped, so a story's args can be printed
|
|
37
|
+
* whatever a story passes (an `fn()` spy, a React element is an object and stays as its JSON).
|
|
38
|
+
*
|
|
39
|
+
* @param value - any value.
|
|
40
|
+
*/
|
|
41
|
+
export declare const jsonValue: (value: unknown) => unknown;
|
|
42
|
+
/** What the dev server loaded for one story, for `storyDocument`. */
|
|
43
|
+
export type LoadedStoryParts = {
|
|
44
|
+
/** The story file's module, or why it failed to load. */
|
|
45
|
+
readonly module: {
|
|
46
|
+
readonly value: unknown;
|
|
47
|
+
} | {
|
|
48
|
+
readonly error: string;
|
|
49
|
+
};
|
|
50
|
+
/** What the docs loader gave, or why it failed. */
|
|
51
|
+
readonly docs: {
|
|
52
|
+
readonly value: unknown;
|
|
53
|
+
} | {
|
|
54
|
+
readonly error: string;
|
|
55
|
+
};
|
|
56
|
+
/** The catalogue's previews merged, whose args are under every story's. */
|
|
57
|
+
readonly preview?: LoadedPreview;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* One story in detail.
|
|
61
|
+
*
|
|
62
|
+
* @param location - the story's place in the tree.
|
|
63
|
+
* @param parts - its module and its docs, as the dev server loaded them.
|
|
64
|
+
* @param pages - where the catalogue is served, for the links.
|
|
65
|
+
* @param view - the view the links open in; empty for the default view.
|
|
66
|
+
*/
|
|
67
|
+
export declare const storyDocument: (location: StoryLocation, parts: LoadedStoryParts, pages: CataloguePages, view: string) => StoryDocument;
|
|
68
|
+
/** Which part of the catalogue a list keeps. */
|
|
69
|
+
export type StoriesFilter = {
|
|
70
|
+
/** A source's id; every source when none. */
|
|
71
|
+
readonly source?: string | undefined;
|
|
72
|
+
/** Text a component's title holds, any case (`button`); every component when none. */
|
|
73
|
+
readonly component?: string | undefined;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* The stories document cut to the components a filter keeps; its sources and problems kept whole.
|
|
77
|
+
*
|
|
78
|
+
* @param document - the stories document.
|
|
79
|
+
* @param filter - the source and the text to keep.
|
|
80
|
+
*/
|
|
81
|
+
export declare const filteredStories: (document: StoriesDocument, filter: StoriesFilter) => StoriesDocument;
|
|
82
|
+
/**
|
|
83
|
+
* Whether a value is the stories document, as a client receives it over HTTP.
|
|
84
|
+
*
|
|
85
|
+
* @param value - the answer's body.
|
|
86
|
+
*/
|
|
87
|
+
export declare const isStoriesDocument: (value: unknown) => value is StoriesDocument;
|
|
88
|
+
/**
|
|
89
|
+
* Whether a value is the story document, as a client receives it over HTTP.
|
|
90
|
+
*
|
|
91
|
+
* @param value - the answer's body.
|
|
92
|
+
*/
|
|
93
|
+
export declare const isStoryDocument: (value: unknown) => value is StoryDocument;
|
|
94
|
+
//# sourceMappingURL=agentApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentApi.d.ts","sourceRoot":"","sources":["../../../src/vite/agentApi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAe,KAAK,aAAa,EAAE,KAAK,SAAS,EAAkB,MAAM,iBAAiB,CAAC;AAElG,OAAO,KAAK,EAGV,eAAe,EACf,aAAa,EACb,UAAU,EACX,MAAM,kBAAkB,CAAC;AAE1B,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,cAAc,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,KAAG,UAG3E,CAAC;AAqCH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,MAAM,SAAS,EACf,OAAO,cAAc,EACrB,MAAM,MAAM,KACX,eAYD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,OAW1C,CAAC;AAMF,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;CAClC,CAAC;AAcF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,aAAa,EACvB,OAAO,gBAAgB,EACvB,OAAO,cAAc,EACrB,MAAM,MAAM,KACX,aA0BF,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,eAAe,EAAE,QAAQ,aAAa,KAAG,eAUlF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAI1B,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,aACgD,CAAC"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The documents the catalogue answers tools and agents with, made from what the pages use: the story tree, a story's
|
|
3
|
+
* module as the frame reads it, its component's docs as the props panel reads them. Pure: values in, documents out;
|
|
4
|
+
* the dev server loads the modules and hands them here.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { isComponentDocs } from "../componentDocs.js";
|
|
9
|
+
import { NO_PREVIEW, readStory } from "../frame/storyModule.js";
|
|
10
|
+
import { componentId } from "../storyTree.js";
|
|
11
|
+
import { frameAddressOf, storyAddressOf } from "../viewState.js";
|
|
12
|
+
/**
|
|
13
|
+
* A story's links in a view.
|
|
14
|
+
*
|
|
15
|
+
* @param pages - where the catalogue is served.
|
|
16
|
+
* @param id - the story's id.
|
|
17
|
+
* @param view - the view's query (`theme=dark&lang=it`); empty for the default view.
|
|
18
|
+
*/
|
|
19
|
+
export const storyLinks = (pages, id, view) => ({
|
|
20
|
+
address: storyAddressOf(pages.page, id, view),
|
|
21
|
+
frame: frameAddressOf(pages.frame, id, view)
|
|
22
|
+
});
|
|
23
|
+
/** A story of the tree as the documents give it. */
|
|
24
|
+
const agentStory = (story, isUnlisted, pages, view) => ({
|
|
25
|
+
id: story.id,
|
|
26
|
+
name: story.name,
|
|
27
|
+
exportName: story.exportName,
|
|
28
|
+
description: story.description,
|
|
29
|
+
tags: story.tags,
|
|
30
|
+
isUnlisted,
|
|
31
|
+
links: storyLinks(pages, story.id, view)
|
|
32
|
+
});
|
|
33
|
+
/** A component of the tree as the documents give it, its listed stories first. */
|
|
34
|
+
const agentComponent = (location, pages, view) => {
|
|
35
|
+
const { source, component } = location;
|
|
36
|
+
return {
|
|
37
|
+
id: componentId(source.id, component.title),
|
|
38
|
+
title: component.title,
|
|
39
|
+
source: source.id,
|
|
40
|
+
file: component.file,
|
|
41
|
+
stories: [
|
|
42
|
+
...component.stories.map((story) => agentStory(story, false, pages, view)),
|
|
43
|
+
...component.unlisted.map((story) => agentStory(story, true, pages, view))
|
|
44
|
+
]
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The stories a catalogue has.
|
|
49
|
+
*
|
|
50
|
+
* @param title - the catalogue's name.
|
|
51
|
+
* @param tree - its story tree.
|
|
52
|
+
* @param pages - where it is served, for the links.
|
|
53
|
+
* @param view - the view the links open in; empty for the default view.
|
|
54
|
+
*/
|
|
55
|
+
export const storiesDocument = (title, tree, pages, view) => ({
|
|
56
|
+
schema: 1,
|
|
57
|
+
title,
|
|
58
|
+
sources: tree.sources.map((source) => ({ id: source.id, name: source.name })),
|
|
59
|
+
components: tree.sources.flatMap((source) => source.families.flatMap((family) => family.groups.flatMap((group) => group.components.map((component) => agentComponent({ source, family, group, component }, pages, view))))),
|
|
60
|
+
problems: tree.problems
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* A value as JSON keeps it: functions, symbols, `undefined` and cycles dropped, so a story's args can be printed
|
|
64
|
+
* whatever a story passes (an `fn()` spy, a React element is an object and stays as its JSON).
|
|
65
|
+
*
|
|
66
|
+
* @param value - any value.
|
|
67
|
+
*/
|
|
68
|
+
export const jsonValue = (value) => {
|
|
69
|
+
const seen = new WeakSet();
|
|
70
|
+
const text = JSON.stringify(value, (_key, item) => {
|
|
71
|
+
if (typeof item === "function" || typeof item === "symbol" || typeof item === "bigint")
|
|
72
|
+
return undefined;
|
|
73
|
+
if (typeof item === "object" && item !== null) {
|
|
74
|
+
if (seen.has(item))
|
|
75
|
+
return undefined;
|
|
76
|
+
seen.add(item);
|
|
77
|
+
}
|
|
78
|
+
return item;
|
|
79
|
+
});
|
|
80
|
+
return text === undefined ? undefined : JSON.parse(text);
|
|
81
|
+
};
|
|
82
|
+
/** Whether a value is a plain object. */
|
|
83
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
84
|
+
/** The docs a story file's docs loader gave, as a document field, with the problem when there is one. */
|
|
85
|
+
const docsOf = (loaded) => {
|
|
86
|
+
if ("error" in loaded)
|
|
87
|
+
return { docs: undefined, problem: `Its component's docs failed: ${loaded.error}` };
|
|
88
|
+
const { value } = loaded;
|
|
89
|
+
if (isComponentDocs(value))
|
|
90
|
+
return { docs: value, problem: undefined };
|
|
91
|
+
if (typeof value === "object" && value !== null && "error" in value && typeof value.error === "string")
|
|
92
|
+
return { docs: undefined, problem: `Its component's docs failed: ${value.error}` };
|
|
93
|
+
return { docs: undefined, problem: undefined };
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* One story in detail.
|
|
97
|
+
*
|
|
98
|
+
* @param location - the story's place in the tree.
|
|
99
|
+
* @param parts - its module and its docs, as the dev server loaded them.
|
|
100
|
+
* @param pages - where the catalogue is served, for the links.
|
|
101
|
+
* @param view - the view the links open in; empty for the default view.
|
|
102
|
+
*/
|
|
103
|
+
export const storyDocument = (location, parts, pages, view) => {
|
|
104
|
+
const component = agentComponent(location, pages, view);
|
|
105
|
+
const story = component.stories.find((each) => each.id === location.story.id) ??
|
|
106
|
+
agentStory(location.story, false, pages, view);
|
|
107
|
+
const problems = [];
|
|
108
|
+
let args = {};
|
|
109
|
+
if ("error" in parts.module)
|
|
110
|
+
problems.push(`Its story file failed to load: ${parts.module.error}`);
|
|
111
|
+
else {
|
|
112
|
+
const read = readStory(parts.module.value, location.story.exportName, parts.preview ?? NO_PREVIEW);
|
|
113
|
+
if (typeof read === "string")
|
|
114
|
+
problems.push(read);
|
|
115
|
+
else {
|
|
116
|
+
const json = jsonValue(read.args);
|
|
117
|
+
if (isRecord(json))
|
|
118
|
+
args = json;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const { docs, problem } = docsOf(parts.docs);
|
|
122
|
+
if (problem !== undefined)
|
|
123
|
+
problems.push(problem);
|
|
124
|
+
return {
|
|
125
|
+
schema: 1,
|
|
126
|
+
story,
|
|
127
|
+
component: { id: component.id, title: component.title, source: component.source, file: component.file },
|
|
128
|
+
docs,
|
|
129
|
+
args,
|
|
130
|
+
problems
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* The stories document cut to the components a filter keeps; its sources and problems kept whole.
|
|
135
|
+
*
|
|
136
|
+
* @param document - the stories document.
|
|
137
|
+
* @param filter - the source and the text to keep.
|
|
138
|
+
*/
|
|
139
|
+
export const filteredStories = (document, filter) => {
|
|
140
|
+
const text = filter.component?.toLowerCase();
|
|
141
|
+
return {
|
|
142
|
+
...document,
|
|
143
|
+
components: document.components.filter((component) => (filter.source === undefined || component.source === filter.source) &&
|
|
144
|
+
(text === undefined || component.title.toLowerCase().includes(text)))
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Whether a value is the stories document, as a client receives it over HTTP.
|
|
149
|
+
*
|
|
150
|
+
* @param value - the answer's body.
|
|
151
|
+
*/
|
|
152
|
+
export const isStoriesDocument = (value) => isRecord(value) &&
|
|
153
|
+
value["schema"] === 1 &&
|
|
154
|
+
Array.isArray(value["components"]) &&
|
|
155
|
+
Array.isArray(value["problems"]);
|
|
156
|
+
/**
|
|
157
|
+
* Whether a value is the story document, as a client receives it over HTTP.
|
|
158
|
+
*
|
|
159
|
+
* @param value - the answer's body.
|
|
160
|
+
*/
|
|
161
|
+
export const isStoryDocument = (value) => isRecord(value) && value["schema"] === 1 && isRecord(value["story"]) && Array.isArray(value["problems"]);
|
|
162
|
+
//# sourceMappingURL=agentApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentApi.js","sourceRoot":"","sources":["../../../src/vite/agentApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The dev server's answers to tools and agents, under `/__forgebook/api/`: `stories` (every story) and `story?id=…`
|
|
3
|
+
* (one in detail), each with an optional `view` (the view's query, `theme=dark&lang=it`) the links open in.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* The server loads the sources and the previews with the same imports the pages use (`AGENT_SOURCES_FILE`), so a tool
|
|
7
|
+
* sees what the shell shows. A story module that fails on Node (it reads `window` while it loads) gives its story a
|
|
8
|
+
* problem in the answer instead of an error. Served by the dev server only, where Vite listens (localhost by default);
|
|
9
|
+
* a build has none of it.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
14
|
+
import type { ViteDevServer } from "vite";
|
|
15
|
+
import type { ResolvedConfig } from "./configFile.ts";
|
|
16
|
+
/** The path the answers live under. */
|
|
17
|
+
export declare const AGENT_API = "/__forgebook/api/";
|
|
18
|
+
/** An answer: its HTTP status and its JSON body. */
|
|
19
|
+
export type AgentAnswer = {
|
|
20
|
+
/** 200, 404 for a story or a path that does not exist, 500 when the sources fail to load. */
|
|
21
|
+
readonly status: number;
|
|
22
|
+
/** The document, or `{ error }`. */
|
|
23
|
+
readonly body: unknown;
|
|
24
|
+
};
|
|
25
|
+
/** The header that names the catalogue's folder, so a client knows the server it found serves its catalogue. */
|
|
26
|
+
export declare const ROOT_HEADER = "forgebook-root";
|
|
27
|
+
/**
|
|
28
|
+
* Answers one of the API's paths.
|
|
29
|
+
*
|
|
30
|
+
* @param load - loads a module on the server (the dev server's `ssrLoadModule`).
|
|
31
|
+
* @param config - the catalogue's configuration.
|
|
32
|
+
* @param route - the path under `AGENT_API` (`stories`, `story`).
|
|
33
|
+
* @param params - the query: `id` for a story, `view` for the links.
|
|
34
|
+
* @param origin - where the catalogue is served (`http://localhost:5173`), for the links.
|
|
35
|
+
*/
|
|
36
|
+
export declare const agentAnswer: (load: (id: string) => Promise<unknown>, config: ResolvedConfig, route: string, params: URLSearchParams, origin: string) => Promise<AgentAnswer>;
|
|
37
|
+
/**
|
|
38
|
+
* The middleware that answers under `AGENT_API`, for a catalogue's dev server.
|
|
39
|
+
*
|
|
40
|
+
* @param server - the dev server, which loads the modules.
|
|
41
|
+
* @param config - the catalogue's configuration.
|
|
42
|
+
* @returns a Connect middleware: it answers its own paths and passes every other request on.
|
|
43
|
+
*/
|
|
44
|
+
export declare const agentMiddleware: (server: ViteDevServer, config: ResolvedConfig) => (request: IncomingMessage, response: ServerResponse, next: (error?: unknown) => void) => void;
|
|
45
|
+
//# sourceMappingURL=agentRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentRoutes.d.ts","sourceRoot":"","sources":["../../../src/vite/agentRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAM1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,uCAAuC;AACvC,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAuC7C,oDAAoD;AACpD,MAAM,MAAM,WAAW,GAAG;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EACtC,QAAQ,cAAc,EACtB,OAAO,MAAM,EACb,QAAQ,eAAe,EACvB,QAAQ,MAAM,KACb,OAAO,CAAC,WAAW,CAwBrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GACzB,QAAQ,aAAa,EAAE,QAAQ,cAAc,MAC7C,SAAS,eAAe,EAAE,UAAU,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAG,IAetF,CAAC"}
|