@dilipod/ui 0.4.22 → 0.4.24
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/components/flowchart-diagram.d.ts +8 -0
- package/dist/components/flowchart-diagram.d.ts.map +1 -0
- package/dist/components/worker-spec.d.ts +53 -0
- package/dist/components/worker-spec.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +501 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +501 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/flowchart-diagram.tsx +319 -0
- package/src/components/worker-spec.tsx +544 -0
- package/src/index.ts +8 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface FlowchartDiagramProps {
|
|
2
|
+
/** Mermaid flowchart syntax string */
|
|
3
|
+
mermaid: string;
|
|
4
|
+
/** Optional className for the container */
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function FlowchartDiagram({ mermaid, className }: FlowchartDiagramProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=flowchart-diagram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowchart-diagram.d.ts","sourceRoot":"","sources":["../../src/components/flowchart-diagram.tsx"],"names":[],"mappings":"AAoRA,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAmC7E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface AnalysisSource {
|
|
2
|
+
type: string;
|
|
3
|
+
name: string;
|
|
4
|
+
size: number;
|
|
5
|
+
insights?: string[];
|
|
6
|
+
processing_time_ms?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface AnalysisSummary {
|
|
9
|
+
total_sources: number;
|
|
10
|
+
video_count: number;
|
|
11
|
+
document_count: number;
|
|
12
|
+
image_count: number;
|
|
13
|
+
total_insights: number;
|
|
14
|
+
analyzed_at: string;
|
|
15
|
+
}
|
|
16
|
+
export interface WorkerSpecDocumentation {
|
|
17
|
+
scope: string | null;
|
|
18
|
+
goal: string | null;
|
|
19
|
+
steps: Array<{
|
|
20
|
+
step: number;
|
|
21
|
+
title: string;
|
|
22
|
+
description: string;
|
|
23
|
+
tools_used?: string[];
|
|
24
|
+
}> | null;
|
|
25
|
+
diagram: string | null;
|
|
26
|
+
expected_impact: {
|
|
27
|
+
time_saved_per_occurrence_minutes: number;
|
|
28
|
+
frequency: string;
|
|
29
|
+
yearly_hours_saved: number;
|
|
30
|
+
yearly_cost_savings_euros: number;
|
|
31
|
+
qualitative_benefits: string[];
|
|
32
|
+
} | null;
|
|
33
|
+
technical_requirements: string[] | null;
|
|
34
|
+
integration_points: string[] | null;
|
|
35
|
+
edge_cases_handled: Array<{
|
|
36
|
+
scenario: string;
|
|
37
|
+
handling: string;
|
|
38
|
+
}> | null;
|
|
39
|
+
analysis_sources: AnalysisSource[] | null;
|
|
40
|
+
analysis_summary: AnalysisSummary | null;
|
|
41
|
+
analysis_context: string | null;
|
|
42
|
+
version: number;
|
|
43
|
+
model_used: string | null;
|
|
44
|
+
updated_at: string;
|
|
45
|
+
}
|
|
46
|
+
export interface WorkerSpecProps {
|
|
47
|
+
/** The Knowledge Builder final documentation */
|
|
48
|
+
documentation: WorkerSpecDocumentation | null;
|
|
49
|
+
/** Optional className for the container */
|
|
50
|
+
className?: string;
|
|
51
|
+
}
|
|
52
|
+
export declare function WorkerSpec({ documentation, className }: WorkerSpecProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
//# sourceMappingURL=worker-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-spec.d.ts","sourceRoot":"","sources":["../../src/components/worker-spec.tsx"],"names":[],"mappings":"AA2CA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,CAAC,GAAG,IAAI,CAAA;IACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,EAAE;QACf,iCAAiC,EAAE,MAAM,CAAA;QACzC,SAAS,EAAE,MAAM,CAAA;QACjB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,yBAAyB,EAAE,MAAM,CAAA;QACjC,oBAAoB,EAAE,MAAM,EAAE,CAAA;KAC/B,GAAG,IAAI,CAAA;IACR,sBAAsB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACvC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACnC,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAC,GAAG,IAAI,CAAA;IACT,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACzC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,aAAa,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC7C,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA8FD,wBAAgB,UAAU,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,eAAe,2CAiWvE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -94,6 +94,10 @@ export { WorkflowFlow } from './components/workflow-flow';
|
|
|
94
94
|
export type { WorkflowFlowProps, N8nWorkflow as WorkflowFlowN8nWorkflow, N8nNode } from './components/workflow-flow';
|
|
95
95
|
export { WorkflowViewer } from './components/workflow-viewer';
|
|
96
96
|
export type { WorkflowViewerProps, N8nWorkflow, SimWorkflow, WorkflowTemplate } from './components/workflow-viewer';
|
|
97
|
+
export { WorkerSpec } from './components/worker-spec';
|
|
98
|
+
export type { WorkerSpecProps, WorkerSpecDocumentation, AnalysisSource, AnalysisSummary } from './components/worker-spec';
|
|
99
|
+
export { FlowchartDiagram } from './components/flowchart-diagram';
|
|
100
|
+
export type { FlowchartDiagramProps } from './components/flowchart-diagram';
|
|
97
101
|
export { cn } from './lib/utils';
|
|
98
102
|
export * from './icons';
|
|
99
103
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -426,6 +426,7 @@ __export(index_exports, {
|
|
|
426
426
|
EmptyState: () => EmptyState,
|
|
427
427
|
ErrorState: () => ErrorState,
|
|
428
428
|
FilePreview: () => FilePreview,
|
|
429
|
+
FlowchartDiagram: () => FlowchartDiagram,
|
|
429
430
|
FormField: () => FormField,
|
|
430
431
|
IconBox: () => IconBox,
|
|
431
432
|
ImpactMetricsForm: () => ImpactMetricsForm,
|
|
@@ -517,6 +518,7 @@ __export(index_exports, {
|
|
|
517
518
|
TooltipTrigger: () => TooltipTrigger,
|
|
518
519
|
UsageBar: () => UsageBar,
|
|
519
520
|
UsageChart: () => UsageChart,
|
|
521
|
+
WorkerSpec: () => WorkerSpec,
|
|
520
522
|
WorkflowFlow: () => WorkflowFlow,
|
|
521
523
|
WorkflowViewer: () => WorkflowViewer,
|
|
522
524
|
alertVariants: () => alertVariants,
|
|
@@ -6141,6 +6143,503 @@ function WorkflowViewer({
|
|
|
6141
6143
|
] })
|
|
6142
6144
|
] });
|
|
6143
6145
|
}
|
|
6146
|
+
function parseMermaidFlowchart(mermaid) {
|
|
6147
|
+
const nodes = /* @__PURE__ */ new Map();
|
|
6148
|
+
const edges = [];
|
|
6149
|
+
const lines = mermaid.split(/\\n|\n/).map((l) => l.trim()).filter((l) => l && !l.startsWith("flowchart") && !l.startsWith("graph"));
|
|
6150
|
+
function parseNodeDef(str) {
|
|
6151
|
+
const decisionMatch = str.match(/^([A-Za-z0-9_]+)\{(.+?)\}$/);
|
|
6152
|
+
if (decisionMatch) return { id: decisionMatch[1], label: decisionMatch[2], type: "decision" };
|
|
6153
|
+
const bracketMatch = str.match(/^([A-Za-z0-9_]+)\[?\(?\[?(.+?)\]?\)?\]?$/);
|
|
6154
|
+
if (bracketMatch) {
|
|
6155
|
+
const label = bracketMatch[2];
|
|
6156
|
+
const isTerminal = /^(start|end|begin|finish|done)$/i.test(label);
|
|
6157
|
+
return { id: bracketMatch[1], label, type: isTerminal ? "terminal" : "action" };
|
|
6158
|
+
}
|
|
6159
|
+
return { id: str.trim() };
|
|
6160
|
+
}
|
|
6161
|
+
for (const line of lines) {
|
|
6162
|
+
const edgeMatch = line.match(/^(.+?)\s*-->(?:\|(.+?)\|)?\s*(.+)$/);
|
|
6163
|
+
if (!edgeMatch) continue;
|
|
6164
|
+
const leftRaw = edgeMatch[1].trim();
|
|
6165
|
+
const edgeLabel = edgeMatch[2]?.trim();
|
|
6166
|
+
const rightRaw = edgeMatch[3].trim();
|
|
6167
|
+
const left = parseNodeDef(leftRaw);
|
|
6168
|
+
const right = parseNodeDef(rightRaw);
|
|
6169
|
+
if (left.label && !nodes.has(left.id)) {
|
|
6170
|
+
nodes.set(left.id, { id: left.id, label: left.label, type: left.type || "action" });
|
|
6171
|
+
}
|
|
6172
|
+
if (right.label && !nodes.has(right.id)) {
|
|
6173
|
+
nodes.set(right.id, { id: right.id, label: right.label, type: right.type || "action" });
|
|
6174
|
+
}
|
|
6175
|
+
if (!nodes.has(left.id)) {
|
|
6176
|
+
nodes.set(left.id, { id: left.id, label: left.id, type: "action" });
|
|
6177
|
+
}
|
|
6178
|
+
if (!nodes.has(right.id)) {
|
|
6179
|
+
nodes.set(right.id, { id: right.id, label: right.id, type: "action" });
|
|
6180
|
+
}
|
|
6181
|
+
edges.push({ from: left.id, to: right.id, label: edgeLabel });
|
|
6182
|
+
}
|
|
6183
|
+
return { nodes: Array.from(nodes.values()), edges };
|
|
6184
|
+
}
|
|
6185
|
+
function findMergePoint(branchStarts, outgoing) {
|
|
6186
|
+
const reachable = /* @__PURE__ */ new Map();
|
|
6187
|
+
for (const start of branchStarts) {
|
|
6188
|
+
const q2 = [start];
|
|
6189
|
+
const seen2 = /* @__PURE__ */ new Set();
|
|
6190
|
+
while (q2.length > 0) {
|
|
6191
|
+
const id = q2.shift();
|
|
6192
|
+
if (seen2.has(id)) continue;
|
|
6193
|
+
seen2.add(id);
|
|
6194
|
+
if (!reachable.has(id)) reachable.set(id, /* @__PURE__ */ new Set());
|
|
6195
|
+
reachable.get(id).add(start);
|
|
6196
|
+
const outs = outgoing.get(id) || [];
|
|
6197
|
+
for (const e of outs) q2.push(e.to);
|
|
6198
|
+
}
|
|
6199
|
+
}
|
|
6200
|
+
const allBranches = new Set(branchStarts);
|
|
6201
|
+
const q = [branchStarts[0]];
|
|
6202
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6203
|
+
while (q.length > 0) {
|
|
6204
|
+
const id = q.shift();
|
|
6205
|
+
if (seen.has(id)) continue;
|
|
6206
|
+
seen.add(id);
|
|
6207
|
+
if (!allBranches.has(id) && reachable.get(id)?.size === branchStarts.length) {
|
|
6208
|
+
return id;
|
|
6209
|
+
}
|
|
6210
|
+
const outs = outgoing.get(id) || [];
|
|
6211
|
+
for (const e of outs) q.push(e.to);
|
|
6212
|
+
}
|
|
6213
|
+
return null;
|
|
6214
|
+
}
|
|
6215
|
+
function buildLayout(startId, outgoing, incoming, nodeMap, visited) {
|
|
6216
|
+
const items = [];
|
|
6217
|
+
let currentId = startId;
|
|
6218
|
+
while (currentId) {
|
|
6219
|
+
if (visited.has(currentId)) break;
|
|
6220
|
+
const node = nodeMap.get(currentId);
|
|
6221
|
+
if (!node) break;
|
|
6222
|
+
const outs = outgoing.get(currentId) || [];
|
|
6223
|
+
if (outs.length <= 1) {
|
|
6224
|
+
visited.add(currentId);
|
|
6225
|
+
items.push({ type: "node", nodeId: currentId });
|
|
6226
|
+
if (outs.length === 1) {
|
|
6227
|
+
const nextId = outs[0].to;
|
|
6228
|
+
if (visited.has(nextId)) break;
|
|
6229
|
+
items.push({ type: "arrow", label: outs[0].label });
|
|
6230
|
+
currentId = nextId;
|
|
6231
|
+
} else {
|
|
6232
|
+
currentId = null;
|
|
6233
|
+
}
|
|
6234
|
+
} else {
|
|
6235
|
+
visited.add(currentId);
|
|
6236
|
+
items.push({ type: "node", nodeId: currentId });
|
|
6237
|
+
const branchStarts = outs.map((e) => e.to);
|
|
6238
|
+
const mergeId = findMergePoint(branchStarts, outgoing);
|
|
6239
|
+
const branches = [];
|
|
6240
|
+
for (const edge of outs) {
|
|
6241
|
+
if (visited.has(edge.to) && edge.to !== mergeId) {
|
|
6242
|
+
branches.push({ label: edge.label, items: [] });
|
|
6243
|
+
continue;
|
|
6244
|
+
}
|
|
6245
|
+
const branchItems = buildLayout(edge.to, outgoing, incoming, nodeMap, visited);
|
|
6246
|
+
branches.push({ label: edge.label, items: branchItems });
|
|
6247
|
+
}
|
|
6248
|
+
items.push({ type: "branch", decision: currentId, branches, mergeId });
|
|
6249
|
+
if (mergeId && !visited.has(mergeId)) {
|
|
6250
|
+
items.push({ type: "arrow" });
|
|
6251
|
+
currentId = mergeId;
|
|
6252
|
+
} else {
|
|
6253
|
+
currentId = null;
|
|
6254
|
+
}
|
|
6255
|
+
}
|
|
6256
|
+
}
|
|
6257
|
+
return items;
|
|
6258
|
+
}
|
|
6259
|
+
function FlowArrow({ label }) {
|
|
6260
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
6261
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium text-purple-600 bg-purple-50 px-1.5 py-0.5 rounded mb-0.5", children: label }),
|
|
6262
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-4 bg-gray-300" }),
|
|
6263
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-0 h-0 border-l-[4px] border-r-[4px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-300" })
|
|
6264
|
+
] });
|
|
6265
|
+
}
|
|
6266
|
+
function FlowNodeBox({ node }) {
|
|
6267
|
+
if (node.type === "decision") {
|
|
6268
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6269
|
+
"div",
|
|
6270
|
+
{
|
|
6271
|
+
className: "bg-amber-50 border-2 border-amber-300 rounded-lg px-4 py-2.5 text-xs font-medium text-amber-800 text-center my-1",
|
|
6272
|
+
style: { minWidth: "120px" },
|
|
6273
|
+
children: [
|
|
6274
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-amber-400 mr-1", children: "\u25C7" }),
|
|
6275
|
+
node.label
|
|
6276
|
+
]
|
|
6277
|
+
}
|
|
6278
|
+
);
|
|
6279
|
+
}
|
|
6280
|
+
if (node.type === "terminal") {
|
|
6281
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-gray-100 border border-gray-200 rounded-full px-5 py-1.5 text-xs font-medium text-gray-500 text-center my-1", children: node.label });
|
|
6282
|
+
}
|
|
6283
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white border border-gray-200 rounded-sm px-4 py-2 text-xs font-medium text-[var(--black)] text-center shadow-sm my-1 max-w-[220px]", children: node.label });
|
|
6284
|
+
}
|
|
6285
|
+
function RenderLayoutItems({ items, nodeMap }) {
|
|
6286
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items.map((item, i) => {
|
|
6287
|
+
if (item.type === "node") {
|
|
6288
|
+
const node = nodeMap.get(item.nodeId);
|
|
6289
|
+
if (!node) return null;
|
|
6290
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FlowNodeBox, { node }, `node-${item.nodeId}`);
|
|
6291
|
+
}
|
|
6292
|
+
if (item.type === "arrow") {
|
|
6293
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FlowArrow, { label: item.label }, `arrow-${i}`);
|
|
6294
|
+
}
|
|
6295
|
+
if (item.type === "branch") {
|
|
6296
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center w-full", children: [
|
|
6297
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-3 bg-gray-300" }),
|
|
6298
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-center gap-6 w-full", children: item.branches.map((branch, j) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center min-w-[100px]", children: [
|
|
6299
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
6300
|
+
branch.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium text-purple-600 bg-purple-50 px-1.5 py-0.5 rounded mb-1", children: branch.label }),
|
|
6301
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-0 h-0 border-l-[4px] border-r-[4px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-300" })
|
|
6302
|
+
] }),
|
|
6303
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsx(RenderLayoutItems, { items: branch.items, nodeMap }) })
|
|
6304
|
+
] }, j)) }),
|
|
6305
|
+
item.mergeId && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-3 bg-gray-300" })
|
|
6306
|
+
] }, `branch-${item.decision}-${i}`);
|
|
6307
|
+
}
|
|
6308
|
+
return null;
|
|
6309
|
+
}) });
|
|
6310
|
+
}
|
|
6311
|
+
function FlowchartDiagram({ mermaid, className }) {
|
|
6312
|
+
const { nodes, edges } = parseMermaidFlowchart(mermaid);
|
|
6313
|
+
if (nodes.length === 0) {
|
|
6314
|
+
return /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs bg-white border border-gray-100 rounded-sm p-3 overflow-x-auto whitespace-pre-wrap", children: mermaid });
|
|
6315
|
+
}
|
|
6316
|
+
const outgoing = /* @__PURE__ */ new Map();
|
|
6317
|
+
const incoming = /* @__PURE__ */ new Map();
|
|
6318
|
+
for (const edge of edges) {
|
|
6319
|
+
if (!outgoing.has(edge.from)) outgoing.set(edge.from, []);
|
|
6320
|
+
outgoing.get(edge.from).push(edge);
|
|
6321
|
+
if (!incoming.has(edge.to)) incoming.set(edge.to, []);
|
|
6322
|
+
incoming.get(edge.to).push(edge);
|
|
6323
|
+
}
|
|
6324
|
+
const nodeMap = new Map(nodes.map((n) => [n.id, n]));
|
|
6325
|
+
const roots = nodes.filter((n) => !incoming.has(n.id) || incoming.get(n.id).length === 0);
|
|
6326
|
+
const startId = roots.length > 0 ? roots[0].id : nodes[0].id;
|
|
6327
|
+
const visited = /* @__PURE__ */ new Set();
|
|
6328
|
+
const layout = buildLayout(startId, outgoing, incoming, nodeMap, visited);
|
|
6329
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(RenderLayoutItems, { items: layout, nodeMap }) }) });
|
|
6330
|
+
}
|
|
6331
|
+
var frequencyLabels = {
|
|
6332
|
+
multiple_daily: "occurrence",
|
|
6333
|
+
daily: "day",
|
|
6334
|
+
weekly: "week",
|
|
6335
|
+
monthly: "month",
|
|
6336
|
+
quarterly: "quarter",
|
|
6337
|
+
yearly: "year"
|
|
6338
|
+
};
|
|
6339
|
+
function SectionHeader({
|
|
6340
|
+
icon,
|
|
6341
|
+
title,
|
|
6342
|
+
count: count2,
|
|
6343
|
+
expanded,
|
|
6344
|
+
onToggle,
|
|
6345
|
+
iconColor = "text-[var(--cyan)]"
|
|
6346
|
+
}) {
|
|
6347
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6348
|
+
"button",
|
|
6349
|
+
{
|
|
6350
|
+
onClick: onToggle,
|
|
6351
|
+
className: "flex items-center gap-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wide hover:text-[var(--black)] transition-colors w-full",
|
|
6352
|
+
children: [
|
|
6353
|
+
expanded ? /* @__PURE__ */ jsxRuntime.jsx(react_star.CaretDown, { size: 12 }) : /* @__PURE__ */ jsxRuntime.jsx(react_star.CaretRight, { size: 12 }),
|
|
6354
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: iconColor, children: icon }),
|
|
6355
|
+
title,
|
|
6356
|
+
count2 !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground font-normal", children: [
|
|
6357
|
+
"(",
|
|
6358
|
+
count2,
|
|
6359
|
+
")"
|
|
6360
|
+
] })
|
|
6361
|
+
]
|
|
6362
|
+
}
|
|
6363
|
+
);
|
|
6364
|
+
}
|
|
6365
|
+
function AnalysisContextRenderer({ content }) {
|
|
6366
|
+
const sections = content.split(/^## /gm).filter(Boolean);
|
|
6367
|
+
const getIcon = (title) => {
|
|
6368
|
+
if (title.includes("Request")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.Target, { size: 14, className: "text-[var(--cyan)]" });
|
|
6369
|
+
if (title.includes("Video")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.VideoCamera, { size: 14, className: "text-[var(--cyan)]" });
|
|
6370
|
+
if (title.includes("Document")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14, className: "text-[var(--cyan)]" });
|
|
6371
|
+
if (title.includes("Rules")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.Lightbulb, { size: 14, className: "text-amber-500" });
|
|
6372
|
+
if (title.includes("Context")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.TextT, { size: 14, className: "text-[var(--cyan)]" });
|
|
6373
|
+
return null;
|
|
6374
|
+
};
|
|
6375
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: sections.map((section, index) => {
|
|
6376
|
+
const lines = section.split("\n");
|
|
6377
|
+
const title = lines[0]?.trim();
|
|
6378
|
+
const body = lines.slice(1).join("\n").trim();
|
|
6379
|
+
if (!body) return null;
|
|
6380
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6381
|
+
/* @__PURE__ */ jsxRuntime.jsxs("h4", { className: "text-sm font-medium text-[var(--black)] flex items-center gap-2 mb-3", children: [
|
|
6382
|
+
getIcon(title),
|
|
6383
|
+
title
|
|
6384
|
+
] }),
|
|
6385
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground pl-5 space-y-2 whitespace-pre-line", children: body })
|
|
6386
|
+
] }, index);
|
|
6387
|
+
}) });
|
|
6388
|
+
}
|
|
6389
|
+
function WorkerSpec({ documentation, className }) {
|
|
6390
|
+
const [expandedSections, setExpandedSections] = React51.useState(
|
|
6391
|
+
/* @__PURE__ */ new Set(["goal", "scope", "steps", "diagram", "impact", "requirements", "edge_cases"])
|
|
6392
|
+
);
|
|
6393
|
+
const toggleSection = (section) => {
|
|
6394
|
+
setExpandedSections((prev) => {
|
|
6395
|
+
const next = new Set(prev);
|
|
6396
|
+
if (next.has(section)) {
|
|
6397
|
+
next.delete(section);
|
|
6398
|
+
} else {
|
|
6399
|
+
next.add(section);
|
|
6400
|
+
}
|
|
6401
|
+
return next;
|
|
6402
|
+
});
|
|
6403
|
+
};
|
|
6404
|
+
if (!documentation) {
|
|
6405
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 p-6 rounded-sm border border-dashed border-gray-300 bg-gray-50/50", children: [
|
|
6406
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-10 h-10 rounded-sm bg-gray-100 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(react_star.Robot, { size: 20, className: "text-gray-400" }) }),
|
|
6407
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6408
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-[var(--black)]", children: "Worker Spec Pending" }),
|
|
6409
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "The final specification will be generated automatically after the documentation is approved." })
|
|
6410
|
+
] })
|
|
6411
|
+
] }) });
|
|
6412
|
+
}
|
|
6413
|
+
const freqLabel = documentation.expected_impact?.frequency ? frequencyLabels[documentation.expected_impact.frequency] || documentation.expected_impact.frequency : "occurrence";
|
|
6414
|
+
const hasAnalysis = documentation.analysis_context || documentation.analysis_sources && documentation.analysis_sources.length > 0;
|
|
6415
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
6416
|
+
hasAnalysis && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog, { children: [
|
|
6417
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: "flex items-center gap-2 text-sm font-medium text-[var(--cyan)] hover:text-[var(--cyan)]/80 transition-colors", children: [
|
|
6418
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.MagnifyingGlass, { size: 16 }),
|
|
6419
|
+
"What was analyzed",
|
|
6420
|
+
documentation.analysis_summary && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-normal", children: [
|
|
6421
|
+
"(",
|
|
6422
|
+
documentation.analysis_summary.total_sources,
|
|
6423
|
+
" source",
|
|
6424
|
+
documentation.analysis_summary.total_sources !== 1 ? "s" : "",
|
|
6425
|
+
")"
|
|
6426
|
+
] }),
|
|
6427
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.CaretRight, { size: 12 })
|
|
6428
|
+
] }) }),
|
|
6429
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "max-w-xl max-h-[80vh] overflow-y-auto", children: [
|
|
6430
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { children: [
|
|
6431
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "What was analyzed" }),
|
|
6432
|
+
documentation.analysis_summary && /* @__PURE__ */ jsxRuntime.jsxs(DialogDescription, { className: "flex items-center gap-4 text-xs", children: [
|
|
6433
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
6434
|
+
documentation.analysis_summary.total_sources,
|
|
6435
|
+
" source",
|
|
6436
|
+
documentation.analysis_summary.total_sources !== 1 ? "s" : ""
|
|
6437
|
+
] }),
|
|
6438
|
+
documentation.analysis_summary.video_count > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1", children: [
|
|
6439
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.FilmStrip, { size: 12 }),
|
|
6440
|
+
documentation.analysis_summary.video_count,
|
|
6441
|
+
" video",
|
|
6442
|
+
documentation.analysis_summary.video_count !== 1 ? "s" : ""
|
|
6443
|
+
] }),
|
|
6444
|
+
documentation.analysis_summary.document_count > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1", children: [
|
|
6445
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 12 }),
|
|
6446
|
+
documentation.analysis_summary.document_count,
|
|
6447
|
+
" doc",
|
|
6448
|
+
documentation.analysis_summary.document_count !== 1 ? "s" : ""
|
|
6449
|
+
] })
|
|
6450
|
+
] })
|
|
6451
|
+
] }),
|
|
6452
|
+
documentation.analysis_sources && documentation.analysis_sources.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
6453
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide", children: "Sources" }),
|
|
6454
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: documentation.analysis_sources.map((source, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
6455
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-shrink-0 text-muted-foreground", children: [
|
|
6456
|
+
source.type === "video" && /* @__PURE__ */ jsxRuntime.jsx(react_star.FilmStrip, { size: 14 }),
|
|
6457
|
+
(source.type === "document" || source.type === "pdf") && /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14 }),
|
|
6458
|
+
source.type === "spreadsheet" && /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14 }),
|
|
6459
|
+
source.type === "image" && /* @__PURE__ */ jsxRuntime.jsx(react_star.ImageSquare, { size: 14 }),
|
|
6460
|
+
source.type === "description" && /* @__PURE__ */ jsxRuntime.jsx(react_star.TextT, { size: 14 })
|
|
6461
|
+
] }),
|
|
6462
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[var(--black)]", children: source.name }),
|
|
6463
|
+
source.size > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground flex-shrink-0", children: source.size > 1024 * 1024 ? `${(source.size / 1024 / 1024).toFixed(1)}MB` : `${Math.round(source.size / 1024)}KB` })
|
|
6464
|
+
] }, i)) })
|
|
6465
|
+
] }),
|
|
6466
|
+
documentation.analysis_context && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-gray-100 pt-4 space-y-1", children: [
|
|
6467
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-3", children: "Analysis Details" }),
|
|
6468
|
+
/* @__PURE__ */ jsxRuntime.jsx(AnalysisContextRenderer, { content: documentation.analysis_context })
|
|
6469
|
+
] })
|
|
6470
|
+
] })
|
|
6471
|
+
] }) }),
|
|
6472
|
+
documentation.goal && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6473
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6474
|
+
SectionHeader,
|
|
6475
|
+
{
|
|
6476
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Target, { size: 12, weight: "fill" }),
|
|
6477
|
+
title: "Goal",
|
|
6478
|
+
expanded: expandedSections.has("goal"),
|
|
6479
|
+
onToggle: () => toggleSection("goal")
|
|
6480
|
+
}
|
|
6481
|
+
),
|
|
6482
|
+
expandedSections.has("goal") && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground leading-relaxed pl-5 mt-2", children: documentation.goal })
|
|
6483
|
+
] }),
|
|
6484
|
+
documentation.scope && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6485
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6486
|
+
SectionHeader,
|
|
6487
|
+
{
|
|
6488
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Crosshair, { size: 12, weight: "fill" }),
|
|
6489
|
+
title: "Scope",
|
|
6490
|
+
expanded: expandedSections.has("scope"),
|
|
6491
|
+
onToggle: () => toggleSection("scope")
|
|
6492
|
+
}
|
|
6493
|
+
),
|
|
6494
|
+
expandedSections.has("scope") && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground leading-relaxed pl-5 mt-2", children: documentation.scope })
|
|
6495
|
+
] }),
|
|
6496
|
+
documentation.steps && documentation.steps.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6497
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6498
|
+
SectionHeader,
|
|
6499
|
+
{
|
|
6500
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.ListNumbers, { size: 12, weight: "fill" }),
|
|
6501
|
+
title: "Steps",
|
|
6502
|
+
count: documentation.steps.length,
|
|
6503
|
+
expanded: expandedSections.has("steps"),
|
|
6504
|
+
onToggle: () => toggleSection("steps")
|
|
6505
|
+
}
|
|
6506
|
+
),
|
|
6507
|
+
expandedSections.has("steps") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3 pl-5 mt-2", children: documentation.steps.map((step, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
6508
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-6 h-6 rounded-sm bg-[var(--cyan)]/10 flex items-center justify-center text-xs font-bold text-[var(--cyan)] shrink-0 mt-0.5", children: step.step || i + 1 }),
|
|
6509
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
6510
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-[var(--black)]", children: step.title }),
|
|
6511
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-0.5", children: step.description }),
|
|
6512
|
+
step.tools_used && step.tools_used.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1 mt-1.5", children: step.tools_used.map((tool, j) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 px-2 py-0.5 rounded-sm bg-gray-100 text-[10px] font-medium text-gray-600", children: [
|
|
6513
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.Wrench, { size: 10 }),
|
|
6514
|
+
tool
|
|
6515
|
+
] }, j)) })
|
|
6516
|
+
] })
|
|
6517
|
+
] }, i)) })
|
|
6518
|
+
] }),
|
|
6519
|
+
documentation.diagram && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6520
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6521
|
+
SectionHeader,
|
|
6522
|
+
{
|
|
6523
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.TreeStructure, { size: 12, weight: "fill" }),
|
|
6524
|
+
title: "Workflow Diagram",
|
|
6525
|
+
expanded: expandedSections.has("diagram"),
|
|
6526
|
+
onToggle: () => toggleSection("diagram"),
|
|
6527
|
+
iconColor: "text-purple-500"
|
|
6528
|
+
}
|
|
6529
|
+
),
|
|
6530
|
+
expandedSections.has("diagram") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-5 mt-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white border border-gray-100 rounded-sm p-4 overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsx(FlowchartDiagram, { mermaid: documentation.diagram }) }) })
|
|
6531
|
+
] }),
|
|
6532
|
+
documentation.expected_impact && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6533
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6534
|
+
SectionHeader,
|
|
6535
|
+
{
|
|
6536
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Lightning, { size: 12, weight: "fill" }),
|
|
6537
|
+
title: "Expected Impact",
|
|
6538
|
+
expanded: expandedSections.has("impact"),
|
|
6539
|
+
onToggle: () => toggleSection("impact"),
|
|
6540
|
+
iconColor: "text-purple-500"
|
|
6541
|
+
}
|
|
6542
|
+
),
|
|
6543
|
+
expandedSections.has("impact") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-5 mt-2", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-emerald-50/50 border border-emerald-100 rounded-sm p-4", children: [
|
|
6544
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-3 mb-3", children: [
|
|
6545
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-sm p-3 border border-emerald-100 text-center", children: [
|
|
6546
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.Clock, { size: 18, className: "text-emerald-600 mx-auto mb-1" }),
|
|
6547
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-lg font-bold text-[var(--black)]", children: [
|
|
6548
|
+
documentation.expected_impact.time_saved_per_occurrence_minutes,
|
|
6549
|
+
" min"
|
|
6550
|
+
] }),
|
|
6551
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[10px] text-muted-foreground", children: [
|
|
6552
|
+
"saved per ",
|
|
6553
|
+
freqLabel
|
|
6554
|
+
] })
|
|
6555
|
+
] }),
|
|
6556
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-sm p-3 border border-emerald-100 text-center", children: [
|
|
6557
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.TrendUp, { size: 18, className: "text-emerald-600 mx-auto mb-1" }),
|
|
6558
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-lg font-bold text-[var(--black)]", children: [
|
|
6559
|
+
documentation.expected_impact.yearly_hours_saved,
|
|
6560
|
+
"h"
|
|
6561
|
+
] }),
|
|
6562
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-muted-foreground", children: "saved per year" })
|
|
6563
|
+
] }),
|
|
6564
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-sm p-3 border border-emerald-100 text-center", children: [
|
|
6565
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.CurrencyEur, { size: 18, className: "text-emerald-600 mx-auto mb-1" }),
|
|
6566
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-lg font-bold text-[var(--black)]", children: [
|
|
6567
|
+
"\u20AC",
|
|
6568
|
+
documentation.expected_impact.yearly_cost_savings_euros.toLocaleString()
|
|
6569
|
+
] }),
|
|
6570
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-muted-foreground", children: "estimated yearly savings" })
|
|
6571
|
+
] })
|
|
6572
|
+
] }),
|
|
6573
|
+
documentation.expected_impact.qualitative_benefits && documentation.expected_impact.qualitative_benefits.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: documentation.expected_impact.qualitative_benefits.map((benefit, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-sm text-emerald-700", children: [
|
|
6574
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.Sparkle, { size: 14, className: "text-emerald-500 shrink-0 mt-0.5", weight: "fill" }),
|
|
6575
|
+
benefit
|
|
6576
|
+
] }, i)) })
|
|
6577
|
+
] }) })
|
|
6578
|
+
] }),
|
|
6579
|
+
(documentation.technical_requirements && documentation.technical_requirements.length > 0 || documentation.integration_points && documentation.integration_points.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6580
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6581
|
+
SectionHeader,
|
|
6582
|
+
{
|
|
6583
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Plugs, { size: 12, weight: "fill" }),
|
|
6584
|
+
title: "Requirements & Integrations",
|
|
6585
|
+
expanded: expandedSections.has("requirements"),
|
|
6586
|
+
onToggle: () => toggleSection("requirements")
|
|
6587
|
+
}
|
|
6588
|
+
),
|
|
6589
|
+
expandedSections.has("requirements") && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid md:grid-cols-2 gap-4 pl-5 mt-2", children: [
|
|
6590
|
+
documentation.technical_requirements && documentation.technical_requirements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6591
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2", children: "Technical Requirements" }),
|
|
6592
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1.5", children: documentation.technical_requirements.map((req, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-sm text-muted-foreground", children: [
|
|
6593
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.Wrench, { size: 12, className: "text-gray-400 shrink-0 mt-1" }),
|
|
6594
|
+
req
|
|
6595
|
+
] }, i)) })
|
|
6596
|
+
] }),
|
|
6597
|
+
documentation.integration_points && documentation.integration_points.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6598
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2", children: "Integration Points" }),
|
|
6599
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1.5", children: documentation.integration_points.map((point, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-sm text-muted-foreground", children: [
|
|
6600
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.Plugs, { size: 12, className: "text-gray-400 shrink-0 mt-1" }),
|
|
6601
|
+
point
|
|
6602
|
+
] }, i)) })
|
|
6603
|
+
] })
|
|
6604
|
+
] })
|
|
6605
|
+
] }),
|
|
6606
|
+
documentation.edge_cases_handled && documentation.edge_cases_handled.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6607
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6608
|
+
SectionHeader,
|
|
6609
|
+
{
|
|
6610
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.ShieldCheck, { size: 12, weight: "fill" }),
|
|
6611
|
+
title: "Edge Cases Handled",
|
|
6612
|
+
count: documentation.edge_cases_handled.length,
|
|
6613
|
+
expanded: expandedSections.has("edge_cases"),
|
|
6614
|
+
onToggle: () => toggleSection("edge_cases"),
|
|
6615
|
+
iconColor: "text-amber-500"
|
|
6616
|
+
}
|
|
6617
|
+
),
|
|
6618
|
+
expandedSections.has("edge_cases") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2 pl-5 mt-2", children: documentation.edge_cases_handled.map((ec, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm p-3 bg-gray-50 rounded-sm border border-gray-100", children: [
|
|
6619
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-[var(--black)]", children: ec.scenario }),
|
|
6620
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground mt-1", children: [
|
|
6621
|
+
"\u2192 ",
|
|
6622
|
+
ec.handling
|
|
6623
|
+
] })
|
|
6624
|
+
] }, i)) })
|
|
6625
|
+
] }),
|
|
6626
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-3 border-t border-gray-100 flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
6627
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", size: "sm", children: [
|
|
6628
|
+
"v",
|
|
6629
|
+
documentation.version
|
|
6630
|
+
] }),
|
|
6631
|
+
documentation.model_used && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6632
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u2022" }),
|
|
6633
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: documentation.model_used })
|
|
6634
|
+
] }),
|
|
6635
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u2022" }),
|
|
6636
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
6637
|
+
"Updated ",
|
|
6638
|
+
new Date(documentation.updated_at).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })
|
|
6639
|
+
] })
|
|
6640
|
+
] })
|
|
6641
|
+
] }) });
|
|
6642
|
+
}
|
|
6144
6643
|
|
|
6145
6644
|
// src/index.ts
|
|
6146
6645
|
__reExport(index_exports, icons_exports);
|
|
@@ -6209,6 +6708,7 @@ exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
|
6209
6708
|
exports.EmptyState = EmptyState;
|
|
6210
6709
|
exports.ErrorState = ErrorState;
|
|
6211
6710
|
exports.FilePreview = FilePreview;
|
|
6711
|
+
exports.FlowchartDiagram = FlowchartDiagram;
|
|
6212
6712
|
exports.FormField = FormField;
|
|
6213
6713
|
exports.IconBox = IconBox;
|
|
6214
6714
|
exports.ImpactMetricsForm = ImpactMetricsForm;
|
|
@@ -6300,6 +6800,7 @@ exports.TooltipProvider = TooltipProvider;
|
|
|
6300
6800
|
exports.TooltipTrigger = TooltipTrigger;
|
|
6301
6801
|
exports.UsageBar = UsageBar;
|
|
6302
6802
|
exports.UsageChart = UsageChart;
|
|
6803
|
+
exports.WorkerSpec = WorkerSpec;
|
|
6303
6804
|
exports.WorkflowFlow = WorkflowFlow;
|
|
6304
6805
|
exports.WorkflowViewer = WorkflowViewer;
|
|
6305
6806
|
exports.alertVariants = alertVariants;
|