@burdenoff/microfe-botmanor 2026.813.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +12 -0
  2. package/dist/botlit/BotlitRoutes.js +357 -0
  3. package/dist/botlit/BotlitRoutes.js.map +1 -0
  4. package/dist/botlit/BotmanorRoot.js +12 -0
  5. package/dist/botlit/BotmanorRoot.js.map +1 -0
  6. package/dist/botlit/BotmanorRootInner.js +101 -0
  7. package/dist/botlit/BotmanorRootInner.js.map +1 -0
  8. package/dist/botlit/components/Badge.js +39 -0
  9. package/dist/botlit/components/Badge.js.map +1 -0
  10. package/dist/botlit/components/Button.js +46 -0
  11. package/dist/botlit/components/Button.js.map +1 -0
  12. package/dist/botlit/components/Card.js +31 -0
  13. package/dist/botlit/components/Card.js.map +1 -0
  14. package/dist/botlit/components/ChannelSelectorSheet.js +130 -0
  15. package/dist/botlit/components/ChannelSelectorSheet.js.map +1 -0
  16. package/dist/botlit/components/EmptyState.js +35 -0
  17. package/dist/botlit/components/EmptyState.js.map +1 -0
  18. package/dist/botlit/components/ErrorState.js +33 -0
  19. package/dist/botlit/components/ErrorState.js.map +1 -0
  20. package/dist/botlit/components/Input.js +59 -0
  21. package/dist/botlit/components/Input.js.map +1 -0
  22. package/dist/botlit/components/PageLayout.js +34 -0
  23. package/dist/botlit/components/PageLayout.js.map +1 -0
  24. package/dist/botlit/components/QuotaExhaustedDialog.js +20 -0
  25. package/dist/botlit/components/QuotaExhaustedDialog.js.map +1 -0
  26. package/dist/botlit/components/RouteLoader.js +52 -0
  27. package/dist/botlit/components/RouteLoader.js.map +1 -0
  28. package/dist/botlit/components/VersionHistoryPanel.js +144 -0
  29. package/dist/botlit/components/VersionHistoryPanel.js.map +1 -0
  30. package/dist/botlit/components/WorkspaceRequired.js +70 -0
  31. package/dist/botlit/components/WorkspaceRequired.js.map +1 -0
  32. package/dist/botlit/hooks/index.js +16 -0
  33. package/dist/botlit/hooks/internal/mutationInput.js +16 -0
  34. package/dist/botlit/hooks/internal/mutationInput.js.map +1 -0
  35. package/dist/botlit/hooks/internal/workspaceGateway.js +99 -0
  36. package/dist/botlit/hooks/internal/workspaceGateway.js.map +1 -0
  37. package/dist/botlit/hooks/useA2A.js +184 -0
  38. package/dist/botlit/hooks/useA2A.js.map +1 -0
  39. package/dist/botlit/hooks/useAgents.js +469 -0
  40. package/dist/botlit/hooks/useAgents.js.map +1 -0
  41. package/dist/botlit/hooks/useBots.js +306 -0
  42. package/dist/botlit/hooks/useBots.js.map +1 -0
  43. package/dist/botlit/hooks/useBuckets.js +119 -0
  44. package/dist/botlit/hooks/useBuckets.js.map +1 -0
  45. package/dist/botlit/hooks/useChannels.js +213 -0
  46. package/dist/botlit/hooks/useChannels.js.map +1 -0
  47. package/dist/botlit/hooks/useConversations.js +64 -0
  48. package/dist/botlit/hooks/useConversations.js.map +1 -0
  49. package/dist/botlit/hooks/useExecutions.js +86 -0
  50. package/dist/botlit/hooks/useExecutions.js.map +1 -0
  51. package/dist/botlit/hooks/useKnowledgeBases.js +113 -0
  52. package/dist/botlit/hooks/useKnowledgeBases.js.map +1 -0
  53. package/dist/botlit/hooks/useLLMProviders.js +83 -0
  54. package/dist/botlit/hooks/useLLMProviders.js.map +1 -0
  55. package/dist/botlit/hooks/useMCPServers.js +134 -0
  56. package/dist/botlit/hooks/useMCPServers.js.map +1 -0
  57. package/dist/botlit/hooks/usePolicies.js +120 -0
  58. package/dist/botlit/hooks/usePolicies.js.map +1 -0
  59. package/dist/botlit/hooks/usePromptTemplates.js +161 -0
  60. package/dist/botlit/hooks/usePromptTemplates.js.map +1 -0
  61. package/dist/botlit/hooks/useRetrievalProfiles.js +146 -0
  62. package/dist/botlit/hooks/useRetrievalProfiles.js.map +1 -0
  63. package/dist/botlit/hooks/useSkills.js +132 -0
  64. package/dist/botlit/hooks/useSkills.js.map +1 -0
  65. package/dist/botlit/hooks/useStore.js +167 -0
  66. package/dist/botlit/hooks/useStore.js.map +1 -0
  67. package/dist/botlit/hooks/useUserPlatformConnection.js +172 -0
  68. package/dist/botlit/hooks/useUserPlatformConnection.js.map +1 -0
  69. package/dist/botlit/index.js +11 -0
  70. package/dist/botlit/pages/A2AAgentDetailPage.js +589 -0
  71. package/dist/botlit/pages/A2AAgentDetailPage.js.map +1 -0
  72. package/dist/botlit/pages/A2ARegistryPage.js +240 -0
  73. package/dist/botlit/pages/A2ARegistryPage.js.map +1 -0
  74. package/dist/botlit/pages/AgentBuilderPage.js +486 -0
  75. package/dist/botlit/pages/AgentBuilderPage.js.map +1 -0
  76. package/dist/botlit/pages/AgentDetailPage.js +517 -0
  77. package/dist/botlit/pages/AgentDetailPage.js.map +1 -0
  78. package/dist/botlit/pages/AgentsListPage.js +294 -0
  79. package/dist/botlit/pages/AgentsListPage.js.map +1 -0
  80. package/dist/botlit/pages/BotChannelsTab.js +530 -0
  81. package/dist/botlit/pages/BotChannelsTab.js.map +1 -0
  82. package/dist/botlit/pages/BotDetailPage.js +872 -0
  83. package/dist/botlit/pages/BotDetailPage.js.map +1 -0
  84. package/dist/botlit/pages/BotWorkflowTab.js +229 -0
  85. package/dist/botlit/pages/BotWorkflowTab.js.map +1 -0
  86. package/dist/botlit/pages/BotsListPage.js +313 -0
  87. package/dist/botlit/pages/BotsListPage.js.map +1 -0
  88. package/dist/botlit/pages/BucketsPage.js +604 -0
  89. package/dist/botlit/pages/BucketsPage.js.map +1 -0
  90. package/dist/botlit/pages/ChannelDetailPage.js +955 -0
  91. package/dist/botlit/pages/ChannelDetailPage.js.map +1 -0
  92. package/dist/botlit/pages/ChannelRoutesPage.js +218 -0
  93. package/dist/botlit/pages/ChannelRoutesPage.js.map +1 -0
  94. package/dist/botlit/pages/ChannelsPage.js +304 -0
  95. package/dist/botlit/pages/ChannelsPage.js.map +1 -0
  96. package/dist/botlit/pages/ChatPage.js +247 -0
  97. package/dist/botlit/pages/ChatPage.js.map +1 -0
  98. package/dist/botlit/pages/DashboardPage.js +318 -0
  99. package/dist/botlit/pages/DashboardPage.js.map +1 -0
  100. package/dist/botlit/pages/ExecutionDetailPage.js +313 -0
  101. package/dist/botlit/pages/ExecutionDetailPage.js.map +1 -0
  102. package/dist/botlit/pages/ExecutionsPage.js +294 -0
  103. package/dist/botlit/pages/ExecutionsPage.js.map +1 -0
  104. package/dist/botlit/pages/InstalledPackagesPage.js +619 -0
  105. package/dist/botlit/pages/InstalledPackagesPage.js.map +1 -0
  106. package/dist/botlit/pages/KnowledgeBaseDetailPage.js +473 -0
  107. package/dist/botlit/pages/KnowledgeBaseDetailPage.js.map +1 -0
  108. package/dist/botlit/pages/KnowledgeBasesPage.js +150 -0
  109. package/dist/botlit/pages/KnowledgeBasesPage.js.map +1 -0
  110. package/dist/botlit/pages/MCPServerDetailPage.js +550 -0
  111. package/dist/botlit/pages/MCPServerDetailPage.js.map +1 -0
  112. package/dist/botlit/pages/MCPServersPage.js +321 -0
  113. package/dist/botlit/pages/MCPServersPage.js.map +1 -0
  114. package/dist/botlit/pages/PoliciesPage.js +224 -0
  115. package/dist/botlit/pages/PoliciesPage.js.map +1 -0
  116. package/dist/botlit/pages/PolicyDetailPage.js +861 -0
  117. package/dist/botlit/pages/PolicyDetailPage.js.map +1 -0
  118. package/dist/botlit/pages/PromptStudioPage.js +236 -0
  119. package/dist/botlit/pages/PromptStudioPage.js.map +1 -0
  120. package/dist/botlit/pages/PromptTemplateDetailPage.js +812 -0
  121. package/dist/botlit/pages/PromptTemplateDetailPage.js.map +1 -0
  122. package/dist/botlit/pages/PromptTemplatesPage.js +269 -0
  123. package/dist/botlit/pages/PromptTemplatesPage.js.map +1 -0
  124. package/dist/botlit/pages/RetrievalProfileDetailPage.js +559 -0
  125. package/dist/botlit/pages/RetrievalProfileDetailPage.js.map +1 -0
  126. package/dist/botlit/pages/RetrievalProfilesPage.js +219 -0
  127. package/dist/botlit/pages/RetrievalProfilesPage.js.map +1 -0
  128. package/dist/botlit/pages/SettingsPage.js +655 -0
  129. package/dist/botlit/pages/SettingsPage.js.map +1 -0
  130. package/dist/botlit/pages/SkillDetailPage.js +778 -0
  131. package/dist/botlit/pages/SkillDetailPage.js.map +1 -0
  132. package/dist/botlit/pages/SkillsPage.js +206 -0
  133. package/dist/botlit/pages/SkillsPage.js.map +1 -0
  134. package/dist/botlit/pages/StorePackageDetailPage.js +462 -0
  135. package/dist/botlit/pages/StorePackageDetailPage.js.map +1 -0
  136. package/dist/botlit/pages/StorePage.js +315 -0
  137. package/dist/botlit/pages/StorePage.js.map +1 -0
  138. package/dist/botlit/providers/BotlitProvider.js +93 -0
  139. package/dist/botlit/providers/BotlitProvider.js.map +1 -0
  140. package/dist/botlit/store/botlitStore.js +101 -0
  141. package/dist/botlit/store/botlitStore.js.map +1 -0
  142. package/dist/botlit/utils/cn.js +10 -0
  143. package/dist/botlit/utils/cn.js.map +1 -0
  144. package/dist/botlit/utils/formatters.js +37 -0
  145. package/dist/botlit/utils/formatters.js.map +1 -0
  146. package/dist/botlit/utils/navigation.js +9 -0
  147. package/dist/botlit/utils/navigation.js.map +1 -0
  148. package/dist/botlit/utils/unions.js +14 -0
  149. package/dist/botlit/utils/unions.js.map +1 -0
  150. package/dist/generated/global-operations.js +66 -0
  151. package/dist/generated/global-operations.js.map +1 -0
  152. package/dist/generated/global-types.js +8 -0
  153. package/dist/generated/global-types.js.map +1 -0
  154. package/dist/generated/wspace-operations.js +1591 -0
  155. package/dist/generated/wspace-operations.js.map +1 -0
  156. package/dist/generated/wspace-types.js +12 -0
  157. package/dist/generated/wspace-types.js.map +1 -0
  158. package/dist/index.js +13 -0
  159. package/dist/utils/nativeBridge.js +2 -0
  160. package/package.json +133 -0
@@ -0,0 +1,812 @@
1
+ import { useBotlit as e } from "../providers/BotlitProvider.js";
2
+ import { formatRelativeTime as t } from "../utils/formatters.js";
3
+ import { PageLayout as n } from "../components/PageLayout.js";
4
+ import { Card as r, CardContent as i, CardDescription as a, CardHeader as o, CardTitle as s } from "../components/Card.js";
5
+ import { Button as c } from "../components/Button.js";
6
+ import { Badge as l, StatusBadge as ee } from "../components/Badge.js";
7
+ import { isNative as u, nativeCopyText as te, nativeImpact as ne, nativeNotify as d, nativeToast as f } from "../../utils/nativeBridge.js";
8
+ import { EmptyState as p } from "../components/EmptyState.js";
9
+ import { FormField as m, Input as h, Textarea as g } from "../components/Input.js";
10
+ import { toUnion as _ } from "../utils/unions.js";
11
+ import { promptTemplateExamples as v, promptTemplateVariables as y, useCreatePromptTemplate as re, useDeletePromptTemplate as ie, usePromptTemplate as ae, useRenderPromptTemplate as oe, useUpdatePromptTemplate as se } from "../hooks/usePromptTemplates.js";
12
+ import "../hooks/index.js";
13
+ import { useMemo as ce, useState as b } from "react";
14
+ import { PagePurpose as le } from "@burdenoff/fe-libs/ui";
15
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
16
+ import { useParams as ue } from "react-router";
17
+ import { ArrowLeft as de, Check as fe, Code as w, Copy as pe, Edit3 as me, Eye as T, FileText as E, Play as D, Save as O, Settings as he, Trash2 as k, Variable as A } from "lucide-react";
18
+ import { toast as j } from "sonner";
19
+ //#region src/botlit/pages/PromptTemplateDetailPage.tsx
20
+ var M = [
21
+ "string",
22
+ "number",
23
+ "boolean",
24
+ "array",
25
+ "object"
26
+ ], ge = [
27
+ "PRIVATE",
28
+ "WORKSPACE",
29
+ "PUBLIC"
30
+ ], N = ({ isNew: N }) => {
31
+ let { templateId: _e } = ue(), { navigateTo: P } = e(), { data: F, loading: I } = ae(N ? void 0 : _e), { create: ve, loading: ye } = re(), { update: be, loading: xe } = se(), { remove: Se, loading: Ce } = ie(), { render: we, loading: Te } = oe(), [L, R] = b("edit"), [z, B] = b(!1), [V, Ee] = b({}), [H, De] = b(null), [U, W] = b(!1), [Oe, G] = b(!1), [K, q] = b({
32
+ name: "",
33
+ slug: "",
34
+ description: "",
35
+ visibility: "PRIVATE",
36
+ templateText: "",
37
+ variables: [],
38
+ exampleInputs: [{}]
39
+ }), J = ce(() => {
40
+ let e = N ? K.templateText : F?.templateText || "", t = /\{\{(\w+)\}\}/g, n = /* @__PURE__ */ new Set(), r;
41
+ for (; (r = t.exec(e)) !== null;) n.add(r[1]);
42
+ return Array.from(n);
43
+ }, [
44
+ N,
45
+ K.templateText,
46
+ F?.templateText
47
+ ]), ke = async () => {
48
+ if (!(!K.name || !K.slug)) {
49
+ try {
50
+ await ve({
51
+ name: K.name,
52
+ slug: K.slug,
53
+ description: K.description,
54
+ visibility: K.visibility,
55
+ templateText: K.templateText,
56
+ variables: K.variables,
57
+ exampleInputs: K.exampleInputs
58
+ });
59
+ } catch (e) {
60
+ j.error(e instanceof Error ? e.message : "Failed to create prompt template");
61
+ return;
62
+ }
63
+ j.success(`Template "${K.name}" created`), P("prompt-templates");
64
+ }
65
+ }, Ae = () => {
66
+ q({
67
+ ...K,
68
+ variables: [...K.variables, {
69
+ name: "",
70
+ type: "string",
71
+ required: !0,
72
+ defaultValue: void 0
73
+ }]
74
+ });
75
+ }, Y = (e, t) => {
76
+ let n = [...K.variables];
77
+ n[e] = {
78
+ ...n[e],
79
+ ...t
80
+ }, q({
81
+ ...K,
82
+ variables: n
83
+ });
84
+ }, je = (e) => {
85
+ q({
86
+ ...K,
87
+ variables: K.variables.filter((t, n) => n !== e)
88
+ });
89
+ }, Me = async () => {
90
+ F && De(await we({
91
+ templateId: F.id,
92
+ variables: V
93
+ }));
94
+ }, Ne = async () => {
95
+ await te(F?.templateText || K.templateText), B(!0), u() && f("Copied"), setTimeout(() => B(!1), 2e3);
96
+ }, X = () => {
97
+ F && (q({
98
+ name: F.name,
99
+ slug: F.slug,
100
+ description: F.description || "",
101
+ visibility: _(F.visibility, ge, "PRIVATE"),
102
+ templateText: F.templateText,
103
+ variables: y(F),
104
+ exampleInputs: v(F)
105
+ }), W(!0));
106
+ }, Pe = async () => {
107
+ if (!(!F || !K.name || !K.slug)) {
108
+ try {
109
+ await be({
110
+ templateId: F.id,
111
+ input: {
112
+ name: K.name,
113
+ slug: K.slug,
114
+ description: K.description,
115
+ visibility: K.visibility,
116
+ templateText: K.templateText,
117
+ variables: K.variables,
118
+ exampleInputs: K.exampleInputs
119
+ }
120
+ });
121
+ } catch (e) {
122
+ j.error(e instanceof Error ? e.message : "Failed to update prompt template");
123
+ return;
124
+ }
125
+ j.success("Template updated"), W(!1);
126
+ }
127
+ }, Fe = async () => {
128
+ if (F) try {
129
+ await Se(F.id), u() && d("success"), P("prompt-templates");
130
+ } catch (e) {
131
+ throw u() && d("error"), e;
132
+ }
133
+ }, Z = (e) => e.replace(/\{\{(\w+)\}\}/g, "<span class=\"bg-action-primary-bg/20 text-primary px-1 rounded font-mono\">{{$1}}</span>");
134
+ if (N) return /* @__PURE__ */ S(n, {
135
+ title: "Create Prompt Template",
136
+ description: "Define a reusable prompt template with variables",
137
+ actions: /* @__PURE__ */ C("div", {
138
+ className: "flex gap-2",
139
+ children: [/* @__PURE__ */ S(c, {
140
+ variant: "outline",
141
+ onClick: () => P("prompt-templates"),
142
+ children: "Cancel"
143
+ }), /* @__PURE__ */ S(c, {
144
+ leftIcon: /* @__PURE__ */ S(O, { size: 16 }),
145
+ onClick: ke,
146
+ isLoading: ye,
147
+ disabled: !K.name || !K.slug,
148
+ children: "Create Template"
149
+ })]
150
+ }),
151
+ children: /* @__PURE__ */ C("div", {
152
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
153
+ children: [/* @__PURE__ */ C("div", {
154
+ className: "lg:col-span-2 space-y-6",
155
+ children: [
156
+ /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ S(s, { children: "Basic Information" }) }), /* @__PURE__ */ C(i, {
157
+ className: "space-y-4",
158
+ children: [
159
+ /* @__PURE__ */ C("div", {
160
+ className: "grid grid-cols-2 gap-4",
161
+ children: [/* @__PURE__ */ S(m, {
162
+ label: "Template Name",
163
+ required: !0,
164
+ children: /* @__PURE__ */ S(h, {
165
+ placeholder: "e.g., Technical Support Template",
166
+ value: K.name,
167
+ onChange: (e) => q({
168
+ ...K,
169
+ name: e.target.value
170
+ })
171
+ })
172
+ }), /* @__PURE__ */ S(m, {
173
+ label: "Slug",
174
+ required: !0,
175
+ description: "Unique identifier (lowercase, dashes)",
176
+ children: /* @__PURE__ */ S(h, {
177
+ placeholder: "e.g., technical-support",
178
+ value: K.slug,
179
+ onChange: (e) => q({
180
+ ...K,
181
+ slug: e.target.value.toLowerCase().replace(/[^a-z0-9-]/g, "-")
182
+ })
183
+ })
184
+ })]
185
+ }),
186
+ /* @__PURE__ */ S(m, {
187
+ label: "Description",
188
+ children: /* @__PURE__ */ S(g, {
189
+ placeholder: "What is this template used for?",
190
+ value: K.description,
191
+ onChange: (e) => q({
192
+ ...K,
193
+ description: e.target.value
194
+ }),
195
+ rows: 2
196
+ })
197
+ }),
198
+ /* @__PURE__ */ S(m, {
199
+ label: "Visibility",
200
+ children: /* @__PURE__ */ C("select", {
201
+ className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
202
+ value: K.visibility,
203
+ onChange: (e) => q({
204
+ ...K,
205
+ visibility: e.target.value
206
+ }),
207
+ children: [
208
+ /* @__PURE__ */ S("option", {
209
+ value: "PRIVATE",
210
+ children: "Private"
211
+ }),
212
+ /* @__PURE__ */ S("option", {
213
+ value: "WORKSPACE",
214
+ children: "Workspace"
215
+ }),
216
+ /* @__PURE__ */ S("option", {
217
+ value: "PUBLIC",
218
+ children: "Public"
219
+ })
220
+ ]
221
+ })
222
+ })
223
+ ]
224
+ })] }),
225
+ /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ C(s, {
226
+ className: "flex items-center gap-2",
227
+ children: [/* @__PURE__ */ S(w, { size: 18 }), "Template Content"]
228
+ }), /* @__PURE__ */ C(a, { children: [
229
+ "Use ",
230
+ "{{variable_name}}",
231
+ " syntax for variables"
232
+ ] })] }), /* @__PURE__ */ C(i, { children: [/* @__PURE__ */ S(g, {
233
+ className: "font-mono text-sm min-h-[300px]",
234
+ placeholder: "You are a helpful assistant for {{company_name}}.\n\nYour role is to help users with {{task_type}}.\n\nGuidelines:\n- Be helpful and friendly\n- Provide accurate information\n- Reference: {{docs_url}}",
235
+ value: K.templateText,
236
+ onChange: (e) => q({
237
+ ...K,
238
+ templateText: e.target.value
239
+ })
240
+ }), J.length > 0 && /* @__PURE__ */ C("div", {
241
+ className: "mt-3 flex items-center gap-2",
242
+ children: [/* @__PURE__ */ S("span", {
243
+ className: "text-sm text-text-secondary",
244
+ children: "Detected variables:"
245
+ }), J.map((e) => /* @__PURE__ */ S(l, {
246
+ variant: "secondary",
247
+ className: "font-mono",
248
+ children: e
249
+ }, e))]
250
+ })] })] }),
251
+ /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ C(s, {
252
+ className: "flex items-center justify-between",
253
+ children: [/* @__PURE__ */ C("span", {
254
+ className: "flex items-center gap-2",
255
+ children: [/* @__PURE__ */ S(A, { size: 18 }), "Variables"]
256
+ }), /* @__PURE__ */ S(c, {
257
+ variant: "outline",
258
+ size: "sm",
259
+ onClick: Ae,
260
+ children: "Add Variable"
261
+ })]
262
+ }), /* @__PURE__ */ S(a, { children: "Define the variables used in your template" })] }), /* @__PURE__ */ S(i, { children: K.variables.length > 0 ? /* @__PURE__ */ S("div", {
263
+ className: "space-y-4",
264
+ children: K.variables.map((e, t) => /* @__PURE__ */ C("div", {
265
+ className: "p-4 border rounded-lg bg-bg-sunken/30 space-y-3",
266
+ children: [/* @__PURE__ */ C("div", {
267
+ className: "grid grid-cols-4 gap-3",
268
+ children: [
269
+ /* @__PURE__ */ S(m, {
270
+ label: "Name",
271
+ children: /* @__PURE__ */ S(h, {
272
+ className: "font-mono",
273
+ placeholder: "variable_name",
274
+ value: e.name,
275
+ onChange: (e) => Y(t, { name: e.target.value })
276
+ })
277
+ }),
278
+ /* @__PURE__ */ S(m, {
279
+ label: "Type",
280
+ children: /* @__PURE__ */ S("select", {
281
+ className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
282
+ value: e.type,
283
+ onChange: (e) => Y(t, { type: _(e.target.value, M, "string") }),
284
+ children: M.map((e) => /* @__PURE__ */ S("option", {
285
+ value: e,
286
+ children: e
287
+ }, e))
288
+ })
289
+ }),
290
+ /* @__PURE__ */ S(m, {
291
+ label: "Default Value",
292
+ children: /* @__PURE__ */ S(h, {
293
+ placeholder: "Optional",
294
+ value: String(e.defaultValue || ""),
295
+ onChange: (e) => Y(t, { defaultValue: e.target.value || void 0 })
296
+ })
297
+ }),
298
+ /* @__PURE__ */ C("div", {
299
+ className: "flex items-end gap-2",
300
+ children: [/* @__PURE__ */ C("label", {
301
+ className: "flex items-center gap-2 h-10",
302
+ children: [/* @__PURE__ */ S("input", {
303
+ type: "checkbox",
304
+ checked: e.required,
305
+ onChange: (e) => Y(t, { required: e.target.checked }),
306
+ className: "h-4 w-4"
307
+ }), /* @__PURE__ */ S("span", {
308
+ className: "text-sm",
309
+ children: "Required"
310
+ })]
311
+ }), /* @__PURE__ */ S(c, {
312
+ variant: "ghost",
313
+ size: "sm",
314
+ className: "text-status-error-text",
315
+ onClick: () => je(t),
316
+ children: "Remove"
317
+ })]
318
+ })
319
+ ]
320
+ }), /* @__PURE__ */ S(m, {
321
+ label: "Description",
322
+ children: /* @__PURE__ */ S(h, {
323
+ placeholder: "What is this variable for?",
324
+ value: e.description || "",
325
+ onChange: (e) => Y(t, { description: e.target.value })
326
+ })
327
+ })]
328
+ }, t))
329
+ }) : /* @__PURE__ */ C("div", {
330
+ className: "text-center py-8 text-text-secondary",
331
+ children: [
332
+ /* @__PURE__ */ S(A, { className: "h-8 w-8 mx-auto mb-2 opacity-50" }),
333
+ /* @__PURE__ */ S("p", { children: "No variables defined yet" }),
334
+ /* @__PURE__ */ C("p", {
335
+ className: "text-sm",
336
+ children: [
337
+ "Variables are automatically detected from ",
338
+ "{{variable}}",
339
+ " syntax"
340
+ ]
341
+ })
342
+ ]
343
+ }) })] })
344
+ ]
345
+ }), /* @__PURE__ */ C("div", {
346
+ className: "space-y-6",
347
+ children: [/* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ C(s, {
348
+ className: "flex items-center gap-2",
349
+ children: [/* @__PURE__ */ S(T, { size: 18 }), "Preview"]
350
+ }) }), /* @__PURE__ */ S(i, { children: /* @__PURE__ */ S("div", {
351
+ className: "p-4 bg-bg-sunken rounded-lg text-sm whitespace-pre-wrap font-mono",
352
+ dangerouslySetInnerHTML: { __html: Z(K.templateText || "Enter template text...") }
353
+ }) })] }), /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ S(s, { children: "Quick Tips" }) }), /* @__PURE__ */ C(i, {
354
+ className: "text-sm space-y-2",
355
+ children: [
356
+ /* @__PURE__ */ C("p", { children: [
357
+ /* @__PURE__ */ S("strong", { children: "Variables:" }),
358
+ " Use ",
359
+ "{{name}}",
360
+ " syntax"
361
+ ] }),
362
+ /* @__PURE__ */ S("p", { children: /* @__PURE__ */ S("strong", { children: "Best Practices:" }) }),
363
+ /* @__PURE__ */ C("ul", {
364
+ className: "list-disc list-inside text-text-secondary space-y-1",
365
+ children: [
366
+ /* @__PURE__ */ S("li", { children: "Use descriptive variable names" }),
367
+ /* @__PURE__ */ S("li", { children: "Provide default values when possible" }),
368
+ /* @__PURE__ */ S("li", { children: "Include example inputs for testing" }),
369
+ /* @__PURE__ */ S("li", { children: "Version your templates for changes" })
370
+ ]
371
+ })
372
+ ]
373
+ })] })]
374
+ })]
375
+ })
376
+ });
377
+ if (I) return /* @__PURE__ */ S(n, {
378
+ title: "Loading...",
379
+ children: /* @__PURE__ */ S("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
380
+ });
381
+ if (!F) return /* @__PURE__ */ S(n, {
382
+ title: "Template Not Found",
383
+ children: /* @__PURE__ */ S(p, {
384
+ illustration: "empty-files",
385
+ title: "Template Not Found",
386
+ description: "This prompt template doesn't exist.",
387
+ action: /* @__PURE__ */ S(c, {
388
+ onClick: () => P("prompt-templates"),
389
+ children: "Back to Templates"
390
+ })
391
+ })
392
+ });
393
+ let Q = y(F), $ = v(F);
394
+ return /* @__PURE__ */ S(n, {
395
+ title: /* @__PURE__ */ C("div", {
396
+ className: "flex items-center gap-3",
397
+ children: [
398
+ /* @__PURE__ */ S(c, {
399
+ variant: "ghost",
400
+ size: "icon",
401
+ onClick: () => P("prompt-templates"),
402
+ children: /* @__PURE__ */ S(de, { size: 20 })
403
+ }),
404
+ /* @__PURE__ */ S("div", {
405
+ className: "p-2 rounded-lg bg-action-primary-bg/10",
406
+ children: /* @__PURE__ */ S(E, { className: "h-6 w-6 text-primary" })
407
+ }),
408
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
409
+ className: "flex items-center gap-2",
410
+ children: [
411
+ /* @__PURE__ */ S("span", { children: F.name }),
412
+ /* @__PURE__ */ S(ee, { status: F.status }),
413
+ /* @__PURE__ */ C(l, {
414
+ variant: "secondary",
415
+ className: "font-mono",
416
+ children: ["v", F.version]
417
+ })
418
+ ]
419
+ }), /* @__PURE__ */ C("p", {
420
+ className: "text-sm font-normal text-text-secondary",
421
+ children: [
422
+ F.slug,
423
+ " - ",
424
+ F.description
425
+ ]
426
+ })] })
427
+ ]
428
+ }),
429
+ actions: /* @__PURE__ */ C("div", {
430
+ className: "flex gap-2",
431
+ children: [/* @__PURE__ */ S(c, {
432
+ variant: "outline",
433
+ leftIcon: S(z ? fe : pe, { size: 16 }),
434
+ onClick: Ne,
435
+ children: z ? "Copied!" : "Copy"
436
+ }), U ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(c, {
437
+ variant: "outline",
438
+ onClick: () => W(!1),
439
+ children: "Cancel"
440
+ }), /* @__PURE__ */ S(c, {
441
+ leftIcon: /* @__PURE__ */ S(O, { size: 16 }),
442
+ onClick: Pe,
443
+ isLoading: xe,
444
+ disabled: !K.name || !K.slug,
445
+ children: "Save Changes"
446
+ })] }) : Oe ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(c, {
447
+ variant: "outline",
448
+ onClick: () => G(!1),
449
+ children: "Cancel"
450
+ }), /* @__PURE__ */ S(c, {
451
+ variant: "destructive",
452
+ leftIcon: /* @__PURE__ */ S(k, { size: 16 }),
453
+ onClick: () => {
454
+ ne("medium"), Fe();
455
+ },
456
+ isLoading: Ce,
457
+ children: "Confirm Delete"
458
+ })] }) : /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(c, {
459
+ variant: "outline",
460
+ leftIcon: /* @__PURE__ */ S(me, { size: 16 }),
461
+ onClick: X,
462
+ children: "Edit Template"
463
+ }), /* @__PURE__ */ S(c, {
464
+ variant: "outline",
465
+ leftIcon: /* @__PURE__ */ S(k, { size: 16 }),
466
+ onClick: () => G(!0),
467
+ children: "Delete"
468
+ })] })]
469
+ }),
470
+ children: /* @__PURE__ */ C("div", {
471
+ className: "space-y-6",
472
+ children: [
473
+ /* @__PURE__ */ C(le, {
474
+ icon: /* @__PURE__ */ S(E, { size: 18 }),
475
+ children: [
476
+ "This is a single reusable prompt template — its content with",
477
+ " ",
478
+ /* @__PURE__ */ S("code", { children: "{{variables}}" }),
479
+ ", its declared variables and example inputs, and its version history. Edit and preview it here to perfect the instructions, then reuse it across agents so they share consistent, version-controlled behaviour."
480
+ ]
481
+ }),
482
+ U && /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(s, { children: "Edit Template" }), /* @__PURE__ */ S(a, { children: "Update template details and content" })] }), /* @__PURE__ */ C(i, {
483
+ className: "space-y-4",
484
+ children: [
485
+ /* @__PURE__ */ C("div", {
486
+ className: "grid grid-cols-2 gap-4",
487
+ children: [/* @__PURE__ */ S(m, {
488
+ label: "Template Name",
489
+ required: !0,
490
+ children: /* @__PURE__ */ S(h, {
491
+ placeholder: "e.g., Technical Support Template",
492
+ value: K.name,
493
+ onChange: (e) => q({
494
+ ...K,
495
+ name: e.target.value
496
+ })
497
+ })
498
+ }), /* @__PURE__ */ S(m, {
499
+ label: "Slug",
500
+ required: !0,
501
+ description: "Unique identifier (lowercase, dashes)",
502
+ children: /* @__PURE__ */ S(h, {
503
+ placeholder: "e.g., technical-support",
504
+ value: K.slug,
505
+ onChange: (e) => q({
506
+ ...K,
507
+ slug: e.target.value.toLowerCase().replace(/[^a-z0-9-]/g, "-")
508
+ })
509
+ })
510
+ })]
511
+ }),
512
+ /* @__PURE__ */ S(m, {
513
+ label: "Description",
514
+ children: /* @__PURE__ */ S(g, {
515
+ placeholder: "What is this template used for?",
516
+ value: K.description,
517
+ onChange: (e) => q({
518
+ ...K,
519
+ description: e.target.value
520
+ }),
521
+ rows: 2
522
+ })
523
+ }),
524
+ /* @__PURE__ */ S(m, {
525
+ label: "Visibility",
526
+ children: /* @__PURE__ */ C("select", {
527
+ className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
528
+ value: K.visibility,
529
+ onChange: (e) => q({
530
+ ...K,
531
+ visibility: e.target.value
532
+ }),
533
+ children: [
534
+ /* @__PURE__ */ S("option", {
535
+ value: "PRIVATE",
536
+ children: "Private"
537
+ }),
538
+ /* @__PURE__ */ S("option", {
539
+ value: "WORKSPACE",
540
+ children: "Workspace"
541
+ }),
542
+ /* @__PURE__ */ S("option", {
543
+ value: "PUBLIC",
544
+ children: "Public"
545
+ })
546
+ ]
547
+ })
548
+ }),
549
+ /* @__PURE__ */ S(m, {
550
+ label: "Template Content",
551
+ description: "Use {{variable_name}} syntax for variables",
552
+ children: /* @__PURE__ */ S(g, {
553
+ className: "font-mono text-sm min-h-[200px]",
554
+ value: K.templateText,
555
+ onChange: (e) => q({
556
+ ...K,
557
+ templateText: e.target.value
558
+ })
559
+ })
560
+ }),
561
+ J.length > 0 && /* @__PURE__ */ C("div", {
562
+ className: "flex items-center gap-2",
563
+ children: [/* @__PURE__ */ S("span", {
564
+ className: "text-sm text-text-secondary",
565
+ children: "Detected variables:"
566
+ }), J.map((e) => /* @__PURE__ */ S(l, {
567
+ variant: "secondary",
568
+ className: "font-mono",
569
+ children: e
570
+ }, e))]
571
+ })
572
+ ]
573
+ })] }),
574
+ /* @__PURE__ */ C("div", {
575
+ className: "grid grid-cols-2 md:grid-cols-4 gap-4",
576
+ children: [
577
+ /* @__PURE__ */ S(r, {
578
+ treatment: "glass",
579
+ glow: !0,
580
+ children: /* @__PURE__ */ C(i, {
581
+ className: "pt-6 text-center",
582
+ children: [/* @__PURE__ */ S("p", {
583
+ className: "text-3xl font-bold text-text-primary",
584
+ children: Q.length
585
+ }), /* @__PURE__ */ S("p", {
586
+ className: "text-sm text-text-secondary",
587
+ children: "Variables"
588
+ })]
589
+ })
590
+ }),
591
+ /* @__PURE__ */ S(r, { children: /* @__PURE__ */ C(i, {
592
+ className: "pt-6 text-center",
593
+ children: [/* @__PURE__ */ S("p", {
594
+ className: "text-3xl font-bold text-text-primary",
595
+ children: $.length
596
+ }), /* @__PURE__ */ S("p", {
597
+ className: "text-sm text-text-secondary",
598
+ children: "Examples"
599
+ })]
600
+ }) }),
601
+ /* @__PURE__ */ S(r, { children: /* @__PURE__ */ C(i, {
602
+ className: "pt-6 text-center",
603
+ children: [/* @__PURE__ */ S("p", {
604
+ className: "text-3xl font-bold text-text-primary",
605
+ children: F.revision
606
+ }), /* @__PURE__ */ S("p", {
607
+ className: "text-sm text-text-secondary",
608
+ children: "Revision"
609
+ })]
610
+ }) }),
611
+ /* @__PURE__ */ S(r, { children: /* @__PURE__ */ C(i, {
612
+ className: "pt-6 text-center",
613
+ children: [/* @__PURE__ */ S("p", {
614
+ className: "text-lg font-bold text-text-primary capitalize",
615
+ children: F.visibility.toLowerCase()
616
+ }), /* @__PURE__ */ S("p", {
617
+ className: "text-sm text-text-secondary",
618
+ children: "Visibility"
619
+ })]
620
+ }) })
621
+ ]
622
+ }),
623
+ /* @__PURE__ */ C("div", {
624
+ className: "flex gap-2 border-b",
625
+ children: [
626
+ /* @__PURE__ */ C(c, {
627
+ variant: L === "edit" ? "default" : "ghost",
628
+ onClick: () => R("edit"),
629
+ children: [/* @__PURE__ */ S(w, { className: "h-4 w-4 mr-2" }), "Template"]
630
+ }),
631
+ /* @__PURE__ */ C(c, {
632
+ variant: L === "preview" ? "default" : "ghost",
633
+ onClick: () => R("preview"),
634
+ children: [/* @__PURE__ */ S(T, { className: "h-4 w-4 mr-2" }), "Preview"]
635
+ }),
636
+ /* @__PURE__ */ C(c, {
637
+ variant: L === "test" ? "default" : "ghost",
638
+ onClick: () => R("test"),
639
+ children: [/* @__PURE__ */ S(D, { className: "h-4 w-4 mr-2" }), "Test"]
640
+ })
641
+ ]
642
+ }),
643
+ L === "edit" && /* @__PURE__ */ C("div", {
644
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
645
+ children: [/* @__PURE__ */ S("div", {
646
+ className: "lg:col-span-2",
647
+ children: /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ S(s, { children: "Template Content" }) }), /* @__PURE__ */ S(i, { children: /* @__PURE__ */ S("div", {
648
+ className: "p-4 bg-bg-sunken rounded-lg font-mono text-sm whitespace-pre-wrap",
649
+ children: /* @__PURE__ */ S("div", { dangerouslySetInnerHTML: { __html: Z(F.templateText) } })
650
+ }) })] })
651
+ }), /* @__PURE__ */ S("div", { children: /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ C(s, {
652
+ className: "flex items-center gap-2",
653
+ children: [
654
+ /* @__PURE__ */ S(A, { size: 18 }),
655
+ "Variables (",
656
+ Q.length,
657
+ ")"
658
+ ]
659
+ }) }), /* @__PURE__ */ S(i, { children: Q.length > 0 ? /* @__PURE__ */ S("div", {
660
+ className: "space-y-3",
661
+ children: Q.map((e, t) => /* @__PURE__ */ C("div", {
662
+ className: "p-3 border rounded-lg",
663
+ children: [
664
+ /* @__PURE__ */ C("div", {
665
+ className: "flex items-center justify-between mb-1",
666
+ children: [/* @__PURE__ */ S("span", {
667
+ className: "font-mono font-medium",
668
+ children: e.name
669
+ }), /* @__PURE__ */ C("div", {
670
+ className: "flex gap-1",
671
+ children: [/* @__PURE__ */ S(l, {
672
+ variant: "outline",
673
+ className: "text-xs",
674
+ children: e.type
675
+ }), e.required && /* @__PURE__ */ S(l, {
676
+ variant: "destructive",
677
+ className: "text-xs",
678
+ children: "required"
679
+ })]
680
+ })]
681
+ }),
682
+ e.description && /* @__PURE__ */ S("p", {
683
+ className: "text-sm text-text-secondary",
684
+ children: e.description
685
+ }),
686
+ e.defaultValue !== void 0 && /* @__PURE__ */ C("p", {
687
+ className: "text-xs text-text-secondary mt-1",
688
+ children: [
689
+ "Default:",
690
+ " ",
691
+ /* @__PURE__ */ S("code", {
692
+ className: "bg-bg-sunken px-1",
693
+ children: String(e.defaultValue)
694
+ })
695
+ ]
696
+ })
697
+ ]
698
+ }, t))
699
+ }) : /* @__PURE__ */ S("p", {
700
+ className: "text-text-secondary text-center py-4",
701
+ children: "No variables defined"
702
+ }) })] }) })]
703
+ }),
704
+ L === "preview" && /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(s, { children: "Rendered Preview" }), /* @__PURE__ */ S(a, { children: "Preview with example inputs (first example set)" })] }), /* @__PURE__ */ S(i, { children: /* @__PURE__ */ S("div", {
705
+ className: "p-4 bg-bg-sunken rounded-lg font-mono text-sm whitespace-pre-wrap",
706
+ children: $[0] ? F.templateText.replace(/\{\{(\w+)\}\}/g, (e, t) => {
707
+ let n = $[0][t];
708
+ return n === void 0 ? `{{${t}}}` : String(n);
709
+ }) : /* @__PURE__ */ S("span", {
710
+ className: "text-text-secondary",
711
+ children: "No example inputs defined. Add examples to preview rendered output."
712
+ })
713
+ }) })] }),
714
+ L === "test" && /* @__PURE__ */ C("div", {
715
+ className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
716
+ children: [/* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(s, { children: "Test Inputs" }), /* @__PURE__ */ S(a, { children: "Enter values to test the template" })] }), /* @__PURE__ */ C(i, {
717
+ className: "space-y-4",
718
+ children: [Q.map((e) => /* @__PURE__ */ C(m, {
719
+ label: e.name,
720
+ required: e.required,
721
+ children: [/* @__PURE__ */ S(h, {
722
+ placeholder: e.defaultValue ? String(e.defaultValue) : `Enter ${e.name}`,
723
+ value: V[e.name] || "",
724
+ onChange: (t) => Ee({
725
+ ...V,
726
+ [e.name]: t.target.value
727
+ })
728
+ }), e.description && /* @__PURE__ */ S("p", {
729
+ className: "text-xs text-text-secondary mt-1",
730
+ children: e.description
731
+ })]
732
+ }, e.name)), /* @__PURE__ */ S(c, {
733
+ className: "w-full",
734
+ leftIcon: /* @__PURE__ */ S(D, { size: 16 }),
735
+ onClick: Me,
736
+ isLoading: Te,
737
+ children: "Render Template"
738
+ })]
739
+ })] }), /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ S(s, { children: "Output" }) }), /* @__PURE__ */ S(i, { children: H ? /* @__PURE__ */ S("div", {
740
+ className: "p-4 bg-bg-sunken rounded-lg font-mono text-sm whitespace-pre-wrap",
741
+ children: H
742
+ }) : /* @__PURE__ */ C("div", {
743
+ className: "p-8 text-center text-text-secondary",
744
+ children: [/* @__PURE__ */ S(D, { className: "h-8 w-8 mx-auto mb-2 opacity-50" }), /* @__PURE__ */ S("p", { children: "Enter inputs and click \"Render Template\" to see output" })]
745
+ }) })] })]
746
+ }),
747
+ $.length > 0 && L === "edit" && /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(s, { children: "Example Inputs" }), /* @__PURE__ */ S(a, { children: "Pre-defined inputs for testing and documentation" })] }), /* @__PURE__ */ S(i, { children: /* @__PURE__ */ S("div", {
748
+ className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
749
+ children: $.map((e, t) => /* @__PURE__ */ C("div", {
750
+ className: "p-4 border rounded-lg bg-bg-sunken/30",
751
+ children: [/* @__PURE__ */ C("p", {
752
+ className: "text-sm font-medium mb-2",
753
+ children: ["Example ", t + 1]
754
+ }), /* @__PURE__ */ S("div", {
755
+ className: "space-y-1 text-sm",
756
+ children: Object.entries(e).map(([e, t]) => /* @__PURE__ */ C("div", {
757
+ className: "flex justify-between",
758
+ children: [/* @__PURE__ */ C("span", {
759
+ className: "font-mono text-text-secondary",
760
+ children: [e, ":"]
761
+ }), /* @__PURE__ */ S("span", {
762
+ className: "font-mono truncate max-w-[60%]",
763
+ children: String(t)
764
+ })]
765
+ }, e))
766
+ })]
767
+ }, t))
768
+ }) })] }),
769
+ /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(o, { children: /* @__PURE__ */ C(s, {
770
+ className: "flex items-center gap-2",
771
+ children: [/* @__PURE__ */ S(he, { size: 18 }), "Metadata"]
772
+ }) }), /* @__PURE__ */ S(i, { children: /* @__PURE__ */ C("div", {
773
+ className: "grid grid-cols-2 md:grid-cols-4 gap-6 text-sm",
774
+ children: [
775
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
776
+ className: "text-text-secondary",
777
+ children: "Created"
778
+ }), /* @__PURE__ */ S("p", {
779
+ className: "font-medium",
780
+ children: t(F.createdAt)
781
+ })] }),
782
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
783
+ className: "text-text-secondary",
784
+ children: "Updated"
785
+ }), /* @__PURE__ */ S("p", {
786
+ className: "font-medium",
787
+ children: t(F.updatedAt)
788
+ })] }),
789
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
790
+ className: "text-text-secondary",
791
+ children: "Tags"
792
+ }), /* @__PURE__ */ S("div", {
793
+ className: "flex gap-1",
794
+ children: F.tags.length > 0 ? F.tags.map((e) => /* @__PURE__ */ S(l, {
795
+ variant: "secondary",
796
+ className: "text-xs",
797
+ children: e
798
+ }, e)) : /* @__PURE__ */ S("span", {
799
+ className: "text-text-secondary",
800
+ children: "None"
801
+ })
802
+ })] })
803
+ ]
804
+ }) })] })
805
+ ]
806
+ })
807
+ });
808
+ };
809
+ //#endregion
810
+ export { N as PromptTemplateDetailPage };
811
+
812
+ //# sourceMappingURL=PromptTemplateDetailPage.js.map