@contractspec/bundle.library 3.7.7 → 3.8.2
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/.turbo/turbo-build.log +148 -144
- package/CHANGELOG.md +56 -0
- package/dist/components/docs/examples/DocsExamplesPage.js +55 -2
- package/dist/components/docs/examples/ExampleShowcasePage.d.ts +5 -0
- package/dist/components/docs/examples/ExampleShowcasePage.js +258 -0
- package/dist/components/docs/examples/exampleShowcaseData.d.ts +10 -0
- package/dist/components/docs/examples/exampleShowcaseData.js +53 -0
- package/dist/components/docs/examples/index.d.ts +1 -0
- package/dist/components/docs/examples/index.js +261 -2
- package/dist/components/docs/index.js +4351 -4092
- package/dist/index.js +5111 -4852
- package/dist/node/components/docs/examples/DocsExamplesPage.js +55 -2
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +257 -0
- package/dist/node/components/docs/examples/exampleShowcaseData.js +52 -0
- package/dist/node/components/docs/examples/index.js +261 -2
- package/dist/node/components/docs/index.js +4351 -4092
- package/dist/node/index.js +5111 -4852
- package/package.json +47 -23
- package/src/components/docs/examples/DocsExamplesPage.tsx +13 -2
- package/src/components/docs/examples/ExampleShowcasePage.tsx +122 -0
- package/src/components/docs/examples/exampleShowcaseData.ts +65 -0
- package/src/components/docs/examples/index.ts +1 -0
|
@@ -1,3 +1,53 @@
|
|
|
1
|
+
// src/components/docs/examples/exampleShowcaseData.ts
|
|
2
|
+
var EXAMPLE_SHOWCASES = {
|
|
3
|
+
"agent-console": {
|
|
4
|
+
key: "agent-console",
|
|
5
|
+
lead: "Primary meetup path for autonomous agents: typed tools, agent configs, run history, and execution logs in one regenerable surface.",
|
|
6
|
+
sandboxHref: "/sandbox?template=agent-console",
|
|
7
|
+
referenceHref: "/docs/reference/agent-console/agent-console",
|
|
8
|
+
llmsHref: "/llms/example.agent-console",
|
|
9
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/agent-console",
|
|
10
|
+
localCommands: `bun run --cwd packages/examples/agent-console build
|
|
11
|
+
bun run --cwd packages/examples/agent-console test
|
|
12
|
+
bun run --cwd packages/apps/web-landing dev
|
|
13
|
+
|
|
14
|
+
# Open in the browser
|
|
15
|
+
# http://localhost:3000/sandbox?template=agent-console`
|
|
16
|
+
},
|
|
17
|
+
"ai-chat-assistant": {
|
|
18
|
+
key: "ai-chat-assistant",
|
|
19
|
+
lead: "Secondary meetup path for MCP-aware assistants: reasoning, sources, suggestions, and a minimal contract-backed search tool.",
|
|
20
|
+
sandboxHref: "/sandbox?template=ai-chat-assistant",
|
|
21
|
+
referenceHref: "/docs/reference/ai-chat-assistant/assistant.search",
|
|
22
|
+
llmsHref: "/llms/example.ai-chat-assistant",
|
|
23
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/ai-chat-assistant",
|
|
24
|
+
localCommands: `bun run --cwd packages/examples/ai-chat-assistant build
|
|
25
|
+
bun run --cwd packages/examples/ai-chat-assistant test
|
|
26
|
+
bun run --cwd packages/apps/web-landing dev
|
|
27
|
+
|
|
28
|
+
# Open in the browser
|
|
29
|
+
# http://localhost:3000/sandbox?template=ai-chat-assistant`
|
|
30
|
+
},
|
|
31
|
+
"messaging-agent-actions": {
|
|
32
|
+
key: "messaging-agent-actions",
|
|
33
|
+
lead: "Live messaging lane for the meetup: inbound Slack, WhatsApp, or Telegram messages route through fixed intents, allowlisted actions, and deterministic confirmations.",
|
|
34
|
+
sandboxHref: "/sandbox?template=messaging-agent-actions",
|
|
35
|
+
referenceHref: "/docs/reference/messaging-agent-actions/messaging.agentActions.process",
|
|
36
|
+
llmsHref: "/llms/example.messaging-agent-actions",
|
|
37
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/messaging-agent-actions",
|
|
38
|
+
localCommands: `bun run --cwd packages/examples/messaging-agent-actions build
|
|
39
|
+
bun run --cwd packages/examples/messaging-agent-actions test
|
|
40
|
+
bun run --cwd packages/examples/messaging-agent-actions proof
|
|
41
|
+
bun run --cwd packages/apps/web-landing dev
|
|
42
|
+
|
|
43
|
+
# Open in the browser
|
|
44
|
+
# http://localhost:3000/sandbox?template=messaging-agent-actions`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function getExampleShowcaseData(key) {
|
|
48
|
+
return EXAMPLE_SHOWCASES[key];
|
|
49
|
+
}
|
|
50
|
+
|
|
1
51
|
// src/components/docs/examples/DocsExamplesPage.tsx
|
|
2
52
|
import { ExampleCatalogDataView } from "@contractspec/lib.contracts-spec/docs";
|
|
3
53
|
import {
|
|
@@ -13,6 +63,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
13
63
|
function buildReferenceRoute(key) {
|
|
14
64
|
return `/docs/reference/${key}/${key}`;
|
|
15
65
|
}
|
|
66
|
+
function buildDocsRoute(key) {
|
|
67
|
+
return getExampleShowcaseData(key)?.sandboxHref ? `/docs/examples/${key}` : buildReferenceRoute(key);
|
|
68
|
+
}
|
|
16
69
|
function DocsExamplesPage() {
|
|
17
70
|
const items = listExamples().map((example) => {
|
|
18
71
|
const title = example.meta.title ?? example.meta.key;
|
|
@@ -20,7 +73,7 @@ function DocsExamplesPage() {
|
|
|
20
73
|
id: example.meta.key,
|
|
21
74
|
title,
|
|
22
75
|
summary: example.meta.summary ?? example.meta.description,
|
|
23
|
-
route:
|
|
76
|
+
route: buildDocsRoute(example.meta.key),
|
|
24
77
|
tags: example.meta.tags,
|
|
25
78
|
sandboxEnabled: example.surfaces.sandbox.enabled
|
|
26
79
|
};
|
|
@@ -58,7 +111,7 @@ function DocsExamplesPage() {
|
|
|
58
111
|
justify: "end",
|
|
59
112
|
children: [
|
|
60
113
|
example.sandboxEnabled ? /* @__PURE__ */ jsx(ButtonLink, {
|
|
61
|
-
href:
|
|
114
|
+
href: `/sandbox?template=${example.id}`,
|
|
62
115
|
size: "sm",
|
|
63
116
|
variant: "outline",
|
|
64
117
|
children: "Sandbox"
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
// src/components/docs/examples/exampleShowcaseData.ts
|
|
2
|
+
var EXAMPLE_SHOWCASES = {
|
|
3
|
+
"agent-console": {
|
|
4
|
+
key: "agent-console",
|
|
5
|
+
lead: "Primary meetup path for autonomous agents: typed tools, agent configs, run history, and execution logs in one regenerable surface.",
|
|
6
|
+
sandboxHref: "/sandbox?template=agent-console",
|
|
7
|
+
referenceHref: "/docs/reference/agent-console/agent-console",
|
|
8
|
+
llmsHref: "/llms/example.agent-console",
|
|
9
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/agent-console",
|
|
10
|
+
localCommands: `bun run --cwd packages/examples/agent-console build
|
|
11
|
+
bun run --cwd packages/examples/agent-console test
|
|
12
|
+
bun run --cwd packages/apps/web-landing dev
|
|
13
|
+
|
|
14
|
+
# Open in the browser
|
|
15
|
+
# http://localhost:3000/sandbox?template=agent-console`
|
|
16
|
+
},
|
|
17
|
+
"ai-chat-assistant": {
|
|
18
|
+
key: "ai-chat-assistant",
|
|
19
|
+
lead: "Secondary meetup path for MCP-aware assistants: reasoning, sources, suggestions, and a minimal contract-backed search tool.",
|
|
20
|
+
sandboxHref: "/sandbox?template=ai-chat-assistant",
|
|
21
|
+
referenceHref: "/docs/reference/ai-chat-assistant/assistant.search",
|
|
22
|
+
llmsHref: "/llms/example.ai-chat-assistant",
|
|
23
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/ai-chat-assistant",
|
|
24
|
+
localCommands: `bun run --cwd packages/examples/ai-chat-assistant build
|
|
25
|
+
bun run --cwd packages/examples/ai-chat-assistant test
|
|
26
|
+
bun run --cwd packages/apps/web-landing dev
|
|
27
|
+
|
|
28
|
+
# Open in the browser
|
|
29
|
+
# http://localhost:3000/sandbox?template=ai-chat-assistant`
|
|
30
|
+
},
|
|
31
|
+
"messaging-agent-actions": {
|
|
32
|
+
key: "messaging-agent-actions",
|
|
33
|
+
lead: "Live messaging lane for the meetup: inbound Slack, WhatsApp, or Telegram messages route through fixed intents, allowlisted actions, and deterministic confirmations.",
|
|
34
|
+
sandboxHref: "/sandbox?template=messaging-agent-actions",
|
|
35
|
+
referenceHref: "/docs/reference/messaging-agent-actions/messaging.agentActions.process",
|
|
36
|
+
llmsHref: "/llms/example.messaging-agent-actions",
|
|
37
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/messaging-agent-actions",
|
|
38
|
+
localCommands: `bun run --cwd packages/examples/messaging-agent-actions build
|
|
39
|
+
bun run --cwd packages/examples/messaging-agent-actions test
|
|
40
|
+
bun run --cwd packages/examples/messaging-agent-actions proof
|
|
41
|
+
bun run --cwd packages/apps/web-landing dev
|
|
42
|
+
|
|
43
|
+
# Open in the browser
|
|
44
|
+
# http://localhost:3000/sandbox?template=messaging-agent-actions`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function getExampleShowcaseData(key) {
|
|
48
|
+
return EXAMPLE_SHOWCASES[key];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// src/components/docs/examples/ExampleShowcasePage.tsx
|
|
52
|
+
import { ButtonLink, CodeBlock } from "@contractspec/lib.design-system";
|
|
53
|
+
import Link from "@contractspec/lib.ui-link";
|
|
54
|
+
import { getExample } from "@contractspec/module.examples";
|
|
55
|
+
import { FileCode2, Play, TerminalSquare } from "lucide-react";
|
|
56
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
57
|
+
function ExampleShowcasePage({ exampleKey }) {
|
|
58
|
+
const showcase = getExampleShowcaseData(exampleKey);
|
|
59
|
+
const example = getExample(exampleKey);
|
|
60
|
+
if (!showcase || !example) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const title = example.meta.title ?? example.meta.key;
|
|
64
|
+
const summary = example.meta.summary ?? example.meta.description ?? "";
|
|
65
|
+
const packageName = example.entrypoints.packageName;
|
|
66
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
67
|
+
className: "space-y-10",
|
|
68
|
+
children: [
|
|
69
|
+
/* @__PURE__ */ jsxs("section", {
|
|
70
|
+
className: "space-y-5",
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ jsx("p", {
|
|
73
|
+
className: "editorial-kicker",
|
|
74
|
+
children: "Meetup-ready example"
|
|
75
|
+
}),
|
|
76
|
+
/* @__PURE__ */ jsx("h1", {
|
|
77
|
+
className: "editorial-title max-w-5xl",
|
|
78
|
+
children: title
|
|
79
|
+
}),
|
|
80
|
+
/* @__PURE__ */ jsx("p", {
|
|
81
|
+
className: "editorial-subtitle",
|
|
82
|
+
children: showcase.lead
|
|
83
|
+
}),
|
|
84
|
+
/* @__PURE__ */ jsx("p", {
|
|
85
|
+
className: "editorial-copy max-w-4xl",
|
|
86
|
+
children: summary
|
|
87
|
+
}),
|
|
88
|
+
/* @__PURE__ */ jsxs("div", {
|
|
89
|
+
className: "flex flex-wrap gap-3",
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
92
|
+
href: showcase.sandboxHref,
|
|
93
|
+
children: "Open sandbox"
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
96
|
+
href: showcase.referenceHref,
|
|
97
|
+
variant: "outline",
|
|
98
|
+
children: "Generated reference"
|
|
99
|
+
})
|
|
100
|
+
]
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
}),
|
|
104
|
+
/* @__PURE__ */ jsxs("section", {
|
|
105
|
+
className: "grid gap-5 lg:grid-cols-3",
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ jsxs("article", {
|
|
108
|
+
className: "editorial-panel space-y-4",
|
|
109
|
+
children: [
|
|
110
|
+
/* @__PURE__ */ jsxs("div", {
|
|
111
|
+
className: "flex items-center gap-3",
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("div", {
|
|
114
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
115
|
+
children: /* @__PURE__ */ jsx(Play, {
|
|
116
|
+
size: 18
|
|
117
|
+
})
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ jsx("h2", {
|
|
120
|
+
className: "font-semibold text-xl",
|
|
121
|
+
children: "Sandbox preview"
|
|
122
|
+
})
|
|
123
|
+
]
|
|
124
|
+
}),
|
|
125
|
+
/* @__PURE__ */ jsx("p", {
|
|
126
|
+
className: "editorial-copy text-sm",
|
|
127
|
+
children: "Load the same public browser surface used for the prepared live demo."
|
|
128
|
+
}),
|
|
129
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
130
|
+
href: showcase.sandboxHref,
|
|
131
|
+
size: "sm",
|
|
132
|
+
children: "Open preview"
|
|
133
|
+
})
|
|
134
|
+
]
|
|
135
|
+
}),
|
|
136
|
+
/* @__PURE__ */ jsxs("article", {
|
|
137
|
+
className: "editorial-panel space-y-4",
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ jsxs("div", {
|
|
140
|
+
className: "flex items-center gap-3",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ jsx("div", {
|
|
143
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
144
|
+
children: /* @__PURE__ */ jsx(FileCode2, {
|
|
145
|
+
size: 18
|
|
146
|
+
})
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ jsx("h2", {
|
|
149
|
+
className: "font-semibold text-xl",
|
|
150
|
+
children: "Reference docs"
|
|
151
|
+
})
|
|
152
|
+
]
|
|
153
|
+
}),
|
|
154
|
+
/* @__PURE__ */ jsx("p", {
|
|
155
|
+
className: "editorial-copy text-sm",
|
|
156
|
+
children: "Inspect the generated contract-facing material instead of relying on marketing summaries."
|
|
157
|
+
}),
|
|
158
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
159
|
+
href: showcase.referenceHref,
|
|
160
|
+
size: "sm",
|
|
161
|
+
variant: "outline",
|
|
162
|
+
children: "Open reference"
|
|
163
|
+
})
|
|
164
|
+
]
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ jsxs("article", {
|
|
167
|
+
className: "editorial-panel space-y-4",
|
|
168
|
+
children: [
|
|
169
|
+
/* @__PURE__ */ jsxs("div", {
|
|
170
|
+
className: "flex items-center gap-3",
|
|
171
|
+
children: [
|
|
172
|
+
/* @__PURE__ */ jsx("div", {
|
|
173
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
174
|
+
children: /* @__PURE__ */ jsx(TerminalSquare, {
|
|
175
|
+
size: 18
|
|
176
|
+
})
|
|
177
|
+
}),
|
|
178
|
+
/* @__PURE__ */ jsx("h2", {
|
|
179
|
+
className: "font-semibold text-xl",
|
|
180
|
+
children: "Package context"
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
}),
|
|
184
|
+
/* @__PURE__ */ jsx("p", {
|
|
185
|
+
className: "editorial-copy text-sm",
|
|
186
|
+
children: "Use the agent-facing package page for fast repo orientation, then jump to the source directory."
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ jsx("p", {
|
|
189
|
+
className: "rounded-[18px] border border-border/70 bg-background/75 px-4 py-3 font-mono text-sm",
|
|
190
|
+
children: packageName
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ jsxs("div", {
|
|
193
|
+
className: "flex flex-wrap gap-2",
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
196
|
+
href: showcase.llmsHref,
|
|
197
|
+
size: "sm",
|
|
198
|
+
variant: "outline",
|
|
199
|
+
children: "LLMS page"
|
|
200
|
+
}),
|
|
201
|
+
/* @__PURE__ */ jsx(ButtonLink, {
|
|
202
|
+
href: showcase.repoHref,
|
|
203
|
+
size: "sm",
|
|
204
|
+
variant: "outline",
|
|
205
|
+
children: "GitHub source"
|
|
206
|
+
})
|
|
207
|
+
]
|
|
208
|
+
})
|
|
209
|
+
]
|
|
210
|
+
})
|
|
211
|
+
]
|
|
212
|
+
}),
|
|
213
|
+
/* @__PURE__ */ jsxs("section", {
|
|
214
|
+
className: "editorial-panel space-y-5",
|
|
215
|
+
children: [
|
|
216
|
+
/* @__PURE__ */ jsxs("div", {
|
|
217
|
+
className: "space-y-2",
|
|
218
|
+
children: [
|
|
219
|
+
/* @__PURE__ */ jsx("p", {
|
|
220
|
+
className: "editorial-kicker",
|
|
221
|
+
children: "Talk commands"
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ jsx("h2", {
|
|
224
|
+
className: "editorial-panel-title",
|
|
225
|
+
children: "Exact local commands for the meetup lane"
|
|
226
|
+
}),
|
|
227
|
+
/* @__PURE__ */ jsx("p", {
|
|
228
|
+
className: "editorial-copy text-sm",
|
|
229
|
+
children: "Use the package build and test first, then launch the web shell and open the prepared sandbox route."
|
|
230
|
+
})
|
|
231
|
+
]
|
|
232
|
+
}),
|
|
233
|
+
/* @__PURE__ */ jsx(CodeBlock, {
|
|
234
|
+
language: "bash",
|
|
235
|
+
filename: `${exampleKey}-meetup-runbook`,
|
|
236
|
+
code: showcase.localCommands
|
|
237
|
+
}),
|
|
238
|
+
/* @__PURE__ */ jsxs("p", {
|
|
239
|
+
className: "text-muted-foreground text-sm",
|
|
240
|
+
children: [
|
|
241
|
+
"For the full fallback order and safe live-edit workflow, use",
|
|
242
|
+
" ",
|
|
243
|
+
/* @__PURE__ */ jsx(Link, {
|
|
244
|
+
href: "https://github.com/lssm-tech/contractspec/blob/main/docs/meetup-agent-examples-runbook.md",
|
|
245
|
+
children: "the meetup runbook"
|
|
246
|
+
}),
|
|
247
|
+
"."
|
|
248
|
+
]
|
|
249
|
+
})
|
|
250
|
+
]
|
|
251
|
+
})
|
|
252
|
+
]
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
export {
|
|
256
|
+
ExampleShowcasePage
|
|
257
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// src/components/docs/examples/exampleShowcaseData.ts
|
|
2
|
+
var EXAMPLE_SHOWCASES = {
|
|
3
|
+
"agent-console": {
|
|
4
|
+
key: "agent-console",
|
|
5
|
+
lead: "Primary meetup path for autonomous agents: typed tools, agent configs, run history, and execution logs in one regenerable surface.",
|
|
6
|
+
sandboxHref: "/sandbox?template=agent-console",
|
|
7
|
+
referenceHref: "/docs/reference/agent-console/agent-console",
|
|
8
|
+
llmsHref: "/llms/example.agent-console",
|
|
9
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/agent-console",
|
|
10
|
+
localCommands: `bun run --cwd packages/examples/agent-console build
|
|
11
|
+
bun run --cwd packages/examples/agent-console test
|
|
12
|
+
bun run --cwd packages/apps/web-landing dev
|
|
13
|
+
|
|
14
|
+
# Open in the browser
|
|
15
|
+
# http://localhost:3000/sandbox?template=agent-console`
|
|
16
|
+
},
|
|
17
|
+
"ai-chat-assistant": {
|
|
18
|
+
key: "ai-chat-assistant",
|
|
19
|
+
lead: "Secondary meetup path for MCP-aware assistants: reasoning, sources, suggestions, and a minimal contract-backed search tool.",
|
|
20
|
+
sandboxHref: "/sandbox?template=ai-chat-assistant",
|
|
21
|
+
referenceHref: "/docs/reference/ai-chat-assistant/assistant.search",
|
|
22
|
+
llmsHref: "/llms/example.ai-chat-assistant",
|
|
23
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/ai-chat-assistant",
|
|
24
|
+
localCommands: `bun run --cwd packages/examples/ai-chat-assistant build
|
|
25
|
+
bun run --cwd packages/examples/ai-chat-assistant test
|
|
26
|
+
bun run --cwd packages/apps/web-landing dev
|
|
27
|
+
|
|
28
|
+
# Open in the browser
|
|
29
|
+
# http://localhost:3000/sandbox?template=ai-chat-assistant`
|
|
30
|
+
},
|
|
31
|
+
"messaging-agent-actions": {
|
|
32
|
+
key: "messaging-agent-actions",
|
|
33
|
+
lead: "Live messaging lane for the meetup: inbound Slack, WhatsApp, or Telegram messages route through fixed intents, allowlisted actions, and deterministic confirmations.",
|
|
34
|
+
sandboxHref: "/sandbox?template=messaging-agent-actions",
|
|
35
|
+
referenceHref: "/docs/reference/messaging-agent-actions/messaging.agentActions.process",
|
|
36
|
+
llmsHref: "/llms/example.messaging-agent-actions",
|
|
37
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/messaging-agent-actions",
|
|
38
|
+
localCommands: `bun run --cwd packages/examples/messaging-agent-actions build
|
|
39
|
+
bun run --cwd packages/examples/messaging-agent-actions test
|
|
40
|
+
bun run --cwd packages/examples/messaging-agent-actions proof
|
|
41
|
+
bun run --cwd packages/apps/web-landing dev
|
|
42
|
+
|
|
43
|
+
# Open in the browser
|
|
44
|
+
# http://localhost:3000/sandbox?template=messaging-agent-actions`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function getExampleShowcaseData(key) {
|
|
48
|
+
return EXAMPLE_SHOWCASES[key];
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
getExampleShowcaseData
|
|
52
|
+
};
|
|
@@ -1,3 +1,53 @@
|
|
|
1
|
+
// src/components/docs/examples/exampleShowcaseData.ts
|
|
2
|
+
var EXAMPLE_SHOWCASES = {
|
|
3
|
+
"agent-console": {
|
|
4
|
+
key: "agent-console",
|
|
5
|
+
lead: "Primary meetup path for autonomous agents: typed tools, agent configs, run history, and execution logs in one regenerable surface.",
|
|
6
|
+
sandboxHref: "/sandbox?template=agent-console",
|
|
7
|
+
referenceHref: "/docs/reference/agent-console/agent-console",
|
|
8
|
+
llmsHref: "/llms/example.agent-console",
|
|
9
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/agent-console",
|
|
10
|
+
localCommands: `bun run --cwd packages/examples/agent-console build
|
|
11
|
+
bun run --cwd packages/examples/agent-console test
|
|
12
|
+
bun run --cwd packages/apps/web-landing dev
|
|
13
|
+
|
|
14
|
+
# Open in the browser
|
|
15
|
+
# http://localhost:3000/sandbox?template=agent-console`
|
|
16
|
+
},
|
|
17
|
+
"ai-chat-assistant": {
|
|
18
|
+
key: "ai-chat-assistant",
|
|
19
|
+
lead: "Secondary meetup path for MCP-aware assistants: reasoning, sources, suggestions, and a minimal contract-backed search tool.",
|
|
20
|
+
sandboxHref: "/sandbox?template=ai-chat-assistant",
|
|
21
|
+
referenceHref: "/docs/reference/ai-chat-assistant/assistant.search",
|
|
22
|
+
llmsHref: "/llms/example.ai-chat-assistant",
|
|
23
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/ai-chat-assistant",
|
|
24
|
+
localCommands: `bun run --cwd packages/examples/ai-chat-assistant build
|
|
25
|
+
bun run --cwd packages/examples/ai-chat-assistant test
|
|
26
|
+
bun run --cwd packages/apps/web-landing dev
|
|
27
|
+
|
|
28
|
+
# Open in the browser
|
|
29
|
+
# http://localhost:3000/sandbox?template=ai-chat-assistant`
|
|
30
|
+
},
|
|
31
|
+
"messaging-agent-actions": {
|
|
32
|
+
key: "messaging-agent-actions",
|
|
33
|
+
lead: "Live messaging lane for the meetup: inbound Slack, WhatsApp, or Telegram messages route through fixed intents, allowlisted actions, and deterministic confirmations.",
|
|
34
|
+
sandboxHref: "/sandbox?template=messaging-agent-actions",
|
|
35
|
+
referenceHref: "/docs/reference/messaging-agent-actions/messaging.agentActions.process",
|
|
36
|
+
llmsHref: "/llms/example.messaging-agent-actions",
|
|
37
|
+
repoHref: "https://github.com/lssm-tech/contractspec/tree/main/packages/examples/messaging-agent-actions",
|
|
38
|
+
localCommands: `bun run --cwd packages/examples/messaging-agent-actions build
|
|
39
|
+
bun run --cwd packages/examples/messaging-agent-actions test
|
|
40
|
+
bun run --cwd packages/examples/messaging-agent-actions proof
|
|
41
|
+
bun run --cwd packages/apps/web-landing dev
|
|
42
|
+
|
|
43
|
+
# Open in the browser
|
|
44
|
+
# http://localhost:3000/sandbox?template=messaging-agent-actions`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function getExampleShowcaseData(key) {
|
|
48
|
+
return EXAMPLE_SHOWCASES[key];
|
|
49
|
+
}
|
|
50
|
+
|
|
1
51
|
// src/components/docs/examples/DocsExamplesPage.tsx
|
|
2
52
|
import { ExampleCatalogDataView } from "@contractspec/lib.contracts-spec/docs";
|
|
3
53
|
import {
|
|
@@ -13,6 +63,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
13
63
|
function buildReferenceRoute(key) {
|
|
14
64
|
return `/docs/reference/${key}/${key}`;
|
|
15
65
|
}
|
|
66
|
+
function buildDocsRoute(key) {
|
|
67
|
+
return getExampleShowcaseData(key)?.sandboxHref ? `/docs/examples/${key}` : buildReferenceRoute(key);
|
|
68
|
+
}
|
|
16
69
|
function DocsExamplesPage() {
|
|
17
70
|
const items = listExamples().map((example) => {
|
|
18
71
|
const title = example.meta.title ?? example.meta.key;
|
|
@@ -20,7 +73,7 @@ function DocsExamplesPage() {
|
|
|
20
73
|
id: example.meta.key,
|
|
21
74
|
title,
|
|
22
75
|
summary: example.meta.summary ?? example.meta.description,
|
|
23
|
-
route:
|
|
76
|
+
route: buildDocsRoute(example.meta.key),
|
|
24
77
|
tags: example.meta.tags,
|
|
25
78
|
sandboxEnabled: example.surfaces.sandbox.enabled
|
|
26
79
|
};
|
|
@@ -58,7 +111,7 @@ function DocsExamplesPage() {
|
|
|
58
111
|
justify: "end",
|
|
59
112
|
children: [
|
|
60
113
|
example.sandboxEnabled ? /* @__PURE__ */ jsx(ButtonLink, {
|
|
61
|
-
href:
|
|
114
|
+
href: `/sandbox?template=${example.id}`,
|
|
62
115
|
size: "sm",
|
|
63
116
|
variant: "outline",
|
|
64
117
|
children: "Sandbox"
|
|
@@ -79,6 +132,212 @@ function DocsExamplesPage() {
|
|
|
79
132
|
]
|
|
80
133
|
});
|
|
81
134
|
}
|
|
135
|
+
|
|
136
|
+
// src/components/docs/examples/ExampleShowcasePage.tsx
|
|
137
|
+
import { ButtonLink as ButtonLink2, CodeBlock } from "@contractspec/lib.design-system";
|
|
138
|
+
import Link from "@contractspec/lib.ui-link";
|
|
139
|
+
import { getExample } from "@contractspec/module.examples";
|
|
140
|
+
import { FileCode2, Play, TerminalSquare } from "lucide-react";
|
|
141
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
142
|
+
function ExampleShowcasePage({ exampleKey }) {
|
|
143
|
+
const showcase = getExampleShowcaseData(exampleKey);
|
|
144
|
+
const example = getExample(exampleKey);
|
|
145
|
+
if (!showcase || !example) {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
const title = example.meta.title ?? example.meta.key;
|
|
149
|
+
const summary = example.meta.summary ?? example.meta.description ?? "";
|
|
150
|
+
const packageName = example.entrypoints.packageName;
|
|
151
|
+
return /* @__PURE__ */ jsxs2("div", {
|
|
152
|
+
className: "space-y-10",
|
|
153
|
+
children: [
|
|
154
|
+
/* @__PURE__ */ jsxs2("section", {
|
|
155
|
+
className: "space-y-5",
|
|
156
|
+
children: [
|
|
157
|
+
/* @__PURE__ */ jsx2("p", {
|
|
158
|
+
className: "editorial-kicker",
|
|
159
|
+
children: "Meetup-ready example"
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ jsx2("h1", {
|
|
162
|
+
className: "editorial-title max-w-5xl",
|
|
163
|
+
children: title
|
|
164
|
+
}),
|
|
165
|
+
/* @__PURE__ */ jsx2("p", {
|
|
166
|
+
className: "editorial-subtitle",
|
|
167
|
+
children: showcase.lead
|
|
168
|
+
}),
|
|
169
|
+
/* @__PURE__ */ jsx2("p", {
|
|
170
|
+
className: "editorial-copy max-w-4xl",
|
|
171
|
+
children: summary
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
174
|
+
className: "flex flex-wrap gap-3",
|
|
175
|
+
children: [
|
|
176
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
177
|
+
href: showcase.sandboxHref,
|
|
178
|
+
children: "Open sandbox"
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
181
|
+
href: showcase.referenceHref,
|
|
182
|
+
variant: "outline",
|
|
183
|
+
children: "Generated reference"
|
|
184
|
+
})
|
|
185
|
+
]
|
|
186
|
+
})
|
|
187
|
+
]
|
|
188
|
+
}),
|
|
189
|
+
/* @__PURE__ */ jsxs2("section", {
|
|
190
|
+
className: "grid gap-5 lg:grid-cols-3",
|
|
191
|
+
children: [
|
|
192
|
+
/* @__PURE__ */ jsxs2("article", {
|
|
193
|
+
className: "editorial-panel space-y-4",
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
196
|
+
className: "flex items-center gap-3",
|
|
197
|
+
children: [
|
|
198
|
+
/* @__PURE__ */ jsx2("div", {
|
|
199
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
200
|
+
children: /* @__PURE__ */ jsx2(Play, {
|
|
201
|
+
size: 18
|
|
202
|
+
})
|
|
203
|
+
}),
|
|
204
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
205
|
+
className: "font-semibold text-xl",
|
|
206
|
+
children: "Sandbox preview"
|
|
207
|
+
})
|
|
208
|
+
]
|
|
209
|
+
}),
|
|
210
|
+
/* @__PURE__ */ jsx2("p", {
|
|
211
|
+
className: "editorial-copy text-sm",
|
|
212
|
+
children: "Load the same public browser surface used for the prepared live demo."
|
|
213
|
+
}),
|
|
214
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
215
|
+
href: showcase.sandboxHref,
|
|
216
|
+
size: "sm",
|
|
217
|
+
children: "Open preview"
|
|
218
|
+
})
|
|
219
|
+
]
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ jsxs2("article", {
|
|
222
|
+
className: "editorial-panel space-y-4",
|
|
223
|
+
children: [
|
|
224
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
225
|
+
className: "flex items-center gap-3",
|
|
226
|
+
children: [
|
|
227
|
+
/* @__PURE__ */ jsx2("div", {
|
|
228
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
229
|
+
children: /* @__PURE__ */ jsx2(FileCode2, {
|
|
230
|
+
size: 18
|
|
231
|
+
})
|
|
232
|
+
}),
|
|
233
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
234
|
+
className: "font-semibold text-xl",
|
|
235
|
+
children: "Reference docs"
|
|
236
|
+
})
|
|
237
|
+
]
|
|
238
|
+
}),
|
|
239
|
+
/* @__PURE__ */ jsx2("p", {
|
|
240
|
+
className: "editorial-copy text-sm",
|
|
241
|
+
children: "Inspect the generated contract-facing material instead of relying on marketing summaries."
|
|
242
|
+
}),
|
|
243
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
244
|
+
href: showcase.referenceHref,
|
|
245
|
+
size: "sm",
|
|
246
|
+
variant: "outline",
|
|
247
|
+
children: "Open reference"
|
|
248
|
+
})
|
|
249
|
+
]
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ jsxs2("article", {
|
|
252
|
+
className: "editorial-panel space-y-4",
|
|
253
|
+
children: [
|
|
254
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
255
|
+
className: "flex items-center gap-3",
|
|
256
|
+
children: [
|
|
257
|
+
/* @__PURE__ */ jsx2("div", {
|
|
258
|
+
className: "rounded-full border border-border/80 bg-background/85 p-2",
|
|
259
|
+
children: /* @__PURE__ */ jsx2(TerminalSquare, {
|
|
260
|
+
size: 18
|
|
261
|
+
})
|
|
262
|
+
}),
|
|
263
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
264
|
+
className: "font-semibold text-xl",
|
|
265
|
+
children: "Package context"
|
|
266
|
+
})
|
|
267
|
+
]
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ jsx2("p", {
|
|
270
|
+
className: "editorial-copy text-sm",
|
|
271
|
+
children: "Use the agent-facing package page for fast repo orientation, then jump to the source directory."
|
|
272
|
+
}),
|
|
273
|
+
/* @__PURE__ */ jsx2("p", {
|
|
274
|
+
className: "rounded-[18px] border border-border/70 bg-background/75 px-4 py-3 font-mono text-sm",
|
|
275
|
+
children: packageName
|
|
276
|
+
}),
|
|
277
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
278
|
+
className: "flex flex-wrap gap-2",
|
|
279
|
+
children: [
|
|
280
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
281
|
+
href: showcase.llmsHref,
|
|
282
|
+
size: "sm",
|
|
283
|
+
variant: "outline",
|
|
284
|
+
children: "LLMS page"
|
|
285
|
+
}),
|
|
286
|
+
/* @__PURE__ */ jsx2(ButtonLink2, {
|
|
287
|
+
href: showcase.repoHref,
|
|
288
|
+
size: "sm",
|
|
289
|
+
variant: "outline",
|
|
290
|
+
children: "GitHub source"
|
|
291
|
+
})
|
|
292
|
+
]
|
|
293
|
+
})
|
|
294
|
+
]
|
|
295
|
+
})
|
|
296
|
+
]
|
|
297
|
+
}),
|
|
298
|
+
/* @__PURE__ */ jsxs2("section", {
|
|
299
|
+
className: "editorial-panel space-y-5",
|
|
300
|
+
children: [
|
|
301
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
302
|
+
className: "space-y-2",
|
|
303
|
+
children: [
|
|
304
|
+
/* @__PURE__ */ jsx2("p", {
|
|
305
|
+
className: "editorial-kicker",
|
|
306
|
+
children: "Talk commands"
|
|
307
|
+
}),
|
|
308
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
309
|
+
className: "editorial-panel-title",
|
|
310
|
+
children: "Exact local commands for the meetup lane"
|
|
311
|
+
}),
|
|
312
|
+
/* @__PURE__ */ jsx2("p", {
|
|
313
|
+
className: "editorial-copy text-sm",
|
|
314
|
+
children: "Use the package build and test first, then launch the web shell and open the prepared sandbox route."
|
|
315
|
+
})
|
|
316
|
+
]
|
|
317
|
+
}),
|
|
318
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
319
|
+
language: "bash",
|
|
320
|
+
filename: `${exampleKey}-meetup-runbook`,
|
|
321
|
+
code: showcase.localCommands
|
|
322
|
+
}),
|
|
323
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
324
|
+
className: "text-muted-foreground text-sm",
|
|
325
|
+
children: [
|
|
326
|
+
"For the full fallback order and safe live-edit workflow, use",
|
|
327
|
+
" ",
|
|
328
|
+
/* @__PURE__ */ jsx2(Link, {
|
|
329
|
+
href: "https://github.com/lssm-tech/contractspec/blob/main/docs/meetup-agent-examples-runbook.md",
|
|
330
|
+
children: "the meetup runbook"
|
|
331
|
+
}),
|
|
332
|
+
"."
|
|
333
|
+
]
|
|
334
|
+
})
|
|
335
|
+
]
|
|
336
|
+
})
|
|
337
|
+
]
|
|
338
|
+
});
|
|
339
|
+
}
|
|
82
340
|
export {
|
|
341
|
+
ExampleShowcasePage,
|
|
83
342
|
DocsExamplesPage
|
|
84
343
|
};
|