@anvia/studio 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +25 -2
  2. package/dist/index.d.ts +42 -2
  3. package/dist/index.js +148 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/ui/assets/Check.es-DgvuCllR.js +2 -0
  6. package/dist/ui/assets/Check.es-DgvuCllR.js.map +1 -0
  7. package/dist/ui/assets/Copy.es-DV7tb_eC.js +2 -0
  8. package/dist/ui/assets/Copy.es-DV7tb_eC.js.map +1 -0
  9. package/dist/ui/assets/MagnifyingGlass.es-yzEp9c89.js +2 -0
  10. package/dist/ui/assets/MagnifyingGlass.es-yzEp9c89.js.map +1 -0
  11. package/dist/ui/assets/Wrench.es-rRuP3Mrh.js +2 -0
  12. package/dist/ui/assets/Wrench.es-rRuP3Mrh.js.map +1 -0
  13. package/dist/ui/assets/agents-page-ByhvVYOx.js +2 -0
  14. package/dist/ui/assets/agents-page-ByhvVYOx.js.map +1 -0
  15. package/dist/ui/assets/badge-C3fkxijh.js +2 -0
  16. package/dist/ui/assets/badge-C3fkxijh.js.map +1 -0
  17. package/dist/ui/assets/button-B_AoswCu.js +2 -0
  18. package/dist/ui/assets/button-B_AoswCu.js.map +1 -0
  19. package/dist/ui/assets/{dialog-DN8F1Aaq.js → dialog-BfKpnby4.js} +2 -2
  20. package/dist/ui/assets/{dialog-DN8F1Aaq.js.map → dialog-BfKpnby4.js.map} +1 -1
  21. package/dist/ui/assets/{dist-PrGeYMiK.js → dist-Dr6EWOhl.js} +2 -2
  22. package/dist/ui/assets/{dist-PrGeYMiK.js.map → dist-Dr6EWOhl.js.map} +1 -1
  23. package/dist/ui/assets/{es2015-Ck1KeeEx.js → es2015-DGcxtKLK.js} +2 -2
  24. package/dist/ui/assets/{es2015-Ck1KeeEx.js.map → es2015-DGcxtKLK.js.map} +1 -1
  25. package/dist/ui/assets/favicon-dark.svg +7 -0
  26. package/dist/ui/assets/favicon-light.svg +7 -0
  27. package/dist/ui/assets/favicon.svg +1 -1
  28. package/dist/ui/assets/graphs-page-ne3dJIrx.js +2 -0
  29. package/dist/ui/assets/graphs-page-ne3dJIrx.js.map +1 -0
  30. package/dist/ui/assets/index-BGl7eOVR.css +2 -0
  31. package/dist/ui/assets/index-DF9Ysm8q.js +75 -0
  32. package/dist/ui/assets/index-DF9Ysm8q.js.map +1 -0
  33. package/dist/ui/assets/{input-DHvac9Uq.js → input-DuERdYTl.js} +2 -2
  34. package/dist/ui/assets/{input-DHvac9Uq.js.map → input-DuERdYTl.js.map} +1 -1
  35. package/dist/ui/assets/knowledge-page-1WgvGV4f.js +2 -0
  36. package/dist/ui/assets/knowledge-page-1WgvGV4f.js.map +1 -0
  37. package/dist/ui/assets/{mcps-page-MSz67ifn.js → mcps-page-BV96jSfG.js} +2 -2
  38. package/dist/ui/assets/mcps-page-BV96jSfG.js.map +1 -0
  39. package/dist/ui/assets/memory-page-DxClkjRl.js +4 -0
  40. package/dist/ui/assets/{memory-page-2qr2eMrI.js.map → memory-page-DxClkjRl.js.map} +1 -1
  41. package/dist/ui/assets/pipelines-page-ClO_uXn1.js +2 -0
  42. package/dist/ui/assets/pipelines-page-ClO_uXn1.js.map +1 -0
  43. package/dist/ui/assets/{renderers-BIw5yJkg.js → renderers-Cf55u6J4.js} +3 -3
  44. package/dist/ui/assets/{renderers-BIw5yJkg.js.map → renderers-Cf55u6J4.js.map} +1 -1
  45. package/dist/ui/assets/{request-CnFL8L6p.js → request-DbgMKweq.js} +2 -2
  46. package/dist/ui/assets/{request-CnFL8L6p.js.map → request-DbgMKweq.js.map} +1 -1
  47. package/dist/ui/assets/{sandboxes-page-DWMtrKYJ.js → sandboxes-page-Bo4S4ILL.js} +2 -2
  48. package/dist/ui/assets/sandboxes-page-Bo4S4ILL.js.map +1 -0
  49. package/dist/ui/assets/select-BdCBnmXx.js +2 -0
  50. package/dist/ui/assets/{select-C1_9fsRu.js.map → select-BdCBnmXx.js.map} +1 -1
  51. package/dist/ui/assets/sessions-page-BMnR-r_F.js +2 -0
  52. package/dist/ui/assets/sessions-page-BMnR-r_F.js.map +1 -0
  53. package/dist/ui/assets/status-page-Ys5dQyMG.js +2 -0
  54. package/dist/ui/assets/status-page-Ys5dQyMG.js.map +1 -0
  55. package/dist/ui/assets/studio-DzEdCFsX.js +2 -0
  56. package/dist/ui/assets/studio-DzEdCFsX.js.map +1 -0
  57. package/dist/ui/assets/style-BstB0PNS.js +8 -0
  58. package/dist/ui/assets/style-BstB0PNS.js.map +1 -0
  59. package/dist/ui/assets/{textarea-CZvhTJxB.js → textarea-fAtCF2cf.js} +2 -2
  60. package/dist/ui/assets/{textarea-CZvhTJxB.js.map → textarea-fAtCF2cf.js.map} +1 -1
  61. package/dist/ui/assets/tool-runner-Cwfc3yY8.js +2 -0
  62. package/dist/ui/assets/tool-runner-Cwfc3yY8.js.map +1 -0
  63. package/dist/ui/assets/{tools-page-D1ewvG0D.js → tools-page-BSgFqVi2.js} +2 -2
  64. package/dist/ui/assets/tools-page-BSgFqVi2.js.map +1 -0
  65. package/dist/ui/assets/trace-browser-Co9iS9HR.js +4 -0
  66. package/dist/ui/assets/trace-browser-Co9iS9HR.js.map +1 -0
  67. package/dist/ui/assets/transcript-item-ChVGempt.js +3 -0
  68. package/dist/ui/assets/transcript-item-ChVGempt.js.map +1 -0
  69. package/dist/ui/index.html +28 -20
  70. package/package.json +5 -4
  71. package/dist/ui/assets/CaretDown.es-CXu4Fvbf.js +0 -2
  72. package/dist/ui/assets/CaretDown.es-CXu4Fvbf.js.map +0 -1
  73. package/dist/ui/assets/Check.es-DSXK9-8c.js +0 -2
  74. package/dist/ui/assets/Check.es-DSXK9-8c.js.map +0 -1
  75. package/dist/ui/assets/Wrench.es-Cl38Pi3C.js +0 -4
  76. package/dist/ui/assets/Wrench.es-Cl38Pi3C.js.map +0 -1
  77. package/dist/ui/assets/agents-page-h-83w9EN.js +0 -2
  78. package/dist/ui/assets/agents-page-h-83w9EN.js.map +0 -1
  79. package/dist/ui/assets/badge-O3YyUN3G.js +0 -2
  80. package/dist/ui/assets/badge-O3YyUN3G.js.map +0 -1
  81. package/dist/ui/assets/button-Dsqwey2_.js +0 -2
  82. package/dist/ui/assets/button-Dsqwey2_.js.map +0 -1
  83. package/dist/ui/assets/index-DmctBqLn.js +0 -75
  84. package/dist/ui/assets/index-DmctBqLn.js.map +0 -1
  85. package/dist/ui/assets/index-VCdJ2Rb4.css +0 -2
  86. package/dist/ui/assets/knowledge-page-DKnPrmhK.js +0 -2
  87. package/dist/ui/assets/knowledge-page-DKnPrmhK.js.map +0 -1
  88. package/dist/ui/assets/mcps-page-MSz67ifn.js.map +0 -1
  89. package/dist/ui/assets/memory-page-2qr2eMrI.js +0 -4
  90. package/dist/ui/assets/pipelines-page-D1IB1tw-.js +0 -8
  91. package/dist/ui/assets/pipelines-page-D1IB1tw-.js.map +0 -1
  92. package/dist/ui/assets/sandboxes-page-DWMtrKYJ.js.map +0 -1
  93. package/dist/ui/assets/select-C1_9fsRu.js +0 -2
  94. package/dist/ui/assets/sessions-page-BIk4q-L8.js +0 -2
  95. package/dist/ui/assets/sessions-page-BIk4q-L8.js.map +0 -1
  96. package/dist/ui/assets/status-page-jKTghmnz.js +0 -2
  97. package/dist/ui/assets/status-page-jKTghmnz.js.map +0 -1
  98. package/dist/ui/assets/studio-Bh00wIF1.js +0 -2
  99. package/dist/ui/assets/studio-Bh00wIF1.js.map +0 -1
  100. package/dist/ui/assets/tool-runner-BtaZqE3R.js +0 -2
  101. package/dist/ui/assets/tool-runner-BtaZqE3R.js.map +0 -1
  102. package/dist/ui/assets/tools-page-D1ewvG0D.js.map +0 -1
  103. package/dist/ui/assets/trace-browser-CuBl9__d.js +0 -10
  104. package/dist/ui/assets/trace-browser-CuBl9__d.js.map +0 -1
  105. package/dist/ui/assets/transcript-item-ChtaJvPe.js +0 -3
  106. package/dist/ui/assets/transcript-item-ChtaJvPe.js.map +0 -1
  107. /package/dist/ui/assets/{pipelines-page-DLioOiRN.css → style-DLioOiRN.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-runner-BtaZqE3R.js","names":[],"sources":["../../../src/ui/app/modules/tools/schema-argument-editor.tsx","../../../src/ui/app/modules/tools/tool-runner.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { Button } from \"../../components/ui/button\";\nimport { Input } from \"../../components/ui/input\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../components/ui/select\";\nimport { Textarea } from \"../../components/ui/textarea\";\nimport { isRecord } from \"../shared/object\";\n\ntype ArgumentMode = \"form\" | \"json\";\ntype JsonPath = Array<string | number>;\ntype ParseResult = { ok: true; value: unknown } | { ok: false; error: string };\n\nexport function SchemaArgumentEditor(props: {\n schema: unknown;\n value: string;\n disabled?: boolean;\n onChange: (value: string) => void;\n}) {\n const [mode, setMode] = useState<ArgumentMode>(\"form\");\n const rootFields = useMemo(() => schemaFields(props.schema), [props.schema]);\n const parsed = useMemo(() => parseJson(props.value), [props.value]);\n const disabled = props.disabled === true;\n const canRenderForm = rootFields.length > 0;\n const effectiveMode = canRenderForm ? mode : \"json\";\n const rootValue = parsed.ok && isRecord(parsed.value) ? parsed.value : undefined;\n\n function updatePath(path: JsonPath, value: unknown | undefined) {\n const base = rootValue ?? {};\n props.onChange(formatEditorJson(setValueAtPath(base, path, value)));\n }\n\n function removePathItem(path: JsonPath, index: number) {\n const base = rootValue ?? {};\n const arrayValue = getValueAtPath(base, path);\n if (!Array.isArray(arrayValue)) {\n return;\n }\n props.onChange(\n formatEditorJson(\n setValueAtPath(\n base,\n path,\n arrayValue.filter((_, itemIndex) => itemIndex !== index),\n ),\n ),\n );\n }\n\n return (\n <div className=\"grid min-w-0 gap-3\">\n <div className=\"flex min-w-0 items-center justify-between gap-3\">\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Arguments\n </span>\n {canRenderForm ? (\n <div className=\"inline-grid h-8 grid-cols-2 overflow-hidden rounded-md border border-border/80 bg-background/45 p-0.5\">\n <ModeButton active={effectiveMode === \"form\"} onClick={() => setMode(\"form\")}>\n Form\n </ModeButton>\n <ModeButton active={effectiveMode === \"json\"} onClick={() => setMode(\"json\")}>\n JSON\n </ModeButton>\n </div>\n ) : (\n <span className=\"text-xs font-medium text-muted-foreground\">JSON</span>\n )}\n </div>\n\n {effectiveMode === \"json\" || rootValue === undefined ? (\n <RawJsonEditor\n disabled={disabled}\n error={parsed.ok ? \"\" : parsed.error}\n value={props.value}\n onChange={props.onChange}\n />\n ) : (\n <div className=\"grid gap-3\">\n {rootFields.map((field) => (\n <SchemaField\n disabled={disabled}\n field={field}\n key={field.name}\n path={[field.name]}\n rootValue={rootValue}\n onChange={updatePath}\n onRemoveArrayItem={removePathItem}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nfunction ModeButton(props: { active: boolean; children: string; onClick: () => void }) {\n return (\n <button\n className={\n props.active\n ? \"rounded-[5px] bg-muted/55 px-3 text-xs font-semibold text-foreground\"\n : \"rounded-[5px] px-3 text-xs font-medium text-muted-foreground transition hover:text-foreground\"\n }\n type=\"button\"\n onClick={props.onClick}\n >\n {props.children}\n </button>\n );\n}\n\nfunction RawJsonEditor(props: {\n value: string;\n error: string;\n disabled: boolean;\n onChange: (value: string) => void;\n}) {\n return (\n <div className=\"grid gap-2\">\n <Textarea\n className=\"min-h-36 resize-y rounded-md border-border bg-background/45 p-3 text-xs leading-5\"\n disabled={props.disabled}\n value={props.value}\n spellCheck={false}\n onChange={(event) => props.onChange(event.target.value)}\n />\n {props.error.length === 0 ? null : (\n <div className=\"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive\">\n {props.error}\n </div>\n )}\n </div>\n );\n}\n\ntype SchemaFieldDefinition = {\n name: string;\n schema: Record<string, unknown>;\n required: boolean;\n};\n\nfunction SchemaField(props: {\n field: SchemaFieldDefinition;\n path: JsonPath;\n rootValue: Record<string, unknown>;\n disabled: boolean;\n onChange: (path: JsonPath, value: unknown | undefined) => void;\n onRemoveArrayItem: (path: JsonPath, index: number) => void;\n}) {\n const value = getValueAtPath(props.rootValue, props.path);\n const label = schemaLabel(props.field.schema, props.field.name);\n const description = schemaDescription(props.field.schema);\n const type = schemaPrimaryType(props.field.schema);\n\n if (type === \"object\") {\n const fields = schemaFields(props.field.schema);\n return (\n <fieldset className=\"grid min-w-0 gap-3 border-b border-border/70 pb-3 last:border-b-0\">\n <div className=\"flex min-w-0 items-center justify-between gap-3\">\n <legend className=\"min-w-0 truncate text-sm font-semibold text-foreground\">\n {label}\n </legend>\n {props.field.required ? <RequiredBadge /> : null}\n </div>\n {description === undefined ? null : (\n <p className=\"m-0 text-xs leading-5 text-muted-foreground\">{description}</p>\n )}\n {fields.length === 0 ? (\n <JsonValueField\n disabled={props.disabled}\n path={props.path}\n value={value}\n onChange={props.onChange}\n />\n ) : (\n <div className=\"grid gap-3 border-l border-border/70 pl-3\">\n {fields.map((field) => (\n <SchemaField\n disabled={props.disabled}\n field={field}\n key={field.name}\n path={[...props.path, field.name]}\n rootValue={props.rootValue}\n onChange={props.onChange}\n onRemoveArrayItem={props.onRemoveArrayItem}\n />\n ))}\n </div>\n )}\n </fieldset>\n );\n }\n\n if (type === \"array\") {\n return (\n <ArrayField\n description={description}\n disabled={props.disabled}\n field={props.field}\n label={label}\n path={props.path}\n rootValue={props.rootValue}\n value={value}\n onChange={props.onChange}\n onRemoveArrayItem={props.onRemoveArrayItem}\n />\n );\n }\n\n return (\n <div className=\"grid min-w-0 gap-2 border-b border-border/70 pb-3 last:border-b-0\">\n <FieldHeader label={label} required={props.field.required} />\n {description === undefined ? null : (\n <p className=\"m-0 text-xs leading-5 text-muted-foreground\">{description}</p>\n )}\n <ScalarFieldControl\n disabled={props.disabled}\n path={props.path}\n required={props.field.required}\n schema={props.field.schema}\n value={value}\n onChange={props.onChange}\n />\n </div>\n );\n}\n\nfunction ArrayField(props: {\n field: SchemaFieldDefinition;\n label: string;\n description: string | undefined;\n path: JsonPath;\n rootValue: Record<string, unknown>;\n value: unknown;\n disabled: boolean;\n onChange: (path: JsonPath, value: unknown | undefined) => void;\n onRemoveArrayItem: (path: JsonPath, index: number) => void;\n}) {\n const itemSchema = schemaItems(props.field.schema);\n const items = Array.isArray(props.value) ? props.value : [];\n const itemEntries = items.map((item, index) => ({\n index,\n key: `${formatPath(props.path)}:${index}:${formatEnumValue(item)}`,\n }));\n return (\n <div className=\"grid min-w-0 gap-3 border-b border-border/70 pb-3 last:border-b-0\">\n <div className=\"flex min-w-0 items-center justify-between gap-3\">\n <FieldHeader label={props.label} required={props.field.required} />\n {itemSchema === undefined ? null : (\n <Button\n className=\"h-8 min-h-8 rounded-md px-3 text-xs\"\n disabled={props.disabled}\n type=\"button\"\n variant=\"secondary\"\n onClick={() =>\n props.onChange(props.path, [...items, defaultValueForSchema(itemSchema)])\n }\n >\n Add\n </Button>\n )}\n </div>\n {props.description === undefined ? null : (\n <p className=\"m-0 text-xs leading-5 text-muted-foreground\">{props.description}</p>\n )}\n {itemSchema === undefined ? (\n <JsonValueField\n disabled={props.disabled}\n path={props.path}\n value={props.value}\n onChange={props.onChange}\n />\n ) : items.length === 0 ? (\n <div className=\"rounded-md border border-dashed border-border/70 px-3 py-2 text-xs text-muted-foreground\">\n Empty array\n </div>\n ) : (\n <div className=\"grid gap-3 border-l border-border/70 pl-3\">\n {itemEntries.map((item) => (\n <div className=\"grid gap-2\" key={item.key}>\n <div className=\"flex items-center justify-between gap-3\">\n <span className=\"text-xs font-medium text-muted-foreground\">\n Item {item.index + 1}\n </span>\n <Button\n className=\"h-7 min-h-7 rounded-md px-2 text-xs\"\n disabled={props.disabled}\n type=\"button\"\n variant=\"ghost\"\n onClick={() => props.onRemoveArrayItem(props.path, item.index)}\n >\n Remove\n </Button>\n </div>\n <SchemaField\n disabled={props.disabled}\n field={{\n name: String(item.index + 1),\n required: true,\n schema: itemSchema,\n }}\n path={[...props.path, item.index]}\n rootValue={props.rootValue}\n onChange={props.onChange}\n onRemoveArrayItem={props.onRemoveArrayItem}\n />\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n\nfunction FieldHeader(props: { label: string; required: boolean }) {\n return (\n <div className=\"flex min-w-0 items-center gap-2\">\n <span className=\"min-w-0 truncate text-sm font-semibold text-foreground\">{props.label}</span>\n {props.required ? <RequiredBadge /> : null}\n </div>\n );\n}\n\nfunction RequiredBadge() {\n return (\n <span className=\"rounded-md bg-muted/35 px-2 py-0.5 text-[11px] font-medium text-muted-foreground\">\n required\n </span>\n );\n}\n\nfunction ScalarFieldControl(props: {\n schema: Record<string, unknown>;\n path: JsonPath;\n value: unknown;\n required: boolean;\n disabled: boolean;\n onChange: (path: JsonPath, value: unknown | undefined) => void;\n}) {\n const enumOptions = schemaEnum(props.schema);\n if (enumOptions.length > 0) {\n const selectedIndex = enumOptions.findIndex((option) => jsonEqual(option, props.value));\n const optionEntries = enumOptions.map((option, index) => ({\n label: formatEnumValue(option),\n value: String(index),\n key: `${index}:${formatEnumValue(option)}`,\n }));\n return (\n <div className=\"flex min-w-0 items-center gap-2\">\n <Select\n value={selectedIndex === -1 ? \"\" : String(selectedIndex)}\n disabled={props.disabled}\n onValueChange={(value) => props.onChange(props.path, enumOptions[Number(value)])}\n >\n <SelectTrigger className=\"h-9 min-h-9 rounded-md border-border bg-background/45 text-sm\">\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n {optionEntries.map((option) => (\n <SelectItem value={option.value} key={option.key}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {selectedIndex === -1 || props.required ? null : (\n <Button\n className=\"h-9 min-h-9 rounded-md px-3 text-xs\"\n disabled={props.disabled}\n type=\"button\"\n variant=\"ghost\"\n onClick={() => props.onChange(props.path, undefined)}\n >\n Clear\n </Button>\n )}\n </div>\n );\n }\n\n const type = schemaPrimaryType(props.schema);\n if (type === \"boolean\") {\n return (\n <label className=\"flex min-h-9 w-fit cursor-pointer items-center gap-2 rounded-md border border-border/70 bg-background/45 px-3 text-sm text-foreground\">\n <input\n checked={props.value === true}\n disabled={props.disabled}\n type=\"checkbox\"\n className=\"h-4 w-4 accent-foreground\"\n onChange={(event) => props.onChange(props.path, event.target.checked)}\n />\n Enabled\n </label>\n );\n }\n\n if (type === \"number\" || type === \"integer\") {\n return (\n <NumberFieldControl\n disabled={props.disabled}\n path={props.path}\n schema={props.schema}\n type={type}\n value={props.value}\n onChange={props.onChange}\n />\n );\n }\n\n if (type === \"string\") {\n return (\n <Input\n className=\"h-9 rounded-md border-border bg-background/45 text-sm\"\n disabled={props.disabled}\n type=\"text\"\n value={typeof props.value === \"string\" ? props.value : \"\"}\n placeholder={schemaDefaultPlaceholder(props.schema)}\n onChange={(event) => {\n const nextValue = event.target.value;\n props.onChange(\n props.path,\n nextValue.length === 0 && !props.required ? undefined : nextValue,\n );\n }}\n />\n );\n }\n\n return (\n <JsonValueField\n disabled={props.disabled}\n path={props.path}\n value={props.value}\n onChange={props.onChange}\n />\n );\n}\n\nfunction NumberFieldControl(props: {\n schema: Record<string, unknown>;\n type: \"number\" | \"integer\";\n path: JsonPath;\n value: unknown;\n disabled: boolean;\n onChange: (path: JsonPath, value: unknown | undefined) => void;\n}) {\n const externalValue = typeof props.value === \"number\" ? String(props.value) : \"\";\n const [draft, setDraft] = useState(externalValue);\n\n useEffect(() => {\n setDraft(externalValue);\n }, [externalValue]);\n\n return (\n <Input\n className=\"h-9 rounded-md border-border bg-background/45 text-sm\"\n disabled={props.disabled}\n inputMode={props.type === \"integer\" ? \"numeric\" : \"decimal\"}\n type=\"text\"\n value={draft}\n placeholder={schemaDefaultPlaceholder(props.schema)}\n onBlur={() => {\n if (draft.trim().length === 0) {\n setDraft(\"\");\n return;\n }\n const nextValue = parseNumberDraft(draft, props.type);\n setDraft(nextValue.ok ? String(nextValue.value) : externalValue);\n }}\n onChange={(event) => {\n const nextDraft = event.target.value;\n setDraft(nextDraft);\n if (nextDraft.trim().length === 0) {\n props.onChange(props.path, undefined);\n return;\n }\n const nextValue = parseNumberDraft(nextDraft, props.type);\n if (nextValue.ok) {\n props.onChange(props.path, nextValue.value);\n }\n }}\n />\n );\n}\n\nfunction JsonValueField(props: {\n path: JsonPath;\n value: unknown;\n disabled: boolean;\n onChange: (path: JsonPath, value: unknown | undefined) => void;\n}) {\n const externalValue = useMemo(() => fieldJsonValue(props.value), [props.value]);\n const [draft, setDraft] = useState(externalValue);\n const parsed = useMemo(() => parseJson(draft), [draft]);\n\n useEffect(() => {\n setDraft(externalValue);\n }, [externalValue]);\n\n return (\n <div className=\"grid gap-2\">\n <Textarea\n className=\"min-h-24 resize-y rounded-md border-border bg-background/45 p-3 text-xs leading-5\"\n disabled={props.disabled}\n value={draft}\n spellCheck={false}\n onChange={(event) => {\n const nextDraft = event.target.value;\n setDraft(nextDraft);\n if (nextDraft.trim().length === 0) {\n props.onChange(props.path, undefined);\n return;\n }\n const nextValue = parseJson(nextDraft);\n if (nextValue.ok) {\n props.onChange(props.path, nextValue.value);\n }\n }}\n />\n {parsed.ok || draft.trim().length === 0 ? null : (\n <div className=\"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive\">\n {parsed.error}\n </div>\n )}\n </div>\n );\n}\n\nfunction schemaFields(schema: unknown): SchemaFieldDefinition[] {\n if (!isRecord(schema)) {\n return [];\n }\n const properties = schema.properties;\n if (!isRecord(properties)) {\n return [];\n }\n const required = schemaRequired(schema);\n return Object.entries(properties).map(([name, propertySchema]) => ({\n name,\n required: required.has(name),\n schema: isRecord(propertySchema) ? propertySchema : {},\n }));\n}\n\nfunction schemaRequired(schema: Record<string, unknown>): Set<string> {\n const required = schema.required;\n if (!Array.isArray(required)) {\n return new Set();\n }\n return new Set(required.filter((item): item is string => typeof item === \"string\"));\n}\n\nfunction schemaPrimaryType(schema: Record<string, unknown>): string {\n const type = schema.type;\n if (typeof type === \"string\") {\n return type;\n }\n if (Array.isArray(type)) {\n const firstType = type.find(\n (item): item is string => typeof item === \"string\" && item !== \"null\",\n );\n if (firstType !== undefined) {\n return firstType;\n }\n }\n if (schemaEnum(schema).length > 0) {\n return \"enum\";\n }\n if (isRecord(schema.properties)) {\n return \"object\";\n }\n if (schema.items !== undefined) {\n return \"array\";\n }\n return \"unknown\";\n}\n\nfunction schemaItems(schema: Record<string, unknown>): Record<string, unknown> | undefined {\n return isRecord(schema.items) ? schema.items : undefined;\n}\n\nfunction schemaEnum(schema: Record<string, unknown>): unknown[] {\n return Array.isArray(schema.enum) ? schema.enum : [];\n}\n\nfunction schemaLabel(schema: Record<string, unknown>, fallback: string): string {\n return typeof schema.title === \"string\" && schema.title.length > 0\n ? schema.title\n : formatFieldName(fallback);\n}\n\nfunction schemaDescription(schema: Record<string, unknown>): string | undefined {\n return typeof schema.description === \"string\" && schema.description.length > 0\n ? schema.description\n : undefined;\n}\n\nfunction schemaDefaultPlaceholder(schema: Record<string, unknown>): string | undefined {\n return Object.hasOwn(schema, \"default\") ? formatEnumValue(schema.default) : undefined;\n}\n\nfunction defaultValueForSchema(schema: Record<string, unknown>): unknown {\n if (Object.hasOwn(schema, \"default\")) {\n return schema.default;\n }\n const enumOptions = schemaEnum(schema);\n if (enumOptions.length > 0) {\n return enumOptions[0];\n }\n const type = schemaPrimaryType(schema);\n if (type === \"boolean\") {\n return false;\n }\n if (type === \"integer\" || type === \"number\") {\n return 0;\n }\n if (type === \"array\") {\n return [];\n }\n if (type === \"object\") {\n return {};\n }\n if (type === \"string\") {\n return \"\";\n }\n return null;\n}\n\nfunction getValueAtPath(root: unknown, path: JsonPath): unknown {\n let current = root;\n for (const segment of path) {\n if (typeof segment === \"number\") {\n if (!Array.isArray(current)) {\n return undefined;\n }\n current = current[segment];\n continue;\n }\n if (!isRecord(current)) {\n return undefined;\n }\n current = current[segment];\n }\n return current;\n}\n\nfunction setValueAtPath(root: unknown, path: JsonPath, value: unknown | undefined): unknown {\n if (path.length === 0) {\n return value;\n }\n const [segment, ...rest] = path;\n const nextRoot = Array.isArray(root) ? [...root] : isRecord(root) ? { ...root } : {};\n if (rest.length === 0) {\n if (value === undefined) {\n if (Array.isArray(nextRoot) && typeof segment === \"number\") {\n nextRoot.splice(segment, 1);\n } else if (!Array.isArray(nextRoot) && typeof segment === \"string\") {\n delete nextRoot[segment];\n }\n return nextRoot;\n }\n if (Array.isArray(nextRoot) && typeof segment === \"number\") {\n nextRoot[segment] = value;\n } else if (!Array.isArray(nextRoot) && typeof segment === \"string\") {\n nextRoot[segment] = value;\n }\n return nextRoot;\n }\n const currentValue =\n Array.isArray(nextRoot) && typeof segment === \"number\"\n ? nextRoot[segment]\n : !Array.isArray(nextRoot) && typeof segment === \"string\"\n ? nextRoot[segment]\n : undefined;\n const nextValue = setValueAtPath(currentValue, rest, value);\n if (Array.isArray(nextRoot) && typeof segment === \"number\") {\n nextRoot[segment] = nextValue;\n } else if (!Array.isArray(nextRoot) && typeof segment === \"string\") {\n nextRoot[segment] = nextValue;\n }\n return nextRoot;\n}\n\nfunction parseJson(value: string): ParseResult {\n if (value.trim().length === 0) {\n return { ok: true, value: undefined };\n }\n try {\n return { ok: true, value: JSON.parse(value) };\n } catch (error) {\n return { ok: false, error: error instanceof Error ? error.message : String(error) };\n }\n}\n\ntype NumberParseResult = { ok: true; value: number } | { ok: false };\n\nfunction parseNumberDraft(value: string, type: \"number\" | \"integer\"): NumberParseResult {\n const normalized = value.trim();\n if (normalized.length === 0 || isIncompleteNumberDraft(normalized)) {\n return { ok: false };\n }\n const parsed = Number(normalized);\n if (!Number.isFinite(parsed)) {\n return { ok: false };\n }\n if (type === \"integer\" && !Number.isInteger(parsed)) {\n return { ok: false };\n }\n return { ok: true, value: parsed };\n}\n\nfunction isIncompleteNumberDraft(value: string): boolean {\n return (\n value === \"-\" ||\n value === \"+\" ||\n value === \".\" ||\n value === \"-.\" ||\n value === \"+.\" ||\n /^[+-]?\\d+\\.$/.test(value) ||\n /[eE][+-]?$/.test(value)\n );\n}\n\nfunction fieldJsonValue(value: unknown): string {\n if (value === undefined) {\n return \"\";\n }\n return formatEditorJson(value);\n}\n\nfunction formatEditorJson(value: unknown): string {\n return JSON.stringify(value, null, 2);\n}\n\nfunction jsonEqual(left: unknown, right: unknown): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction formatEnumValue(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return String(value);\n }\n if (value === null) {\n return \"null\";\n }\n return JSON.stringify(value);\n}\n\nfunction formatPath(path: JsonPath): string {\n return path.join(\".\");\n}\n\nfunction formatFieldName(value: string): string {\n return value\n .replace(/[_-]+/g, \" \")\n .replace(/([a-z])([A-Z])/g, \"$1 $2\")\n .replace(/\\b\\w/g, (match) => match.toUpperCase());\n}\n","import type { ReactNode } from \"react\";\nimport type { StudioAgentToolMetadata, StudioToolRunResponse } from \"../../../../types\";\nimport { Badge } from \"../../components/ui/badge\";\nimport { Button } from \"../../components/ui/button\";\nimport { parseToolDisplayValue } from \"../shared/format\";\nimport { isRecord } from \"../shared/object\";\nimport { JsonSyntax } from \"../shared/renderers\";\nimport { SchemaArgumentEditor } from \"./schema-argument-editor\";\n\nexport type ToolRunState = \"idle\" | \"running\";\n\nexport function ToolRunner(props: {\n selectedTool: StudioAgentToolMetadata | undefined;\n argsText: string;\n runState: ToolRunState;\n runError: string;\n runResponse: StudioToolRunResponse | undefined;\n onArgsTextChange: (value: string) => void;\n onRun: () => void;\n}) {\n const propertyCount =\n props.selectedTool === undefined ? 0 : schemaPropertyCount(props.selectedTool.parameters);\n return (\n <section className=\"grid gap-4 border-t border-border/80 pt-4 xl:grid-cols-[minmax(260px,0.42fr)_minmax(0,1fr)]\">\n <div className=\"grid content-start gap-3\">\n <div className=\"grid gap-1.5\">\n <h2 className=\"m-0 text-base font-semibold text-foreground\">Runner</h2>\n {props.selectedTool === undefined ? (\n <p className=\"m-0 text-sm leading-6 text-muted-foreground\">No tool selected</p>\n ) : (\n <>\n <p className=\"m-0 break-all text-sm font-semibold leading-6 text-foreground\">\n {props.selectedTool.name}\n </p>\n <p className=\"m-0 max-w-[62ch] text-sm leading-6 text-muted-foreground\">\n {props.selectedTool.description}\n </p>\n </>\n )}\n </div>\n {props.selectedTool === undefined ? null : (\n <div className=\"flex min-w-0 flex-wrap gap-2\">\n <Badge className={originBadgeClass(props.selectedTool)}>\n {toolOriginLabel(props.selectedTool)}\n </Badge>\n <Badge className={approvalBadgeClass(props.selectedTool.approval.required)}>\n approval {props.selectedTool.approval.required ? \"required\" : \"none\"}\n </Badge>\n <ToolMetaPill>\n {propertyCount} {propertyCount === 1 ? \"field\" : \"fields\"}\n </ToolMetaPill>\n </div>\n )}\n {props.selectedTool?.approval.reason === undefined ? null : (\n <p className=\"m-0 border-l border-border/80 pl-3 text-xs leading-5 text-muted-foreground\">\n {props.selectedTool.approval.reason}\n </p>\n )}\n </div>\n <div className=\"grid min-w-0 gap-3\">\n <SchemaArgumentEditor\n disabled={props.selectedTool === undefined}\n schema={props.selectedTool?.parameters}\n value={props.argsText}\n onChange={props.onArgsTextChange}\n />\n <div className=\"flex min-w-0 items-center justify-between gap-3\">\n <span className=\"min-w-0 truncate text-xs text-muted-foreground\">\n Arguments must be valid JSON.\n </span>\n <Button\n className=\"h-8 min-h-8 rounded-md px-4 text-xs\"\n type=\"button\"\n disabled={props.runState === \"running\" || props.selectedTool === undefined}\n onClick={props.onRun}\n >\n {props.runState === \"running\" ? \"Running\" : \"Run\"}\n </Button>\n </div>\n {props.runError.length > 0 ? (\n <div className=\"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive\">\n {props.runError}\n </div>\n ) : null}\n {props.selectedTool === undefined ? null : (\n <details className=\"group border-t border-border/70 pt-3\">\n <summary className=\"flex cursor-pointer list-none items-center justify-between gap-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground marker:hidden\">\n Parameter schema\n <span className=\"font-medium normal-case tracking-normal\">\n {schemaType(props.selectedTool.parameters)}\n </span>\n </summary>\n <div className=\"mt-3\">\n <SchemaBlock value={props.selectedTool.parameters} title=\"JSON schema\" />\n </div>\n </details>\n )}\n {props.runResponse === undefined ? null : <ToolRunResult response={props.runResponse} />}\n </div>\n </section>\n );\n}\n\nfunction ToolRunResult(props: { response: StudioToolRunResponse }) {\n const hasResult = Object.hasOwn(props.response, \"result\");\n const primaryValue = hasResult ? props.response.result : props.response.error;\n const title = hasResult ? \"Tool result\" : \"Tool error\";\n\n return (\n <div className=\"grid gap-3\">\n <SchemaBlock value={displayToolRunValue(primaryValue)} title={title} />\n <details className=\"group border-t border-border/70 pt-3\">\n <summary className=\"flex cursor-pointer list-none items-center justify-between gap-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground marker:hidden\">\n Raw run response\n <span className=\"font-medium normal-case tracking-normal\">\n {props.response.status} / {props.response.durationMs}ms\n </span>\n </summary>\n <div className=\"mt-3\">\n <SchemaBlock value={props.response} title=\"Studio envelope\" />\n </div>\n </details>\n </div>\n );\n}\n\nexport function SchemaBlock(props: { value: unknown; title: string }) {\n return (\n <section className=\"grid min-w-0 content-start overflow-hidden rounded-lg bg-background/45\">\n <div className=\"flex min-h-9 items-center justify-between gap-3 bg-muted/20 px-4\">\n <span className=\" text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground\">\n {props.title}\n </span>\n <span className=\" text-xs text-muted-foreground\">{schemaType(props.value)}</span>\n </div>\n <div className=\"min-w-0 overflow-x-auto\">\n <pre className=\"m-0 max-h-96 min-w-max p-4 text-xs leading-5 text-foreground\">\n <code>\n <JsonSyntax text={formatSchema(props.value)} />\n </code>\n </pre>\n </div>\n </section>\n );\n}\n\nexport function ToolMetaPill(props: { children: ReactNode }) {\n return (\n <span className=\"inline-flex min-h-7 items-center rounded-md bg-muted/25 px-2.5 text-xs font-medium text-muted-foreground\">\n {props.children}\n </span>\n );\n}\n\nexport function approvalBadgeClass(required: boolean): string {\n return required\n ? \"border-border/80 bg-muted/35 text-foreground\"\n : \"border-transparent bg-transparent text-muted-foreground/60\";\n}\n\nexport function sourceBadgeClass(source: \"static\" | \"dynamic\"): string {\n return source === \"dynamic\"\n ? \"border-border/80 bg-muted/45 text-foreground\"\n : \"border-border/80 bg-muted/55 text-muted-foreground\";\n}\n\nexport function originBadgeClass(tool: StudioAgentToolMetadata): string {\n return tool.mcpServerName === undefined\n ? sourceBadgeClass(tool.source)\n : \"border-border/80 bg-muted/35 text-foreground\";\n}\n\nexport function toolOriginLabel(tool: StudioAgentToolMetadata): string {\n return tool.mcpServerName === undefined ? tool.source : `MCP / ${tool.mcpServerName}`;\n}\n\nexport function schemaType(value: unknown): string {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return \"value\";\n }\n const type = (value as { type?: unknown }).type;\n return typeof type === \"string\" ? type : \"object\";\n}\n\nexport function schemaPropertyCount(value: unknown): number {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return 0;\n }\n const properties = (value as { properties?: unknown }).properties;\n return typeof properties === \"object\" && properties !== null && !Array.isArray(properties)\n ? Object.keys(properties).length\n : 0;\n}\n\nexport function formatJson(value: unknown): string {\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n}\n\nexport function parseStudioToolRunResponse(value: unknown): StudioToolRunResponse | undefined {\n if (!isRecord(value)) {\n return undefined;\n }\n if (typeof value.agentId !== \"string\" || value.agentId.length === 0) {\n return undefined;\n }\n if (typeof value.toolName !== \"string\" || value.toolName.length === 0) {\n return undefined;\n }\n if (value.status !== \"success\" && value.status !== \"error\") {\n return undefined;\n }\n if (typeof value.durationMs !== \"number\" || !Number.isFinite(value.durationMs)) {\n return undefined;\n }\n if (typeof value.startedAt !== \"string\" || typeof value.endedAt !== \"string\") {\n return undefined;\n }\n if (!Array.isArray(value.events)) {\n return undefined;\n }\n return value as StudioToolRunResponse;\n}\n\nfunction displayToolRunValue(value: unknown): unknown {\n if (typeof value !== \"string\") {\n return value;\n }\n const parsed = parseToolDisplayValue(value);\n return parsed.kind === \"json\" ? parsed.value : value;\n}\n\nfunction formatSchema(value: unknown): string {\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools-page-D1ewvG0D.js","names":[],"sources":["../../../src/ui/app/modules/tools/tools-page.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useMemo, useRef, useState } from \"react\";\nimport type {\n StudioAgentToolMetadata,\n StudioAgentToolsSummary,\n StudioConfig,\n StudioToolRunResponse,\n} from \"../../../../types\";\nimport { Badge } from \"../../components/ui/badge\";\nimport { Button } from \"../../components/ui/button\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../components/ui/select\";\nimport {\n StudioEmptyState,\n StudioHeaderMetric,\n StudioPageContent,\n StudioPageHeader,\n StudioPageShell,\n} from \"../../components/ui/studio\";\nimport {\n approvalBadgeClass,\n formatJson,\n originBadgeClass,\n parseStudioToolRunResponse,\n schemaPropertyCount,\n schemaType,\n ToolMetaPill,\n ToolRunner,\n toolOriginLabel,\n} from \"./tool-runner\";\n\nexport function ToolsPage(props: {\n agents: StudioConfig[\"agents\"];\n selectedAgentId: string;\n summary: StudioAgentToolsSummary | undefined;\n enabled: boolean;\n loading: boolean;\n onSelectAgent: (agentId: string) => void;\n}) {\n const selectedAgent =\n props.agents.find((agent) => agent.id === props.selectedAgentId) ?? props.agents[0];\n const tools = useMemo(() => props.summary?.tools ?? [], [props.summary]);\n const [selectedToolName, setSelectedToolName] = useState(\"\");\n const [argsText, setArgsText] = useState(\"{}\");\n const [runState, setRunState] = useState<\"idle\" | \"running\">(\"idle\");\n const [runResponse, setRunResponse] = useState<StudioToolRunResponse | undefined>();\n const [runError, setRunError] = useState(\"\");\n const selectedTool = useMemo(\n () => tools.find((tool) => tool.name === selectedToolName) ?? tools[0],\n [selectedToolName, tools],\n );\n const selectedToolRunKey =\n selectedAgent === undefined || selectedTool === undefined\n ? \"\"\n : `${selectedAgent.id}:${selectedTool.name}`;\n const selectedToolRunKeyRef = useRef(selectedToolRunKey);\n const runRequestIdRef = useRef(0);\n const toolTotals = summarizeTools(tools);\n\n useEffect(() => {\n if (tools.length === 0) {\n setSelectedToolName(\"\");\n return;\n }\n if (!tools.some((tool) => tool.name === selectedToolName)) {\n setSelectedToolName(tools[0]?.name ?? \"\");\n }\n }, [selectedToolName, tools]);\n\n useEffect(() => {\n if (selectedToolRunKeyRef.current === selectedToolRunKey) {\n return;\n }\n selectedToolRunKeyRef.current = selectedToolRunKey;\n runRequestIdRef.current += 1;\n setRunState(\"idle\");\n setRunError(\"\");\n setRunResponse(undefined);\n }, [selectedToolRunKey]);\n\n async function runSelectedTool() {\n if (selectedAgent === undefined || selectedTool === undefined) {\n return;\n }\n let args: unknown;\n try {\n args = JSON.parse(argsText);\n } catch (parseError) {\n setRunError(parseError instanceof Error ? parseError.message : String(parseError));\n setRunResponse(undefined);\n return;\n }\n\n setRunState(\"running\");\n setRunError(\"\");\n setRunResponse(undefined);\n const runToolKey = selectedToolRunKey;\n const requestId = runRequestIdRef.current + 1;\n runRequestIdRef.current = requestId;\n const isCurrentRun = () =>\n runRequestIdRef.current === requestId && selectedToolRunKeyRef.current === runToolKey;\n try {\n const response = await fetch(\n `/agents/${encodeURIComponent(selectedAgent.id)}/tools/${encodeURIComponent(\n selectedTool.name,\n )}/runs`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ args }),\n },\n );\n const rawBody = await response.json();\n if (!isCurrentRun()) {\n return;\n }\n const body = parseStudioToolRunResponse(rawBody);\n if (body === undefined) {\n setRunError(`Unexpected Studio tool run response: ${formatJson(rawBody)}`);\n return;\n }\n setRunResponse(body);\n if (!response.ok || body.status === \"error\") {\n setRunError(formatJson(body.error ?? body));\n }\n } catch (error) {\n if (isCurrentRun()) {\n setRunError(error instanceof Error ? error.message : String(error));\n }\n } finally {\n if (isCurrentRun()) {\n setRunState(\"idle\");\n }\n }\n }\n\n return (\n <StudioPageShell className=\"grid-rows-[auto_minmax(0,1fr)]\" aria-label=\"Tools\">\n <StudioPageHeader\n title=\"Tools\"\n description=\"Tool definitions registered on Studio agents, including approval policy and input schema.\"\n action={\n <div className=\"flex min-w-0 flex-wrap justify-end gap-2 max-sm:justify-start\">\n <StudioHeaderMetric label=\"tools\" value={toolTotals.total} />\n <StudioHeaderMetric label=\"mcp\" value={toolTotals.mcp} />\n <StudioHeaderMetric label=\"static\" value={toolTotals.static} />\n <StudioHeaderMetric label=\"dynamic\" value={toolTotals.dynamic} />\n <StudioHeaderMetric label=\"approvals\" value={toolTotals.approvals} />\n {props.agents.length > 1 ? (\n <Select value={selectedAgent?.id ?? \"\"} onValueChange={props.onSelectAgent}>\n <SelectTrigger className=\"h-8 min-h-8 w-64 rounded-md border-border text-xs max-sm:w-full\">\n <SelectValue placeholder=\"Agent\" />\n </SelectTrigger>\n <SelectContent align=\"end\">\n {props.agents.map((agent) => (\n <SelectItem value={agent.id} key={agent.id}>\n {agent.name ?? agent.id}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : null}\n </div>\n }\n />\n\n <StudioPageContent className=\"overflow-auto\">\n {!props.enabled ? (\n <StudioEmptyState\n title=\"Tools unavailable\"\n text=\"No registered Studio agent exposes static or dynamic tools.\"\n />\n ) : props.loading ? (\n <StudioEmptyState title=\"Loading tools\" text=\"Reading registered tool metadata.\" />\n ) : tools.length === 0 ? (\n <StudioEmptyState title=\"No tools\" text=\"The selected agent has no registered tools.\" />\n ) : (\n <div className=\"grid w-full gap-5\">\n <ToolRegistryTable\n selectedToolName={selectedTool?.name ?? \"\"}\n tools={tools}\n onSelectTool={setSelectedToolName}\n />\n <ToolRunner\n argsText={argsText}\n runError={runError}\n runResponse={runResponse}\n runState={runState}\n selectedTool={selectedTool}\n onArgsTextChange={setArgsText}\n onRun={() => void runSelectedTool()}\n />\n </div>\n )}\n </StudioPageContent>\n </StudioPageShell>\n );\n}\n\nfunction ToolRegistryTable(props: {\n tools: StudioAgentToolMetadata[];\n selectedToolName: string;\n onSelectTool: (toolName: string) => void;\n}) {\n return (\n <div className=\"min-w-[1040px]\">\n <table className=\"w-full border-separate border-spacing-0 text-left\">\n <thead className=\"sticky top-0 z-10 bg-background/95 backdrop-blur\">\n <tr>\n <ToolTableHead>Tool</ToolTableHead>\n <ToolTableHead>Origin</ToolTableHead>\n <ToolTableHead>Schema</ToolTableHead>\n <ToolTableHead>Approval</ToolTableHead>\n <ToolTableHead>Run</ToolTableHead>\n </tr>\n </thead>\n <tbody>\n {props.tools.map((tool) => (\n <ToolRegistryRow\n active={props.selectedToolName === tool.name}\n key={`${tool.source}:${tool.name}`}\n tool={tool}\n onSelectTool={props.onSelectTool}\n />\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nfunction ToolRegistryRow(props: {\n tool: StudioAgentToolMetadata;\n active: boolean;\n onSelectTool: (toolName: string) => void;\n}) {\n const propertyCount = schemaPropertyCount(props.tool.parameters);\n return (\n <tr>\n <ToolTableCell>\n <div className=\"grid min-w-0 gap-1.5\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <span className=\"min-w-0 truncate text-sm font-semibold text-foreground\">\n {props.tool.name}\n </span>\n {props.active ? <Badge className={selectedBadge}>selected</Badge> : null}\n </div>\n <span className=\"min-w-0 truncate text-xs font-medium text-muted-foreground\">\n {props.tool.agentId}\n </span>\n <p className=\"m-0 max-w-[64ch] truncate text-sm leading-6 text-muted-foreground\">\n {props.tool.description}\n </p>\n </div>\n </ToolTableCell>\n <ToolTableCell>\n <Badge className={originBadgeClass(props.tool)}>{toolOriginLabel(props.tool)}</Badge>\n </ToolTableCell>\n <ToolTableCell>\n <div className=\"flex min-w-0 flex-wrap gap-2\">\n <ToolMetaPill>{schemaType(props.tool.parameters)}</ToolMetaPill>\n <ToolMetaPill>\n {propertyCount} {propertyCount === 1 ? \"field\" : \"fields\"}\n </ToolMetaPill>\n </div>\n </ToolTableCell>\n <ToolTableCell>\n <div className=\"grid min-w-0 gap-1.5\">\n <Badge className={approvalBadgeClass(props.tool.approval.required)}>\n {props.tool.approval.required ? \"required\" : \"none\"}\n </Badge>\n {props.tool.approval.reason === undefined ? null : (\n <span\n className=\"max-w-[280px] truncate text-xs leading-5 text-muted-foreground\"\n title={props.tool.approval.reason}\n >\n {props.tool.approval.reason}\n </span>\n )}\n </div>\n </ToolTableCell>\n <ToolTableCell>\n <Button\n className=\"h-8 min-h-8 rounded-md px-3 text-xs\"\n type=\"button\"\n variant={props.active ? \"secondary\" : \"ghost\"}\n onClick={() => props.onSelectTool(props.tool.name)}\n >\n {props.active ? \"Selected\" : \"Use\"}\n </Button>\n </ToolTableCell>\n </tr>\n );\n}\n\nfunction ToolTableHead(props: { children: string }) {\n return (\n <th className=\"border-b border-border/80 py-2.5 pr-5 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground first:pl-0\">\n {props.children}\n </th>\n );\n}\n\nfunction ToolTableCell(props: { children: ReactNode }) {\n return (\n <td className=\"border-b border-border/70 py-3.5 pr-5 align-top first:pl-0\">{props.children}</td>\n );\n}\n\nfunction summarizeTools(tools: StudioAgentToolMetadata[]) {\n return tools.reduce(\n (totals, tool) => {\n totals.total += 1;\n if (tool.source === \"dynamic\") {\n totals.dynamic += 1;\n } else {\n totals.static += 1;\n }\n if (tool.mcpServerName !== undefined) {\n totals.mcp += 1;\n }\n if (tool.approval.required) {\n totals.approvals += 1;\n }\n return totals;\n },\n { approvals: 0, dynamic: 0, mcp: 0, static: 0, total: 0 },\n );\n}\n\nconst selectedBadge = \"border-border/80 bg-muted/45 text-foreground\";\n"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import{i as e,r as t,s as n,t as r}from"./utils-DzstcfqT.js";import{a as i,n as a,o,r as s,s as c,t as l}from"./dist-PrGeYMiK.js";import{_ as u,c as d,d as f,f as p,o as m,p as h,r as g,t as _,u as v,v as y}from"./button-Dsqwey2_.js";import{c as b,i as x,n as S,r as C,t as w}from"./Wrench.es-Cl38Pi3C.js";import{t as T}from"./CaretDown.es-CXu4Fvbf.js";import{n as E,t as D}from"./icon-DyadsXLr.js";import{n as O,t as ee}from"./dist-CUv0NHNl.js";import{t as k}from"./studio-Bh00wIF1.js";import{t as te}from"./badge-O3YyUN3G.js";import{t as ne}from"./input-DHvac9Uq.js";var A=n(e(),1),re=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),ie=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M236,144a68.07,68.07,0,0,1-68,68H80a12,12,0,0,1,0-24h88a44,44,0,0,0,0-88H61l27.52,27.51a12,12,0,0,1-17,17l-48-48a12,12,0,0,1,0-17l48-48a12,12,0,1,1,17,17L61,76H168A68.08,68.08,0,0,1,236,144Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M80,40v96L32,88Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M168,80H88V40a8,8,0,0,0-13.66-5.66l-48,48a8,8,0,0,0,0,11.32l48,48A8,8,0,0,0,88,136V96h80a48,48,0,0,1,0,96H80a8,8,0,0,0,0,16h88a64,64,0,0,0,0-128ZM72,116.69,43.31,88,72,59.31Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M232,144a64.07,64.07,0,0,1-64,64H80a8,8,0,0,1,0-16h88a48,48,0,0,0,0-96H88v40a8,8,0,0,1-13.66,5.66l-48-48a8,8,0,0,1,0-11.32l48-48A8,8,0,0,1,88,40V80h80A64.07,64.07,0,0,1,232,144Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M230,144a62.07,62.07,0,0,1-62,62H80a6,6,0,0,1,0-12h88a50,50,0,0,0,0-100H46.49l37.75,37.76a6,6,0,1,1-8.48,8.48l-48-48a6,6,0,0,1,0-8.48l48-48a6,6,0,0,1,8.48,8.48L46.49,82H168A62.07,62.07,0,0,1,230,144Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M232,144a64.07,64.07,0,0,1-64,64H80a8,8,0,0,1,0-16h88a48,48,0,0,0,0-96H51.31l34.35,34.34a8,8,0,0,1-11.32,11.32l-48-48a8,8,0,0,1,0-11.32l48-48A8,8,0,0,1,85.66,45.66L51.31,80H168A64.07,64.07,0,0,1,232,144Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228,144a60.07,60.07,0,0,1-60,60H80a4,4,0,0,1,0-8h88a52,52,0,0,0,0-104H41.66l41.17,41.17a4,4,0,0,1-5.66,5.66l-48-48a4,4,0,0,1,0-5.66l48-48a4,4,0,0,1,5.66,5.66L41.66,84H168A60.07,60.07,0,0,1,228,144Z`}))]]),ae=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM104.49,56.48,116,45V88a12,12,0,0,0,24,0V45l11.51,11.51a12,12,0,0,0,17-17l-32-32a12,12,0,0,0-17,0l-32,32a12,12,0,0,0,17,17Zm47,143L140,211V168a12,12,0,0,0-24,0v43l-11.51-11.52a12,12,0,0,0-17,17l32,32a12,12,0,0,0,17,0l32-32a12,12,0,0,0-17-17Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,32V224a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V32A16,16,0,0,1,56,16H200A16,16,0,0,1,216,32Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M88.61,51.06a8,8,0,0,1,1.73-8.72l32-32a8,8,0,0,1,11.32,0l32,32A8,8,0,0,1,160,56H136V96a8,8,0,0,1-16,0V56H96A8,8,0,0,1,88.61,51.06ZM216,120H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-56,80H136V160a8,8,0,0,0-16,0v40H96a8,8,0,0,0-5.66,13.66l32,32a8,8,0,0,0,11.32,0l32-32A8,8,0,0,0,160,200Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,128ZM100.24,52.24,122,30.49V96a6,6,0,0,0,12,0V30.49l21.76,21.75a6,6,0,0,0,8.48-8.48l-32-32a6,6,0,0,0-8.48,0l-32,32a6,6,0,0,0,8.48,8.48Zm55.52,151.52L134,225.51V160a6,6,0,0,0-12,0v65.51l-21.76-21.75a6,6,0,0,0-8.48,8.48l32,32a6,6,0,0,0,8.48,0l32-32a6,6,0,0,0-8.48-8.48Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,128ZM98.83,50.83,124,25.66V96a4,4,0,0,0,8,0V25.66l25.17,25.17a4,4,0,1,0,5.66-5.66l-32-32a4,4,0,0,0-5.66,0l-32,32a4,4,0,0,0,5.66,5.66Zm58.34,154.34L132,230.34V160a4,4,0,0,0-8,0v70.34L98.83,205.17a4,4,0,0,0-5.66,5.66l32,32a4,4,0,0,0,5.66,0l32-32a4,4,0,0,0-5.66-5.66Z`}))]]),oe=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M54.8,119.49A35.06,35.06,0,0,1,49.05,128a35.06,35.06,0,0,1,5.75,8.51C60,147.24,60,159.83,60,172c0,25.94,1.84,32,20,32a12,12,0,0,1,0,24c-19.14,0-32.2-6.9-38.8-20.51C36,196.76,36,184.17,36,172c0-25.94-1.84-32-20-32a12,12,0,0,1,0-24c18.16,0,20-6.06,20-32,0-12.17,0-24.76,5.2-35.49C47.8,34.9,60.86,28,80,28a12,12,0,0,1,0,24c-18.16,0-20,6.06-20,32C60,96.17,60,108.76,54.8,119.49ZM240,116c-18.16,0-20-6.06-20-32,0-12.17,0-24.76-5.2-35.49C208.2,34.9,195.14,28,176,28a12,12,0,0,0,0,24c18.16,0,20,6.06,20,32,0,12.17,0,24.76,5.2,35.49A35.06,35.06,0,0,0,207,128a35.06,35.06,0,0,0-5.75,8.51C196,147.24,196,159.83,196,172c0,25.94-1.84,32-20,32a12,12,0,0,0,0,24c19.14,0,32.2-6.9,38.8-20.51C220,196.76,220,184.17,220,172c0-25.94,1.84-32,20-32a12,12,0,0,0,0-24Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M240,128c-64,0,0,88-64,88H80c-64,0,0-88-64-88,64,0,0-88,64-88h96C240,40,176,128,240,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM88,155.84c.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16c-31.27,0-31.72-22.43-32-35.84C71.71,141.9,71.59,136,56,136a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16C72.28,86.43,72.73,64,104,64a8,8,0,0,1,0,16c-15.59,0-15.71,5.9-16,20.16-.17,8.31-.41,20.09-8,27.84C87.59,135.75,87.83,147.53,88,155.84ZM200,136c-15.59,0-15.71,5.9-16,20.16-.28,13.41-.73,35.84-32,35.84a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16.17-8.31.41-20.09,8-27.84-7.6-7.75-7.84-19.53-8-27.84C167.71,85.9,167.59,80,152,80a8,8,0,0,1,0-16c31.27,0,31.72,22.43,32,35.84.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M39.91,128a27.68,27.68,0,0,1,9.49,11.13C54,148.62,54,160.51,54,172c0,24.27,1.21,38,26,38a6,6,0,0,1,0,12c-16.88,0-27.81-5.6-33.4-17.13C42,195.38,42,183.49,42,172c0-24.27-1.21-38-26-38a6,6,0,0,1,0-12c24.79,0,26-13.73,26-38,0-11.49,0-23.38,4.6-32.87C52.19,39.6,63.12,34,80,34a6,6,0,0,1,0,12C55.21,46,54,59.73,54,84c0,11.49,0,23.38-4.6,32.87A27.68,27.68,0,0,1,39.91,128ZM240,122c-24.79,0-26-13.73-26-38,0-11.49,0-23.38-4.6-32.87C203.81,39.6,192.88,34,176,34a6,6,0,0,0,0,12c24.79,0,26,13.73,26,38,0,11.49,0,23.38,4.6,32.87A27.68,27.68,0,0,0,216.09,128a27.68,27.68,0,0,0-9.49,11.13C202,148.62,202,160.51,202,172c0,24.27-1.21,38-26,38a6,6,0,0,0,0,12c16.88,0,27.81-5.6,33.4-17.13,4.6-9.49,4.6-21.38,4.6-32.87,0-24.27,1.21-38,26-38a6,6,0,0,0,0-12Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M35.89,128C52,136.23,52,155.64,52,172c0,24.8,1.35,40,28,40a4,4,0,0,1,0,8c-36,0-36-26.61-36-48,0-24.8-1.35-40-28-40a4,4,0,0,1,0-8c26.65,0,28-15.2,28-40,0-21.39,0-48,36-48a4,4,0,0,1,0,8C53.35,44,52,59.2,52,84,52,100.36,52,119.77,35.89,128ZM240,124c-26.65,0-28-15.2-28-40,0-21.39,0-48-36-48a4,4,0,0,0,0,8c26.65,0,28,15.2,28,40,0,16.36,0,35.77,16.11,44C204,136.23,204,155.64,204,172c0,24.8-1.35,40-28,40a4,4,0,0,0,0,8c36,0,36-26.61,36-48,0-24.8,1.35-40,28-40a4,4,0,0,0,0-8Z`}))]]),se=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M176,128,96,208V48Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z`}))]]),ce=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm68-84a12,12,0,0,1-12,12H128a12,12,0,0,1-12-12V72a12,12,0,0,1,24,0v44h44A12,12,0,0,1,196,128Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm56,112H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm62-90a6,6,0,0,1-6,6H128a6,6,0,0,1-6-6V72a6,6,0,0,1,12,0v50h50A6,6,0,0,1,190,128Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm60-92a4,4,0,0,1-4,4H128a4,4,0,0,1-4-4V72a4,4,0,0,1,8,0v52h52A4,4,0,0,1,188,128Z`}))]]),le=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,40a8,8,0,1,1,8-8A8,8,0,0,1,128,136Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M152,128a24,24,0,1,1-24-24A24,24,0,0,1,152,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M156,128a28,28,0,1,1-28-28A28,28,0,0,1,156,128Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,98a30,30,0,1,0,30,30A30,30,0,0,0,128,98Zm0,48a18,18,0,1,1,18-18A18,18,0,0,1,128,146Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,100a28,28,0,1,0,28,28A28,28,0,0,0,128,100Zm0,48a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))]]),ue=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z`}))]]),de=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z`}))]]),fe=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M199,125.31l-49.88-18.39L130.69,57a19.92,19.92,0,0,0-37.38,0L74.92,106.92,25,125.31a19.92,19.92,0,0,0,0,37.38l49.88,18.39L93.31,231a19.92,19.92,0,0,0,37.38,0l18.39-49.88L199,162.69a19.92,19.92,0,0,0,0-37.38Zm-63.38,35.16a12,12,0,0,0-7.11,7.11L112,212.28l-16.47-44.7a12,12,0,0,0-7.11-7.11L43.72,144l44.7-16.47a12,12,0,0,0,7.11-7.11L112,75.72l16.47,44.7a12,12,0,0,0,7.11,7.11L180.28,144ZM140,40a12,12,0,0,1,12-12h12V16a12,12,0,0,1,24,0V28h12a12,12,0,0,1,0,24H188V64a12,12,0,0,1-24,0V52H152A12,12,0,0,1,140,40ZM252,88a12,12,0,0,1-12,12h-4v4a12,12,0,0,1-24,0v-4h-4a12,12,0,0,1,0-24h4V72a12,12,0,0,1,24,0v4h4A12,12,0,0,1,252,88Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M194.82,151.43l-55.09,20.3-20.3,55.09a7.92,7.92,0,0,1-14.86,0l-20.3-55.09-55.09-20.3a7.92,7.92,0,0,1,0-14.86l55.09-20.3,20.3-55.09a7.92,7.92,0,0,1,14.86,0l20.3,55.09,55.09,20.3A7.92,7.92,0,0,1,194.82,151.43Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M208,144a15.78,15.78,0,0,1-10.42,14.94L146,178l-19,51.62a15.92,15.92,0,0,1-29.88,0L78,178l-51.62-19a15.92,15.92,0,0,1,0-29.88L78,110l19-51.62a15.92,15.92,0,0,1,29.88,0L146,110l51.62,19A15.78,15.78,0,0,1,208,144ZM152,48h16V64a8,8,0,0,0,16,0V48h16a8,8,0,0,0,0-16H184V16a8,8,0,0,0-16,0V32H152a8,8,0,0,0,0,16Zm88,32h-8V72a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0V96h8a8,8,0,0,0,0-16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M196.89,130.94,144.4,111.6,125.06,59.11a13.92,13.92,0,0,0-26.12,0L79.6,111.6,27.11,130.94a13.92,13.92,0,0,0,0,26.12L79.6,176.4l19.34,52.49a13.92,13.92,0,0,0,26.12,0L144.4,176.4l52.49-19.34a13.92,13.92,0,0,0,0-26.12Zm-4.15,14.86-55.08,20.3a6,6,0,0,0-3.56,3.56l-20.3,55.08a1.92,1.92,0,0,1-3.6,0L89.9,169.66a6,6,0,0,0-3.56-3.56L31.26,145.8a1.92,1.92,0,0,1,0-3.6l55.08-20.3a6,6,0,0,0,3.56-3.56l20.3-55.08a1.92,1.92,0,0,1,3.6,0l20.3,55.08a6,6,0,0,0,3.56,3.56l55.08,20.3a1.92,1.92,0,0,1,0,3.6ZM146,40a6,6,0,0,1,6-6h18V16a6,6,0,0,1,12,0V34h18a6,6,0,0,1,0,12H182V64a6,6,0,0,1-12,0V46H152A6,6,0,0,1,146,40ZM246,88a6,6,0,0,1-6,6H230v10a6,6,0,0,1-12,0V94H208a6,6,0,0,1,0-12h10V72a6,6,0,0,1,12,0V82h10A6,6,0,0,1,246,88Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M196.2,132.81l-53.36-19.65L123.19,59.8a11.93,11.93,0,0,0-22.38,0L81.16,113.16,27.8,132.81a11.93,11.93,0,0,0,0,22.38l53.36,19.65,19.65,53.36a11.93,11.93,0,0,0,22.38,0l19.65-53.36,53.36-19.65a11.93,11.93,0,0,0,0-22.38Zm-2.77,14.87L138.35,168a4,4,0,0,0-2.37,2.37l-20.3,55.08a3.92,3.92,0,0,1-7.36,0L88,170.35A4,4,0,0,0,85.65,168l-55.08-20.3a3.92,3.92,0,0,1,0-7.36L85.65,120A4,4,0,0,0,88,117.65l20.3-55.08a3.92,3.92,0,0,1,7.36,0L136,117.65a4,4,0,0,0,2.37,2.37l55.08,20.3a3.92,3.92,0,0,1,0,7.36ZM148,40a4,4,0,0,1,4-4h20V16a4,4,0,0,1,8,0V36h20a4,4,0,0,1,0,8H180V64a4,4,0,0,1-8,0V44H152A4,4,0,0,1,148,40Zm96,48a4,4,0,0,1-4,4H228v12a4,4,0,0,1-8,0V92H208a4,4,0,0,1,0-8h12V72a4,4,0,0,1,8,0V84h12A4,4,0,0,1,244,88Z`}))]]),pe=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,44a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,44Zm0,168a72,72,0,1,1,72-72A72.08,72.08,0,0,1,128,212ZM164.49,99.51a12,12,0,0,1,0,17l-28,28a12,12,0,0,1-17-17l28-28A12,12,0,0,1,164.49,99.51ZM92,16A12,12,0,0,1,104,4h48a12,12,0,0,1,0,24H104A12,12,0,0,1,92,16Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,136a88,88,0,1,1-88-88A88,88,0,0,1,216,136Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm45.66,61.66-40,40a8,8,0,0,1-11.32-11.32l40-40a8,8,0,0,1,11.32,11.32ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,42a94,94,0,1,0,94,94A94.11,94.11,0,0,0,128,42Zm0,176a82,82,0,1,1,82-82A82.1,82.1,0,0,1,128,218ZM172.24,91.76a6,6,0,0,1,0,8.48l-40,40a6,6,0,1,1-8.48-8.48l40-40A6,6,0,0,1,172.24,91.76ZM98,16a6,6,0,0,1,6-6h48a6,6,0,0,1,0,12H104A6,6,0,0,1,98,16Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,44a92,92,0,1,0,92,92A92.1,92.1,0,0,0,128,44Zm0,176a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,220ZM170.83,93.17a4,4,0,0,1,0,5.66l-40,40a4,4,0,1,1-5.66-5.66l40-40A4,4,0,0,1,170.83,93.17ZM100,16a4,4,0,0,1,4-4h48a4,4,0,0,1,0,8H104A4,4,0,0,1,100,16Z`}))]]),me=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,116h48a20,20,0,0,0,20-20V48a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20V60H128a28,28,0,0,0-28,28v28H76v-4A20,20,0,0,0,56,92H24A20,20,0,0,0,4,112v32a20,20,0,0,0,20,20H56a20,20,0,0,0,20-20v-4h24v28a28,28,0,0,0,28,28h12v12a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V160a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20v12H128a4,4,0,0,1-4-4V88a4,4,0,0,1,4-4h12V96A20,20,0,0,0,160,116ZM52,140H28V116H52Zm112,24h40v40H164Zm0-112h40V92H164Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M64,112v32a8,8,0,0,1-8,8H24a8,8,0,0,1-8-8V112a8,8,0,0,1,8-8H56A8,8,0,0,1,64,112ZM208,40H160a8,8,0,0,0-8,8V96a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V48A8,8,0,0,0,208,40Zm0,112H160a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V160A8,8,0,0,0,208,152Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M144,96V80H128a8,8,0,0,0-8,8v80a8,8,0,0,0,8,8h16V160a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16v48a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V192H128a24,24,0,0,1-24-24V136H72v8a16,16,0,0,1-16,16H24A16,16,0,0,1,8,144V112A16,16,0,0,1,24,96H56a16,16,0,0,1,16,16v8h32V88a24,24,0,0,1,24-24h16V48a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16V96a16,16,0,0,1-16,16H160A16,16,0,0,1,144,96Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,110h48a14,14,0,0,0,14-14V48a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14V66H128a22,22,0,0,0-22,22v34H70V112A14,14,0,0,0,56,98H24a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14H56a14,14,0,0,0,14-14V134h36v34a22,22,0,0,0,22,22h18v18a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V160a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14v18H128a10,10,0,0,1-10-10V88a10,10,0,0,1,10-10h18V96A14,14,0,0,0,160,110ZM58,144a2,2,0,0,1-2,2H24a2,2,0,0,1-2-2V112a2,2,0,0,1,2-2H56a2,2,0,0,1,2,2Zm100,16a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2v48a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Zm0-112a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2V96a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,108h48a12,12,0,0,0,12-12V48a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12V68H128a20,20,0,0,0-20,20v36H68V112a12,12,0,0,0-12-12H24a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12H56a12,12,0,0,0,12-12V132h40v36a20,20,0,0,0,20,20h20v20a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V160a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12v20H128a12,12,0,0,1-12-12V88a12,12,0,0,1,12-12h20V96A12,12,0,0,0,160,108ZM60,144a4,4,0,0,1-4,4H24a4,4,0,0,1-4-4V112a4,4,0,0,1,4-4H56a4,4,0,0,1,4,4Zm96,16a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4v48a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Zm0-112a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V96a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Z`}))]]),he=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:re}));he.displayName=`ArrowLeftIcon`;var ge=he,_e=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ie}));_e.displayName=`ArrowUUpLeftIcon`;var ve=_e,ye=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ae}));ye.displayName=`ArrowsOutLineVerticalIcon`;var be=ye,xe=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:oe}));xe.displayName=`BracketsCurlyIcon`;var Se=xe,Ce=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:se}));Ce.displayName=`CaretRightIcon`;var we=Ce,Te=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ce}));Te.displayName=`ClockIcon`;var Ee=Te,De=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:le}));De.displayName=`DotOutlineIcon`;var Oe=De,ke=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ue}));ke.displayName=`GearIcon`;var Ae=ke,je=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:de}));je.displayName=`MagnifyingGlassIcon`;var Me=je,Ne=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:fe}));Ne.displayName=`SparkleIcon`;var Pe=Ne,Fe=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:pe}));Fe.displayName=`TimerIcon`;var Ie=Fe,Le=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:me}));Le.displayName=`TreeStructureIcon`;var Re=Le,j=t();function ze(e){try{return JSON.stringify(e,null,2)??`undefined`}catch{return String(e)}}function Be(e){return(0,j.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-muted/20 p-4 font-mono text-xs leading-5 text-foreground`,children:(0,j.jsx)(Ue,{depth:0,path:`$`,value:e.value})})}var Ve=16,He=20;function Ue(e){return Ke(e.value)?(0,j.jsx)(We,{arrayIndex:e.arrayIndex,depth:e.depth,path:e.path,propertyKey:e.propertyKey,trailingComma:e.trailingComma,value:e.value}):(0,j.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${M(e.depth)}px`},children:[(0,j.jsx)(N,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,j.jsx)(Ge,{value:e.value}),e.trailingComma?(0,j.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})}function We(e){let[t,n]=(0,A.useState)(e.depth===0),r=Array.isArray(e.value)?e.value:void 0,i=r===void 0?Object.entries(e.value):r.map((e,t)=>[String(t),e]),a=r===void 0?`{`:`[`,o=r===void 0?`}`:`]`,s=r===void 0?`{…}`:`[…]`;return i.length===0?(0,j.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${M(e.depth)}px`},children:[(0,j.jsx)(N,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,j.jsxs)(`span`,{className:`text-foreground`,children:[a,o,e.trailingComma?`,`:``]})]}):(0,j.jsxs)(`div`,{className:`grid min-w-max`,children:[(0,j.jsxs)(`button`,{"aria-expanded":t,className:`grid min-w-max grid-cols-[16px_auto] items-center gap-1 rounded-lg py-0.5 pr-2 text-left transition duration-200 hover:bg-accent/45 hover:text-accent-foreground`,onClick:()=>n(e=>!e),style:{paddingLeft:`${e.depth*Ve}px`},type:`button`,children:[(0,j.jsx)(`span`,{className:`grid h-4 w-4 place-items-center text-muted-foreground [&_svg]:h-3 [&_svg]:w-3`,children:t?(0,j.jsx)(D,{icon:T,"aria-hidden":`true`}):(0,j.jsx)(D,{icon:we,"aria-hidden":`true`})}),(0,j.jsxs)(`span`,{className:`whitespace-pre`,children:[(0,j.jsx)(N,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),t?(0,j.jsx)(`span`,{className:`text-foreground`,children:a}):(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:s}),!t&&e.trailingComma?(0,j.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})]}),t?(0,j.jsxs)(j.Fragment,{children:[i.map(([t,n],a)=>(0,j.jsx)(Ue,{arrayIndex:r===void 0?void 0:Number(t),depth:e.depth+1,path:`${e.path}.${t}`,propertyKey:r===void 0?t:void 0,trailingComma:a<i.length-1,value:n},`${e.path}.${t}`)),(0,j.jsxs)(`div`,{className:`min-w-max whitespace-pre text-foreground`,style:{paddingLeft:`${M(e.depth)}px`},children:[o,e.trailingComma?`,`:``]})]}):null]})}function M(e){return e*Ve+He}function N(e){return e.propertyKey===void 0?e.arrayIndex===void 0?null:(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`span`,{className:`text-muted-foreground`,children:[`[`,e.arrayIndex,`]`]}),(0,j.jsx)(`span`,{className:`text-foreground`,children:` `})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:JSON.stringify(e.propertyKey)}),(0,j.jsx)(`span`,{className:`text-foreground`,children:`: `})]})}function Ge(e){return typeof e.value==`string`?(0,j.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-400`,children:JSON.stringify(e.value)}):typeof e.value==`number`?(0,j.jsx)(`span`,{className:`text-amber-700 dark:text-amber-400`,children:String(e.value)}):typeof e.value==`boolean`?(0,j.jsx)(`span`,{className:`text-violet-700 dark:text-violet-400`,children:String(e.value)}):e.value===null?(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:`null`}):e.value===void 0?(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:`undefined`}):(0,j.jsx)(`span`,{className:`text-foreground`,children:ze(e.value)})}function Ke(e){return Array.isArray(e)||y(e)}function qe(e){return e.label===`Message Id`}function Je(e){let t=`h-3.5 w-3.5 shrink-0`;switch(e.label){case`System prompt`:return(0,j.jsx)(D,{icon:Ae,"aria-hidden":`true`,className:t});case`Prompt`:return(0,j.jsx)(D,{icon:C,"aria-hidden":`true`,className:t});case`Output`:case`Assistant output`:return(0,j.jsx)(D,{icon:ve,"aria-hidden":`true`,className:t});default:return null}}function Ye(e,t){if(e===`Output`){let e=Xe(t);if(e.length>0)return e}let n=P(t,e);if(n.length>0)return n;if(!y(t))return[{label:e,text:et(t)}];let r=[];for(let[e,n]of Object.entries(t)){let t=P(n,e);if(t.length>0){r.push(...t);continue}r.push({label:I(e),text:et(n)})}return r.length>0?r:[{label:e,text:`Empty object`}]}function Xe(e){if(!y(e))return[];let t=[],n=P(e.choice,`choice`);return t.push(...n),typeof e.messageId==`string`&&e.messageId.length>0&&t.push({label:`Message Id`,text:e.messageId}),t}function P(e,t){if(typeof e==`string`&&t===void 0)return[{label:`Value`,text:e}];if(Array.isArray(e))return t===`chatHistory`?Ze(e):t===`history`?Qe(e):e.map((e,n)=>({label:F(e,n,t),text:b(e)||v(e)})).filter(e=>e.text.length>0);if(!y(e))return[];let n=Array.isArray(e.chatHistory)?e.chatHistory:void 0;if(n!==void 0){let t=$e(e);return t.push(...P(n,`chatHistory`)),t}if(Array.isArray(e.prompt))return P(e.prompt,`prompt`);let r=[];r.push(...$e(e));let i=Array.isArray(e.history)?e.history:[];i.length>0&&r.push(...P(i,`history`));let a=b(e.prompt);return a.length>0&&r.push({label:i.length>0?`Current prompt`:`Prompt`,text:a}),r}function Ze(e){let t=e.map((e,t)=>({label:F(e,t,`chatHistory`),text:b(e)||v(e)})).filter(e=>e.text.length>0),n=t.at(-1),r=t.slice(0,-1),i=[];return r.length>0&&i.push({label:`Conversation history (${r.length})`,text:r.map((e,t)=>`${t+1}. ${e.label}\n${e.text}`).join(`
2
-
3
- `)}),n!==void 0&&i.push({label:r.length>0?`Current prompt`:`Prompt`,text:n.text}),i}function Qe(e){let t=e.map((e,t)=>({label:F(e,t,`history`),text:b(e)||v(e)})).filter(e=>e.text.length>0);return t.length===0?[]:[{label:`Conversation history (${t.length})`,text:t.map((e,t)=>`${t+1}. ${e.label}\n${e.text}`).join(`
4
-
5
- `)}]}function F(e,t,n){if(y(e)){let t=typeof e.type==`string`?e.type:void 0;if(n===`choice`){if(t===`text`)return`Assistant output`;if(t===`reasoning`)return`Reasoning`}if(t===`reasoning`)return`Reasoning`;if(typeof e.role==`string`)return I(e.role);if(t!==void 0)return I(t)}return`${n===void 0?`Item`:`${I(n)} item`} ${t+1}`}function I(e){return e.replace(/[_-]+/g,` `).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).trim().replace(/\b\w/g,e=>e.toUpperCase())}function $e(e){let t=e.instructions;return typeof t!=`string`||t.trim().length===0?[]:[{label:`System prompt`,text:t}]}function et(e){if(e===void 0)return`undefined`;if(e===null)return`null`;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e,null,2)}catch{return String(e)}}function tt(e){let t=new Map;for(let n of e.observations){let e=Number.isFinite(n.turn)?n.turn:t.size+1;t.set(e,[...t.get(e)??[],n])}return[...t.entries()].sort(([e],[t])=>e-t).map(([e,t])=>({turn:e,observations:t,durationMs:t.reduce((e,t)=>e+(t.durationMs??0),0)}))}function nt(e){let t=new Map;for(let n of e)t.set(n.id,{observation:n,children:[]});let n=[];for(let r of e){let e=t.get(r.id);if(e===void 0)continue;let i=r.parentObservationId,a=i===void 0?void 0:t.get(i);a===void 0?n.push(e):a.children.push(e)}return n}function rt(e,t,n){if(n===`agent`)return{title:`agent.run`,tone:`agent`,status:e.status,startedAt:p(e.startedAt),durationMs:e.durationMs,firstDeltaMs:z(e.observations),usage:h(e.usage),input:e.input,output:e.output,error:e.error,metadata:it(e)};if(n.startsWith(`turn:`)){let r=Number(n.slice(5)),i=t.find(e=>e.turn===r);return{title:`turn.${Number.isFinite(r)?r:1}`,tone:`turn`,status:ft(i?.observations??[]),startedAt:p(i?.observations[0]?.startedAt??e.startedAt),durationMs:i?.durationMs,firstDeltaMs:z(i?.observations??[]),usage:ht(i?.observations??[]),input:i?.observations[0]?.input,output:i?.observations.at(-1)?.output,metadata:at(r,i?.observations??[])}}if(n.startsWith(`observation:`)){let t=n.slice(12),r=e.observations.find(e=>e.id===t);if(r!==void 0)return{title:R(r),tone:r.kind,status:r.status,startedAt:p(r.startedAt),durationMs:r.durationMs,firstDeltaMs:mt(r.metadata),usage:H(r),input:r.input,output:r.output,error:r.error,metadata:ot(r)}}return{title:e.name??`Agent`,tone:`trace`,status:e.status,startedAt:p(e.startedAt),durationMs:e.durationMs,firstDeltaMs:z(e.observations),usage:h(e.usage),input:e.input,output:e.output,error:e.error,metadata:it(e)}}function it(e){let t=y(e.metadata)?e.metadata:{},n=L({status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:pt(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs});return L({...t,status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:pt(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs,trace:y(t.trace)?t.trace:n})}function at(e,t){return L({turn:e,observationCount:t.length,generationCount:t.filter(e=>e.kind===`generation`).length,toolCount:t.filter(e=>e.kind===`tool`).length,agentCount:t.filter(e=>e.kind===`agent`).length,firstDeltaMs:z(t),status:ft(t),startedAt:t[0]?.startedAt,endedAt:t.at(-1)?.endedAt})}function ot(e){let t=L({...y(e.metadata)?e.metadata:{},status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs});return L({...t,trace:y(t.trace)?t.trace:L({status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs}),modelInfo:y(t.modelInfo)?t.modelInfo:st(t),modelCall:y(t.modelCall)?t.modelCall:ct(t),response:y(t.response)?t.response:lt(t),tools:y(t.tools)?t.tools:ut(t),timing:y(t.timing)?t.timing:dt(t)})}function st(e){let t=L({provider:e.provider,modelId:e.modelId});return Object.keys(t).length===0?void 0:t}function ct(e){let t=L({messageCount:e.historyCount,documentCount:e.documentCount,toolCount:e.toolCount,toolNames:e.toolNames,temperature:e.temperature,maxTokens:e.maxTokens,toolChoice:e.toolChoice,hasOutputSchema:e.hasOutputSchema,providerOptionKeys:e.providerOptionKeys}),n=L({request:Object.keys(t).length===0?void 0:t,providerRequest:e.providerRequest});return Object.keys(n).length===0?void 0:n}function lt(e){let t=L({messageId:e.messageId,usage:e.usage,providerResponse:e.providerResponse});return Object.keys(t).length===0?void 0:t}function ut(e){let t=L({count:e.toolCount,names:e.toolNames,toolChoice:e.toolChoice,internalCallId:e.internalCallId,toolCallId:e.toolCallId,skipped:e.skipped,description:e.toolDescription,parameterKeys:e.parameterKeys,requiredParameterKeys:e.requiredParameterKeys,approvalRequired:e.approvalRequired,mcpServerName:e.mcpServerName,argumentBytes:e.argumentBytes,resultBytes:e.resultBytes});return Object.keys(t).length===0?void 0:t}function dt(e){let t=L({firstDeltaMs:e.firstDeltaMs,durationMs:e.durationMs,startedAt:e.startedAt,endedAt:e.endedAt});return Object.keys(t).length===0?void 0:t}function ft(e){return e.length===0?`empty`:e.some(e=>e.status===`error`)?`error`:e.some(e=>e.status===`cancelled`)?`cancelled`:e.some(e=>e.status===`running`)?`running`:`success`}function pt(e){return Array.isArray(e)?e.length:void 0}function L(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function R(e){return e.kind===`agent`?e.name:e.kind===`tool`?`tool.${e.name}`:e.name}function z(e){for(let t of e){let e=mt(t.metadata);if(e!==void 0)return e}}function mt(e){if(!(!y(e)||typeof e.firstDeltaMs!=`number`))return e.firstDeltaMs}function B(e){switch(e.tone){case`trace`:return(0,j.jsx)(D,{icon:Oe,"aria-hidden":`true`});case`agent`:return(0,j.jsx)(D,{icon:S,"aria-hidden":`true`});case`turn`:return(0,j.jsx)(D,{icon:S,"aria-hidden":`true`});case`generation`:return(0,j.jsx)(D,{icon:Pe,"aria-hidden":`true`});case`tool`:return(0,j.jsx)(D,{icon:w,"aria-hidden":`true`});default:return(0,j.jsx)(D,{icon:Oe,"aria-hidden":`true`})}}function V(e){switch(e){case`trace`:return`bg-foreground text-background`;case`agent`:return`bg-violet-600 text-white`;case`turn`:return`bg-violet-600 text-white`;case`generation`:return`bg-blue-600 text-white`;case`tool`:return`bg-amber-600 text-white`;default:return`bg-muted text-muted-foreground`}}function H(e){return!y(e.output)||!y(e.output.usage)?``:gt(e.output.usage)}function ht(e){return e.map(H).filter(e=>e.length>0).join(` + `)}function gt(e){let t=typeof e.inputTokens==`number`?e.inputTokens:0,n=typeof e.outputTokens==`number`?e.outputTokens:0,r=typeof e.totalTokens==`number`?e.totalTokens:t+n;return r===0?``:`${t} -> ${n} (Σ ${r})`}function _t({className:e,...t}){return(0,j.jsx)(`div`,{className:r(`flex flex-col gap-4 overflow-hidden rounded-xl border border-border bg-card py-4 text-base text-card-foreground`,e),...t})}var vt=Object.defineProperty,U=(e,t)=>vt(e,`name`,{value:t,configurable:!0});function yt(e,t){return A.useReducer((e,n)=>t[e][n]??e,e)}U(yt,`useStateMachine`);var bt=`ScrollArea`,[xt,St]=o(bt),[Ct,W]=xt(bt),wt=A.forwardRef(U(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[c,l]=A.useState(null),[u,d]=A.useState(null),[f,p]=A.useState(null),[m,h]=A.useState(null),[_,v]=A.useState(null),[y,b]=A.useState(0),[x,S]=A.useState(0),[C,w]=A.useState(!1),[T,E]=A.useState(!1),D=g(t,l),O=ee(i);return(0,j.jsx)(Ct,{scope:n,type:r,dir:O,scrollHideDelay:a,scrollArea:c,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:C,onScrollbarXEnabledChange:w,scrollbarY:_,onScrollbarYChange:v,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:b,onCornerHeightChange:S,children:(0,j.jsx)(s.div,{dir:O,...o,ref:D,style:{position:`relative`,"--radix-scroll-area-corner-width":y+`px`,"--radix-scroll-area-corner-height":x+`px`,...e.style}})})},`ScrollArea`)),Tt=`ScrollAreaViewport`,Et=A.forwardRef(U(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=W(Tt,n),c=A.useRef(null),l=g(t,c,o.onViewportChange);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Dt,{nonce:i}),(0,j.jsx)(s.div,{"data-radix-scroll-area-viewport":``,...a,ref:l,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,j.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),Dt=A.memo(U(function({nonce:e}){return(0,j.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),G=`ScrollAreaScrollbar`,Ot=A.forwardRef(U(function(e,t){let{forceMount:n,...r}=e,i=W(G,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return A.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,j.jsx)(kt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,j.jsx)(At,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,j.jsx)(jt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,j.jsx)(Mt,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),kt=A.forwardRef(U(function(e,t){let{forceMount:n,...r}=e,i=W(G,e.__scopeScrollArea),[a,o]=A.useState(!1);return A.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=U(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=U(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,j.jsx)(l,{present:n||a,children:(0,j.jsx)(jt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),At=A.forwardRef(U(function(e,t){let{forceMount:n,...r}=e,i=W(G,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=J(()=>u(`SCROLL_END`),100),[s,u]=yt(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return A.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>u(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,u]),A.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=U(()=>{let r=e[t];n!==r&&(u(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,u,o]),(0,j.jsx)(l,{present:n||s!==`hidden`,children:(0,j.jsx)(Mt,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:c(e.onPointerEnter,()=>u(`POINTER_ENTER`)),onPointerLeave:c(e.onPointerLeave,()=>u(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),jt=A.forwardRef(U(function(e,t){let n=W(G,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=A.useState(!1),s=e.orientation===`horizontal`,c=J(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Y(n.viewport,c),Y(n.content,c),(0,j.jsx)(l,{present:r||a,children:(0,j.jsx)(Mt,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),Mt=A.forwardRef(U(function(e,t){let{orientation:n=`vertical`,...r}=e,i=W(G,e.__scopeScrollArea),a=A.useRef(null),o=A.useRef(0),[s,c]=A.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Wt(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:U(e=>a.current=e,`onThumbChange`),onThumbPointerUp:U(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:U(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Gt(e,o.current,s,t)}return U(d,`getScrollPosition`),n===`horizontal`?(0,j.jsx)(Nt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Kt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,j.jsx)(Pt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Kt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),Nt=A.forwardRef(U(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=W(G,e.__scopeScrollArea),[o,s]=A.useState(),c=A.useRef(null),l=g(t,c,a.onScrollbarXChange);return A.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,j.jsx)(Lt,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":q(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Jt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:K(o.paddingLeft),paddingEnd:K(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),Pt=A.forwardRef(U(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=W(G,e.__scopeScrollArea),[o,s]=A.useState(),c=A.useRef(null),l=g(t,c,a.onScrollbarYChange);return A.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,j.jsx)(Lt,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":q(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Jt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:K(o.paddingTop),paddingEnd:K(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[Ft,It]=xt(G),Lt=A.forwardRef(U(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:l,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:p,onResize:m,...h}=e,_=W(G,n),[v,y]=A.useState(null),b=g(t,y),x=A.useRef(null),S=A.useRef(``),C=_.viewport,w=r.content-r.viewport,T=a(p),E=a(d),D=J(m,10);function O(e){if(x.current){let t=e.clientX-x.current.left,n=e.clientY-x.current.top;f({x:t,y:n})}}return U(O,`handleDragScroll`),A.useEffect(()=>{let e=U(e=>{let t=e.target;v?.contains(t)&&T(e,w)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[C,v,w,T]),A.useEffect(E,[r,E]),Y(v,D),Y(_.content,D),(0,j.jsx)(Ft,{scope:n,scrollbar:v,hasThumb:i,onThumbChange:a(o),onThumbPointerUp:a(l),onThumbPositionChange:E,onThumbPointerDown:a(u),children:(0,j.jsx)(s.div,{...h,ref:b,style:{position:`absolute`,...h.style},onPointerDown:c(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),x.current=v.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,_.viewport&&(_.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:c(e.onPointerMove,O),onPointerUp:c(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,_.viewport&&(_.viewport.style.scrollBehavior=``),x.current=null})})})},`ScrollAreaScrollbarImpl`)),Rt=`ScrollAreaThumb`,zt=A.forwardRef(U(function(e,t){let{forceMount:n,...r}=e,i=It(Rt,e.__scopeScrollArea);return(0,j.jsx)(l,{present:n||i.hasThumb,children:(0,j.jsx)(Bt,{ref:t,...r})})},`ScrollAreaThumb`)),Bt=A.forwardRef(U(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=W(Rt,n),o=It(Rt,n),{onThumbPositionChange:l}=o,u=g(t,o.onThumbChange),d=A.useRef(void 0),f=J(()=>{d.current&&=(d.current(),void 0)},100);return A.useEffect(()=>{let e=a.viewport;if(e){let t=U(()=>{if(f(),!d.current){let t=Yt(e,l);d.current=t,l()}},`handleScroll`);return l(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,f,l]),(0,j.jsx)(s.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:u,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:c(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:c(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Vt=`ScrollAreaCorner`,Ht=A.forwardRef(U(function(e,t){let n=W(Vt,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,j.jsx)(Ut,{...e,ref:t}):null},`ScrollAreaCorner`)),Ut=A.forwardRef(U(function(e,t){let{__scopeScrollArea:n,...r}=e,i=W(Vt,n),[a,o]=A.useState(0),[c,l]=A.useState(0),u=!!(a&&c),{onCornerWidthChange:d,onCornerHeightChange:f}=i;return Y(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),l(e)}),Y(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),A.useEffect(()=>()=>{d(0),f(0)},[d,f]),u?(0,j.jsx)(s.div,{...r,ref:t,style:{width:a,height:c,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function K(e){return e?parseInt(e,10):0}U(K,`toInt`);function Wt(e,t){let n=e/t;return isNaN(n)?0:n}U(Wt,`getThumbRatio`);function q(e){let t=Wt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}U(q,`getThumbSize`);function Gt(e,t,n,r=`ltr`){let i=q(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return qt([c,l],d)(e)}U(Gt,`getScrollPositionFromPointer`);function Kt(e,t,n=`ltr`){let r=q(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=O(e,c);return qt([0,o],[0,s])(l)}U(Kt,`getThumbOffsetFromScroll`);function qt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}U(qt,`linearScale`);function Jt(e,t){return e>0&&e<t}U(Jt,`isScrollingWithinScrollbarBounds`);var Yt=U((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return U((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function J(e,t){let n=a(e),r=A.useRef(0);return A.useEffect(()=>()=>window.clearTimeout(r.current),[]),A.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}U(J,`useDebounceCallback`);function Y(e,t){let n=a(t);i(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}U(Y,`useResizeObserver`);var Xt=wt,Zt=Et,Qt=Ht;function $t({className:e,children:t,...n}){return(0,j.jsxs)(Xt,{className:r(`relative overflow-hidden`,e),...n,children:[(0,j.jsx)(Zt,{className:`h-full w-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:ring-3 focus-visible:ring-ring/50`,children:t}),(0,j.jsx)(en,{}),(0,j.jsx)(Qt,{})]})}function en({className:e,orientation:t=`vertical`,...n}){return(0,j.jsx)(Ot,{orientation:t,className:r(`flex touch-none select-none transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,e),...n,children:(0,j.jsx)(zt,{className:`relative flex-1 rounded-full bg-border`})})}function tn(e){if(!e.tracesEnabled)return(0,j.jsx)(k,{className:`h-full`,title:`Tracing unavailable`,text:`This Studio runtime does not expose traces.`});let t=e.selectedTraceId.length===0?void 0:e.traces.find(t=>t.id===e.selectedTraceId),n=t===void 0||e.traceSessionDetailId!==t.sessionId?[]:e.traces.filter(e=>e.sessionId===t.sessionId);return(0,j.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch`,"aria-label":`Tracing`,children:e.selectedTraceId.length===0?(0,j.jsx)(nn,{agents:e.agents,traces:e.traces,traceLoadState:e.traceLoadState,onSelectTrace:e.onSelectTrace}):(0,j.jsx)(rn,{selectedTrace:t,selectedSessionTraces:n,selectedTraceId:e.selectedTraceId,traceLoadState:e.traceLoadState,onBack:()=>e.onSelectTrace(``),onShowSessionTraces:e.onShowSessionTraces})})}function nn(e){return e.traces.length===0?(0,j.jsx)(k,{title:e.traceLoadState===`loading`?`Loading traces`:`No traces found`,text:e.traceLoadState===`loading`?`Reading runtime trace records.`:`Run an agent to populate the tracing timeline.`}):(0,j.jsx)(_t,{className:`min-h-0 overflow-hidden rounded-none border-0 bg-background p-0`,"aria-label":`Traces`,children:(0,j.jsx)($t,{className:`h-full min-h-0`,children:(0,j.jsxs)(`div`,{className:`grid min-w-280`,children:[(0,j.jsxs)(`div`,{className:`sticky top-0 z-10 grid min-h-11 grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center gap-4 border-b bg-background/95 px-4 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground backdrop-blur`,children:[(0,j.jsx)(`span`,{children:`Trace`}),(0,j.jsx)(`span`,{children:`Session`}),(0,j.jsx)(`span`,{children:`Agent`}),(0,j.jsx)(`span`,{children:`Status`}),(0,j.jsx)(`span`,{children:`Started`}),(0,j.jsx)(`span`,{children:`Duration`}),(0,j.jsx)(`span`,{children:`First delta`}),(0,j.jsx)(`span`,{children:`Events`})]}),e.traces.map(t=>(0,j.jsxs)(_,{className:`grid h-auto min-h-14 w-full grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center justify-start gap-4 whitespace-normal rounded-none border-0 border-b bg-transparent px-4 py-2.5 text-left text-muted-foreground shadow-none transition duration-200 hover:bg-accent/70 hover:text-accent-foreground`,type:`button`,variant:`ghost`,onClick:()=>e.onSelectTrace(t.id),children:[(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:t.id}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:t.sessionId}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:u(e.agents,t)}),(0,j.jsx)(on,{status:t.status}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:f(t.startedAt)}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:m(d(t.durationMs))}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:m(d(z(t.observations)))}),(0,j.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium tabular-nums`,children:t.observationCount})]},t.id))]})})})}function rn(e){let t=e.selectedTrace?.observations[0]?.kind??`trace`;return(0,j.jsxs)(`div`,{className:`grid h-full min-h-0 min-w-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,children:[(0,j.jsxs)(`header`,{className:`shrink-0 border-b bg-background px-4 py-3`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,j.jsx)(_,{"aria-label":`Back to traces`,className:`mt-0.5 text-muted-foreground hover:text-foreground`,size:`icon`,type:`button`,variant:`ghost`,onClick:e.onBack,children:(0,j.jsx)(D,{icon:ge,"aria-hidden":`true`})}),(0,j.jsx)(`span`,{className:r(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,V(t)),children:(0,j.jsx)(B,{tone:t})}),(0,j.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,j.jsx)(`h1`,{className:`truncate text-lg font-semibold tracking-tight`,children:an(e.selectedTrace)}),e.selectedTrace?(0,j.jsx)(on,{status:e.selectedTrace.status}):null]}),(0,j.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground`,children:e.selectedTrace===void 0?e.traceLoadState===`loading`?`Loading trace`:`Trace not found`:(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{children:f(e.selectedTrace.startedAt)}),(0,j.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,j.jsx)(`span`,{className:`font-mono`,title:e.selectedTraceId,children:e.selectedTraceId})]})})]})]}),e.selectedTrace?(0,j.jsxs)(`dl`,{className:`mt-3 grid grid-cols-2 gap-x-6 gap-y-3 border-t pt-3 sm:grid-cols-4`,children:[(0,j.jsx)(X,{label:`Duration`,value:d(e.selectedTrace.durationMs)}),(0,j.jsx)(X,{label:`Spans`,value:String(e.selectedTrace.observationCount)}),(0,j.jsx)(X,{label:`Tokens`,value:m(h(e.selectedTrace.usage))}),(0,j.jsx)(X,{label:`Session`,value:e.selectedTrace.sessionId,mono:!0})]}):null]}),(0,j.jsx)(`div`,{className:`min-h-0 min-w-0 overflow-hidden`,children:e.selectedTrace===void 0?(0,j.jsx)(k,{className:`h-full rounded-none`,title:e.traceLoadState===`loading`?`Loading trace`:`Trace not found`,text:e.traceLoadState===`loading`?`Reading the selected trace.`:`The selected trace is not available in this Studio runtime.`}):(0,j.jsx)(sn,{traces:e.selectedSessionTraces.length>0?e.selectedSessionTraces:[e.selectedTrace],onShowSessionTraces:e.onShowSessionTraces})})]})}function an(e){return e?.name?e.name:y(e?.metadata)&&typeof e.metadata.agentName==`string`?e.metadata.agentName:`Trace detail`}function X(e){return(0,j.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,j.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,j.jsx)(`dd`,{className:r(`truncate text-sm font-medium tabular-nums`,e.mono&&`font-mono`),children:e.value})]})}function on({status:e}){return(0,j.jsx)(te,{className:r(`border-0 capitalize`,e===`success`&&`bg-emerald-200 text-emerald-950 dark:bg-emerald-300 dark:text-emerald-950`,e===`error`&&`bg-rose-200 text-rose-950 dark:bg-rose-300 dark:text-rose-950`,(e===`running`||e===`suspended`||e===`cancelled`)&&`bg-amber-200 text-amber-950 dark:bg-amber-300 dark:text-amber-950`,e!==`success`&&e!==`error`&&e!==`running`&&e!==`suspended`&&e!==`cancelled`&&`bg-slate-200 text-slate-900 dark:bg-slate-300 dark:text-slate-950`),children:e})}function sn(e){let t=(0,A.useMemo)(()=>[...e.traces].sort((e,t)=>Date.parse(e.startedAt)-Date.parse(t.startedAt)),[e.traces]),n=t[0]?.id??``,[r,i]=(0,A.useState)(n),[a,o]=(0,A.useState)(`agent`),[s,c]=(0,A.useState)(()=>new Set),[l,u]=(0,A.useState)(``);(0,A.useEffect)(()=>{i(n),o(`agent`)},[n]);let f=t.find(e=>e.id===r)??t[0],p=f===void 0?[]:tt(f),m=(e,t)=>{i(e),o(t)},h=l.trim().toLowerCase(),g=h.length===0?[]:t.flatMap(e=>e.observations.filter(e=>[e.name,e.kind,e.id].some(e=>e.toLowerCase().includes(h))).map(t=>({trace:e,observation:t}))),v=t.map(e=>`${e.id}:agent`),y=v.length>0&&v.every(e=>s.has(e)),b=e=>{c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return f===void 0?(0,j.jsx)(k,{className:`h-full rounded-none`,title:`No trace selected`,text:`Choose a trace to inspect its spans and metadata.`}):(0,j.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch overflow-hidden bg-background`,"aria-label":`Traces`,children:(0,j.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-[minmax(280px,36%)_minmax(420px,64%)] overflow-hidden max-md:grid-cols-1`,children:[(0,j.jsxs)(`nav`,{className:`flex h-full min-h-0 flex-col border-r bg-background max-md:max-h-80 max-md:border-b max-md:border-r-0`,"aria-label":`Trace timeline`,children:[(0,j.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-b p-1.5`,children:[(0,j.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,j.jsx)(D,{icon:Me,"aria-hidden":`true`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,j.jsx)(ne,{"aria-label":`Search spans`,className:`h-8 border-0 bg-transparent pl-7 shadow-none focus-visible:ring-1`,placeholder:`Search spans`,value:l,onChange:e=>u(e.target.value)})]}),(0,j.jsx)(_,{"aria-label":y?`Expand all spans`:`Collapse all spans`,className:`size-8`,size:`icon`,title:y?`Expand all`:`Collapse all`,variant:`ghost`,onClick:()=>c(y?new Set:new Set(v)),children:(0,j.jsx)(D,{icon:y?be:Re,"aria-hidden":`true`})})]}),(0,j.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain px-2 py-1`,children:h.length>0?g.length>0?g.map(({trace:e,observation:t})=>(0,j.jsx)(Z,{active:f.id===e.id&&a===`observation:${t.id}`,ancestorLevels:[],hasChildren:!1,isLastSibling:!0,level:0,tone:t.kind,title:R(t),subtitle:d(t.durationMs),onSelect:()=>m(e.id,`observation:${t.id}`)},`${e.id}:${t.id}`)):(0,j.jsxs)(`div`,{className:`grid place-items-center gap-1 p-6 text-center`,children:[(0,j.jsx)(`span`,{className:`text-sm font-medium`,children:`No matching spans`}),(0,j.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Search by name, kind, or ID.`})]}):t.map(e=>{let n=f.id===e.id,r=tt(e),i=`${e.id}:agent`,o=s.has(i);return(0,j.jsxs)(`div`,{className:`contents`,children:[(0,j.jsx)(Z,{active:n&&a===`agent`,ancestorLevels:[],hasChildren:r.length>0,isLastSibling:!0,level:0,tone:`agent`,title:t.length>1?e.name??`agent.run`:`agent.run`,subtitle:d(e.durationMs),collapsed:o,onSelect:()=>m(e.id,`agent`),onToggle:()=>b(i)}),o?null:r.map(t=>{let i=`${e.id}:turn:${t.turn}`,o=s.has(i);return(0,j.jsxs)(`div`,{className:`contents`,children:[(0,j.jsx)(Z,{active:n&&a===`turn:${t.turn}`,ancestorLevels:[],hasChildren:t.observations.length>0,isLastSibling:t.turn===r.at(-1)?.turn,level:1,tone:`turn`,title:`turn.${t.turn}`,subtitle:d(t.durationMs),collapsed:o,onSelect:()=>m(e.id,`turn:${t.turn}`),onToggle:()=>b(i)}),o?null:(0,j.jsx)(ln,{activeKey:a,collapsed:s,isLastTurn:t.turn===r.at(-1)?.turn,observations:t.observations,onSelect:t=>m(e.id,`observation:${t}`),onToggle:b,traceActive:n})]},i)})]},e.id)})})]}),(0,j.jsx)(dn,{trace:f,turns:p,activeKey:a,onShowSessionTraces:e.onShowSessionTraces})]})})}function Z(e){return(0,j.jsxs)(`div`,{className:r(`group flex min-w-0 items-stretch text-muted-foreground hover:bg-muted/60`,e.active&&`bg-muted text-foreground`),children:[(0,j.jsxs)(`button`,{"aria-current":e.active?`true`:void 0,className:`flex min-w-0 flex-1 items-stretch text-left`,type:`button`,onClick:e.onSelect,children:[(0,j.jsx)(cn,{ancestorLevels:e.ancestorLevels,hasChildren:e.hasChildren,isLastSibling:e.isLastSibling,level:e.level,tone:e.tone}),(0,j.jsxs)(`span`,{className:`grid min-w-0 flex-1 content-center py-1.5 pr-2`,children:[(0,j.jsx)(`span`,{className:`truncate text-xs font-medium text-current`,title:e.title,children:e.title}),(0,j.jsx)(`span`,{className:`flex flex-wrap gap-x-2 text-[10px] text-muted-foreground`,children:e.subtitle})]})]}),e.hasChildren&&e.onToggle?(0,j.jsx)(`button`,{"aria-expanded":!e.collapsed,"aria-label":e.collapsed?`Expand ${e.title}`:`Collapse ${e.title}`,className:`m-1 grid size-7 shrink-0 place-items-center rounded-md hover:bg-background`,type:`button`,onClick:e.onToggle,children:(0,j.jsx)(D,{icon:we,"aria-hidden":`true`,className:r(`size-3.5 transition-transform`,!e.collapsed&&`rotate-90`)})}):null]})}function cn(e){let t=e.level*20;return(0,j.jsxs)(`span`,{className:`relative shrink-0`,"data-tree-depth":e.level,style:{width:`${(e.level+1)*20+4}px`},children:[e.ancestorLevels.map(e=>(0,j.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`ancestor`,style:{left:`${e*20+10}px`}},`ancestor-line-${e}`)),e.level>0?e.isLastSibling?(0,j.jsx)(`span`,{className:`absolute top-0 h-1/2 rounded-bl-sm border-b border-l border-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`sibling-continuation`,style:{left:`${(e.level-1)*20+10}px`}}),(0,j.jsx)(`span`,{className:`absolute top-1/2 h-px bg-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}})]}):null,e.hasChildren?(0,j.jsx)(`span`,{className:`absolute bottom-0 w-px bg-border`,"data-tree-line":`children`,style:{left:`${t+10}px`,top:`calc(50% + 0.5rem)`}}):null,(0,j.jsx)(`span`,{className:r(`absolute top-1/2 grid size-4 -translate-y-1/2 place-items-center rounded-sm [&_svg]:size-2.5`,V(e.tone)),style:{left:`${t+2}px`},children:(0,j.jsx)(B,{tone:e.tone})})]})}function ln(e){let t=nt(e.observations);return(0,j.jsx)(j.Fragment,{children:t.map((n,r)=>(0,j.jsx)(un,{activeKey:e.activeKey,ancestorLevels:e.isLastTurn?[]:[0],collapsed:e.collapsed,isLastSibling:r===t.length-1,level:2,node:n,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},n.observation.id))})}function un(e){let t=H(e.node.observation),n=`observation:${e.node.observation.id}`,r=e.collapsed.has(n),i=e.isLastSibling?e.ancestorLevels:[...e.ancestorLevels,e.level];return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Z,{active:e.traceActive&&e.activeKey===`observation:${e.node.observation.id}`,ancestorLevels:e.ancestorLevels,hasChildren:e.node.children.length>0,isLastSibling:e.isLastSibling,level:e.level,tone:e.node.observation.kind,title:R(e.node.observation),subtitle:t.length>0?`${d(e.node.observation.durationMs)} · ${t}`:d(e.node.observation.durationMs),collapsed:r,onSelect:()=>e.onSelect(e.node.observation.id),onToggle:()=>e.onToggle(n)}),r?null:e.node.children.map((t,n)=>(0,j.jsx)(un,{activeKey:e.activeKey,ancestorLevels:i,collapsed:e.collapsed,isLastSibling:n===e.node.children.length-1,level:e.level+1,node:t,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},t.observation.id))]})}function dn(e){let t=rt(e.trace,e.turns,e.activeKey),[n,i]=(0,A.useState)(`formatted`);return(0,j.jsxs)(`section`,{className:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,"aria-label":`Trace detail`,children:[(0,j.jsx)(`header`,{className:`shrink-0 border-b px-4 py-4 md:px-6`,children:(0,j.jsxs)(`div`,{className:`grid min-w-0 gap-4`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,j.jsx)(`span`,{className:r(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,V(t.tone)),children:(0,j.jsx)(B,{tone:t.tone})}),(0,j.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,j.jsx)(`h2`,{className:`m-0 min-w-0 truncate text-xl font-semibold tracking-tight`,children:t.title}),(0,j.jsx)(on,{status:t.status})]}),(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:t.startedAt})]})]}),(0,j.jsx)(fn,{value:n,onChange:i})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(Q,{icon:(0,j.jsx)(D,{icon:Ee,"aria-hidden":`true`}),label:`Duration`,value:d(t.durationMs)}),t.firstDeltaMs===void 0?null:(0,j.jsx)(Q,{icon:(0,j.jsx)(D,{icon:Ie,"aria-hidden":`true`}),label:`First delta`,value:d(t.firstDeltaMs)}),t.usage.length===0?null:(0,j.jsx)(Q,{icon:(0,j.jsx)(D,{icon:Se,"aria-hidden":`true`}),label:`Usage`,value:t.usage}),(0,j.jsxs)(`button`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted/20 px-2.5 py-1.5 text-xs hover:bg-muted/60`,type:`button`,onClick:()=>e.onShowSessionTraces(e.trace.sessionId),children:[(0,j.jsx)(D,{icon:x,"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:`Session`}),(0,j.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.trace.sessionId})]})]})]})}),(0,j.jsx)(`div`,{className:`min-w-0 overflow-auto`,children:(0,j.jsxs)(`div`,{className:`grid min-w-0 content-start gap-6 p-6`,children:[t.input===void 0?null:(0,j.jsx)($,{title:`Input`,value:t.input,view:n}),t.output===void 0?null:(0,j.jsx)($,{title:`Output`,value:t.output,tone:`success`,view:n}),t.error===void 0?null:(0,j.jsx)($,{title:`Error`,value:t.error,tone:`error`,view:n}),(0,j.jsx)($,{title:`Metadata`,value:t.metadata,view:n})]})})]})}function Q(e){return(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted/20 px-2.5 py-1.5 text-xs`,children:[(0,j.jsx)(`span`,{className:`text-muted-foreground [&_svg]:size-3.5`,children:e.icon}),(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,j.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.value})]})}function fn(e){return(0,j.jsx)(`fieldset`,{className:`flex h-8 items-center rounded-md border bg-muted/50 p-0.5`,"aria-label":`Payload view`,children:[`formatted`,`json`].map(t=>(0,j.jsx)(`button`,{"aria-pressed":e.value===t,className:r(`h-6 rounded px-2 text-xs font-medium text-muted-foreground`,e.value===t&&`bg-background text-foreground shadow-sm`),type:`button`,onClick:()=>e.onChange(t),children:t===`formatted`?`Formatted`:`JSON`},t))})}function $(e){let t=Ye(e.title,e.value);return(0,j.jsxs)(`section`,{className:`grid min-w-0 gap-3`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(`h3`,{className:`m-0 text-sm font-semibold`,children:e.title}),(0,j.jsx)(`span`,{className:`h-px flex-1 bg-border`,"aria-hidden":`true`})]}),e.view===`json`?(0,j.jsx)(Be,{value:e.value}):(0,j.jsx)(`div`,{className:`grid min-w-0 gap-2`,children:t.map(t=>(0,j.jsxs)(`article`,{className:r(`grid min-w-0 gap-2 rounded-lg border bg-muted/10 px-4 py-3`,e.compact&&`grid-cols-[150px_minmax(0,1fr)] items-start gap-4 max-lg:grid-cols-1`),children:[(0,j.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,j.jsx)(Je,{label:t.label}),t.label]}),(0,j.jsx)(pn,{compact:e.compact,item:t,tone:e.tone})]},`${t.label}-${t.text}`))})]})}function pn(e){let t=mn(e.item);return t.length>0?(0,j.jsx)(`div`,{className:`grid min-w-0 gap-5`,children:t.map(e=>(0,j.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,j.jsx)(`span`,{className:` text-xs font-semibold tabular-nums text-muted-foreground`,children:e.index}),(0,j.jsx)(te,{className:r(`px-1.5 py-0.5`,e.role===`User`&&`border-border/80 bg-muted-foreground/15 text-muted-foreground`,e.role===`Assistant`&&`border-border/80 bg-foreground/15 text-foreground`,e.role===`Tool`&&`border-destructive/40 bg-destructive/15 text-destructive`),children:e.role})]}),(0,j.jsx)(`p`,{className:`m-0 whitespace-pre-wrap text-sm leading-6 text-foreground [overflow-wrap:anywhere]`,children:e.text})]},`${e.index}-${e.role}-${e.text}`))}):(0,j.jsx)(`p`,{className:r(`m-0 whitespace-pre-wrap text-sm leading-6 text-foreground [overflow-wrap:anywhere]`,e.tone===`success`&&!qe(e.item)&&`text-foreground`,e.tone===`error`&&`text-destructive`),children:e.item.text})}function mn(e){return e.label.startsWith(`Conversation history`)?e.text.split(`
6
-
7
- `).flatMap(e=>{let[t,...n]=e.split(`
8
- `),r=/^(\d+)\.\s+(.+)$/.exec(t??``);return r===null?[]:[{index:r[1]??``,role:r[2]??`Message`,text:n.join(`
9
- `)}]}):[]}export{tn as TraceBrowser};
10
- //# sourceMappingURL=trace-browser-CuBl9__d.js.map