@contractspec/example.agent-console 1.57.0 → 1.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +210 -278
- package/.turbo/turbo-prebuild.log +1 -0
- package/CHANGELOG.md +31 -0
- package/dist/agent/agent.entity.d.ts +35 -40
- package/dist/agent/agent.entity.d.ts.map +1 -1
- package/dist/agent/agent.entity.js +124 -132
- package/dist/agent/agent.enum.d.ts +3 -8
- package/dist/agent/agent.enum.d.ts.map +1 -1
- package/dist/agent/agent.enum.js +22 -30
- package/dist/agent/agent.event.d.ts +105 -111
- package/dist/agent/agent.event.d.ts.map +1 -1
- package/dist/agent/agent.event.js +107 -200
- package/dist/agent/agent.handler.d.ts +74 -77
- package/dist/agent/agent.handler.d.ts.map +1 -1
- package/dist/agent/agent.handler.js +293 -75
- package/dist/agent/agent.operation.d.ts +424 -430
- package/dist/agent/agent.operation.d.ts.map +1 -1
- package/dist/agent/agent.operation.js +728 -478
- package/dist/agent/agent.presentation.d.ts +3 -8
- package/dist/agent/agent.presentation.d.ts.map +1 -1
- package/dist/agent/agent.presentation.js +275 -84
- package/dist/agent/agent.schema.d.ts +371 -376
- package/dist/agent/agent.schema.d.ts.map +1 -1
- package/dist/agent/agent.schema.js +209 -399
- package/dist/agent/agent.test-spec.d.ts +2 -7
- package/dist/agent/agent.test-spec.d.ts.map +1 -1
- package/dist/agent/agent.test-spec.js +56 -62
- package/dist/agent/index.d.ts +11 -8
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +1245 -9
- package/dist/agent.capability.d.ts +1 -6
- package/dist/agent.capability.d.ts.map +1 -1
- package/dist/agent.capability.js +17 -20
- package/dist/agent.feature.d.ts +7 -6
- package/dist/agent.feature.d.ts.map +1 -1
- package/dist/agent.feature.js +117 -303
- package/dist/browser/agent/agent.entity.js +127 -0
- package/dist/browser/agent/agent.enum.js +25 -0
- package/dist/browser/agent/agent.event.js +116 -0
- package/dist/browser/agent/agent.handler.js +301 -0
- package/dist/browser/agent/agent.operation.js +735 -0
- package/dist/browser/agent/agent.presentation.js +279 -0
- package/dist/browser/agent/agent.schema.js +215 -0
- package/dist/browser/agent/agent.test-spec.js +58 -0
- package/dist/browser/agent/index.js +1244 -0
- package/dist/browser/agent.capability.js +16 -0
- package/dist/browser/agent.feature.js +118 -0
- package/dist/browser/docs/agent-console.docblock.js +93 -0
- package/dist/browser/docs/index.js +93 -0
- package/dist/browser/example.js +42 -0
- package/dist/browser/handlers/agent.handlers.js +252 -0
- package/dist/browser/handlers/index.js +799 -0
- package/dist/browser/index.js +5895 -0
- package/dist/browser/presentations/index.js +684 -0
- package/dist/browser/run/index.js +1350 -0
- package/dist/browser/run/run.entity.js +160 -0
- package/dist/browser/run/run.enum.js +34 -0
- package/dist/browser/run/run.event.js +213 -0
- package/dist/browser/run/run.handler.js +254 -0
- package/dist/browser/run/run.operation.js +667 -0
- package/dist/browser/run/run.presentation.js +220 -0
- package/dist/browser/run/run.schema.js +179 -0
- package/dist/browser/run/run.test-spec.js +58 -0
- package/dist/browser/seeders/index.js +21 -0
- package/dist/browser/shared/index.js +334 -0
- package/dist/browser/shared/mock-agents.js +82 -0
- package/dist/browser/shared/mock-runs.js +108 -0
- package/dist/browser/shared/mock-tools.js +146 -0
- package/dist/browser/shared/overlay-types.js +0 -0
- package/dist/browser/tool/index.js +946 -0
- package/dist/browser/tool/tool.entity.js +90 -0
- package/dist/browser/tool/tool.enum.js +26 -0
- package/dist/browser/tool/tool.event.js +99 -0
- package/dist/browser/tool/tool.handler.js +223 -0
- package/dist/browser/tool/tool.operation.js +482 -0
- package/dist/browser/tool/tool.presentation.js +185 -0
- package/dist/browser/tool/tool.schema.js +141 -0
- package/dist/browser/tool/tool.test-spec.js +58 -0
- package/dist/browser/ui/AgentDashboard.js +1607 -0
- package/dist/browser/ui/AgentRunList.js +250 -0
- package/dist/browser/ui/AgentToolRegistry.js +212 -0
- package/dist/browser/ui/hooks/index.js +271 -0
- package/dist/browser/ui/hooks/useAgentList.js +55 -0
- package/dist/browser/ui/hooks/useAgentMutations.js +76 -0
- package/dist/browser/ui/hooks/useRunList.js +55 -0
- package/dist/browser/ui/hooks/useToolList.js +85 -0
- package/dist/browser/ui/index.js +2080 -0
- package/dist/browser/ui/modals/AgentActionsModal.js +304 -0
- package/dist/browser/ui/modals/CreateAgentModal.js +229 -0
- package/dist/browser/ui/modals/index.js +532 -0
- package/dist/browser/ui/overlays/demo-overlays.js +64 -0
- package/dist/browser/ui/overlays/index.js +64 -0
- package/dist/browser/ui/renderers/agent-list.markdown.js +55 -0
- package/dist/browser/ui/renderers/agent-list.renderer.js +180 -0
- package/dist/browser/ui/renderers/dashboard.markdown.js +117 -0
- package/dist/browser/ui/renderers/index.js +446 -0
- package/dist/browser/ui/renderers/run-list.markdown.js +45 -0
- package/dist/browser/ui/renderers/tool-registry.markdown.js +53 -0
- package/dist/browser/ui/views/AgentListView.js +165 -0
- package/dist/browser/ui/views/RunListView.js +247 -0
- package/dist/browser/ui/views/ToolRegistryView.js +209 -0
- package/dist/browser/ui/views/index.js +619 -0
- package/dist/docs/agent-console.docblock.d.ts +2 -1
- package/dist/docs/agent-console.docblock.d.ts.map +1 -0
- package/dist/docs/agent-console.docblock.js +45 -64
- package/dist/docs/index.d.ts +2 -1
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +94 -1
- package/dist/example.d.ts +2 -6
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +41 -55
- package/dist/handlers/agent.handlers.d.ts +121 -120
- package/dist/handlers/agent.handlers.d.ts.map +1 -1
- package/dist/handlers/agent.handlers.js +235 -245
- package/dist/handlers/index.d.ts +8 -5
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +799 -5
- package/dist/index.d.ts +26 -48
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5896 -50
- package/dist/node/agent/agent.entity.js +127 -0
- package/dist/node/agent/agent.enum.js +25 -0
- package/dist/node/agent/agent.event.js +116 -0
- package/dist/node/agent/agent.handler.js +301 -0
- package/dist/node/agent/agent.operation.js +735 -0
- package/dist/node/agent/agent.presentation.js +279 -0
- package/dist/node/agent/agent.schema.js +215 -0
- package/dist/node/agent/agent.test-spec.js +58 -0
- package/dist/node/agent/index.js +1244 -0
- package/dist/node/agent.capability.js +16 -0
- package/dist/node/agent.feature.js +118 -0
- package/dist/node/docs/agent-console.docblock.js +93 -0
- package/dist/node/docs/index.js +93 -0
- package/dist/node/example.js +42 -0
- package/dist/node/handlers/agent.handlers.js +252 -0
- package/dist/node/handlers/index.js +799 -0
- package/dist/node/index.js +5895 -0
- package/dist/node/presentations/index.js +684 -0
- package/dist/node/run/index.js +1350 -0
- package/dist/node/run/run.entity.js +160 -0
- package/dist/node/run/run.enum.js +34 -0
- package/dist/node/run/run.event.js +213 -0
- package/dist/node/run/run.handler.js +254 -0
- package/dist/node/run/run.operation.js +667 -0
- package/dist/node/run/run.presentation.js +220 -0
- package/dist/node/run/run.schema.js +179 -0
- package/dist/node/run/run.test-spec.js +58 -0
- package/dist/node/seeders/index.js +21 -0
- package/dist/node/shared/index.js +334 -0
- package/dist/node/shared/mock-agents.js +82 -0
- package/dist/node/shared/mock-runs.js +108 -0
- package/dist/node/shared/mock-tools.js +146 -0
- package/dist/node/shared/overlay-types.js +0 -0
- package/dist/node/tool/index.js +946 -0
- package/dist/node/tool/tool.entity.js +90 -0
- package/dist/node/tool/tool.enum.js +26 -0
- package/dist/node/tool/tool.event.js +99 -0
- package/dist/node/tool/tool.handler.js +223 -0
- package/dist/node/tool/tool.operation.js +482 -0
- package/dist/node/tool/tool.presentation.js +185 -0
- package/dist/node/tool/tool.schema.js +141 -0
- package/dist/node/tool/tool.test-spec.js +58 -0
- package/dist/node/ui/AgentDashboard.js +1607 -0
- package/dist/node/ui/AgentRunList.js +250 -0
- package/dist/node/ui/AgentToolRegistry.js +212 -0
- package/dist/node/ui/hooks/index.js +271 -0
- package/dist/node/ui/hooks/useAgentList.js +55 -0
- package/dist/node/ui/hooks/useAgentMutations.js +76 -0
- package/dist/node/ui/hooks/useRunList.js +55 -0
- package/dist/node/ui/hooks/useToolList.js +85 -0
- package/dist/node/ui/index.js +2080 -0
- package/dist/node/ui/modals/AgentActionsModal.js +304 -0
- package/dist/node/ui/modals/CreateAgentModal.js +229 -0
- package/dist/node/ui/modals/index.js +532 -0
- package/dist/node/ui/overlays/demo-overlays.js +64 -0
- package/dist/node/ui/overlays/index.js +64 -0
- package/dist/node/ui/renderers/agent-list.markdown.js +55 -0
- package/dist/node/ui/renderers/agent-list.renderer.js +180 -0
- package/dist/node/ui/renderers/dashboard.markdown.js +117 -0
- package/dist/node/ui/renderers/index.js +446 -0
- package/dist/node/ui/renderers/run-list.markdown.js +45 -0
- package/dist/node/ui/renderers/tool-registry.markdown.js +53 -0
- package/dist/node/ui/views/AgentListView.js +165 -0
- package/dist/node/ui/views/RunListView.js +247 -0
- package/dist/node/ui/views/ToolRegistryView.js +209 -0
- package/dist/node/ui/views/index.js +619 -0
- package/dist/presentations/index.d.ts +9 -4
- package/dist/presentations/index.d.ts.map +1 -0
- package/dist/presentations/index.js +684 -4
- package/dist/run/index.d.ts +11 -8
- package/dist/run/index.d.ts.map +1 -0
- package/dist/run/index.js +1351 -9
- package/dist/run/run.entity.d.ts +55 -60
- package/dist/run/run.entity.d.ts.map +1 -1
- package/dist/run/run.entity.js +155 -199
- package/dist/run/run.enum.d.ts +4 -9
- package/dist/run/run.enum.d.ts.map +1 -1
- package/dist/run/run.enum.js +30 -40
- package/dist/run/run.event.d.ts +255 -261
- package/dist/run/run.event.d.ts.map +1 -1
- package/dist/run/run.event.js +198 -418
- package/dist/run/run.handler.d.ts +169 -172
- package/dist/run/run.handler.d.ts.map +1 -1
- package/dist/run/run.handler.js +246 -74
- package/dist/run/run.operation.d.ts +658 -664
- package/dist/run/run.operation.d.ts.map +1 -1
- package/dist/run/run.operation.js +659 -617
- package/dist/run/run.presentation.d.ts +2 -7
- package/dist/run/run.presentation.d.ts.map +1 -1
- package/dist/run/run.presentation.js +217 -61
- package/dist/run/run.schema.d.ts +367 -372
- package/dist/run/run.schema.d.ts.map +1 -1
- package/dist/run/run.schema.js +172 -330
- package/dist/run/run.test-spec.d.ts +2 -7
- package/dist/run/run.test-spec.d.ts.map +1 -1
- package/dist/run/run.test-spec.js +56 -62
- package/dist/seeders/index.d.ts +4 -8
- package/dist/seeders/index.d.ts.map +1 -1
- package/dist/seeders/index.js +19 -17
- package/dist/shared/index.d.ts +7 -4
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +334 -4
- package/dist/shared/mock-agents.d.ts +77 -80
- package/dist/shared/mock-agents.d.ts.map +1 -1
- package/dist/shared/mock-agents.js +82 -93
- package/dist/shared/mock-runs.d.ts +107 -110
- package/dist/shared/mock-runs.d.ts.map +1 -1
- package/dist/shared/mock-runs.js +108 -117
- package/dist/shared/mock-tools.d.ts +217 -220
- package/dist/shared/mock-tools.d.ts.map +1 -1
- package/dist/shared/mock-tools.js +146 -180
- package/dist/shared/overlay-types.d.ts +25 -28
- package/dist/shared/overlay-types.d.ts.map +1 -1
- package/dist/shared/overlay-types.js +1 -0
- package/dist/tool/index.d.ts +11 -8
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +947 -9
- package/dist/tool/tool.entity.d.ts +23 -28
- package/dist/tool/tool.entity.d.ts.map +1 -1
- package/dist/tool/tool.entity.js +87 -101
- package/dist/tool/tool.enum.d.ts +3 -8
- package/dist/tool/tool.enum.d.ts.map +1 -1
- package/dist/tool/tool.enum.js +23 -31
- package/dist/tool/tool.event.d.ts +84 -90
- package/dist/tool/tool.event.d.ts.map +1 -1
- package/dist/tool/tool.event.js +92 -151
- package/dist/tool/tool.handler.d.ts +266 -269
- package/dist/tool/tool.handler.d.ts.map +1 -1
- package/dist/tool/tool.handler.js +213 -76
- package/dist/tool/tool.operation.d.ts +359 -365
- package/dist/tool/tool.operation.d.ts.map +1 -1
- package/dist/tool/tool.operation.js +477 -400
- package/dist/tool/tool.presentation.d.ts +2 -7
- package/dist/tool/tool.presentation.d.ts.map +1 -1
- package/dist/tool/tool.presentation.js +182 -61
- package/dist/tool/tool.schema.d.ts +196 -201
- package/dist/tool/tool.schema.d.ts.map +1 -1
- package/dist/tool/tool.schema.js +137 -231
- package/dist/tool/tool.test-spec.d.ts +2 -7
- package/dist/tool/tool.test-spec.d.ts.map +1 -1
- package/dist/tool/tool.test-spec.js +56 -62
- package/dist/ui/AgentDashboard.d.ts +1 -6
- package/dist/ui/AgentDashboard.d.ts.map +1 -1
- package/dist/ui/AgentDashboard.js +1598 -410
- package/dist/ui/AgentRunList.d.ts +7 -2
- package/dist/ui/AgentRunList.d.ts.map +1 -0
- package/dist/ui/AgentRunList.js +249 -3
- package/dist/ui/AgentToolRegistry.d.ts +7 -2
- package/dist/ui/AgentToolRegistry.d.ts.map +1 -0
- package/dist/ui/AgentToolRegistry.js +211 -3
- package/dist/ui/hooks/index.d.ts +8 -6
- package/dist/ui/hooks/index.d.ts.map +1 -0
- package/dist/ui/hooks/index.js +270 -6
- package/dist/ui/hooks/useAgentList.d.ts +21 -25
- package/dist/ui/hooks/useAgentList.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentList.js +52 -62
- package/dist/ui/hooks/useAgentMutations.d.ts +22 -25
- package/dist/ui/hooks/useAgentMutations.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentMutations.js +73 -120
- package/dist/ui/hooks/useRunList.d.ts +17 -21
- package/dist/ui/hooks/useRunList.d.ts.map +1 -1
- package/dist/ui/hooks/useRunList.js +52 -62
- package/dist/ui/hooks/useToolList.d.ts +32 -36
- package/dist/ui/hooks/useToolList.d.ts.map +1 -1
- package/dist/ui/hooks/useToolList.js +82 -92
- package/dist/ui/index.d.ts +9 -24
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +2081 -24
- package/dist/ui/modals/AgentActionsModal.d.ts +11 -24
- package/dist/ui/modals/AgentActionsModal.d.ts.map +1 -1
- package/dist/ui/modals/AgentActionsModal.js +300 -257
- package/dist/ui/modals/CreateAgentModal.d.ts +12 -21
- package/dist/ui/modals/CreateAgentModal.d.ts.map +1 -1
- package/dist/ui/modals/CreateAgentModal.js +226 -210
- package/dist/ui/modals/index.d.ts +3 -3
- package/dist/ui/modals/index.d.ts.map +1 -0
- package/dist/ui/modals/index.js +532 -3
- package/dist/ui/overlays/demo-overlays.d.ts +10 -8
- package/dist/ui/overlays/demo-overlays.d.ts.map +1 -1
- package/dist/ui/overlays/demo-overlays.js +63 -71
- package/dist/ui/overlays/index.d.ts +2 -2
- package/dist/ui/overlays/index.d.ts.map +1 -0
- package/dist/ui/overlays/index.js +65 -3
- package/dist/ui/renderers/agent-list.markdown.d.ts +9 -8
- package/dist/ui/renderers/agent-list.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/agent-list.markdown.js +55 -50
- package/dist/ui/renderers/agent-list.renderer.d.ts +5 -6
- package/dist/ui/renderers/agent-list.renderer.d.ts.map +1 -1
- package/dist/ui/renderers/agent-list.renderer.js +179 -17
- package/dist/ui/renderers/dashboard.markdown.d.ts +9 -8
- package/dist/ui/renderers/dashboard.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/dashboard.markdown.js +115 -97
- package/dist/ui/renderers/index.d.ts +9 -6
- package/dist/ui/renderers/index.d.ts.map +1 -0
- package/dist/ui/renderers/index.js +446 -6
- package/dist/ui/renderers/run-list.markdown.d.ts +9 -8
- package/dist/ui/renderers/run-list.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/run-list.markdown.js +42 -40
- package/dist/ui/renderers/tool-registry.markdown.d.ts +9 -8
- package/dist/ui/renderers/tool-registry.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/tool-registry.markdown.js +52 -53
- package/dist/ui/views/AgentListView.d.ts +1 -6
- package/dist/ui/views/AgentListView.d.ts.map +1 -1
- package/dist/ui/views/AgentListView.js +161 -88
- package/dist/ui/views/RunListView.d.ts +4 -11
- package/dist/ui/views/RunListView.d.ts.map +1 -1
- package/dist/ui/views/RunListView.js +237 -154
- package/dist/ui/views/ToolRegistryView.d.ts +4 -11
- package/dist/ui/views/ToolRegistryView.d.ts.map +1 -1
- package/dist/ui/views/ToolRegistryView.js +205 -92
- package/dist/ui/views/index.d.ts +7 -4
- package/dist/ui/views/index.d.ts.map +1 -0
- package/dist/ui/views/index.js +619 -4
- package/package.json +656 -118
- package/tsdown.config.js +1 -2
- package/.turbo/turbo-build$colon$bundle.log +0 -285
- package/dist/agent/agent.entity.js.map +0 -1
- package/dist/agent/agent.enum.js.map +0 -1
- package/dist/agent/agent.event.js.map +0 -1
- package/dist/agent/agent.handler.js.map +0 -1
- package/dist/agent/agent.operation.js.map +0 -1
- package/dist/agent/agent.presentation.js.map +0 -1
- package/dist/agent/agent.schema.js.map +0 -1
- package/dist/agent/agent.test-spec.js.map +0 -1
- package/dist/agent.capability.js.map +0 -1
- package/dist/agent.feature.js.map +0 -1
- package/dist/docs/agent-console.docblock.js.map +0 -1
- package/dist/example.js.map +0 -1
- package/dist/handlers/agent.handlers.js.map +0 -1
- package/dist/run/run.entity.js.map +0 -1
- package/dist/run/run.enum.js.map +0 -1
- package/dist/run/run.event.js.map +0 -1
- package/dist/run/run.handler.js.map +0 -1
- package/dist/run/run.operation.js.map +0 -1
- package/dist/run/run.presentation.js.map +0 -1
- package/dist/run/run.schema.js.map +0 -1
- package/dist/run/run.test-spec.js.map +0 -1
- package/dist/seeders/index.js.map +0 -1
- package/dist/shared/mock-agents.js.map +0 -1
- package/dist/shared/mock-runs.js.map +0 -1
- package/dist/shared/mock-tools.js.map +0 -1
- package/dist/tool/tool.entity.js.map +0 -1
- package/dist/tool/tool.enum.js.map +0 -1
- package/dist/tool/tool.event.js.map +0 -1
- package/dist/tool/tool.handler.js.map +0 -1
- package/dist/tool/tool.operation.js.map +0 -1
- package/dist/tool/tool.presentation.js.map +0 -1
- package/dist/tool/tool.schema.js.map +0 -1
- package/dist/tool/tool.test-spec.js.map +0 -1
- package/dist/ui/AgentDashboard.js.map +0 -1
- package/dist/ui/hooks/useAgentList.js.map +0 -1
- package/dist/ui/hooks/useAgentMutations.js.map +0 -1
- package/dist/ui/hooks/useRunList.js.map +0 -1
- package/dist/ui/hooks/useToolList.js.map +0 -1
- package/dist/ui/modals/AgentActionsModal.js.map +0 -1
- package/dist/ui/modals/CreateAgentModal.js.map +0 -1
- package/dist/ui/overlays/demo-overlays.js.map +0 -1
- package/dist/ui/renderers/agent-list.markdown.js.map +0 -1
- package/dist/ui/renderers/agent-list.renderer.js.map +0 -1
- package/dist/ui/renderers/dashboard.markdown.js.map +0 -1
- package/dist/ui/renderers/run-list.markdown.js.map +0 -1
- package/dist/ui/renderers/tool-registry.markdown.js.map +0 -1
- package/dist/ui/views/AgentListView.js.map +0 -1
- package/dist/ui/views/RunListView.js.map +0 -1
- package/dist/ui/views/ToolRegistryView.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-list.renderer.js","names":[],"sources":["../../../src/ui/renderers/agent-list.renderer.tsx"],"sourcesContent":["/**\n * React Renderer for Agent List Presentation\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport { AgentListView } from '../views/AgentListView';\n\n/**\n * React renderer for agent-console.agent.list presentation\n */\nexport const agentListReactRenderer: PresentationRenderer<React.ReactElement> =\n {\n target: 'react',\n render: async (desc: PresentationSpec) => {\n if (desc.source.type !== 'component') {\n throw new Error('AgentListRenderer: expected component source');\n }\n if (desc.source.componentKey !== 'AgentListView') {\n throw new Error(\n `AgentListRenderer: unknown component ${desc.source.componentKey}`\n );\n }\n return <AgentListView />;\n },\n };\n"],"mappings":";;;;;;;AAYA,MAAa,yBACX;CACE,QAAQ;CACR,QAAQ,OAAO,SAA2B;AACxC,MAAI,KAAK,OAAO,SAAS,YACvB,OAAM,IAAI,MAAM,+CAA+C;AAEjE,MAAI,KAAK,OAAO,iBAAiB,gBAC/B,OAAM,IAAI,MACR,wCAAwC,KAAK,OAAO,eACrD;AAEH,SAAO,oBAAC,kBAAgB;;CAE3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.markdown.js","names":[],"sources":["../../../src/ui/renderers/dashboard.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Agent Console Dashboard\n *\n * Provides a comprehensive overview of agents, runs, and tools.\n */\nimport type {\n PresentationSpec,\n PresentationRenderer,\n} from '@contractspec/lib.contracts';\nimport {\n mockListAgentsHandler,\n mockListRunsHandler,\n mockListToolsHandler,\n} from '@contractspec/example.agent-console/handlers';\n\nfunction formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\n/**\n * Markdown renderer for agent-console.dashboard presentation\n * Only handles AgentConsoleDashboard component\n */\nexport const agentDashboardMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle AgentConsoleDashboard\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'AgentConsoleDashboard'\n ) {\n throw new Error(\n 'agentDashboardMarkdownRenderer: not AgentConsoleDashboard'\n );\n }\n\n // Fetch all data in parallel\n const [agentsData, runsData, toolsData] = await Promise.all([\n mockListAgentsHandler({\n organizationId: 'demo-org',\n limit: 100,\n }),\n mockListRunsHandler({\n limit: 100,\n }),\n mockListToolsHandler({\n organizationId: 'demo-org',\n limit: 100,\n }),\n ]);\n\n // Calculate stats\n const activeAgents = agentsData.items.filter(\n (a) => a.status === 'ACTIVE'\n ).length;\n const completedRuns = runsData.items.filter(\n (r) => r.status === 'COMPLETED'\n ).length;\n const failedRuns = runsData.items.filter(\n (r) => r.status === 'FAILED'\n ).length;\n const totalTokens = runsData.items.reduce(\n (sum, r) => sum + (r.totalTokens ?? 0),\n 0\n );\n const totalCost = runsData.items.reduce(\n (sum, r) => sum + (r.estimatedCostUsd ?? 0),\n 0\n );\n const activeTools = toolsData.items.filter(\n (t) => t.status === 'ACTIVE'\n ).length;\n\n // Build dashboard markdown\n const lines: string[] = [\n '# Agent Console Dashboard',\n '',\n '> AI agent operations overview',\n '',\n '## Summary',\n '',\n '| Metric | Value |',\n '|--------|-------|',\n `| Total Agents | ${agentsData.total} |`,\n `| Active Agents | ${activeAgents} |`,\n `| Total Runs | ${runsData.total} |`,\n `| Completed Runs | ${completedRuns} |`,\n `| Failed Runs | ${failedRuns} |`,\n `| Total Tokens | ${totalTokens.toLocaleString()} |`,\n `| Total Cost | $${totalCost.toFixed(4)} |`,\n `| Total Tools | ${toolsData.total} |`,\n `| Active Tools | ${activeTools} |`,\n '',\n '## Agents',\n '',\n ];\n\n // Agent list\n if (agentsData.items.length === 0) {\n lines.push('_No agents configured._');\n } else {\n lines.push('| Agent | Model | Status | Description |');\n lines.push('|-------|-------|--------|-------------|');\n for (const agent of agentsData.items.slice(0, 5)) {\n lines.push(\n `| ${agent.name} | ${agent.modelProvider}/${agent.modelName} | ${agent.status} | ${agent.description ?? '-'} |`\n );\n }\n if (agentsData.items.length > 5) {\n lines.push(`| ... | ... | ... | _${agentsData.total - 5} more_ |`);\n }\n }\n\n lines.push('');\n lines.push('## Recent Runs');\n lines.push('');\n\n // Recent runs\n if (runsData.items.length === 0) {\n lines.push('_No runs yet._');\n } else {\n lines.push('| Run ID | Agent | Status | Duration | Tokens | Cost |');\n lines.push('|--------|-------|--------|----------|--------|------|');\n for (const run of runsData.items.slice(0, 5)) {\n lines.push(\n `| ${run.id.slice(-8)} | ${run.agentName} | ${run.status} | ${run.durationMs ? formatDuration(run.durationMs) : '-'} | ${run.totalTokens ?? 0} | $${(run.estimatedCostUsd ?? 0).toFixed(4)} |`\n );\n }\n if (runsData.items.length > 5) {\n lines.push(\n `| ... | ... | ... | ... | ... | _${runsData.total - 5} more_ |`\n );\n }\n }\n\n lines.push('');\n lines.push('## Tools');\n lines.push('');\n\n // Tool categories\n const toolsByCategory: Record<string, typeof toolsData.items> = {};\n for (const tool of toolsData.items) {\n const cat = tool.category;\n if (!toolsByCategory[cat]) toolsByCategory[cat] = [];\n toolsByCategory[cat].push(tool);\n }\n\n if (Object.keys(toolsByCategory).length === 0) {\n lines.push('_No tools registered._');\n } else {\n lines.push('| Category | Tools | Active |');\n lines.push('|----------|-------|--------|');\n for (const [category, tools] of Object.entries(toolsByCategory).sort()) {\n const active = tools.filter((t) => t.status === 'ACTIVE').length;\n lines.push(`| ${category} | ${tools.length} | ${active} |`);\n }\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-list.markdown.js","names":[],"sources":["../../../src/ui/renderers/run-list.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Run List Presentation\n *\n * Uses dynamic import for handlers to ensure correct build order.\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport type { Run } from '../hooks/useRunList';\nimport { mockListRunsHandler } from '@contractspec/example.agent-console/handlers';\n\ninterface RunListOutput {\n items: Run[];\n total: number;\n hasMore: boolean;\n}\n\nfunction formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\n/**\n * Markdown renderer for agent-console.run.list presentation\n * Only handles RunListView component\n */\nexport const runListMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle RunListView\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'RunListView'\n ) {\n throw new Error('runListMarkdownRenderer: not RunListView');\n }\n\n // Fetch data using mock handler\n const data = (await mockListRunsHandler({\n organizationId: 'demo-org',\n limit: 20,\n offset: 0,\n })) as RunListOutput;\n\n // Generate markdown\n const lines: string[] = [\n `# ${desc.meta.description ?? 'Agent Runs'}`,\n '',\n `> ${desc.meta.key} v${desc.meta.version}`,\n '',\n `**Total Runs:** ${data.total}`,\n '',\n '## Recent Runs',\n '',\n '| ID | Agent | Status | Duration | Tokens | Cost |',\n '| --- | --- | --- | --- | --- | --- |',\n ];\n\n for (const run of data.items.slice(0, 10)) {\n lines.push(\n `| ${run.id.slice(-8)} | ${run.agentName} | ${run.status} | ${run.durationMs ? formatDuration(run.durationMs) : '-'} | ${run.totalTokens} | $${run.estimatedCostUsd?.toFixed(4) ?? '-'} |`\n );\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":";;;AAkBA,SAAS,eAAe,IAAoB;AAC1C,KAAI,KAAK,IAAM,QAAO,GAAG,GAAG;AAC5B,KAAI,KAAK,IAAO,QAAO,IAAI,KAAK,KAAM,QAAQ,EAAE,CAAC;AACjD,QAAO,IAAI,KAAK,KAAO,QAAQ,EAAE,CAAC;;;;;;AAOpC,MAAa,0BAGR;CACH,QAAQ;CACR,QAAQ,OAAO,SAA2B;AAExC,MACE,KAAK,OAAO,SAAS,eACrB,KAAK,OAAO,iBAAiB,cAE7B,OAAM,IAAI,MAAM,2CAA2C;EAI7D,MAAM,OAAQ,MAAM,oBAAoB;GACtC,gBAAgB;GAChB,OAAO;GACP,QAAQ;GACT,CAAC;EAGF,MAAM,QAAkB;GACtB,KAAK,KAAK,KAAK,eAAe;GAC9B;GACA,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK;GACjC;GACA,mBAAmB,KAAK;GACxB;GACA;GACA;GACA;GACA;GACD;AAED,OAAK,MAAM,OAAO,KAAK,MAAM,MAAM,GAAG,GAAG,CACvC,OAAM,KACJ,KAAK,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,IAAI,UAAU,KAAK,IAAI,OAAO,KAAK,IAAI,aAAa,eAAe,IAAI,WAAW,GAAG,IAAI,KAAK,IAAI,YAAY,MAAM,IAAI,kBAAkB,QAAQ,EAAE,IAAI,IAAI,IACxL;AAGH,SAAO;GACL,UAAU;GACV,MAAM,MAAM,KAAK,KAAK;GACvB;;CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.markdown.js","names":[],"sources":["../../../src/ui/renderers/tool-registry.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Tool Registry Presentation\n *\n * Uses dynamic import for handlers to ensure correct build order.\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport { mockListToolsHandler } from '@contractspec/example.agent-console/handlers';\n\ninterface ToolItem {\n id: string;\n name: string;\n description?: string;\n version: string;\n category: string;\n status: string;\n}\n\n/**\n * Markdown renderer for agent-console.tool.registry presentation\n * Only handles ToolRegistryView component\n */\nexport const toolRegistryMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle ToolRegistryView\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'ToolRegistryView'\n ) {\n throw new Error('toolRegistryMarkdownRenderer: not ToolRegistryView');\n }\n\n // Fetch data using mock handler\n const data = await mockListToolsHandler({\n organizationId: 'demo-org',\n limit: 50,\n offset: 0,\n });\n\n // Generate markdown\n const lines: string[] = [\n `# ${desc.meta.description ?? 'Tool Registry'}`,\n '',\n `> ${desc.meta.key} v${desc.meta.version}`,\n '',\n `**Total Tools:** ${data.total}`,\n '',\n ];\n\n // Group by category\n const byCategory: Record<string, ToolItem[]> = {};\n for (const tool of data.items as ToolItem[]) {\n const cat = tool.category;\n if (!byCategory[cat]) byCategory[cat] = [];\n byCategory[cat].push(tool);\n }\n\n for (const [category, tools] of Object.entries(byCategory).sort()) {\n lines.push(`## ${category} (${tools.length})`);\n lines.push('');\n\n for (const tool of tools) {\n const statusIcon =\n tool.status === 'ACTIVE'\n ? '✅'\n : tool.status === 'DEPRECATED'\n ? '⚠️'\n : '❌';\n lines.push(`### ${statusIcon} ${tool.name} v${tool.version}`);\n lines.push('');\n lines.push(`> \\`${tool.id}\\``);\n lines.push('');\n if (tool.description) {\n lines.push(tool.description);\n lines.push('');\n }\n }\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":";;;;;;;AAwBA,MAAa,+BAGR;CACH,QAAQ;CACR,QAAQ,OAAO,SAA2B;AAExC,MACE,KAAK,OAAO,SAAS,eACrB,KAAK,OAAO,iBAAiB,mBAE7B,OAAM,IAAI,MAAM,qDAAqD;EAIvE,MAAM,OAAO,MAAM,qBAAqB;GACtC,gBAAgB;GAChB,OAAO;GACP,QAAQ;GACT,CAAC;EAGF,MAAM,QAAkB;GACtB,KAAK,KAAK,KAAK,eAAe;GAC9B;GACA,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK;GACjC;GACA,oBAAoB,KAAK;GACzB;GACD;EAGD,MAAM,aAAyC,EAAE;AACjD,OAAK,MAAM,QAAQ,KAAK,OAAqB;GAC3C,MAAM,MAAM,KAAK;AACjB,OAAI,CAAC,WAAW,KAAM,YAAW,OAAO,EAAE;AAC1C,cAAW,KAAK,KAAK,KAAK;;AAG5B,OAAK,MAAM,CAAC,UAAU,UAAU,OAAO,QAAQ,WAAW,CAAC,MAAM,EAAE;AACjE,SAAM,KAAK,MAAM,SAAS,IAAI,MAAM,OAAO,GAAG;AAC9C,SAAM,KAAK,GAAG;AAEd,QAAK,MAAM,QAAQ,OAAO;IACxB,MAAM,aACJ,KAAK,WAAW,WACZ,MACA,KAAK,WAAW,eACd,OACA;AACR,UAAM,KAAK,OAAO,WAAW,GAAG,KAAK,KAAK,IAAI,KAAK,UAAU;AAC7D,UAAM,KAAK,GAAG;AACd,UAAM,KAAK,OAAO,KAAK,GAAG,IAAI;AAC9B,UAAM,KAAK,GAAG;AACd,QAAI,KAAK,aAAa;AACpB,WAAM,KAAK,KAAK,YAAY;AAC5B,WAAM,KAAK,GAAG;;;;AAKpB,SAAO;GACL,UAAU;GACV,MAAM,MAAM,KAAK,KAAK;GACvB;;CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentListView.js","names":[],"sources":["../../../src/ui/views/AgentListView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Agent List View\n *\n * Displays a list of AI agents with their status and basic info.\n * Uses design-system components with correct props.\n */\nimport {\n Button,\n StatCard,\n StatCardGroup,\n EntityCard,\n StatusChip,\n LoaderBlock,\n ErrorState,\n EmptyState,\n} from '@contractspec/lib.design-system';\nimport { useAgentList, type Agent } from '../hooks/useAgentList';\n\nfunction getStatusTone(\n status: Agent['status']\n): 'success' | 'warning' | 'neutral' {\n switch (status) {\n case 'ACTIVE':\n return 'success';\n case 'PAUSED':\n case 'DRAFT':\n return 'warning';\n case 'ARCHIVED':\n return 'neutral';\n default:\n return 'neutral';\n }\n}\n\nexport function AgentListView() {\n const { data, loading, error, stats, refetch } = useAgentList();\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading agents...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load agents\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No agents yet\"\n description=\"Create your first AI agent to get started.\"\n />\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {/* Stats */}\n {stats && (\n <StatCardGroup>\n <StatCard label=\"Total Agents\" value={stats.total} />\n <StatCard label=\"Active\" value={stats.active} />\n <StatCard label=\"Paused\" value={stats.paused} />\n <StatCard label=\"Draft\" value={stats.draft} />\n </StatCardGroup>\n )}\n\n {/* Actions */}\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-semibold\">Agents</h3>\n <Button onPress={() => alert('Create Agent clicked!')}>\n Create Agent\n </Button>\n </div>\n\n {/* Agent List */}\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {data.items.map((agent) => (\n <EntityCard\n key={agent.id}\n cardTitle={agent.name}\n cardSubtitle={agent.modelName}\n meta={\n <p className=\"text-muted-foreground text-sm\">\n {agent.description}\n </p>\n }\n chips={\n <StatusChip\n tone={getStatusTone(agent.status)}\n label={agent.status}\n />\n }\n footer={\n <span className=\"text-muted-foreground text-xs\">\n Created {agent.createdAt.toLocaleDateString()}\n </span>\n }\n onClick={() => alert(`View agent: ${agent.name}`)}\n />\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,SAAS,cACP,QACmC;AACnC,SAAQ,QAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK;EACL,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,gBAAgB;CAC9B,MAAM,EAAE,MAAM,SAAS,OAAO,OAAO,YAAY,cAAc;AAE/D,KAAI,WAAW,CAAC,KACd,QAAO,oBAAC,eAAY,OAAM,sBAAsB;AAGlD,KAAI,MACF,QACE,oBAAC;EACC,OAAM;EACN,aAAa,MAAM;EACnB,SAAS;EACT,YAAW;GACX;AAIN,KAAI,CAAC,MAAM,MAAM,OACf,QACE,oBAAC;EACC,OAAM;EACN,aAAY;GACZ;AAIN,QACE,qBAAC;EAAI,WAAU;;GAEZ,SACC,qBAAC;IACC,oBAAC;KAAS,OAAM;KAAe,OAAO,MAAM;MAAS;IACrD,oBAAC;KAAS,OAAM;KAAS,OAAO,MAAM;MAAU;IAChD,oBAAC;KAAS,OAAM;KAAS,OAAO,MAAM;MAAU;IAChD,oBAAC;KAAS,OAAM;KAAQ,OAAO,MAAM;MAAS;OAChC;GAIlB,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAG,WAAU;eAAwB;MAAW,EACjD,oBAAC;KAAO,eAAe,MAAM,wBAAwB;eAAE;MAE9C;KACL;GAGN,oBAAC;IAAI,WAAU;cACZ,KAAK,MAAM,KAAK,UACf,oBAAC;KAEC,WAAW,MAAM;KACjB,cAAc,MAAM;KACpB,MACE,oBAAC;MAAE,WAAU;gBACV,MAAM;OACL;KAEN,OACE,oBAAC;MACC,MAAM,cAAc,MAAM,OAAO;MACjC,OAAO,MAAM;OACb;KAEJ,QACE,qBAAC;MAAK,WAAU;iBAAgC,YACrC,MAAM,UAAU,oBAAoB;OACxC;KAET,eAAe,MAAM,eAAe,MAAM,OAAO;OAnB5C,MAAM,GAoBX,CACF;KACE;;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RunListView.js","names":[],"sources":["../../../src/ui/views/RunListView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Run List View - Shows agent execution runs with stats\n */\nimport {\n StatCard,\n StatCardGroup,\n StatusChip,\n EmptyState,\n LoaderBlock,\n ErrorState,\n} from '@contractspec/lib.design-system';\nimport { useRunList, type Run } from '../hooks/useRunList';\n\ninterface RunListViewProps {\n agentId?: string;\n onRunClick?: (runId: string) => void;\n}\n\nfunction getStatusTone(\n status: Run['status']\n): 'success' | 'warning' | 'neutral' | 'danger' {\n switch (status) {\n case 'COMPLETED':\n return 'success';\n case 'RUNNING':\n return 'warning';\n case 'QUEUED':\n return 'neutral';\n case 'FAILED':\n case 'CANCELLED':\n return 'danger';\n default:\n return 'neutral';\n }\n}\n\nfunction formatDuration(ms?: number): string {\n if (!ms) return '-';\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\nfunction formatTokens(tokens: number): string {\n if (tokens < 1000) return tokens.toString();\n if (tokens < 1000000) return `${(tokens / 1000).toFixed(1)}K`;\n return `${(tokens / 1000000).toFixed(2)}M`;\n}\n\nfunction formatCost(cost?: number): string {\n if (!cost) return '-';\n return `$${cost.toFixed(4)}`;\n}\n\nexport function RunListView({ agentId, onRunClick }: RunListViewProps) {\n const { data, metrics, loading, error, refetch } = useRunList({ agentId });\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading runs...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load runs\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No runs yet\"\n description=\"Execute an agent to see run history here.\"\n />\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {/* Metrics Stats */}\n {metrics && (\n <StatCardGroup>\n <StatCard label=\"Total Runs\" value={metrics.totalRuns} />\n <StatCard\n label=\"Success Rate\"\n value={`${(metrics.successRate * 100).toFixed(1)}%`}\n />\n <StatCard\n label=\"Total Tokens\"\n value={formatTokens(metrics.totalTokens)}\n />\n <StatCard\n label=\"Total Cost\"\n value={`$${metrics.totalCostUsd.toFixed(2)}`}\n />\n </StatCardGroup>\n )}\n\n {/* Run List */}\n <div className=\"border-border rounded-lg border\">\n <table className=\"w-full\">\n <thead className=\"border-border bg-muted/30 border-b\">\n <tr>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Run\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Agent\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Status\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Tokens\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Duration\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Cost\n </th>\n </tr>\n </thead>\n <tbody className=\"divide-border divide-y\">\n {data.items.map((run: Run) => (\n <tr\n key={run.id}\n className=\"hover:bg-muted/50 cursor-pointer transition-colors\"\n onClick={() => onRunClick?.(run.id)}\n >\n <td className=\"px-4 py-3\">\n <div className=\"font-mono text-sm\">{run.id.slice(-8)}</div>\n <div className=\"text-muted-foreground text-xs\">\n {run.queuedAt.toLocaleString()}\n </div>\n </td>\n <td className=\"px-4 py-3\">\n <span className=\"font-medium\">{run.agentName}</span>\n </td>\n <td className=\"px-4 py-3\">\n <StatusChip\n tone={getStatusTone(run.status)}\n label={run.status}\n />\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatTokens(run.totalTokens)}\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatDuration(run.durationMs)}\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatCost(run.estimatedCostUsd)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n {/* Pagination */}\n <div className=\"text-muted-foreground text-center text-sm\">\n Showing {data.items.length} of {data.total} runs\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistryView.js","names":[],"sources":["../../../src/ui/views/ToolRegistryView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Tool Registry View - Shows available tools organized by category\n */\nimport {\n StatCard,\n StatCardGroup,\n StatusChip,\n EntityCard,\n EmptyState,\n LoaderBlock,\n ErrorState,\n Button,\n} from '@contractspec/lib.design-system';\nimport { useToolList, type Tool } from '../hooks/useToolList';\n\ninterface ToolRegistryViewProps {\n onToolClick?: (toolId: string) => void;\n onCreateTool?: () => void;\n}\n\nconst categoryIcons: Record<string, string> = {\n RETRIEVAL: '🔍',\n COMPUTATION: '🧮',\n COMMUNICATION: '📧',\n INTEGRATION: '🔗',\n UTILITY: '🛠️',\n CUSTOM: '⚙️',\n};\n\nfunction getStatusTone(\n status: Tool['status']\n): 'success' | 'warning' | 'neutral' | 'danger' {\n switch (status) {\n case 'ACTIVE':\n return 'success';\n case 'DRAFT':\n return 'neutral';\n case 'DEPRECATED':\n return 'warning';\n case 'DISABLED':\n return 'danger';\n default:\n return 'neutral';\n }\n}\n\nexport function ToolRegistryView({\n onToolClick,\n onCreateTool,\n}: ToolRegistryViewProps) {\n const { data, loading, error, groupedByCategory, categoryStats, refetch } =\n useToolList();\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading tools...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load tools\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No tools registered\"\n description=\"Create your first tool to extend agent capabilities.\"\n primaryAction={\n onCreateTool ? (\n <Button onPress={onCreateTool}>Create Tool</Button>\n ) : undefined\n }\n />\n );\n }\n\n return (\n <div className=\"space-y-8\">\n {/* Category Stats */}\n <StatCardGroup>\n <StatCard label=\"Total Tools\" value={data.total} />\n {categoryStats.slice(0, 3).map(({ category, count }) => (\n <StatCard\n key={category}\n label={`${categoryIcons[category] ?? ''} ${category}`}\n value={count}\n />\n ))}\n </StatCardGroup>\n\n {/* Tools by Category */}\n {Object.entries(groupedByCategory).map(([category, tools]) => (\n <section key={category} className=\"space-y-4\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-2xl\">{categoryIcons[category]}</span>\n <h3 className=\"text-lg font-semibold\">{category}</h3>\n <span className=\"bg-muted text-muted-foreground rounded-full px-2 py-0.5 text-xs\">\n {(tools as Tool[]).length}\n </span>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {(tools as Tool[]).map((tool) => (\n <EntityCard\n key={tool.id}\n cardTitle={tool.name}\n cardSubtitle={`v${tool.version}`}\n meta={\n <p className=\"text-muted-foreground text-sm\">\n {tool.description}\n </p>\n }\n chips={\n <StatusChip\n tone={getStatusTone(tool.status)}\n label={tool.status}\n />\n }\n footer={\n <code className=\"text-muted-foreground text-xs\">\n {tool.name}\n </code>\n }\n onClick={onToolClick ? () => onToolClick(tool.id) : undefined}\n />\n ))}\n </div>\n </section>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,gBAAwC;CAC5C,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,SAAS;CACT,QAAQ;CACT;AAED,SAAS,cACP,QAC8C;AAC9C,SAAQ,QAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,iBAAiB,EAC/B,aACA,gBACwB;CACxB,MAAM,EAAE,MAAM,SAAS,OAAO,mBAAmB,eAAe,YAC9D,aAAa;AAEf,KAAI,WAAW,CAAC,KACd,QAAO,oBAAC,eAAY,OAAM,qBAAqB;AAGjD,KAAI,MACF,QACE,oBAAC;EACC,OAAM;EACN,aAAa,MAAM;EACnB,SAAS;EACT,YAAW;GACX;AAIN,KAAI,CAAC,MAAM,MAAM,OACf,QACE,oBAAC;EACC,OAAM;EACN,aAAY;EACZ,eACE,eACE,oBAAC;GAAO,SAAS;aAAc;IAAoB,GACjD;GAEN;AAIN,QACE,qBAAC;EAAI,WAAU;aAEb,qBAAC,4BACC,oBAAC;GAAS,OAAM;GAAc,OAAO,KAAK;IAAS,EAClD,cAAc,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,YAC1C,oBAAC;GAEC,OAAO,GAAG,cAAc,aAAa,GAAG,GAAG;GAC3C,OAAO;KAFF,SAGL,CACF,IACY,EAGf,OAAO,QAAQ,kBAAkB,CAAC,KAAK,CAAC,UAAU,WACjD,qBAAC;GAAuB,WAAU;cAChC,qBAAC;IAAI,WAAU;;KACb,oBAAC;MAAK,WAAU;gBAAY,cAAc;OAAiB;KAC3D,oBAAC;MAAG,WAAU;gBAAyB;OAAc;KACrD,oBAAC;MAAK,WAAU;gBACZ,MAAiB;OACd;;KACH,EAEN,oBAAC;IAAI,WAAU;cACX,MAAiB,KAAK,SACtB,oBAAC;KAEC,WAAW,KAAK;KAChB,cAAc,IAAI,KAAK;KACvB,MACE,oBAAC;MAAE,WAAU;gBACV,KAAK;OACJ;KAEN,OACE,oBAAC;MACC,MAAM,cAAc,KAAK,OAAO;MAChC,OAAO,KAAK;OACZ;KAEJ,QACE,oBAAC;MAAK,WAAU;gBACb,KAAK;OACD;KAET,SAAS,oBAAoB,YAAY,KAAK,GAAG,GAAG;OAnB/C,KAAK,GAoBV,CACF;KACE;KAlCM,SAmCJ,CACV;GACE"}
|