@burdenoff/microfe-botmanor 2026.1110.1 → 2026.1110.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/dist/botlit/BotlitRoutes.js +130 -126
- package/dist/botlit/BotlitRoutes.js.map +1 -1
- package/dist/botlit/components/HandoffConfigPanel.d.ts +4 -0
- package/dist/botlit/components/HandoffConfigPanel.js +286 -0
- package/dist/botlit/components/HandoffConfigPanel.js.map +1 -0
- package/dist/botlit/hooks/index.d.ts +2 -0
- package/dist/botlit/hooks/index.js +2 -1
- package/dist/botlit/hooks/useHandoffs.d.ts +78 -0
- package/dist/botlit/hooks/useHandoffs.js +77 -0
- package/dist/botlit/hooks/useHandoffs.js.map +1 -0
- package/dist/botlit/pages/AgentDetailPage.js +281 -271
- package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
- package/dist/botlit/pages/DashboardPage.js +58 -50
- package/dist/botlit/pages/DashboardPage.js.map +1 -1
- package/dist/botlit/pages/HandoffsPage.d.ts +2 -0
- package/dist/botlit/pages/HandoffsPage.js +212 -0
- package/dist/botlit/pages/HandoffsPage.js.map +1 -0
- package/dist/generated/wspace-operations.d.ts +484 -8
- package/dist/generated/wspace-operations.js +223 -49
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +47941 -9371
- package/dist/generated/wspace-types.js +7 -3
- package/dist/generated/wspace-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,263 +5,267 @@ import { BOTMANOR_PERMISSIONS as n } from "./permissions/botmanorPermissions.js"
|
|
|
5
5
|
import { RequirePermission as r } from "./permissions/PermissionRequired.js";
|
|
6
6
|
import { useTr as i } from "../shared/hooks/useTr.js";
|
|
7
7
|
import { DashboardPage as a } from "./pages/DashboardPage.js";
|
|
8
|
-
import { Suspense as
|
|
9
|
-
import { jsx as
|
|
10
|
-
import { Navigate as
|
|
8
|
+
import { Suspense as ee, lazy as o } from "react";
|
|
9
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
10
|
+
import { Navigate as l, Route as u, Routes as d, useLocation as f } from "react-router";
|
|
11
11
|
// src/botlit/BotlitRoutes.tsx
|
|
12
|
-
var
|
|
13
|
-
let { basePath:
|
|
12
|
+
var p = o(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.BotsListPage }))), m = o(() => import("./pages/BotDetailPage.js").then((e) => ({ default: e.BotDetailPage }))), h = o(() => import("./pages/AgentsListPage.js").then((e) => ({ default: e.AgentsListPage }))), g = o(() => import("./pages/AgentApprovalsPage.js").then((e) => ({ default: e.AgentApprovalsPage }))), _ = o(() => import("./pages/AgentDetailPage.js").then((e) => ({ default: e.AgentDetailPage }))), v = o(() => import("./pages/AgentBuilderPage.js").then((e) => ({ default: e.AgentBuilderPage }))), y = o(() => import("./pages/KnowledgeBasesPage.js").then((e) => ({ default: e.KnowledgeBasesPage }))), b = o(() => import("./pages/KnowledgeBaseDetailPage.js").then((e) => ({ default: e.KnowledgeBaseDetailPage }))), x = o(() => import("./pages/RetrievalProfilesPage.js").then((e) => ({ default: e.RetrievalProfilesPage }))), S = o(() => import("./pages/RetrievalProfileDetailPage.js").then((e) => ({ default: e.RetrievalProfileDetailPage }))), C = o(() => import("./pages/MCPServersPage.js").then((e) => ({ default: e.MCPServersPage }))), w = o(() => import("./pages/MCPServerDetailPage.js").then((e) => ({ default: e.MCPServerDetailPage }))), T = o(() => import("./pages/A2ARegistryPage.js").then((e) => ({ default: e.A2ARegistryPage }))), E = o(() => import("./pages/A2AAgentDetailPage.js").then((e) => ({ default: e.A2AAgentDetailPage }))), D = o(() => import("./pages/ChannelsPage.js").then((e) => ({ default: e.ChannelsPage }))), O = o(() => import("./pages/ChannelDetailPage.js").then((e) => ({ default: e.ChannelDetailPage }))), k = o(() => import("./pages/ChannelRoutesPage.js").then((e) => ({ default: e.ChannelRoutesPage }))), A = o(() => import("./pages/PoliciesPage.js").then((e) => ({ default: e.PoliciesPage }))), j = o(() => import("./pages/PolicyDetailPage.js").then((e) => ({ default: e.PolicyDetailPage }))), M = o(() => import("./pages/SkillsPage.js").then((e) => ({ default: e.SkillsPage }))), N = o(() => import("./pages/SkillDetailPage.js").then((e) => ({ default: e.SkillDetailPage }))), P = o(() => import("./pages/PromptTemplatesPage.js").then((e) => ({ default: e.PromptTemplatesPage }))), F = o(() => import("./pages/PromptTemplateDetailPage.js").then((e) => ({ default: e.PromptTemplateDetailPage }))), I = o(() => import("./pages/PromptStudioPage.js").then((e) => ({ default: e.PromptStudioPage }))), L = o(() => import("./pages/ExecutionsPage.js").then((e) => ({ default: e.ExecutionsPage }))), R = o(() => import("./pages/ExecutionDetailPage.js").then((e) => ({ default: e.ExecutionDetailPage }))), z = o(() => import("./pages/AiOperationsPage.js").then((e) => ({ default: e.AiOperationsPage }))), B = o(() => import("./pages/HandoffsPage.js").then((e) => ({ default: e.HandoffsPage }))), V = o(() => import("./pages/BucketsPage.js").then((e) => ({ default: e.BucketsPage }))), H = o(() => import("./pages/BucketDetailPage.js").then((e) => ({ default: e.BucketDetailPage }))), U = o(() => import("./pages/StorePage.js").then((e) => ({ default: e.StorePage }))), W = o(() => import("./pages/StorePackageDetailPage.js").then((e) => ({ default: e.StorePackageDetailPage }))), G = o(() => import("./pages/InstalledPackagesPage.js").then((e) => ({ default: e.InstalledPackagesPage }))), K = o(() => import("./pages/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), q = o(() => import("./pages/ChatPage.js").then((e) => ({ default: e.ChatPage }))), J = () => {
|
|
13
|
+
let { basePath: o, isStandalone: J } = e(), Y = f(), X = i(), Z = (e, t, n, i, a) => /* @__PURE__ */ s(r, {
|
|
14
14
|
permission: e,
|
|
15
15
|
title: t,
|
|
16
16
|
backTo: n,
|
|
17
17
|
backLabel: i,
|
|
18
18
|
children: a
|
|
19
|
-
}), Q = X("permissions.required.back", "Go back"), $ =
|
|
20
|
-
return $ && !J && !(Y.pathname === $ || Y.pathname.startsWith($ + "/")) ? null : /* @__PURE__ */
|
|
19
|
+
}), Q = X("permissions.required.back", "Go back"), $ = o === "/" ? "" : o.replace(/\/$/, "");
|
|
20
|
+
return $ && !J && !(Y.pathname === $ || Y.pathname.startsWith($ + "/")) ? null : /* @__PURE__ */ s("div", {
|
|
21
21
|
className: "flex flex-col min-h-full bg-bg-surface",
|
|
22
|
-
children: /* @__PURE__ */
|
|
23
|
-
fallback: /* @__PURE__ */
|
|
24
|
-
children: /* @__PURE__ */
|
|
25
|
-
/* @__PURE__ */
|
|
22
|
+
children: /* @__PURE__ */ s(ee, {
|
|
23
|
+
fallback: /* @__PURE__ */ s(t, {}),
|
|
24
|
+
children: /* @__PURE__ */ c(d, { children: [
|
|
25
|
+
/* @__PURE__ */ s(u, {
|
|
26
26
|
index: !0,
|
|
27
|
-
element: /* @__PURE__ */
|
|
27
|
+
element: /* @__PURE__ */ s(a, {})
|
|
28
28
|
}),
|
|
29
|
-
/* @__PURE__ */
|
|
29
|
+
/* @__PURE__ */ s(u, {
|
|
30
30
|
path: "home",
|
|
31
|
-
element: /* @__PURE__ */
|
|
31
|
+
element: /* @__PURE__ */ s(l, {
|
|
32
32
|
to: $ || "/",
|
|
33
33
|
replace: !0
|
|
34
34
|
})
|
|
35
35
|
}),
|
|
36
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */ s(u, {
|
|
37
37
|
path: "bots",
|
|
38
|
-
element: /* @__PURE__ */
|
|
38
|
+
element: /* @__PURE__ */ s(p, {})
|
|
39
39
|
}),
|
|
40
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ s(u, {
|
|
41
41
|
path: "bots/new",
|
|
42
|
-
element: Z(n.APP_CREATE, X("botlit.botsList.actions.createBot", "Create Bot"), "bots", Q, /* @__PURE__ */
|
|
42
|
+
element: Z(n.APP_CREATE, X("botlit.botsList.actions.createBot", "Create Bot"), "bots", Q, /* @__PURE__ */ s(m, { isNew: !0 }))
|
|
43
43
|
}),
|
|
44
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ s(u, {
|
|
45
45
|
path: "bots/:botId",
|
|
46
|
-
element: /* @__PURE__ */
|
|
46
|
+
element: /* @__PURE__ */ s(m, {})
|
|
47
47
|
}),
|
|
48
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ s(u, {
|
|
49
49
|
path: "bots/:botId/edit",
|
|
50
|
-
element: Z(n.APP_UPDATE, X("botlit.botsList.menu.editBot", "Edit Bot"), "bots", Q, /* @__PURE__ */
|
|
50
|
+
element: Z(n.APP_UPDATE, X("botlit.botsList.menu.editBot", "Edit Bot"), "bots", Q, /* @__PURE__ */ s(m, { isEditing: !0 }))
|
|
51
51
|
}),
|
|
52
|
-
/* @__PURE__ */
|
|
52
|
+
/* @__PURE__ */ s(u, {
|
|
53
53
|
path: "bots/:botId/agents",
|
|
54
|
-
element: /* @__PURE__ */
|
|
54
|
+
element: /* @__PURE__ */ s(h, {})
|
|
55
55
|
}),
|
|
56
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ s(u, {
|
|
57
57
|
path: "bots/:botId/agents/new",
|
|
58
|
-
element: Z(n.AGENT_CREATE, X("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Q, /* @__PURE__ */
|
|
58
|
+
element: Z(n.AGENT_CREATE, X("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Q, /* @__PURE__ */ s(v, {}))
|
|
59
59
|
}),
|
|
60
|
-
/* @__PURE__ */
|
|
60
|
+
/* @__PURE__ */ s(u, {
|
|
61
61
|
path: "bots/:botId/agents/:agentId",
|
|
62
|
-
element: /* @__PURE__ */
|
|
62
|
+
element: /* @__PURE__ */ s(_, {})
|
|
63
63
|
}),
|
|
64
|
-
/* @__PURE__ */
|
|
64
|
+
/* @__PURE__ */ s(u, {
|
|
65
65
|
path: "bots/:botId/agents/:agentId/edit",
|
|
66
|
-
element: Z(n.AGENT_UPDATE, X("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Q, /* @__PURE__ */
|
|
66
|
+
element: Z(n.AGENT_UPDATE, X("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Q, /* @__PURE__ */ s(v, {}))
|
|
67
67
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ s(u, {
|
|
69
69
|
path: "bots/:botId/knowledge",
|
|
70
|
-
element: /* @__PURE__ */
|
|
70
|
+
element: /* @__PURE__ */ s(y, {})
|
|
71
71
|
}),
|
|
72
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ s(u, {
|
|
73
73
|
path: "bots/:botId/knowledge/:kbId",
|
|
74
|
-
element: /* @__PURE__ */
|
|
74
|
+
element: /* @__PURE__ */ s(b, {})
|
|
75
75
|
}),
|
|
76
|
-
/* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */ s(u, {
|
|
77
77
|
path: "agents",
|
|
78
|
-
element: /* @__PURE__ */
|
|
78
|
+
element: /* @__PURE__ */ s(h, {})
|
|
79
79
|
}),
|
|
80
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ s(u, {
|
|
81
81
|
path: "agents/new",
|
|
82
|
-
element: Z(n.AGENT_CREATE, X("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Q, /* @__PURE__ */
|
|
82
|
+
element: Z(n.AGENT_CREATE, X("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Q, /* @__PURE__ */ s(v, {}))
|
|
83
83
|
}),
|
|
84
|
-
/* @__PURE__ */
|
|
84
|
+
/* @__PURE__ */ s(u, {
|
|
85
85
|
path: "agents/approvals",
|
|
86
|
-
element: /* @__PURE__ */
|
|
86
|
+
element: /* @__PURE__ */ s(g, {})
|
|
87
87
|
}),
|
|
88
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ s(u, {
|
|
89
89
|
path: "agents/:agentId",
|
|
90
|
-
element: /* @__PURE__ */
|
|
90
|
+
element: /* @__PURE__ */ s(_, {})
|
|
91
91
|
}),
|
|
92
|
-
/* @__PURE__ */
|
|
92
|
+
/* @__PURE__ */ s(u, {
|
|
93
93
|
path: "agents/:agentId/edit",
|
|
94
|
-
element: Z(n.AGENT_UPDATE, X("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Q, /* @__PURE__ */
|
|
94
|
+
element: Z(n.AGENT_UPDATE, X("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Q, /* @__PURE__ */ s(v, {}))
|
|
95
95
|
}),
|
|
96
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ s(u, {
|
|
97
97
|
path: "agents/:agentId/chat",
|
|
98
|
-
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */
|
|
98
|
+
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */ s(q, {}))
|
|
99
99
|
}),
|
|
100
|
-
/* @__PURE__ */
|
|
100
|
+
/* @__PURE__ */ s(u, {
|
|
101
101
|
path: "knowledge",
|
|
102
|
-
element: /* @__PURE__ */
|
|
102
|
+
element: /* @__PURE__ */ s(y, {})
|
|
103
103
|
}),
|
|
104
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ s(u, {
|
|
105
105
|
path: "knowledge/new",
|
|
106
|
-
element: Z(n.KNOWLEDGE_CREATE, X("botlit.knowledge.actions.create", "Create Knowledge Base"), "knowledge", Q, /* @__PURE__ */
|
|
106
|
+
element: Z(n.KNOWLEDGE_CREATE, X("botlit.knowledge.actions.create", "Create Knowledge Base"), "knowledge", Q, /* @__PURE__ */ s(b, { isNew: !0 }))
|
|
107
107
|
}),
|
|
108
|
-
/* @__PURE__ */
|
|
108
|
+
/* @__PURE__ */ s(u, {
|
|
109
109
|
path: "knowledge/:kbId",
|
|
110
|
-
element: /* @__PURE__ */
|
|
110
|
+
element: /* @__PURE__ */ s(b, {})
|
|
111
111
|
}),
|
|
112
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ s(u, {
|
|
113
113
|
path: "retrieval-profiles",
|
|
114
|
-
element: /* @__PURE__ */
|
|
114
|
+
element: /* @__PURE__ */ s(x, {})
|
|
115
115
|
}),
|
|
116
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ s(u, {
|
|
117
117
|
path: "retrieval-profiles/new",
|
|
118
|
-
element: Z(n.RETRIEVAL_PROFILE_CREATE, X("botlit.retrievalProfiles.actions.create", "Create Retrieval Profile"), "retrieval-profiles", Q, /* @__PURE__ */
|
|
118
|
+
element: Z(n.RETRIEVAL_PROFILE_CREATE, X("botlit.retrievalProfiles.actions.create", "Create Retrieval Profile"), "retrieval-profiles", Q, /* @__PURE__ */ s(S, { isNew: !0 }))
|
|
119
119
|
}),
|
|
120
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ s(u, {
|
|
121
121
|
path: "retrieval-profiles/:profileId",
|
|
122
|
-
element: /* @__PURE__ */
|
|
122
|
+
element: /* @__PURE__ */ s(S, {})
|
|
123
123
|
}),
|
|
124
|
-
/* @__PURE__ */
|
|
124
|
+
/* @__PURE__ */ s(u, {
|
|
125
125
|
path: "mcp",
|
|
126
|
-
element: /* @__PURE__ */
|
|
126
|
+
element: /* @__PURE__ */ s(C, {})
|
|
127
127
|
}),
|
|
128
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ s(u, {
|
|
129
129
|
path: "mcp/new",
|
|
130
|
-
element: Z(n.MCP_CREATE, X("botlit.mcpServers.actions.add", "Add MCP Server"), "mcp", Q, /* @__PURE__ */
|
|
130
|
+
element: Z(n.MCP_CREATE, X("botlit.mcpServers.actions.add", "Add MCP Server"), "mcp", Q, /* @__PURE__ */ s(w, { isNew: !0 }))
|
|
131
131
|
}),
|
|
132
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ s(u, {
|
|
133
133
|
path: "mcp/:serverId",
|
|
134
|
-
element: /* @__PURE__ */
|
|
134
|
+
element: /* @__PURE__ */ s(w, {})
|
|
135
135
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ s(u, {
|
|
137
137
|
path: "a2a",
|
|
138
|
-
element: /* @__PURE__ */
|
|
138
|
+
element: /* @__PURE__ */ s(T, {})
|
|
139
139
|
}),
|
|
140
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ s(u, {
|
|
141
141
|
path: "a2a/register",
|
|
142
|
-
element: Z(n.A2A_REGISTRY_CREATE, X("botlit.a2aRegistry.actions.registerAgent", "Register Agent"), "a2a", Q, /* @__PURE__ */
|
|
142
|
+
element: Z(n.A2A_REGISTRY_CREATE, X("botlit.a2aRegistry.actions.registerAgent", "Register Agent"), "a2a", Q, /* @__PURE__ */ s(E, { isNew: !0 }))
|
|
143
143
|
}),
|
|
144
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ s(u, {
|
|
145
145
|
path: "a2a/:agentId",
|
|
146
|
-
element: /* @__PURE__ */
|
|
146
|
+
element: /* @__PURE__ */ s(E, {})
|
|
147
147
|
}),
|
|
148
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ s(u, {
|
|
149
149
|
path: "channels",
|
|
150
|
-
element: /* @__PURE__ */
|
|
150
|
+
element: /* @__PURE__ */ s(D, {})
|
|
151
151
|
}),
|
|
152
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ s(u, {
|
|
153
153
|
path: "channels/new",
|
|
154
|
-
element: Z(n.CHANNEL_CREATE, X("botlit.channels.actions.addChannel", "Add Channel"), "channels", Q, /* @__PURE__ */
|
|
154
|
+
element: Z(n.CHANNEL_CREATE, X("botlit.channels.actions.addChannel", "Add Channel"), "channels", Q, /* @__PURE__ */ s(O, { isNew: !0 }))
|
|
155
155
|
}),
|
|
156
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ s(u, {
|
|
157
157
|
path: "channels/routes",
|
|
158
|
-
element: /* @__PURE__ */
|
|
158
|
+
element: /* @__PURE__ */ s(k, {})
|
|
159
159
|
}),
|
|
160
|
-
/* @__PURE__ */
|
|
160
|
+
/* @__PURE__ */ s(u, {
|
|
161
161
|
path: "channels/:connectorId",
|
|
162
|
-
element: /* @__PURE__ */
|
|
162
|
+
element: /* @__PURE__ */ s(O, {})
|
|
163
163
|
}),
|
|
164
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ s(u, {
|
|
165
165
|
path: "policies",
|
|
166
|
-
element: /* @__PURE__ */
|
|
166
|
+
element: /* @__PURE__ */ s(A, {})
|
|
167
167
|
}),
|
|
168
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ s(u, {
|
|
169
169
|
path: "policies/new",
|
|
170
|
-
element: Z(n.POLICY_CREATE, X("botlit.policies.actions.createPolicy", "Create Policy"), "policies", Q, /* @__PURE__ */
|
|
170
|
+
element: Z(n.POLICY_CREATE, X("botlit.policies.actions.createPolicy", "Create Policy"), "policies", Q, /* @__PURE__ */ s(j, { isNew: !0 }))
|
|
171
171
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ s(u, {
|
|
173
173
|
path: "policies/:policyId",
|
|
174
|
-
element: /* @__PURE__ */
|
|
174
|
+
element: /* @__PURE__ */ s(j, {})
|
|
175
175
|
}),
|
|
176
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ s(u, {
|
|
177
177
|
path: "skills",
|
|
178
|
-
element: /* @__PURE__ */
|
|
178
|
+
element: /* @__PURE__ */ s(M, {})
|
|
179
179
|
}),
|
|
180
|
-
/* @__PURE__ */
|
|
180
|
+
/* @__PURE__ */ s(u, {
|
|
181
181
|
path: "skills/new",
|
|
182
|
-
element: Z(n.SKILL_CREATE, X("botlit.skills.actions.create", "Create Skill"), "skills", Q, /* @__PURE__ */
|
|
182
|
+
element: Z(n.SKILL_CREATE, X("botlit.skills.actions.create", "Create Skill"), "skills", Q, /* @__PURE__ */ s(N, { isNew: !0 }))
|
|
183
183
|
}),
|
|
184
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ s(u, {
|
|
185
185
|
path: "skills/:skillId",
|
|
186
|
-
element: /* @__PURE__ */
|
|
186
|
+
element: /* @__PURE__ */ s(N, {})
|
|
187
187
|
}),
|
|
188
|
-
/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ s(u, {
|
|
189
189
|
path: "prompt-templates",
|
|
190
|
-
element: /* @__PURE__ */
|
|
190
|
+
element: /* @__PURE__ */ s(P, {})
|
|
191
191
|
}),
|
|
192
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ s(u, {
|
|
193
193
|
path: "prompt-templates/new",
|
|
194
|
-
element: Z(n.PROMPT_TEMPLATE_CREATE, X("botlit.promptTemplates.actions.create", "Create Template"), "prompt-templates", Q, /* @__PURE__ */
|
|
194
|
+
element: Z(n.PROMPT_TEMPLATE_CREATE, X("botlit.promptTemplates.actions.create", "Create Template"), "prompt-templates", Q, /* @__PURE__ */ s(F, { isNew: !0 }))
|
|
195
195
|
}),
|
|
196
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ s(u, {
|
|
197
197
|
path: "prompt-templates/:templateId",
|
|
198
|
-
element: /* @__PURE__ */
|
|
198
|
+
element: /* @__PURE__ */ s(F, {})
|
|
199
199
|
}),
|
|
200
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ s(u, {
|
|
201
201
|
path: "prompts",
|
|
202
|
-
element: /* @__PURE__ */
|
|
202
|
+
element: /* @__PURE__ */ s(I, {})
|
|
203
203
|
}),
|
|
204
|
-
/* @__PURE__ */
|
|
204
|
+
/* @__PURE__ */ s(u, {
|
|
205
205
|
path: "executions",
|
|
206
|
-
element: /* @__PURE__ */
|
|
206
|
+
element: /* @__PURE__ */ s(L, {})
|
|
207
207
|
}),
|
|
208
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ s(u, {
|
|
209
209
|
path: "ai",
|
|
210
|
-
element: /* @__PURE__ */
|
|
210
|
+
element: /* @__PURE__ */ s(z, {})
|
|
211
211
|
}),
|
|
212
|
-
/* @__PURE__ */
|
|
212
|
+
/* @__PURE__ */ s(u, {
|
|
213
|
+
path: "handoffs",
|
|
214
|
+
element: /* @__PURE__ */ s(B, {})
|
|
215
|
+
}),
|
|
216
|
+
/* @__PURE__ */ s(u, {
|
|
213
217
|
path: "executions/:executionId",
|
|
214
|
-
element: /* @__PURE__ */
|
|
218
|
+
element: /* @__PURE__ */ s(R, {})
|
|
215
219
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
220
|
+
/* @__PURE__ */ s(u, {
|
|
217
221
|
path: "buckets",
|
|
218
|
-
element: /* @__PURE__ */
|
|
222
|
+
element: /* @__PURE__ */ s(V, {})
|
|
219
223
|
}),
|
|
220
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ s(u, {
|
|
221
225
|
path: "buckets/new",
|
|
222
|
-
element: /* @__PURE__ */
|
|
226
|
+
element: /* @__PURE__ */ s(l, {
|
|
223
227
|
to: `${$}/buckets`,
|
|
224
228
|
replace: !0
|
|
225
229
|
})
|
|
226
230
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ s(u, {
|
|
228
232
|
path: "buckets/:bucketId",
|
|
229
|
-
element: /* @__PURE__ */
|
|
233
|
+
element: /* @__PURE__ */ s(H, {})
|
|
230
234
|
}),
|
|
231
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ s(u, {
|
|
232
236
|
path: "store",
|
|
233
|
-
element: /* @__PURE__ */
|
|
237
|
+
element: /* @__PURE__ */ s(U, {})
|
|
234
238
|
}),
|
|
235
|
-
/* @__PURE__ */
|
|
239
|
+
/* @__PURE__ */ s(u, {
|
|
236
240
|
path: "store/installed",
|
|
237
|
-
element: /* @__PURE__ */
|
|
241
|
+
element: /* @__PURE__ */ s(G, {})
|
|
238
242
|
}),
|
|
239
|
-
/* @__PURE__ */
|
|
243
|
+
/* @__PURE__ */ s(u, {
|
|
240
244
|
path: "store/package/:slug",
|
|
241
|
-
element: /* @__PURE__ */
|
|
245
|
+
element: /* @__PURE__ */ s(W, {})
|
|
242
246
|
}),
|
|
243
|
-
/* @__PURE__ */
|
|
247
|
+
/* @__PURE__ */ s(u, {
|
|
244
248
|
path: "chat",
|
|
245
|
-
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */
|
|
249
|
+
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */ s(q, {}))
|
|
246
250
|
}),
|
|
247
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ s(u, {
|
|
248
252
|
path: "chat/:agentId",
|
|
249
|
-
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */
|
|
253
|
+
element: Z(n.AGENT_EXECUTE, X("botlit.chat.title", "AI Chat"), "agents", Q, /* @__PURE__ */ s(q, {}))
|
|
250
254
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ s(u, {
|
|
252
256
|
path: "settings",
|
|
253
|
-
element: /* @__PURE__ */
|
|
257
|
+
element: /* @__PURE__ */ s(K, {})
|
|
254
258
|
}),
|
|
255
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ s(u, {
|
|
256
260
|
path: "list",
|
|
257
|
-
element: /* @__PURE__ */
|
|
261
|
+
element: /* @__PURE__ */ s(l, {
|
|
258
262
|
to: `${$}/workflows/list`,
|
|
259
263
|
replace: !0
|
|
260
264
|
})
|
|
261
265
|
}),
|
|
262
|
-
/* @__PURE__ */
|
|
266
|
+
/* @__PURE__ */ s(u, {
|
|
263
267
|
path: "*",
|
|
264
|
-
element: /* @__PURE__ */
|
|
268
|
+
element: /* @__PURE__ */ s(l, {
|
|
265
269
|
to: $ || "/",
|
|
266
270
|
replace: !0
|
|
267
271
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotlitRoutes.js","names":["BotsListPage","lazy","m","BotDetailPage","AgentsListPage","AgentApprovalsPage","AgentDetailPage","AgentBuilderPage","KnowledgeBasesPage","KnowledgeBaseDetailPage","RetrievalProfilesPage","RetrievalProfileDetailPage","MCPServersPage","MCPServerDetailPage","A2ARegistryPage","A2AAgentDetailPage","ChannelsPage","ChannelDetailPage","ChannelRoutesPage","PoliciesPage","PolicyDetailPage","SkillsPage","SkillDetailPage","PromptTemplatesPage","PromptTemplateDetailPage","PromptStudioPage","ExecutionsPage","ExecutionDetailPage","AiOperationsPage","BucketsPage","BucketDetailPage","StorePage","StorePackageDetailPage","InstalledPackagesPage","SettingsPage","ChatPage","BotlitRoutes","useBotlit","location","useLocation","t","useTr","gated","RequirePermission","element","back","normalizedBasePath","basePath","isStandalone","Suspense","RouteLoader","Routes","Route","DashboardPage","Navigate","BOTMANOR_PERMISSIONS"],"sources":["../../src/botlit/BotlitRoutes.tsx"],"sourcesContent":["/**\n * BotManor Routes\n * @module botlit\n */\n\nimport { type FC, type ReactElement, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { useBotlit } from './providers/BotlitProvider';\nimport { RouteLoader } from './components/RouteLoader';\nimport { BOTMANOR_PERMISSIONS, RequirePermission, type BotmanorPermission } from './permissions';\nimport { useTr } from '../shared/hooks/useTr';\n\n// Eager load - Dashboard (primary landing page)\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Lazy loaded pages - Bots\nconst BotsListPage = lazy(() =>\n import('./pages/BotsListPage').then((m) => ({ default: m.BotsListPage }))\n);\nconst BotDetailPage = lazy(() =>\n import('./pages/BotDetailPage').then((m) => ({ default: m.BotDetailPage }))\n);\n\n// Lazy loaded pages - Agents\nconst AgentsListPage = lazy(() =>\n import('./pages/AgentsListPage').then((m) => ({ default: m.AgentsListPage }))\n);\nconst AgentApprovalsPage = lazy(() =>\n import('./pages/AgentApprovalsPage').then((m) => ({ default: m.AgentApprovalsPage }))\n);\nconst AgentDetailPage = lazy(() =>\n import('./pages/AgentDetailPage').then((m) => ({ default: m.AgentDetailPage }))\n);\nconst AgentBuilderPage = lazy(() =>\n import('./pages/AgentBuilderPage').then((m) => ({ default: m.AgentBuilderPage }))\n);\n\n// Lazy loaded pages - Knowledge Bases\nconst KnowledgeBasesPage = lazy(() =>\n import('./pages/KnowledgeBasesPage').then((m) => ({ default: m.KnowledgeBasesPage }))\n);\nconst KnowledgeBaseDetailPage = lazy(() =>\n import('./pages/KnowledgeBaseDetailPage').then((m) => ({ default: m.KnowledgeBaseDetailPage }))\n);\n\n// Lazy loaded pages - Retrieval Profiles\nconst RetrievalProfilesPage = lazy(() =>\n import('./pages/RetrievalProfilesPage').then((m) => ({ default: m.RetrievalProfilesPage }))\n);\nconst RetrievalProfileDetailPage = lazy(() =>\n import('./pages/RetrievalProfileDetailPage').then((m) => ({\n default: m.RetrievalProfileDetailPage,\n }))\n);\n\n// Lazy loaded pages - MCP Servers\nconst MCPServersPage = lazy(() =>\n import('./pages/MCPServersPage').then((m) => ({ default: m.MCPServersPage }))\n);\nconst MCPServerDetailPage = lazy(() =>\n import('./pages/MCPServerDetailPage').then((m) => ({ default: m.MCPServerDetailPage }))\n);\n\n// Lazy loaded pages - A2A Registry\nconst A2ARegistryPage = lazy(() =>\n import('./pages/A2ARegistryPage').then((m) => ({ default: m.A2ARegistryPage }))\n);\nconst A2AAgentDetailPage = lazy(() =>\n import('./pages/A2AAgentDetailPage').then((m) => ({ default: m.A2AAgentDetailPage }))\n);\n\n// Lazy loaded pages - Channels\nconst ChannelsPage = lazy(() =>\n import('./pages/ChannelsPage').then((m) => ({ default: m.ChannelsPage }))\n);\nconst ChannelDetailPage = lazy(() =>\n import('./pages/ChannelDetailPage').then((m) => ({ default: m.ChannelDetailPage }))\n);\nconst ChannelRoutesPage = lazy(() =>\n import('./pages/ChannelRoutesPage').then((m) => ({ default: m.ChannelRoutesPage }))\n);\n\n// Lazy loaded pages - Policies\nconst PoliciesPage = lazy(() =>\n import('./pages/PoliciesPage').then((m) => ({ default: m.PoliciesPage }))\n);\nconst PolicyDetailPage = lazy(() =>\n import('./pages/PolicyDetailPage').then((m) => ({ default: m.PolicyDetailPage }))\n);\n\n// Lazy loaded pages - Skills\nconst SkillsPage = lazy(() =>\n import('./pages/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\nconst SkillDetailPage = lazy(() =>\n import('./pages/SkillDetailPage').then((m) => ({ default: m.SkillDetailPage }))\n);\n\n// Lazy loaded pages - Prompt Templates\nconst PromptTemplatesPage = lazy(() =>\n import('./pages/PromptTemplatesPage').then((m) => ({ default: m.PromptTemplatesPage }))\n);\nconst PromptTemplateDetailPage = lazy(() =>\n import('./pages/PromptTemplateDetailPage').then((m) => ({ default: m.PromptTemplateDetailPage }))\n);\nconst PromptStudioPage = lazy(() =>\n import('./pages/PromptStudioPage').then((m) => ({ default: m.PromptStudioPage }))\n);\n\n// Lazy loaded pages - Executions\nconst ExecutionsPage = lazy(() =>\n import('./pages/ExecutionsPage').then((m) => ({ default: m.ExecutionsPage }))\n);\nconst ExecutionDetailPage = lazy(() =>\n import('./pages/ExecutionDetailPage').then((m) => ({ default: m.ExecutionDetailPage }))\n);\n\n// Lazy loaded pages - AI Operations (supervisor decision feed, BOFF-3839)\nconst AiOperationsPage = lazy(() =>\n import('./pages/AiOperationsPage').then((m) => ({ default: m.AiOperationsPage }))\n);\n\n// Lazy loaded pages - Buckets\nconst BucketsPage = lazy(() =>\n import('./pages/BucketsPage').then((m) => ({ default: m.BucketsPage }))\n);\nconst BucketDetailPage = lazy(() =>\n import('./pages/BucketDetailPage').then((m) => ({ default: m.BucketDetailPage }))\n);\n\n// Lazy loaded pages - Store\nconst StorePage = lazy(() => import('./pages/StorePage').then((m) => ({ default: m.StorePage })));\nconst StorePackageDetailPage = lazy(() =>\n import('./pages/StorePackageDetailPage').then((m) => ({ default: m.StorePackageDetailPage }))\n);\nconst InstalledPackagesPage = lazy(() =>\n import('./pages/InstalledPackagesPage').then((m) => ({ default: m.InstalledPackagesPage }))\n);\n\n// Lazy loaded pages - Settings & Chat\nconst SettingsPage = lazy(() =>\n import('./pages/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\nconst ChatPage = lazy(() => import('./pages/ChatPage').then((m) => ({ default: m.ChatPage })));\n\n// Loading fallback — the same skeleton `BotmanorRoot` paints while its\n// implementation chunk resolves, so the content region never switches loading\n// idioms (and never goes empty) between first paint and the page rendering.\n\nexport const BotlitRoutes: FC = () => {\n const { basePath, isStandalone } = useBotlit();\n const location = useLocation();\n const t = useTr();\n\n /**\n * Create, edit and chat routes are reachable by URL, so they are gated here\n * as well as at the buttons that link to them: a member without the\n * permission gets a clear \"no access\" state instead of a form the gateway\n * would refuse to save.\n */\n const gated = (\n permission: BotmanorPermission,\n title: string,\n backTo: string,\n backLabel: string,\n element: ReactElement\n ): ReactElement => (\n <RequirePermission permission={permission} title={title} backTo={backTo} backLabel={backLabel}>\n {element}\n </RequirePermission>\n );\n const back = t('permissions.required.back', 'Go back');\n\n // Normalize base path\n const normalizedBasePath = basePath === '/' ? '' : basePath.replace(/\\/$/, '');\n\n // Guard: Only render if path matches basePath (when integrated)\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex flex-col min-h-full bg-bg-surface\">\n <Suspense fallback={<RouteLoader />}>\n <Routes>\n {/* Dashboard - Eager loaded */}\n <Route index element={<DashboardPage />} />\n <Route path=\"home\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n\n {/* Bots */}\n <Route path=\"bots\" element={<BotsListPage />} />\n <Route\n path=\"bots/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_CREATE,\n t('botlit.botsList.actions.createBot', 'Create Bot'),\n 'bots',\n back,\n <BotDetailPage isNew />\n )}\n />\n <Route path=\"bots/:botId\" element={<BotDetailPage />} />\n <Route\n path=\"bots/:botId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_UPDATE,\n t('botlit.botsList.menu.editBot', 'Edit Bot'),\n 'bots',\n back,\n <BotDetailPage isEditing />\n )}\n />\n <Route path=\"bots/:botId/agents\" element={<AgentsListPage />} />\n <Route\n path=\"bots/:botId/agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"bots/:botId/agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/knowledge\" element={<KnowledgeBasesPage />} />\n <Route path=\"bots/:botId/knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Agents (global view) */}\n <Route path=\"agents\" element={<AgentsListPage />} />\n <Route\n path=\"agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"agents/approvals\" element={<AgentApprovalsPage />} />\n <Route path=\"agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route\n path=\"agents/:agentId/chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Knowledge Bases */}\n <Route path=\"knowledge\" element={<KnowledgeBasesPage />} />\n <Route\n path=\"knowledge/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.KNOWLEDGE_CREATE,\n t('botlit.knowledge.actions.create', 'Create Knowledge Base'),\n 'knowledge',\n back,\n <KnowledgeBaseDetailPage isNew />\n )}\n />\n <Route path=\"knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Retrieval Profiles */}\n <Route path=\"retrieval-profiles\" element={<RetrievalProfilesPage />} />\n <Route\n path=\"retrieval-profiles/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.RETRIEVAL_PROFILE_CREATE,\n t('botlit.retrievalProfiles.actions.create', 'Create Retrieval Profile'),\n 'retrieval-profiles',\n back,\n <RetrievalProfileDetailPage isNew />\n )}\n />\n <Route path=\"retrieval-profiles/:profileId\" element={<RetrievalProfileDetailPage />} />\n\n {/* MCP Servers */}\n <Route path=\"mcp\" element={<MCPServersPage />} />\n <Route\n path=\"mcp/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.MCP_CREATE,\n t('botlit.mcpServers.actions.add', 'Add MCP Server'),\n 'mcp',\n back,\n <MCPServerDetailPage isNew />\n )}\n />\n <Route path=\"mcp/:serverId\" element={<MCPServerDetailPage />} />\n\n {/* A2A Registry */}\n <Route path=\"a2a\" element={<A2ARegistryPage />} />\n <Route\n path=\"a2a/register\"\n element={gated(\n BOTMANOR_PERMISSIONS.A2A_REGISTRY_CREATE,\n t('botlit.a2aRegistry.actions.registerAgent', 'Register Agent'),\n 'a2a',\n back,\n <A2AAgentDetailPage isNew />\n )}\n />\n <Route path=\"a2a/:agentId\" element={<A2AAgentDetailPage />} />\n\n {/* Channels */}\n <Route path=\"channels\" element={<ChannelsPage />} />\n <Route\n path=\"channels/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.CHANNEL_CREATE,\n t('botlit.channels.actions.addChannel', 'Add Channel'),\n 'channels',\n back,\n <ChannelDetailPage isNew />\n )}\n />\n <Route path=\"channels/routes\" element={<ChannelRoutesPage />} />\n <Route path=\"channels/:connectorId\" element={<ChannelDetailPage />} />\n\n {/* Policies & Guardrails */}\n <Route path=\"policies\" element={<PoliciesPage />} />\n <Route\n path=\"policies/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.POLICY_CREATE,\n t('botlit.policies.actions.createPolicy', 'Create Policy'),\n 'policies',\n back,\n <PolicyDetailPage isNew />\n )}\n />\n <Route path=\"policies/:policyId\" element={<PolicyDetailPage />} />\n\n {/* Skills */}\n <Route path=\"skills\" element={<SkillsPage />} />\n <Route\n path=\"skills/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.SKILL_CREATE,\n t('botlit.skills.actions.create', 'Create Skill'),\n 'skills',\n back,\n <SkillDetailPage isNew />\n )}\n />\n <Route path=\"skills/:skillId\" element={<SkillDetailPage />} />\n\n {/* Prompt Templates */}\n <Route path=\"prompt-templates\" element={<PromptTemplatesPage />} />\n <Route\n path=\"prompt-templates/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.PROMPT_TEMPLATE_CREATE,\n t('botlit.promptTemplates.actions.create', 'Create Template'),\n 'prompt-templates',\n back,\n <PromptTemplateDetailPage isNew />\n )}\n />\n <Route path=\"prompt-templates/:templateId\" element={<PromptTemplateDetailPage />} />\n\n {/* Prompt Studio (legacy) */}\n <Route path=\"prompts\" element={<PromptStudioPage />} />\n\n {/* Executions */}\n <Route path=\"executions\" element={<ExecutionsPage />} />\n <Route path=\"ai\" element={<AiOperationsPage />} />\n <Route path=\"executions/:executionId\" element={<ExecutionDetailPage />} />\n\n {/* Buckets */}\n <Route path=\"buckets\" element={<BucketsPage />} />\n <Route\n path=\"buckets/new\"\n element={<Navigate to={`${normalizedBasePath}/buckets`} replace />}\n />\n <Route path=\"buckets/:bucketId\" element={<BucketDetailPage />} />\n\n {/* Store */}\n <Route path=\"store\" element={<StorePage />} />\n <Route path=\"store/installed\" element={<InstalledPackagesPage />} />\n <Route path=\"store/package/:slug\" element={<StorePackageDetailPage />} />\n\n {/* Chat */}\n <Route\n path=\"chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n <Route\n path=\"chat/:agentId\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Settings */}\n <Route path=\"settings\" element={<SettingsPage />} />\n\n {/* Workflow routes are owned by the shared app-shell WorkflowsRoot. */}\n <Route\n path=\"list\"\n element={<Navigate to={`${normalizedBasePath}/workflows/list`} replace />}\n />\n\n {/* Fallback - land back on the BotManor dashboard, not the app-shell root */}\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BotlitRoutes.js","names":["BotsListPage","lazy","m","BotDetailPage","AgentsListPage","AgentApprovalsPage","AgentDetailPage","AgentBuilderPage","KnowledgeBasesPage","KnowledgeBaseDetailPage","RetrievalProfilesPage","RetrievalProfileDetailPage","MCPServersPage","MCPServerDetailPage","A2ARegistryPage","A2AAgentDetailPage","ChannelsPage","ChannelDetailPage","ChannelRoutesPage","PoliciesPage","PolicyDetailPage","SkillsPage","SkillDetailPage","PromptTemplatesPage","PromptTemplateDetailPage","PromptStudioPage","ExecutionsPage","ExecutionDetailPage","AiOperationsPage","HandoffsPage","BucketsPage","BucketDetailPage","StorePage","StorePackageDetailPage","InstalledPackagesPage","SettingsPage","ChatPage","BotlitRoutes","useBotlit","location","useLocation","t","useTr","gated","RequirePermission","element","back","normalizedBasePath","basePath","isStandalone","Suspense","RouteLoader","Routes","Route","DashboardPage","Navigate","BOTMANOR_PERMISSIONS"],"sources":["../../src/botlit/BotlitRoutes.tsx"],"sourcesContent":["/**\n * BotManor Routes\n * @module botlit\n */\n\nimport { type FC, type ReactElement, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { useBotlit } from './providers/BotlitProvider';\nimport { RouteLoader } from './components/RouteLoader';\nimport { BOTMANOR_PERMISSIONS, RequirePermission, type BotmanorPermission } from './permissions';\nimport { useTr } from '../shared/hooks/useTr';\n\n// Eager load - Dashboard (primary landing page)\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Lazy loaded pages - Bots\nconst BotsListPage = lazy(() =>\n import('./pages/BotsListPage').then((m) => ({ default: m.BotsListPage }))\n);\nconst BotDetailPage = lazy(() =>\n import('./pages/BotDetailPage').then((m) => ({ default: m.BotDetailPage }))\n);\n\n// Lazy loaded pages - Agents\nconst AgentsListPage = lazy(() =>\n import('./pages/AgentsListPage').then((m) => ({ default: m.AgentsListPage }))\n);\nconst AgentApprovalsPage = lazy(() =>\n import('./pages/AgentApprovalsPage').then((m) => ({ default: m.AgentApprovalsPage }))\n);\nconst AgentDetailPage = lazy(() =>\n import('./pages/AgentDetailPage').then((m) => ({ default: m.AgentDetailPage }))\n);\nconst AgentBuilderPage = lazy(() =>\n import('./pages/AgentBuilderPage').then((m) => ({ default: m.AgentBuilderPage }))\n);\n\n// Lazy loaded pages - Knowledge Bases\nconst KnowledgeBasesPage = lazy(() =>\n import('./pages/KnowledgeBasesPage').then((m) => ({ default: m.KnowledgeBasesPage }))\n);\nconst KnowledgeBaseDetailPage = lazy(() =>\n import('./pages/KnowledgeBaseDetailPage').then((m) => ({ default: m.KnowledgeBaseDetailPage }))\n);\n\n// Lazy loaded pages - Retrieval Profiles\nconst RetrievalProfilesPage = lazy(() =>\n import('./pages/RetrievalProfilesPage').then((m) => ({ default: m.RetrievalProfilesPage }))\n);\nconst RetrievalProfileDetailPage = lazy(() =>\n import('./pages/RetrievalProfileDetailPage').then((m) => ({\n default: m.RetrievalProfileDetailPage,\n }))\n);\n\n// Lazy loaded pages - MCP Servers\nconst MCPServersPage = lazy(() =>\n import('./pages/MCPServersPage').then((m) => ({ default: m.MCPServersPage }))\n);\nconst MCPServerDetailPage = lazy(() =>\n import('./pages/MCPServerDetailPage').then((m) => ({ default: m.MCPServerDetailPage }))\n);\n\n// Lazy loaded pages - A2A Registry\nconst A2ARegistryPage = lazy(() =>\n import('./pages/A2ARegistryPage').then((m) => ({ default: m.A2ARegistryPage }))\n);\nconst A2AAgentDetailPage = lazy(() =>\n import('./pages/A2AAgentDetailPage').then((m) => ({ default: m.A2AAgentDetailPage }))\n);\n\n// Lazy loaded pages - Channels\nconst ChannelsPage = lazy(() =>\n import('./pages/ChannelsPage').then((m) => ({ default: m.ChannelsPage }))\n);\nconst ChannelDetailPage = lazy(() =>\n import('./pages/ChannelDetailPage').then((m) => ({ default: m.ChannelDetailPage }))\n);\nconst ChannelRoutesPage = lazy(() =>\n import('./pages/ChannelRoutesPage').then((m) => ({ default: m.ChannelRoutesPage }))\n);\n\n// Lazy loaded pages - Policies\nconst PoliciesPage = lazy(() =>\n import('./pages/PoliciesPage').then((m) => ({ default: m.PoliciesPage }))\n);\nconst PolicyDetailPage = lazy(() =>\n import('./pages/PolicyDetailPage').then((m) => ({ default: m.PolicyDetailPage }))\n);\n\n// Lazy loaded pages - Skills\nconst SkillsPage = lazy(() =>\n import('./pages/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\nconst SkillDetailPage = lazy(() =>\n import('./pages/SkillDetailPage').then((m) => ({ default: m.SkillDetailPage }))\n);\n\n// Lazy loaded pages - Prompt Templates\nconst PromptTemplatesPage = lazy(() =>\n import('./pages/PromptTemplatesPage').then((m) => ({ default: m.PromptTemplatesPage }))\n);\nconst PromptTemplateDetailPage = lazy(() =>\n import('./pages/PromptTemplateDetailPage').then((m) => ({ default: m.PromptTemplateDetailPage }))\n);\nconst PromptStudioPage = lazy(() =>\n import('./pages/PromptStudioPage').then((m) => ({ default: m.PromptStudioPage }))\n);\n\n// Lazy loaded pages - Executions\nconst ExecutionsPage = lazy(() =>\n import('./pages/ExecutionsPage').then((m) => ({ default: m.ExecutionsPage }))\n);\nconst ExecutionDetailPage = lazy(() =>\n import('./pages/ExecutionDetailPage').then((m) => ({ default: m.ExecutionDetailPage }))\n);\n\n// Lazy loaded pages - AI Operations (supervisor decision feed, BOFF-3839)\nconst AiOperationsPage = lazy(() =>\n import('./pages/AiOperationsPage').then((m) => ({ default: m.AiOperationsPage }))\n);\n\n// Lazy loaded pages - Human handoffs (shared team inbox, BOFF-5813)\nconst HandoffsPage = lazy(() =>\n import('./pages/HandoffsPage').then((m) => ({ default: m.HandoffsPage }))\n);\n\n// Lazy loaded pages - Buckets\nconst BucketsPage = lazy(() =>\n import('./pages/BucketsPage').then((m) => ({ default: m.BucketsPage }))\n);\nconst BucketDetailPage = lazy(() =>\n import('./pages/BucketDetailPage').then((m) => ({ default: m.BucketDetailPage }))\n);\n\n// Lazy loaded pages - Store\nconst StorePage = lazy(() => import('./pages/StorePage').then((m) => ({ default: m.StorePage })));\nconst StorePackageDetailPage = lazy(() =>\n import('./pages/StorePackageDetailPage').then((m) => ({ default: m.StorePackageDetailPage }))\n);\nconst InstalledPackagesPage = lazy(() =>\n import('./pages/InstalledPackagesPage').then((m) => ({ default: m.InstalledPackagesPage }))\n);\n\n// Lazy loaded pages - Settings & Chat\nconst SettingsPage = lazy(() =>\n import('./pages/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\nconst ChatPage = lazy(() => import('./pages/ChatPage').then((m) => ({ default: m.ChatPage })));\n\n// Loading fallback — the same skeleton `BotmanorRoot` paints while its\n// implementation chunk resolves, so the content region never switches loading\n// idioms (and never goes empty) between first paint and the page rendering.\n\nexport const BotlitRoutes: FC = () => {\n const { basePath, isStandalone } = useBotlit();\n const location = useLocation();\n const t = useTr();\n\n /**\n * Create, edit and chat routes are reachable by URL, so they are gated here\n * as well as at the buttons that link to them: a member without the\n * permission gets a clear \"no access\" state instead of a form the gateway\n * would refuse to save.\n */\n const gated = (\n permission: BotmanorPermission,\n title: string,\n backTo: string,\n backLabel: string,\n element: ReactElement\n ): ReactElement => (\n <RequirePermission permission={permission} title={title} backTo={backTo} backLabel={backLabel}>\n {element}\n </RequirePermission>\n );\n const back = t('permissions.required.back', 'Go back');\n\n // Normalize base path\n const normalizedBasePath = basePath === '/' ? '' : basePath.replace(/\\/$/, '');\n\n // Guard: Only render if path matches basePath (when integrated)\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex flex-col min-h-full bg-bg-surface\">\n <Suspense fallback={<RouteLoader />}>\n <Routes>\n {/* Dashboard - Eager loaded */}\n <Route index element={<DashboardPage />} />\n <Route path=\"home\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n\n {/* Bots */}\n <Route path=\"bots\" element={<BotsListPage />} />\n <Route\n path=\"bots/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_CREATE,\n t('botlit.botsList.actions.createBot', 'Create Bot'),\n 'bots',\n back,\n <BotDetailPage isNew />\n )}\n />\n <Route path=\"bots/:botId\" element={<BotDetailPage />} />\n <Route\n path=\"bots/:botId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_UPDATE,\n t('botlit.botsList.menu.editBot', 'Edit Bot'),\n 'bots',\n back,\n <BotDetailPage isEditing />\n )}\n />\n <Route path=\"bots/:botId/agents\" element={<AgentsListPage />} />\n <Route\n path=\"bots/:botId/agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"bots/:botId/agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/knowledge\" element={<KnowledgeBasesPage />} />\n <Route path=\"bots/:botId/knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Agents (global view) */}\n <Route path=\"agents\" element={<AgentsListPage />} />\n <Route\n path=\"agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"agents/approvals\" element={<AgentApprovalsPage />} />\n <Route path=\"agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route\n path=\"agents/:agentId/chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Knowledge Bases */}\n <Route path=\"knowledge\" element={<KnowledgeBasesPage />} />\n <Route\n path=\"knowledge/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.KNOWLEDGE_CREATE,\n t('botlit.knowledge.actions.create', 'Create Knowledge Base'),\n 'knowledge',\n back,\n <KnowledgeBaseDetailPage isNew />\n )}\n />\n <Route path=\"knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Retrieval Profiles */}\n <Route path=\"retrieval-profiles\" element={<RetrievalProfilesPage />} />\n <Route\n path=\"retrieval-profiles/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.RETRIEVAL_PROFILE_CREATE,\n t('botlit.retrievalProfiles.actions.create', 'Create Retrieval Profile'),\n 'retrieval-profiles',\n back,\n <RetrievalProfileDetailPage isNew />\n )}\n />\n <Route path=\"retrieval-profiles/:profileId\" element={<RetrievalProfileDetailPage />} />\n\n {/* MCP Servers */}\n <Route path=\"mcp\" element={<MCPServersPage />} />\n <Route\n path=\"mcp/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.MCP_CREATE,\n t('botlit.mcpServers.actions.add', 'Add MCP Server'),\n 'mcp',\n back,\n <MCPServerDetailPage isNew />\n )}\n />\n <Route path=\"mcp/:serverId\" element={<MCPServerDetailPage />} />\n\n {/* A2A Registry */}\n <Route path=\"a2a\" element={<A2ARegistryPage />} />\n <Route\n path=\"a2a/register\"\n element={gated(\n BOTMANOR_PERMISSIONS.A2A_REGISTRY_CREATE,\n t('botlit.a2aRegistry.actions.registerAgent', 'Register Agent'),\n 'a2a',\n back,\n <A2AAgentDetailPage isNew />\n )}\n />\n <Route path=\"a2a/:agentId\" element={<A2AAgentDetailPage />} />\n\n {/* Channels */}\n <Route path=\"channels\" element={<ChannelsPage />} />\n <Route\n path=\"channels/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.CHANNEL_CREATE,\n t('botlit.channels.actions.addChannel', 'Add Channel'),\n 'channels',\n back,\n <ChannelDetailPage isNew />\n )}\n />\n <Route path=\"channels/routes\" element={<ChannelRoutesPage />} />\n <Route path=\"channels/:connectorId\" element={<ChannelDetailPage />} />\n\n {/* Policies & Guardrails */}\n <Route path=\"policies\" element={<PoliciesPage />} />\n <Route\n path=\"policies/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.POLICY_CREATE,\n t('botlit.policies.actions.createPolicy', 'Create Policy'),\n 'policies',\n back,\n <PolicyDetailPage isNew />\n )}\n />\n <Route path=\"policies/:policyId\" element={<PolicyDetailPage />} />\n\n {/* Skills */}\n <Route path=\"skills\" element={<SkillsPage />} />\n <Route\n path=\"skills/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.SKILL_CREATE,\n t('botlit.skills.actions.create', 'Create Skill'),\n 'skills',\n back,\n <SkillDetailPage isNew />\n )}\n />\n <Route path=\"skills/:skillId\" element={<SkillDetailPage />} />\n\n {/* Prompt Templates */}\n <Route path=\"prompt-templates\" element={<PromptTemplatesPage />} />\n <Route\n path=\"prompt-templates/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.PROMPT_TEMPLATE_CREATE,\n t('botlit.promptTemplates.actions.create', 'Create Template'),\n 'prompt-templates',\n back,\n <PromptTemplateDetailPage isNew />\n )}\n />\n <Route path=\"prompt-templates/:templateId\" element={<PromptTemplateDetailPage />} />\n\n {/* Prompt Studio (legacy) */}\n <Route path=\"prompts\" element={<PromptStudioPage />} />\n\n {/* Executions */}\n <Route path=\"executions\" element={<ExecutionsPage />} />\n <Route path=\"ai\" element={<AiOperationsPage />} />\n <Route path=\"handoffs\" element={<HandoffsPage />} />\n <Route path=\"executions/:executionId\" element={<ExecutionDetailPage />} />\n\n {/* Buckets */}\n <Route path=\"buckets\" element={<BucketsPage />} />\n <Route\n path=\"buckets/new\"\n element={<Navigate to={`${normalizedBasePath}/buckets`} replace />}\n />\n <Route path=\"buckets/:bucketId\" element={<BucketDetailPage />} />\n\n {/* Store */}\n <Route path=\"store\" element={<StorePage />} />\n <Route path=\"store/installed\" element={<InstalledPackagesPage />} />\n <Route path=\"store/package/:slug\" element={<StorePackageDetailPage />} />\n\n {/* Chat */}\n <Route\n path=\"chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n <Route\n path=\"chat/:agentId\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Settings */}\n <Route path=\"settings\" element={<SettingsPage />} />\n\n {/* Workflow routes are owned by the shared app-shell WorkflowsRoot. */}\n <Route\n path=\"list\"\n element={<Navigate to={`${normalizedBasePath}/workflows/list`} replace />}\n />\n\n {/* Fallback - land back on the BotManor dashboard, not the app-shell root */}\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|