agentgear-ai 0.1.16__py3-none-any.whl
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.
- agentgear/__init__.py +18 -0
- agentgear/cli/__init__.py +1 -0
- agentgear/cli/main.py +125 -0
- agentgear/sdk/__init__.py +6 -0
- agentgear/sdk/client.py +276 -0
- agentgear/sdk/decorators.py +65 -0
- agentgear/sdk/integrations/openai.py +52 -0
- agentgear/sdk/prompt.py +23 -0
- agentgear/sdk/trace.py +59 -0
- agentgear/server/__init__.py +1 -0
- agentgear/server/app/__init__.py +1 -0
- agentgear/server/app/api/__init__.py +1 -0
- agentgear/server/app/api/auth.py +156 -0
- agentgear/server/app/api/datasets.py +185 -0
- agentgear/server/app/api/evaluations.py +69 -0
- agentgear/server/app/api/evaluators.py +157 -0
- agentgear/server/app/api/llm_models.py +39 -0
- agentgear/server/app/api/metrics.py +18 -0
- agentgear/server/app/api/projects.py +139 -0
- agentgear/server/app/api/prompts.py +227 -0
- agentgear/server/app/api/runs.py +75 -0
- agentgear/server/app/api/seed.py +106 -0
- agentgear/server/app/api/settings.py +135 -0
- agentgear/server/app/api/spans.py +56 -0
- agentgear/server/app/api/tokens.py +67 -0
- agentgear/server/app/api/users.py +116 -0
- agentgear/server/app/auth.py +80 -0
- agentgear/server/app/config.py +26 -0
- agentgear/server/app/db.py +41 -0
- agentgear/server/app/deps.py +46 -0
- agentgear/server/app/main.py +77 -0
- agentgear/server/app/migrations.py +88 -0
- agentgear/server/app/models.py +339 -0
- agentgear/server/app/schemas.py +343 -0
- agentgear/server/app/utils/email.py +30 -0
- agentgear/server/app/utils/llm.py +27 -0
- agentgear/server/static/assets/index-BAAzXAln.js +121 -0
- agentgear/server/static/assets/index-CE45MZx1.css +1 -0
- agentgear/server/static/index.html +13 -0
- agentgear_ai-0.1.16.dist-info/METADATA +387 -0
- agentgear_ai-0.1.16.dist-info/RECORD +44 -0
- agentgear_ai-0.1.16.dist-info/WHEEL +4 -0
- agentgear_ai-0.1.16.dist-info/entry_points.txt +2 -0
- agentgear_ai-0.1.16.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.top-1\/2{top:50%}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[500px\]{height:500px}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-60{max-height:15rem}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-60{width:15rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.scroll-mt-8{scroll-margin-top:2rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-brand-600{--tw-border-opacity: 1;border-color:rgb(36 90 176 / var(--tw-border-opacity, 1))}.border-orange-100{--tw-border-opacity: 1;border-color:rgb(255 237 213 / var(--tw-border-opacity, 1))}.border-purple-100{--tw-border-opacity: 1;border-color:rgb(243 232 255 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/20{border-color:#fff3}.border-white\/40{border-color:#fff6}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-brand-100{--tw-bg-opacity: 1;background-color:rgb(220 236 255 / var(--tw-bg-opacity, 1))}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(240 247 255 / var(--tw-bg-opacity, 1))}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(36 90 176 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#eef2ff\]{--tw-gradient-from: #eef2ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from: #0f172a var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[\#f0f9ff\]{--tw-gradient-to: #f0f9ff var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to: #1e293b var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(36 90 176 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(31 74 141 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.decoration-slate-300{text-decoration-color:#cbd5e1}.underline-offset-2{text-underline-offset:2px}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-slide-up{animation:slideUp .5s ease-out forwards}body{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1));-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.hover\:border-brand-300:hover{--tw-border-opacity: 1;border-color:rgb(137 190 255 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 236 255 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 247 255 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(31 74 141 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:from-blue-500:hover{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-blue-400:hover{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-blue-900:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.hover\:text-brand-700:hover{--tw-text-opacity: 1;color:rgb(31 74 141 / var(--tw-text-opacity, 1))}.hover\:text-brand-800:hover{--tw-text-opacity: 1;color:rgb(30 62 115 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-400:focus{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.focus\:border-brand-500:focus{--tw-border-opacity: 1;border-color:rgb(49 116 217 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 640px){.sm\:block{display:block}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.md\:p-10{padding:2.5rem}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1fr_350px\]{grid-template-columns:1fr 350px}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>AgentGear</title>
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-BAAzXAln.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CE45MZx1.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body class="bg-slate-50">
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentgear-ai
|
|
3
|
+
Version: 0.1.16
|
|
4
|
+
Summary: AgentGear: LLM observability, prompt management, and agentic tracing platform with SDK, FastAPI backend, and dashboard.
|
|
5
|
+
Project-URL: Homepage, https://github.com/debpanda/agentgear
|
|
6
|
+
Project-URL: Repository, https://github.com/debpanda/agentgear
|
|
7
|
+
Project-URL: Issues, https://github.com/debpanda/agentgear/issues
|
|
8
|
+
Author: AgentGear Contributors
|
|
9
|
+
License-Expression: Apache-2.0
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: agents,fastapi,llm,observability,prompts,sdk,tracing
|
|
12
|
+
Classifier: Framework :: FastAPI
|
|
13
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
|
+
Classifier: Programming Language :: Python
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: fastapi>=0.110
|
|
22
|
+
Requires-Dist: httpx>=0.27
|
|
23
|
+
Requires-Dist: itsdangerous>=2.2
|
|
24
|
+
Requires-Dist: jinja2>=3.1
|
|
25
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
26
|
+
Requires-Dist: pydantic>=2.6
|
|
27
|
+
Requires-Dist: python-dateutil>=2.8
|
|
28
|
+
Requires-Dist: python-multipart>=0.0.9
|
|
29
|
+
Requires-Dist: requests>=2.31
|
|
30
|
+
Requires-Dist: sqlalchemy>=2.0
|
|
31
|
+
Requires-Dist: typer>=0.9
|
|
32
|
+
Requires-Dist: uvicorn[standard]>=0.27
|
|
33
|
+
Provides-Extra: cli
|
|
34
|
+
Requires-Dist: typer[all]>=0.9; extra == 'cli'
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: coverage>=7.4; extra == 'dev'
|
|
37
|
+
Requires-Dist: mypy>=1.8; extra == 'dev'
|
|
38
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
39
|
+
Requires-Dist: pytest>=7.4; extra == 'dev'
|
|
40
|
+
Requires-Dist: ruff>=0.3; extra == 'dev'
|
|
41
|
+
Requires-Dist: types-python-dateutil; extra == 'dev'
|
|
42
|
+
Provides-Extra: server
|
|
43
|
+
Requires-Dist: uvicorn[standard]>=0.27; extra == 'server'
|
|
44
|
+
Description-Content-Type: text/markdown
|
|
45
|
+
|
|
46
|
+
# AgentGear
|
|
47
|
+
|
|
48
|
+
<p align="center">
|
|
49
|
+
<img src="https://raw.githubusercontent.com/debpanda/agentgear/main/docs/assets/agentgear-logo.svg" alt="# AgentGear
|
|
50
|
+
|
|
51
|
+
 
|
|
52
|
+
|
|
53
|
+
**AgentGear** is the all-in-one open-source platform for **LLM Observability, Prompt Engineering, and Agent Tracing**. It helps you debug, evaluate, and optimize your AI agents with a beautiful, locally hosted dashboard.
|
|
54
|
+
|
|
55
|
+
## 🚀 Quick Start
|
|
56
|
+
|
|
57
|
+
Get started in 30 seconds. No complex setup required.
|
|
58
|
+
|
|
59
|
+
### 1. Install
|
|
60
|
+
```bash
|
|
61
|
+
pip install agentgear-ai
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Run the UI
|
|
65
|
+
```bash
|
|
66
|
+
agentgear ui
|
|
67
|
+
```
|
|
68
|
+
The dashboard will open at http://localhost:8000.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ✨ Features
|
|
73
|
+
|
|
74
|
+
- **🔍 Agent Tracing**: Visualise your agent's thought process with interactive graphs.
|
|
75
|
+
- **📝 Prompt Registry**: Version, tag, and test your prompts.
|
|
76
|
+
- **🧪 Playground**: Experiment with different LLMs (OpenAI, Anthropic, Gemini, etc.) directly in the UI.
|
|
77
|
+
- **📊 Datasets & Evaluations**: Upload test cases (CSV/JSON) and run LLM-as-a-Judge evaluators to catch regressions.
|
|
78
|
+
- **📈 Metrics**: Track token usage, latency, and costs.
|
|
79
|
+
- **🔒 Secure**: Runs locally on your machine. Your data stays with you.
|
|
80
|
+
|
|
81
|
+
## 📚 Documentation
|
|
82
|
+
|
|
83
|
+
For full documentation on how to instrument your code, visit the **[Documentation](http://localhost:8000/guide)** page within the dashboard.
|
|
84
|
+
|
|
85
|
+
### Basic Instrumentation Example
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from agentgear import instrument, start_trace
|
|
89
|
+
|
|
90
|
+
# 1. Initialize
|
|
91
|
+
instrument(
|
|
92
|
+
project_id="my-project",
|
|
93
|
+
api_key="...", # Not needed for local dev
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
# 2. Decorate your functions
|
|
97
|
+
@trace_span(name="generate_story")
|
|
98
|
+
def generate_story(topic):
|
|
99
|
+
# Your LLM call here...
|
|
100
|
+
return "Once upon a time..."
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 🛠 Configuration
|
|
104
|
+
|
|
105
|
+
AgentGear works out of the box, but you can configure it via environment variables:
|
|
106
|
+
|
|
107
|
+
- `AGENTGEAR_DATABASE_URL`: Custom database path (default: `sqlite:///~/.agentgear/agentgear.db`)
|
|
108
|
+
- `OPENAI_API_KEY`: Required for Playground and Evaluations.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Quick Start
|
|
113
|
+
|
|
114
|
+
### Prerequisites
|
|
115
|
+
- Python 3.10+
|
|
116
|
+
- Node 18+ (with npm/pnpm/yarn) — only needed if you want to hack on the UI locally; production install uses the bundled build
|
|
117
|
+
- SQLite (default) or Postgres (for cloud)
|
|
118
|
+
|
|
119
|
+
### 1) Install SDK
|
|
120
|
+
```bash
|
|
121
|
+
pip install agentgear-ai
|
|
122
|
+
```
|
|
123
|
+
> Package name is `agentgear-ai`, import path remains `import agentgear`.
|
|
124
|
+
|
|
125
|
+
### 2) Initialize backend (SQLite dev)
|
|
126
|
+
```bash
|
|
127
|
+
agentgear init-db
|
|
128
|
+
```
|
|
129
|
+
> Default SQLite file lives at `~/.agentgear/agentgear.db`. Set `AGENTGEAR_DATABASE_URL` to override (absolute path recommended).
|
|
130
|
+
|
|
131
|
+
### 3) Launch API + dashboard (served from the Python package)
|
|
132
|
+
```bash
|
|
133
|
+
agentgear ui # FastAPI + packaged React dashboard on :8000
|
|
134
|
+
# open http://localhost:8000
|
|
135
|
+
# first visit prompts you to set an admin username/password
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 4) Create project + token (from CLI)
|
|
139
|
+
```bash
|
|
140
|
+
agentgear create-project --name "My Project"
|
|
141
|
+
agentgear create-token --project <project_id>
|
|
142
|
+
```
|
|
143
|
+
Copy the token (shown once). Use it in SDK calls via `X-AgentGear-Key`.
|
|
144
|
+
|
|
145
|
+
### 5) Forgot the password?
|
|
146
|
+
- Set env vars, restart the server, and sign in with the override:
|
|
147
|
+
- `export AGENTGEAR_ADMIN_USERNAME=admin`
|
|
148
|
+
- `export AGENTGEAR_ADMIN_PASSWORD=change-me`
|
|
149
|
+
- `agentgear ui`
|
|
150
|
+
- Clear the env vars afterward if you want to go back to the stored admin user.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## SDK Usage
|
|
155
|
+
|
|
156
|
+
### Configure client
|
|
157
|
+
```python
|
|
158
|
+
from agentgear import AgentGearClient
|
|
159
|
+
|
|
160
|
+
# Remote mode (FastAPI running elsewhere)
|
|
161
|
+
client = AgentGearClient(
|
|
162
|
+
base_url="https://your-api.example.com",
|
|
163
|
+
api_key="ag_live_...",
|
|
164
|
+
project_id="proj_123",
|
|
165
|
+
local=False,
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
# Local mode (writes directly to SQLite, no API key needed)
|
|
169
|
+
local_client = AgentGearClient(
|
|
170
|
+
project_id="proj_123",
|
|
171
|
+
local=True,
|
|
172
|
+
)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Observe decorator
|
|
176
|
+
```python
|
|
177
|
+
from agentgear import observe
|
|
178
|
+
|
|
179
|
+
@observe(client, name="chat-complete", prompt_version_id="pv_abc")
|
|
180
|
+
def complete(prompt: str) -> str:
|
|
181
|
+
# call your LLM here
|
|
182
|
+
return "response"
|
|
183
|
+
|
|
184
|
+
complete("hi")
|
|
185
|
+
```
|
|
186
|
+
Captures args, output, latency, prompt version, and errors; logs a run.
|
|
187
|
+
|
|
188
|
+
### Trace spans
|
|
189
|
+
```python
|
|
190
|
+
from agentgear import trace
|
|
191
|
+
|
|
192
|
+
run = client.log_run(name="pipeline", input_text="user input")
|
|
193
|
+
with trace(client, run_id=run["id"], name="retrieve") as span:
|
|
194
|
+
# retrieval work
|
|
195
|
+
pass
|
|
196
|
+
with trace(client, run_id=run["id"], name="generate", parent_id=span.span_id):
|
|
197
|
+
# generation work
|
|
198
|
+
pass
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Prompt templating
|
|
202
|
+
```python
|
|
203
|
+
from agentgear import Prompt
|
|
204
|
+
|
|
205
|
+
prompt = Prompt(name="greeting", template="Hello {{ name }}!", version_id="pv_1")
|
|
206
|
+
rendered = prompt.render(name="AgentGear")
|
|
207
|
+
# register / version prompt
|
|
208
|
+
client.register_prompt(name=prompt.name, content=prompt.template, description="Greeting")
|
|
209
|
+
client.create_prompt_version(prompt_id="<prompt_id>", content="Hi {{ name }}!")
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### OpenAI chat instrumentation
|
|
213
|
+
```python
|
|
214
|
+
from openai import OpenAI
|
|
215
|
+
from agentgear.sdk.integrations.openai import instrument_openai_chat
|
|
216
|
+
|
|
217
|
+
raw_client = OpenAI(api_key="sk-...")
|
|
218
|
+
client = AgentGearClient(base_url="http://localhost:8000", api_key="ag_live_...", project_id="proj_123")
|
|
219
|
+
instrumented = instrument_openai_chat(raw_client, agentgear=client, model="gpt-4o", prompt_version_id="pv_123")
|
|
220
|
+
|
|
221
|
+
resp = instrumented.chat.completions.create(model="gpt-4o", messages=[{"role":"user","content":"Hello"}])
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### End-to-end example (log run + spans + prompt link)
|
|
225
|
+
```python
|
|
226
|
+
from agentgear import AgentGearClient, trace
|
|
227
|
+
|
|
228
|
+
client = AgentGearClient(
|
|
229
|
+
base_url="http://localhost:8000",
|
|
230
|
+
api_key="ag_live_...", # from CLI token creation
|
|
231
|
+
project_id="proj_123",
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
# Register a prompt (keeps version history)
|
|
235
|
+
prompt = client.register_prompt(name="retrieval-chat", content="Answer using {context}")
|
|
236
|
+
pv = client.create_prompt_version(prompt_id=prompt["id"], content="Answer using {context}. Be concise.")
|
|
237
|
+
|
|
238
|
+
# Log a run and nested spans
|
|
239
|
+
run = client.log_run(
|
|
240
|
+
name="qa-flow",
|
|
241
|
+
input_text="What is AgentGear?",
|
|
242
|
+
prompt_version_id=pv["id"],
|
|
243
|
+
token_usage={"prompt": 150, "completion": 120},
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
with trace(client, run_id=run["id"], name="retrieve") as span:
|
|
247
|
+
# do retrieval...
|
|
248
|
+
pass
|
|
249
|
+
|
|
250
|
+
with trace(client, run_id=run["id"], name="generate", parent_id=span.span_id) as _:
|
|
251
|
+
# call model...
|
|
252
|
+
pass
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Backend (FastAPI)
|
|
258
|
+
|
|
259
|
+
### Core entities
|
|
260
|
+
- **Project**: id, name, description, created_at
|
|
261
|
+
- **API Token**: id, project_id, key_hash (SHA-256), scopes, revoked, last_used_at
|
|
262
|
+
- **Prompt / PromptVersion**: registry + versioning
|
|
263
|
+
- **Run**: logged LLM call with tokens/cost/latency
|
|
264
|
+
- **Span**: child spans for workflows
|
|
265
|
+
|
|
266
|
+
### Auth
|
|
267
|
+
- Header: `X-AgentGear-Key: <token>`
|
|
268
|
+
- Scopes (examples): `runs.write`, `prompts.read`, `prompts.write`, `tokens.manage`
|
|
269
|
+
- Dashboard login: first visit prompts you to set an admin username/password.
|
|
270
|
+
- Password reset: set `AGENTGEAR_ADMIN_USERNAME` and `AGENTGEAR_ADMIN_PASSWORD`, restart, sign in, then clear the env vars if you want to go back to the stored admin user.
|
|
271
|
+
- Local mode (`AGENTGEAR_LOCAL_MODE=true`) bypasses auth for dev; keep it `false` in any shared or remote environment.
|
|
272
|
+
|
|
273
|
+
### Key endpoints
|
|
274
|
+
- `POST /api/projects`, `GET /api/projects`, `GET /api/projects/{id}`
|
|
275
|
+
- `POST /api/projects/{id}/tokens`, `GET /api/projects/{id}/tokens`, `DELETE /api/projects/{id}/tokens/{token_id}`
|
|
276
|
+
- `POST /api/prompts`, `GET /api/prompts`, `GET /api/prompts/{id}`, `POST /api/prompts/{id}/versions`, `GET /api/prompts/{id}/versions`
|
|
277
|
+
- `POST /api/runs`, `GET /api/runs`, `GET /api/runs/{id}`
|
|
278
|
+
- `POST /api/spans`, `GET /api/spans?run_id=`
|
|
279
|
+
- `GET /api/metrics/summary`, `GET /api/health`
|
|
280
|
+
|
|
281
|
+
### Configuration (env)
|
|
282
|
+
| Var | Default | Description |
|
|
283
|
+
| --- | --- | --- |
|
|
284
|
+
| `AGENTGEAR_DATABASE_URL` | `sqlite:///~/.agentgear/agentgear.db` | DB connection (absolute path recommended; Postgres e.g. `postgresql+psycopg://user:pass@host/db`) |
|
|
285
|
+
| `AGENTGEAR_API_HOST` | `0.0.0.0` | Bind host |
|
|
286
|
+
| `AGENTGEAR_API_PORT` | `8000` | Bind port |
|
|
287
|
+
| `AGENTGEAR_SECRET_KEY` | `agentgear-dev-secret` | Signing/crypto secret |
|
|
288
|
+
| `AGENTGEAR_ALLOW_ORIGINS` | `*` | CORS allowlist |
|
|
289
|
+
| `AGENTGEAR_LOCAL_MODE` | `false` | If true, bypasses auth (dev only) |
|
|
290
|
+
| `AGENTGEAR_ADMIN_USERNAME` | `None` | Optional: override admin login username (e.g. for reset) |
|
|
291
|
+
| `AGENTGEAR_ADMIN_PASSWORD` | `None` | Optional: override admin login password (e.g. for reset) |
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Dashboard (React + Vite + Tailwind)
|
|
296
|
+
- Packaged build is bundled with the PyPI wheel and served from `/` when you run `agentgear ui`.
|
|
297
|
+
- For local UI tweaks, use the dev server (below); production installs can skip Node entirely.
|
|
298
|
+
- `/projects`: list + create projects
|
|
299
|
+
- `/projects/:id`: overview (stats, prompts, runs, tokens)
|
|
300
|
+
- `/projects/:id/tokens`: create/revoke tokens (shows raw token once)
|
|
301
|
+
- `/runs`: list runs with latency/cost
|
|
302
|
+
- `/runs/:id`: run detail + spans
|
|
303
|
+
- `/prompts`: prompt registry
|
|
304
|
+
- `/prompts/:id`: versions + add version
|
|
305
|
+
|
|
306
|
+
### Run frontend locally
|
|
307
|
+
```bash
|
|
308
|
+
cd frontend
|
|
309
|
+
npm install
|
|
310
|
+
npm run dev
|
|
311
|
+
# set API target if not localhost:
|
|
312
|
+
# export VITE_AGENTGEAR_API=http://localhost:8000
|
|
313
|
+
```
|
|
314
|
+
> Production installs get the built dashboard bundled inside the Python package and served from `/` when you run `agentgear ui`.
|
|
315
|
+
|
|
316
|
+
### Common UI flows
|
|
317
|
+
- Sign in (or complete first-time admin setup) at `/`.
|
|
318
|
+
- Create a project and issue an API token from the Tokens tab (token shown once).
|
|
319
|
+
- Browse runs/spans with latency and cost, filter by project.
|
|
320
|
+
- Manage prompts and versions, and see which runs reference each prompt version.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## CLI (Typer)
|
|
325
|
+
```bash
|
|
326
|
+
agentgear --help
|
|
327
|
+
agentgear init-db
|
|
328
|
+
agentgear create-project --name "Demo"
|
|
329
|
+
agentgear create-token --project <project_id> --scopes runs.write prompts.read prompts.write tokens.manage
|
|
330
|
+
agentgear list-projects
|
|
331
|
+
agentgear demo-data
|
|
332
|
+
agentgear ui --host 0.0.0.0 --port 8000 --reload
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Deployment
|
|
338
|
+
|
|
339
|
+
### Postgres example
|
|
340
|
+
```bash
|
|
341
|
+
export AGENTGEAR_DATABASE_URL="postgresql+psycopg://user:pass@host:5432/agentgear"
|
|
342
|
+
export AGENTGEAR_LOCAL_MODE=false
|
|
343
|
+
agentgear init-db
|
|
344
|
+
agentgear ui --host 0.0.0.0 --port 8000 --reload=false
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Production notes
|
|
348
|
+
- Use Postgres for durability and concurrency.
|
|
349
|
+
- Keep `AGENTGEAR_SECRET_KEY` secret.
|
|
350
|
+
- Issue per-project tokens with least-privilege scopes.
|
|
351
|
+
- Put FastAPI behind HTTPS + reverse proxy (nginx, Caddy, ALB).
|
|
352
|
+
- Restrict CORS to trusted origins.
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Data Model Overview
|
|
357
|
+
- `projects`: id, name, description, created_at
|
|
358
|
+
- `api_keys`: id, project_id, key_hash, scopes (JSON), revoked, last_used_at
|
|
359
|
+
- `prompts`: id, project_id, name, description
|
|
360
|
+
- `prompt_versions`: id, prompt_id, version, content, metadata
|
|
361
|
+
- `runs`: id, project_id, prompt_version_id, input/output, tokens, cost, latency, error, metadata
|
|
362
|
+
- `spans`: id, project_id, run_id, parent_id, name, timing, metadata
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Testing & Dev
|
|
367
|
+
- Lint (Python): `ruff check .`
|
|
368
|
+
- Tests (Python): `pytest`
|
|
369
|
+
- Frontend lint: `npm run lint --prefix frontend`
|
|
370
|
+
- Frontend test (placeholder): `npm run test --prefix frontend`
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Releasing to PyPI (manual)
|
|
375
|
+
```bash
|
|
376
|
+
pip install build twine
|
|
377
|
+
python -m build
|
|
378
|
+
twine upload dist/*
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Contributing
|
|
384
|
+
See `CONTRIBUTING.md` for setup, standards, and review process. PRs welcome!
|
|
385
|
+
|
|
386
|
+
## License
|
|
387
|
+
Apache 2.0. See `LICENSE`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
agentgear/__init__.py,sha256=SlicrOaUJe-7CYCLB7gWEXyQjXly8Wt1dRVHhBVWbC0,528
|
|
2
|
+
agentgear/cli/__init__.py,sha256=23Mz_sVEtHKRAxopQaFKt6FYDaYj4ZG3S9ag1JIlIbA,14
|
|
3
|
+
agentgear/cli/main.py,sha256=Eb9b4w6hcjnuB6k9bq_1FOrEcYTZQMI30HjLi4eVE-Y,3614
|
|
4
|
+
agentgear/sdk/__init__.py,sha256=ckpPAp9juaaBBsLKTQa9D9NfyfgJ-2g3W1CLMkvk8tI,233
|
|
5
|
+
agentgear/sdk/client.py,sha256=X2dPBkVVi3dm9AFiFXtplGkYch2gExpttyqVL4bTsCA,9787
|
|
6
|
+
agentgear/sdk/decorators.py,sha256=kLTvVUcwO0gyk84qelI6Eg0l5N0NkCT3CHfXioOfWgY,1925
|
|
7
|
+
agentgear/sdk/prompt.py,sha256=uCxgK3tvG0K7-Jy1SBEjwF_2tByKZv1Bk_lu909SSZw,566
|
|
8
|
+
agentgear/sdk/trace.py,sha256=EE6RardRMlbuH4xtBQca30mgkFnYR4vQGEnebyiWgbw,1613
|
|
9
|
+
agentgear/sdk/integrations/openai.py,sha256=XBLF-O7LlxqDoSJl68rSPn5YHuW_t1DbWsspFBYVpdk,1620
|
|
10
|
+
agentgear/server/__init__.py,sha256=yFLFzdR3Pfw1wKCdFho_hzgCHpJ7Ydl0l9dWplWogFw,27
|
|
11
|
+
agentgear/server/app/__init__.py,sha256=z5a0mdZH4zxkNrPHTuZEyvw83ksZMtZLIBWRTyxoTQA,40
|
|
12
|
+
agentgear/server/app/auth.py,sha256=AX56w8NxD_RzOM-aNMwaFQDK5GVx_UFF5XIGHeWhlkQ,2861
|
|
13
|
+
agentgear/server/app/config.py,sha256=0juO0apw8Dy1pMSgcOP4OOPJIqU5WIa7bu0OGt84EqE,724
|
|
14
|
+
agentgear/server/app/db.py,sha256=7tilF_IdY3880l0wlBcSqtmwyRUjcFVD4Udwd-tCPQ0,997
|
|
15
|
+
agentgear/server/app/deps.py,sha256=Evo0Bht4UMV3OtL9KJ26Ec7fdgssF8v2_pvYDn-1ZlY,1852
|
|
16
|
+
agentgear/server/app/main.py,sha256=q32TkZXO0EVOJruMRETzJQ0hLj9SzKeKEebJ_GXQmy8,2871
|
|
17
|
+
agentgear/server/app/migrations.py,sha256=TBZFh1iyN8uqG7YnD6ZzIWngLycP3RJsNULz_HKlvfo,3866
|
|
18
|
+
agentgear/server/app/models.py,sha256=YWc5CPg9yiD8IAL4zHaSdfDXGnmZ-oAypxFP7TtdWJ8,14748
|
|
19
|
+
agentgear/server/app/schemas.py,sha256=XXLGhi5iZkHSP7Adt2N1DPH5lBWuiUUw2YVOja9KHCc,7912
|
|
20
|
+
agentgear/server/app/api/__init__.py,sha256=VEhPu4LDYQ2OdSfjeJe_DQ6EXwBYzggwm2YzUwSqZ-Y,21
|
|
21
|
+
agentgear/server/app/api/auth.py,sha256=Vvl4_BcO5pztZEBHEqjKeAbjBxdZyhkFrbthgIcM6ZM,6554
|
|
22
|
+
agentgear/server/app/api/datasets.py,sha256=cMFtTawQUy2vkwyNH3bicXPyhQEYc8yCDkZEw7FL2MU,6676
|
|
23
|
+
agentgear/server/app/api/evaluations.py,sha256=FqMMfxKHtoCtG7_k-j23WDLQerbD0frxvfN50bv5lR0,2523
|
|
24
|
+
agentgear/server/app/api/evaluators.py,sha256=u-2hRTDQqqk-uVNllXa_cf54U4DYWV-ny41w2hUaNM8,5569
|
|
25
|
+
agentgear/server/app/api/llm_models.py,sha256=-tiaTUB7IvWNttWGQpDiVfQcrcNpXwAzOb8r4kNYhsk,1233
|
|
26
|
+
agentgear/server/app/api/metrics.py,sha256=bVYvvc_Jh1yGKX5aAGXl0zukUiQXcV4K6z3E5flC2ls,758
|
|
27
|
+
agentgear/server/app/api/projects.py,sha256=MixIXD6zDrLKbpWinFKClWVc7F9cnNyNi5xlGsvPfbA,5284
|
|
28
|
+
agentgear/server/app/api/prompts.py,sha256=PQc5P2Rqb5qrql0xbwGKdA3ayzIQOvdeUAt50QPxI5Y,8370
|
|
29
|
+
agentgear/server/app/api/runs.py,sha256=dCHO-agw1oonFS9A1qSXdVjeGsXa47f6LzcE3zCPmEo,2965
|
|
30
|
+
agentgear/server/app/api/seed.py,sha256=gn892LVZ3kamb_91oM9KavogKP8kbInWqfQH7C4t-ik,3226
|
|
31
|
+
agentgear/server/app/api/settings.py,sha256=1mUyP3Y1I8P-qqUuxxWLTckdNrSVFaqlsuy9H-qR0Oc,4854
|
|
32
|
+
agentgear/server/app/api/spans.py,sha256=2Veuhi0d2E4d13kMOJcEg6COo7DHtpwU5QDsdzcN7EQ,2013
|
|
33
|
+
agentgear/server/app/api/tokens.py,sha256=_1crWZ1y2bb5xcJZ_-UJ_QgDggATGgYr6LNTXEgytrA,2284
|
|
34
|
+
agentgear/server/app/api/users.py,sha256=Az3nSePsYqHTgWXwqEhEHj2SY7QfheATf6dvrNQdRTY,4435
|
|
35
|
+
agentgear/server/app/utils/email.py,sha256=salIQywCLqP0xir6OyFIzc2xWW6cGPaCT1-ufanBAJY,1153
|
|
36
|
+
agentgear/server/app/utils/llm.py,sha256=NUqqoJoyHu0htxDeSdbN8nMKL3Dp2GE733ASXbYr6tw,984
|
|
37
|
+
agentgear/server/static/index.html,sha256=doABlC23jQ17y8z7rpvaWT1uR26J-p8MsUANE9Nlkm0,414
|
|
38
|
+
agentgear/server/static/assets/index-BAAzXAln.js,sha256=-5OIUZR2yvzib_u3ARf5GpwfVHFrVozxfNJeW8ImM3Q,519553
|
|
39
|
+
agentgear/server/static/assets/index-CE45MZx1.css,sha256=D8ICNwARvMeSTwXb-9QQ-taOPPxet9Rco4iPfsEwb8Y,33897
|
|
40
|
+
agentgear_ai-0.1.16.dist-info/METADATA,sha256=8WuqmblKW_4UKKkk5Y_2K4pQABITfrzdBBe6uOedZPU,12880
|
|
41
|
+
agentgear_ai-0.1.16.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
42
|
+
agentgear_ai-0.1.16.dist-info/entry_points.txt,sha256=EkJiwGkShhXu_chOdtu2Jg8ncGMKjxfgiN97KIOZZ6A,53
|
|
43
|
+
agentgear_ai-0.1.16.dist-info/licenses/LICENSE,sha256=iry4mKA3CGog4c_PnAy_eMmIHElC46j_uc9_gZsMU-c,11244
|
|
44
|
+
agentgear_ai-0.1.16.dist-info/RECORD,,
|