@contractspec/example.agent-console 3.7.6 → 3.8.2
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 +126 -105
- package/AGENTS.md +52 -31
- package/CHANGELOG.md +29 -0
- package/README.md +112 -83
- package/dist/agent/agent.event.js +1 -1
- package/dist/agent/agent.handler.d.ts +3 -0
- package/dist/agent/agent.handler.js +730 -1
- package/dist/agent/agent.operation.js +1 -1
- package/dist/agent/index.d.ts +5 -5
- package/dist/agent/index.js +74 -73
- package/dist/agent.feature.js +179 -0
- package/dist/browser/agent/agent.event.js +1 -1
- package/dist/browser/agent/agent.handler.js +730 -1
- package/dist/browser/agent/agent.operation.js +1 -1
- package/dist/browser/agent/index.js +74 -73
- package/dist/browser/agent.feature.js +179 -0
- package/dist/browser/docs/agent-console.docblock.js +11 -8
- package/dist/browser/docs/index.js +11 -8
- package/dist/browser/example.js +2 -3
- package/dist/browser/handlers/agent.handlers.js +1883 -2
- package/dist/browser/handlers/index.js +2142 -8
- package/dist/browser/index.js +4075 -3161
- package/dist/browser/presentations/index.js +51 -51
- package/dist/browser/run/index.js +380 -374
- package/dist/browser/run/run.event.js +2 -2
- package/dist/browser/run/run.handler.js +666 -1
- package/dist/browser/run/run.presentation.js +2 -2
- package/dist/browser/shared/index.js +293 -1
- package/dist/browser/shared/mock-runs.js +5 -0
- package/dist/browser/tool/index.js +161 -161
- package/dist/browser/tool/tool.event.js +1 -1
- package/dist/browser/tool/tool.handler.js +479 -3
- package/dist/browser/tool/tool.presentation.js +2 -2
- package/dist/browser/ui/AgentDashboard.js +1816 -931
- package/dist/browser/ui/AgentDashboard.visualizations.js +217 -0
- package/dist/browser/ui/AgentRunList.js +360 -128
- package/dist/browser/ui/AgentToolRegistry.js +9 -9
- package/dist/browser/ui/hooks/index.js +611 -161
- package/dist/browser/ui/hooks/useAgentList.js +1 -1
- package/dist/browser/ui/hooks/useAgentMutations.js +444 -9
- package/dist/browser/ui/hooks/useRunList.js +26 -11
- package/dist/browser/ui/hooks/useToolList.js +1 -1
- package/dist/browser/ui/index.js +2161 -1258
- package/dist/browser/ui/modals/AgentActionsModal.js +13 -13
- package/dist/browser/ui/modals/CreateAgentModal.js +15 -15
- package/dist/browser/ui/modals/index.js +297 -297
- package/dist/browser/ui/renderers/agent-list.markdown.js +14 -5
- package/dist/browser/ui/renderers/agent-list.renderer.js +7 -7
- package/dist/browser/ui/renderers/dashboard.markdown.js +207 -36
- package/dist/browser/ui/renderers/index.js +359 -163
- package/dist/browser/ui/renderers/run-list.markdown.js +9 -4
- package/dist/browser/ui/renderers/tool-registry.markdown.js +15 -4
- package/dist/browser/ui/views/AgentListView.js +7 -7
- package/dist/browser/ui/views/RunDataTable.js +326 -0
- package/dist/browser/ui/views/RunListView.js +360 -128
- package/dist/browser/ui/views/ToolRegistryView.js +9 -9
- package/dist/browser/ui/views/index.js +478 -246
- package/dist/browser/ui/views/run-data-table.columns.js +271 -0
- package/dist/browser/ui/views/run-list.shared.js +177 -0
- package/dist/browser/visualizations/catalog.js +134 -0
- package/dist/browser/visualizations/index.js +187 -0
- package/dist/browser/visualizations/selectors.js +181 -0
- package/dist/docs/agent-console.docblock.js +11 -8
- package/dist/docs/index.js +11 -8
- package/dist/example.js +2 -3
- package/dist/example.test.d.ts +1 -0
- package/dist/handlers/agent.handlers.d.ts +2 -0
- package/dist/handlers/agent.handlers.js +1883 -2
- package/dist/handlers/index.d.ts +2 -4
- package/dist/handlers/index.js +2142 -8
- package/dist/handlers/mock-handlers.test.d.ts +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.js +4075 -3161
- package/dist/node/agent/agent.event.js +1 -1
- package/dist/node/agent/agent.handler.js +730 -1
- package/dist/node/agent/agent.operation.js +1 -1
- package/dist/node/agent/index.js +74 -73
- package/dist/node/agent.feature.js +179 -0
- package/dist/node/docs/agent-console.docblock.js +11 -8
- package/dist/node/docs/index.js +11 -8
- package/dist/node/example.js +2 -3
- package/dist/node/handlers/agent.handlers.js +1883 -2
- package/dist/node/handlers/index.js +2142 -8
- package/dist/node/index.js +4075 -3161
- package/dist/node/presentations/index.js +51 -51
- package/dist/node/run/index.js +380 -374
- package/dist/node/run/run.event.js +2 -2
- package/dist/node/run/run.handler.js +666 -1
- package/dist/node/run/run.presentation.js +2 -2
- package/dist/node/shared/index.js +293 -1
- package/dist/node/shared/mock-runs.js +5 -0
- package/dist/node/tool/index.js +161 -161
- package/dist/node/tool/tool.event.js +1 -1
- package/dist/node/tool/tool.handler.js +479 -3
- package/dist/node/tool/tool.presentation.js +2 -2
- package/dist/node/ui/AgentDashboard.js +1816 -931
- package/dist/node/ui/AgentDashboard.visualizations.js +217 -0
- package/dist/node/ui/AgentRunList.js +360 -128
- package/dist/node/ui/AgentToolRegistry.js +9 -9
- package/dist/node/ui/hooks/index.js +611 -161
- package/dist/node/ui/hooks/useAgentList.js +1 -1
- package/dist/node/ui/hooks/useAgentMutations.js +444 -9
- package/dist/node/ui/hooks/useRunList.js +26 -11
- package/dist/node/ui/hooks/useToolList.js +1 -1
- package/dist/node/ui/index.js +2161 -1258
- package/dist/node/ui/modals/AgentActionsModal.js +13 -13
- package/dist/node/ui/modals/CreateAgentModal.js +15 -15
- package/dist/node/ui/modals/index.js +297 -297
- package/dist/node/ui/renderers/agent-list.markdown.js +14 -5
- package/dist/node/ui/renderers/agent-list.renderer.js +7 -7
- package/dist/node/ui/renderers/dashboard.markdown.js +207 -36
- package/dist/node/ui/renderers/index.js +359 -163
- package/dist/node/ui/renderers/run-list.markdown.js +9 -4
- package/dist/node/ui/renderers/tool-registry.markdown.js +15 -4
- package/dist/node/ui/views/AgentListView.js +7 -7
- package/dist/node/ui/views/RunDataTable.js +326 -0
- package/dist/node/ui/views/RunListView.js +360 -128
- package/dist/node/ui/views/ToolRegistryView.js +9 -9
- package/dist/node/ui/views/index.js +478 -246
- package/dist/node/ui/views/run-data-table.columns.js +271 -0
- package/dist/node/ui/views/run-list.shared.js +177 -0
- package/dist/node/visualizations/catalog.js +134 -0
- package/dist/node/visualizations/index.js +187 -0
- package/dist/node/visualizations/selectors.js +181 -0
- package/dist/presentations/index.d.ts +3 -5
- package/dist/presentations/index.js +51 -51
- package/dist/proof/index.d.ts +2 -0
- package/dist/proof/meetup-proof.d.ts +10 -0
- package/dist/proof/meetup-proof.runtime.d.ts +22 -0
- package/dist/proof/meetup-proof.scenario.d.ts +2 -0
- package/dist/proof/meetup-proof.suite.d.ts +1 -0
- package/dist/proof/meetup-proof.test.d.ts +1 -0
- package/dist/run/index.d.ts +7 -7
- package/dist/run/index.js +380 -374
- package/dist/run/run.event.js +2 -2
- package/dist/run/run.handler.d.ts +7 -0
- package/dist/run/run.handler.js +666 -1
- package/dist/run/run.presentation.js +2 -2
- package/dist/shared/demo-dashboard-data.d.ts +16 -0
- package/dist/shared/demo-runtime-seed.d.ts +17 -0
- package/dist/shared/demo-runtime.d.ts +8 -0
- package/dist/shared/demo-runtime.test.d.ts +1 -0
- package/dist/shared/index.d.ts +4 -1
- package/dist/shared/index.js +293 -1
- package/dist/shared/mock-runs.d.ts +4 -0
- package/dist/shared/mock-runs.js +5 -0
- package/dist/tool/index.d.ts +7 -7
- package/dist/tool/index.js +161 -161
- package/dist/tool/tool.event.js +1 -1
- package/dist/tool/tool.handler.d.ts +3 -0
- package/dist/tool/tool.handler.js +479 -3
- package/dist/tool/tool.presentation.js +2 -2
- package/dist/ui/AgentDashboard.js +1816 -931
- package/dist/ui/AgentDashboard.sandbox.test.d.ts +1 -0
- package/dist/ui/AgentDashboard.visualizations.d.ts +4 -0
- package/dist/ui/AgentDashboard.visualizations.js +218 -0
- package/dist/ui/AgentRunList.js +360 -128
- package/dist/ui/AgentToolRegistry.js +9 -9
- package/dist/ui/hooks/index.d.ts +4 -4
- package/dist/ui/hooks/index.js +611 -161
- package/dist/ui/hooks/useAgentList.d.ts +5 -0
- package/dist/ui/hooks/useAgentList.js +1 -1
- package/dist/ui/hooks/useAgentMutations.d.ts +9 -2
- package/dist/ui/hooks/useAgentMutations.js +444 -9
- package/dist/ui/hooks/useRunList.d.ts +13 -2
- package/dist/ui/hooks/useRunList.js +26 -11
- package/dist/ui/hooks/useToolList.d.ts +5 -0
- package/dist/ui/hooks/useToolList.js +1 -1
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.js +2161 -1258
- package/dist/ui/modals/AgentActionsModal.js +13 -13
- package/dist/ui/modals/CreateAgentModal.js +15 -15
- package/dist/ui/modals/index.d.ts +1 -1
- package/dist/ui/modals/index.js +297 -297
- package/dist/ui/renderers/agent-list.markdown.d.ts +5 -0
- package/dist/ui/renderers/agent-list.markdown.js +14 -5
- package/dist/ui/renderers/agent-list.renderer.js +7 -7
- package/dist/ui/renderers/dashboard.markdown.d.ts +5 -0
- package/dist/ui/renderers/dashboard.markdown.js +207 -36
- package/dist/ui/renderers/index.d.ts +2 -2
- package/dist/ui/renderers/index.js +359 -163
- package/dist/ui/renderers/run-list.markdown.d.ts +5 -0
- package/dist/ui/renderers/run-list.markdown.js +9 -4
- package/dist/ui/renderers/tool-registry.markdown.d.ts +6 -1
- package/dist/ui/renderers/tool-registry.markdown.js +15 -4
- package/dist/ui/views/AgentListView.js +7 -7
- package/dist/ui/views/RunDataTable.d.ts +18 -0
- package/dist/ui/views/RunDataTable.js +327 -0
- package/dist/ui/views/RunListView.js +360 -128
- package/dist/ui/views/ToolRegistryView.js +9 -9
- package/dist/ui/views/index.js +478 -246
- package/dist/ui/views/run-data-table.columns.d.ts +3 -0
- package/dist/ui/views/run-data-table.columns.js +272 -0
- package/dist/ui/views/run-list.shared.d.ts +14 -0
- package/dist/ui/views/run-list.shared.js +178 -0
- package/dist/visualizations/catalog.d.ts +10 -0
- package/dist/visualizations/catalog.js +135 -0
- package/dist/visualizations/index.d.ts +2 -0
- package/dist/visualizations/index.js +188 -0
- package/dist/visualizations/selectors.d.ts +3 -0
- package/dist/visualizations/selectors.js +182 -0
- package/dist/visualizations/selectors.test.d.ts +1 -0
- package/package.json +114 -12
- package/proofs/agent-console-meetup.replay.json +220 -0
- package/src/agent/agent.entity.ts +111 -111
- package/src/agent/agent.enum.ts +12 -12
- package/src/agent/agent.event.ts +91 -91
- package/src/agent/agent.handler.ts +144 -127
- package/src/agent/agent.operation.ts +400 -400
- package/src/agent/agent.presentation.ts +62 -62
- package/src/agent/agent.schema.ts +175 -175
- package/src/agent/agent.test-spec.ts +48 -48
- package/src/agent/index.ts +46 -51
- package/src/agent.capability.ts +11 -11
- package/src/agent.feature.ts +134 -131
- package/src/docs/agent-console.docblock.ts +52 -49
- package/src/example.test.ts +75 -0
- package/src/example.ts +34 -35
- package/src/handlers/agent.handlers.ts +576 -522
- package/src/handlers/index.ts +30 -14
- package/src/handlers/mock-handlers.test.ts +77 -0
- package/src/index.ts +10 -9
- package/src/presentations/index.ts +11 -13
- package/src/proof/index.ts +2 -0
- package/src/proof/meetup-proof.runtime.ts +196 -0
- package/src/proof/meetup-proof.scenario.ts +99 -0
- package/src/proof/meetup-proof.suite.ts +29 -0
- package/src/proof/meetup-proof.test.ts +28 -0
- package/src/proof/meetup-proof.ts +130 -0
- package/src/run/index.ts +49 -54
- package/src/run/run.entity.ts +137 -137
- package/src/run/run.enum.ts +18 -18
- package/src/run/run.event.ts +174 -174
- package/src/run/run.handler.ts +113 -96
- package/src/run/run.operation.ts +474 -474
- package/src/run/run.presentation.ts +42 -42
- package/src/run/run.schema.ts +126 -126
- package/src/run/run.test-spec.ts +48 -48
- package/src/seeders/index.ts +21 -21
- package/src/shared/demo-dashboard-data.ts +58 -0
- package/src/shared/demo-runtime-seed.ts +139 -0
- package/src/shared/demo-runtime.test.ts +169 -0
- package/src/shared/demo-runtime.ts +260 -0
- package/src/shared/index.ts +12 -1
- package/src/shared/mock-agents.ts +76 -76
- package/src/shared/mock-runs.ts +107 -102
- package/src/shared/mock-tools.ts +140 -140
- package/src/shared/overlay-types.ts +23 -23
- package/src/tool/index.ts +39 -44
- package/src/tool/tool.entity.ts +73 -73
- package/src/tool/tool.enum.ts +13 -13
- package/src/tool/tool.event.ts +80 -80
- package/src/tool/tool.handler.ts +124 -107
- package/src/tool/tool.operation.ts +328 -328
- package/src/tool/tool.presentation.ts +43 -43
- package/src/tool/tool.schema.ts +106 -106
- package/src/tool/tool.test-spec.ts +48 -48
- package/src/ui/AgentDashboard.sandbox.test.tsx +312 -0
- package/src/ui/AgentDashboard.tsx +351 -348
- package/src/ui/AgentDashboard.visualizations.tsx +35 -0
- package/src/ui/hooks/index.ts +7 -7
- package/src/ui/hooks/useAgentList.ts +57 -56
- package/src/ui/hooks/useAgentMutations.ts +168 -159
- package/src/ui/hooks/useRunList.ts +90 -57
- package/src/ui/hooks/useToolList.ts +102 -101
- package/src/ui/index.ts +6 -9
- package/src/ui/modals/AgentActionsModal.tsx +262 -262
- package/src/ui/modals/CreateAgentModal.tsx +232 -232
- package/src/ui/modals/index.ts +1 -1
- package/src/ui/overlays/demo-overlays.ts +52 -52
- package/src/ui/renderers/agent-list.markdown.ts +81 -61
- package/src/ui/renderers/agent-list.renderer.tsx +14 -14
- package/src/ui/renderers/dashboard.markdown.ts +135 -139
- package/src/ui/renderers/index.ts +3 -4
- package/src/ui/renderers/run-list.markdown.ts +56 -47
- package/src/ui/renderers/tool-registry.markdown.ts +79 -66
- package/src/ui/views/AgentListView.tsx +90 -90
- package/src/ui/views/RunDataTable.tsx +74 -0
- package/src/ui/views/RunListView.tsx +84 -158
- package/src/ui/views/ToolRegistryView.tsx +113 -113
- package/src/ui/views/run-data-table.columns.tsx +102 -0
- package/src/ui/views/run-list.shared.tsx +139 -0
- package/src/visualizations/catalog.ts +132 -0
- package/src/visualizations/index.ts +2 -0
- package/src/visualizations/selectors.test.ts +12 -0
- package/src/visualizations/selectors.ts +70 -0
- package/tsconfig.json +7 -8
- package/tsdown.config.js +24 -3
package/src/agent/index.ts
CHANGED
|
@@ -2,66 +2,61 @@
|
|
|
2
2
|
* Agent domain - AI agent configuration and management.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
// Entities
|
|
6
|
+
export {
|
|
7
|
+
AgentEntity,
|
|
8
|
+
AgentStatusEntityEnum,
|
|
9
|
+
AgentToolEntity,
|
|
10
|
+
ModelProviderEntityEnum,
|
|
11
|
+
} from './agent.entity';
|
|
5
12
|
// Enums
|
|
6
13
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
AgentStatusEnum,
|
|
15
|
+
ModelProviderEnum,
|
|
16
|
+
ToolChoiceEnum,
|
|
10
17
|
} from './agent.enum';
|
|
11
|
-
|
|
12
|
-
// Schema models
|
|
13
|
-
export {
|
|
14
|
-
AgentModel,
|
|
15
|
-
AgentSummaryModel,
|
|
16
|
-
AgentToolRefModel,
|
|
17
|
-
AgentWithToolsModel,
|
|
18
|
-
CreateAgentInputModel,
|
|
19
|
-
UpdateAgentInputModel,
|
|
20
|
-
} from './agent.schema';
|
|
21
|
-
|
|
22
|
-
// Contracts
|
|
23
|
-
export {
|
|
24
|
-
CreateAgentCommand,
|
|
25
|
-
UpdateAgentCommand,
|
|
26
|
-
GetAgentQuery,
|
|
27
|
-
ListAgentsQuery,
|
|
28
|
-
AssignToolToAgentCommand,
|
|
29
|
-
RemoveToolFromAgentCommand,
|
|
30
|
-
} from './agent.operation';
|
|
31
|
-
|
|
32
18
|
// Events
|
|
33
19
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
AgentCreatedEvent,
|
|
21
|
+
AgentToolAssignedEvent,
|
|
22
|
+
AgentToolRemovedEvent,
|
|
23
|
+
AgentUpdatedEvent,
|
|
38
24
|
} from './agent.event';
|
|
39
|
-
|
|
40
|
-
// Entities
|
|
25
|
+
// Handlers
|
|
41
26
|
export {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
27
|
+
type AgentSummary,
|
|
28
|
+
type AgentToolRef,
|
|
29
|
+
type AgentWithTools,
|
|
30
|
+
type GetAgentInput,
|
|
31
|
+
type ListAgentsInput,
|
|
32
|
+
type ListAgentsOutput,
|
|
33
|
+
mockCreateAgentHandler,
|
|
34
|
+
mockGetAgentHandler,
|
|
35
|
+
mockListAgentsHandler,
|
|
36
|
+
mockUpdateAgentHandler,
|
|
37
|
+
} from './agent.handler';
|
|
38
|
+
// Contracts
|
|
39
|
+
export {
|
|
40
|
+
AssignToolToAgentCommand,
|
|
41
|
+
CreateAgentCommand,
|
|
42
|
+
GetAgentQuery,
|
|
43
|
+
ListAgentsQuery,
|
|
44
|
+
RemoveToolFromAgentCommand,
|
|
45
|
+
UpdateAgentCommand,
|
|
46
|
+
} from './agent.operation';
|
|
47
47
|
|
|
48
48
|
// Presentations
|
|
49
49
|
export {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
AgentConsoleDashboardPresentation,
|
|
51
|
+
AgentDetailPresentation,
|
|
52
|
+
AgentListPresentation,
|
|
53
53
|
} from './agent.presentation';
|
|
54
|
-
|
|
55
|
-
// Handlers
|
|
54
|
+
// Schema models
|
|
56
55
|
export {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
type GetAgentInput,
|
|
65
|
-
type AgentToolRef,
|
|
66
|
-
type AgentWithTools,
|
|
67
|
-
} from './agent.handler';
|
|
56
|
+
AgentModel,
|
|
57
|
+
AgentSummaryModel,
|
|
58
|
+
AgentToolRefModel,
|
|
59
|
+
AgentWithToolsModel,
|
|
60
|
+
CreateAgentInputModel,
|
|
61
|
+
UpdateAgentInputModel,
|
|
62
|
+
} from './agent.schema';
|
package/src/agent.capability.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
defineCapability,
|
|
3
|
+
StabilityEnum,
|
|
4
4
|
} from '@contractspec/lib.contracts-spec';
|
|
5
5
|
|
|
6
6
|
export const AgentCapability = defineCapability({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
meta: {
|
|
8
|
+
key: 'agent',
|
|
9
|
+
version: '1.0.0',
|
|
10
|
+
kind: 'ui',
|
|
11
|
+
stability: StabilityEnum.Experimental,
|
|
12
|
+
description: 'AI agent management and console capability',
|
|
13
|
+
owners: ['platform.core'],
|
|
14
|
+
tags: ['agent', 'ai', 'console'],
|
|
15
|
+
},
|
|
16
16
|
});
|
package/src/agent.feature.ts
CHANGED
|
@@ -5,154 +5,157 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { FeatureModuleSpec } from '@contractspec/lib.contracts-spec';
|
|
7
7
|
import { defineFeature } from '@contractspec/lib.contracts-spec';
|
|
8
|
+
import { AgentVisualizationRefs } from './visualizations';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Agent Console feature module that bundles all agent, tool, and run
|
|
11
12
|
* operations, events, and presentations into an installable feature.
|
|
12
13
|
*/
|
|
13
14
|
export const AgentConsoleFeature: FeatureModuleSpec = defineFeature({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
meta: {
|
|
16
|
+
key: 'agent-console',
|
|
17
|
+
version: '1.0.0',
|
|
18
|
+
title: 'AI Agent Console',
|
|
19
|
+
description: 'AI agent orchestration with tools, runs, and logs management',
|
|
20
|
+
domain: 'ai-ops',
|
|
21
|
+
owners: ['@agent-console-team'],
|
|
22
|
+
tags: ['ai', 'agents', 'orchestration'],
|
|
23
|
+
stability: 'stable',
|
|
24
|
+
},
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
// All contract operations included in this feature
|
|
27
|
+
operations: [
|
|
28
|
+
// Agent operations
|
|
29
|
+
{ key: 'agent-console.agent.create', version: '1.0.0' },
|
|
30
|
+
{ key: 'agent-console.agent.update', version: '1.0.0' },
|
|
31
|
+
{ key: 'agent-console.agent.get', version: '1.0.0' },
|
|
32
|
+
{ key: 'agent-console.agent.list', version: '1.0.0' },
|
|
33
|
+
{ key: 'agent-console.agent.assignTool', version: '1.0.0' },
|
|
34
|
+
{ key: 'agent-console.agent.removeTool', version: '1.0.0' },
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
// Tool operations
|
|
37
|
+
{ key: 'agent.tool.create', version: '1.0.0' },
|
|
38
|
+
{ key: 'agent.tool.update', version: '1.0.0' },
|
|
39
|
+
{ key: 'agent.tool.get', version: '1.0.0' },
|
|
40
|
+
{ key: 'agent.tool.list', version: '1.0.0' },
|
|
41
|
+
{ key: 'agent.tool.test', version: '1.0.0' },
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
// Run operations
|
|
44
|
+
{ key: 'agent.run.execute', version: '1.0.0' },
|
|
45
|
+
{ key: 'agent.run.cancel', version: '1.0.0' },
|
|
46
|
+
{ key: 'agent.run.get', version: '1.0.0' },
|
|
47
|
+
{ key: 'agent.run.list', version: '1.0.0' },
|
|
48
|
+
{ key: 'agent.run.getSteps', version: '1.0.0' },
|
|
49
|
+
{ key: 'agent.run.getLogs', version: '1.0.0' },
|
|
50
|
+
{ key: 'agent.run.getMetrics', version: '1.0.0' },
|
|
51
|
+
],
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
// Events emitted by this feature
|
|
54
|
+
events: [
|
|
55
|
+
// Agent events
|
|
56
|
+
{ key: 'agent-console.agent.created', version: '1.0.0' },
|
|
57
|
+
{ key: 'agent-console.agent.updated', version: '1.0.0' },
|
|
58
|
+
{ key: 'agent-console.agent.toolAssigned', version: '1.0.0' },
|
|
59
|
+
{ key: 'agent-console.agent.toolRemoved', version: '1.0.0' },
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
// Tool events
|
|
62
|
+
{ key: 'agent.tool.created', version: '1.0.0' },
|
|
63
|
+
{ key: 'agent.tool.updated', version: '1.0.0' },
|
|
64
|
+
{ key: 'agent.tool.statusChanged', version: '1.0.0' },
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
// Run events
|
|
67
|
+
{ key: 'agent.run.started', version: '1.0.0' },
|
|
68
|
+
{ key: 'agent.run.completed', version: '1.0.0' },
|
|
69
|
+
{ key: 'agent.run.failed', version: '1.0.0' },
|
|
70
|
+
{ key: 'agent.run.cancelled', version: '1.0.0' },
|
|
71
|
+
{ key: 'agent.run.toolInvoked', version: '1.0.0' },
|
|
72
|
+
{ key: 'agent.run.toolCompleted', version: '1.0.0' },
|
|
73
|
+
{ key: 'agent.run.messageGenerated', version: '1.0.0' },
|
|
74
|
+
],
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
// Presentations associated with this feature
|
|
77
|
+
presentations: [
|
|
78
|
+
{ key: 'agent-console.dashboard', version: '1.0.0' },
|
|
79
|
+
{ key: 'agent-console.agent.viewList', version: '1.0.0' },
|
|
80
|
+
{ key: 'agent-console.agent.detail', version: '1.0.0' },
|
|
81
|
+
{ key: 'agent-console.run.list', version: '1.0.0' },
|
|
82
|
+
{ key: 'agent-console.run.detail', version: '1.0.0' },
|
|
83
|
+
{ key: 'agent-console.tool.list', version: '1.0.0' },
|
|
84
|
+
{ key: 'agent-console.tool.detail', version: '1.0.0' },
|
|
85
|
+
],
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
87
|
+
// Link operations to their primary presentations
|
|
88
|
+
opToPresentation: [
|
|
89
|
+
{
|
|
90
|
+
op: { key: 'agent-console.agent.list', version: '1.0.0' },
|
|
91
|
+
pres: { key: 'agent-console.agent.viewList', version: '1.0.0' },
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
op: { key: 'agent-console.agent.get', version: '1.0.0' },
|
|
95
|
+
pres: { key: 'agent-console.agent.detail', version: '1.0.0' },
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
op: { key: 'agent.run.list', version: '1.0.0' },
|
|
99
|
+
pres: { key: 'agent-console.run.list', version: '1.0.0' },
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
op: { key: 'agent.run.get', version: '1.0.0' },
|
|
103
|
+
pres: { key: 'agent-console.run.detail', version: '1.0.0' },
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
op: { key: 'agent.tool.list', version: '1.0.0' },
|
|
107
|
+
pres: { key: 'agent-console.tool.list', version: '1.0.0' },
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
op: { key: 'agent.tool.get', version: '1.0.0' },
|
|
111
|
+
pres: { key: 'agent-console.tool.detail', version: '1.0.0' },
|
|
112
|
+
},
|
|
113
|
+
],
|
|
113
114
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
115
|
+
// Target requirements for multi-surface rendering
|
|
116
|
+
presentationsTargets: [
|
|
117
|
+
{
|
|
118
|
+
key: 'agent-console.dashboard',
|
|
119
|
+
version: '1.0.0',
|
|
120
|
+
targets: ['react', 'markdown'],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
key: 'agent-console.agent.viewList',
|
|
124
|
+
version: '1.0.0',
|
|
125
|
+
targets: ['react', 'markdown', 'application/json'],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
key: 'agent-console.run.list',
|
|
129
|
+
version: '1.0.0',
|
|
130
|
+
targets: ['react', 'markdown', 'application/json'],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
key: 'agent-console.tool.list',
|
|
134
|
+
version: '1.0.0',
|
|
135
|
+
targets: ['react', 'markdown', 'application/json'],
|
|
136
|
+
},
|
|
137
|
+
],
|
|
137
138
|
|
|
138
|
-
|
|
139
|
-
capabilities: {
|
|
140
|
-
requires: [
|
|
141
|
-
{ key: 'identity', version: '1.0.0' },
|
|
142
|
-
{ key: 'audit-trail', version: '1.0.0' },
|
|
143
|
-
{ key: 'jobs', version: '1.0.0' },
|
|
144
|
-
],
|
|
145
|
-
provides: [{ key: 'agent', version: '1.0.0' }],
|
|
146
|
-
},
|
|
139
|
+
visualizations: AgentVisualizationRefs,
|
|
147
140
|
|
|
148
|
-
|
|
141
|
+
// Capability requirements
|
|
142
|
+
capabilities: {
|
|
143
|
+
requires: [
|
|
144
|
+
{ key: 'identity', version: '1.0.0' },
|
|
145
|
+
{ key: 'audit-trail', version: '1.0.0' },
|
|
146
|
+
{ key: 'jobs', version: '1.0.0' },
|
|
147
|
+
],
|
|
148
|
+
provides: [{ key: 'agent', version: '1.0.0' }],
|
|
149
|
+
},
|
|
149
150
|
|
|
150
|
-
|
|
151
|
+
telemetry: [{ key: 'agent-console.telemetry', version: '1.0.0' }],
|
|
151
152
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
jobs: [{ key: 'agent-console.job.run-execution', version: '1.0.0' }],
|
|
154
|
+
|
|
155
|
+
docs: [
|
|
156
|
+
'docs.examples.agent-console.goal',
|
|
157
|
+
'docs.examples.agent-console.usage',
|
|
158
|
+
'docs.examples.agent-console.reference',
|
|
159
|
+
'docs.examples.agent-console.constraints',
|
|
160
|
+
],
|
|
158
161
|
});
|
|
@@ -2,15 +2,15 @@ import type { DocBlock } from '@contractspec/lib.contracts-spec/docs';
|
|
|
2
2
|
import { registerDocBlocks } from '@contractspec/lib.contracts-spec/docs';
|
|
3
3
|
|
|
4
4
|
const agentConsoleDocBlocks: DocBlock[] = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
{
|
|
6
|
+
id: 'docs.examples.agent-console.goal',
|
|
7
|
+
title: 'Agent Console — Goal',
|
|
8
|
+
summary: 'AI agent ops console: tools, agents, runs, logs, and metrics.',
|
|
9
|
+
kind: 'goal',
|
|
10
|
+
visibility: 'public',
|
|
11
|
+
route: '/docs/examples/agent-console/goal',
|
|
12
|
+
tags: ['ai', 'agents', 'goal'],
|
|
13
|
+
body: `## Why it matters
|
|
14
14
|
- Provides a regenerable agent operations surface with tool registry and run history.
|
|
15
15
|
- Prevents drift between tool schemas, agent configs, and execution logs.
|
|
16
16
|
|
|
@@ -21,39 +21,41 @@ const agentConsoleDocBlocks: DocBlock[] = [
|
|
|
21
21
|
## Success criteria
|
|
22
22
|
- Tool/agent/run specs regenerate UI/API/events cleanly.
|
|
23
23
|
- Logs/metrics stay aligned and PII is scoped.`,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
1)
|
|
35
|
-
2)
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'docs.examples.agent-console.usage',
|
|
27
|
+
title: 'Agent Console — Usage',
|
|
28
|
+
summary: 'How to operate, extend, and regenerate the agent console safely.',
|
|
29
|
+
kind: 'usage',
|
|
30
|
+
visibility: 'public',
|
|
31
|
+
route: '/docs/examples/agent-console/usage',
|
|
32
|
+
tags: ['ai', 'agents', 'usage'],
|
|
33
|
+
body: `## Canonical walkthrough
|
|
34
|
+
1) Open the default sandbox route at \`/sandbox\` or \`/sandbox?template=agent-console\`.
|
|
35
|
+
2) Inspect seeded agents, tools, runs, and metrics from the deterministic demo runtime.
|
|
36
|
+
3) Create an agent, activate it, execute a run, and confirm the metrics update.
|
|
37
|
+
4) Generate or inspect the replay proof at \`packages/examples/agent-console/proofs/agent-console-meetup.replay.json\`.
|
|
36
38
|
|
|
37
39
|
## Extend & regenerate
|
|
38
|
-
1) Adjust tool schemas (inputs/outputs), agent configs, run metrics in spec.
|
|
40
|
+
1) Adjust tool schemas (inputs/outputs), agent configs, and run metrics in spec.
|
|
39
41
|
2) Regenerate to sync UI/API/events/logs; mark PII paths for run payloads.
|
|
40
|
-
3)
|
|
42
|
+
3) Keep the demo runtime deterministic unless you are explicitly validating live providers.
|
|
41
43
|
|
|
42
44
|
## Guardrails
|
|
43
45
|
- Emit events for run lifecycle; store logs with redaction where needed.
|
|
44
46
|
- Enforce tool input validation; avoid unsafe arbitrary code exec in handlers.
|
|
45
|
-
- Keep tenant/user scoping explicit for ops data.`,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
- Keep tenant/user scoping explicit for ops data and keep meetup demos offline-safe by default.`,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: 'docs.examples.agent-console.reference',
|
|
51
|
+
title: 'Agent Console — Reference',
|
|
52
|
+
summary:
|
|
53
|
+
'Entities, contracts, events, and presentations for the agent console.',
|
|
54
|
+
kind: 'reference',
|
|
55
|
+
visibility: 'public',
|
|
56
|
+
route: '/docs/examples/agent-console',
|
|
57
|
+
tags: ['ai', 'agents', 'reference'],
|
|
58
|
+
body: `## Entities
|
|
57
59
|
- Tool, Agent, AgentTool, Run, RunStep, RunLog, RunMetric.
|
|
58
60
|
|
|
59
61
|
## Contracts
|
|
@@ -63,22 +65,23 @@ const agentConsoleDocBlocks: DocBlock[] = [
|
|
|
63
65
|
- tool.created, agent.created, run.started/completed/failed, tool.invoked.
|
|
64
66
|
|
|
65
67
|
## Presentations
|
|
66
|
-
- Tool registry, agent list/detail, run list/detail, metrics dashboards.
|
|
68
|
+
- Tool registry, agent list/detail, run list/detail, metrics dashboards, and a server-mode shared table for run history.
|
|
67
69
|
|
|
68
70
|
## Notes
|
|
69
71
|
- Keep tool schemas explicit; enforce validation in spec.
|
|
70
|
-
- Use
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
- Use the seeded demo runtime for sandbox and markdown walkthroughs.
|
|
73
|
+
- Generate a replay bundle before demos or talks so the walkthrough has proof output ready.`,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'docs.examples.agent-console.constraints',
|
|
77
|
+
title: 'Agent Console — Constraints & Safety',
|
|
78
|
+
summary:
|
|
79
|
+
'Internal guardrails for tool/agent/run safety, PII, and regeneration.',
|
|
80
|
+
kind: 'reference',
|
|
81
|
+
visibility: 'internal',
|
|
82
|
+
route: '/docs/examples/agent-console/constraints',
|
|
83
|
+
tags: ['ai', 'agents', 'constraints', 'internal'],
|
|
84
|
+
body: `## Constraints
|
|
82
85
|
- Tool schemas (inputs/outputs) must be explicit in spec; no arbitrary untyped payloads.
|
|
83
86
|
- Events to emit: tool.created, agent.created, run.started/completed/failed, tool.invoked.
|
|
84
87
|
- Regeneration must not loosen execution policies or logging without explicit spec diff.
|
|
@@ -91,7 +94,7 @@ const agentConsoleDocBlocks: DocBlock[] = [
|
|
|
91
94
|
- Add fixtures for tool schema changes and run lifecycle.
|
|
92
95
|
- Ensure Audit/Notifications remain wired for runs; metrics collection unchanged.
|
|
93
96
|
- Use Feature Flags to gate risky tools; default safe/off.`,
|
|
94
|
-
|
|
97
|
+
},
|
|
95
98
|
];
|
|
96
99
|
|
|
97
100
|
registerDocBlocks(agentConsoleDocBlocks);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { describe, expect, test } from 'bun:test';
|
|
2
|
+
import { AgentConsoleFeature } from './agent.feature';
|
|
3
|
+
import example from './example';
|
|
4
|
+
import {
|
|
5
|
+
AGENT_CONSOLE_MEETUP_PROOF_SCENARIO,
|
|
6
|
+
AgentConsoleMeetupProofSuite,
|
|
7
|
+
} from './proof';
|
|
8
|
+
import {
|
|
9
|
+
AGENT_CONSOLE_DEMO_ORGANIZATION_ID,
|
|
10
|
+
AGENT_CONSOLE_DEMO_PROJECT_ID,
|
|
11
|
+
createAgentConsoleDemoHandlers,
|
|
12
|
+
} from './shared';
|
|
13
|
+
|
|
14
|
+
describe('@contractspec/example.agent-console', () => {
|
|
15
|
+
test('publishes meetup-ready example metadata', () => {
|
|
16
|
+
expect(example.meta.key).toBe('agent-console');
|
|
17
|
+
expect(example.entrypoints.packageName).toBe(
|
|
18
|
+
'@contractspec/example.agent-console'
|
|
19
|
+
);
|
|
20
|
+
expect(example.surfaces.templates).toBe(true);
|
|
21
|
+
expect(example.surfaces.sandbox?.enabled).toBe(true);
|
|
22
|
+
expect(AgentConsoleFeature.meta.key).toBe(example.meta.key);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('exports the canonical harness scenario and suite', () => {
|
|
26
|
+
expect(AGENT_CONSOLE_MEETUP_PROOF_SCENARIO.meta.key).toBe(
|
|
27
|
+
'agent-console.meetup.proof'
|
|
28
|
+
);
|
|
29
|
+
expect(AgentConsoleMeetupProofSuite.scenarios).toEqual([
|
|
30
|
+
{
|
|
31
|
+
scenario: {
|
|
32
|
+
key: AGENT_CONSOLE_MEETUP_PROOF_SCENARIO.meta.key,
|
|
33
|
+
version: AGENT_CONSOLE_MEETUP_PROOF_SCENARIO.meta.version,
|
|
34
|
+
},
|
|
35
|
+
required: true,
|
|
36
|
+
weight: 1,
|
|
37
|
+
},
|
|
38
|
+
]);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test('serves the seeded agent-console happy path', async () => {
|
|
42
|
+
const handlers = createAgentConsoleDemoHandlers({
|
|
43
|
+
projectId: AGENT_CONSOLE_DEMO_PROJECT_ID,
|
|
44
|
+
organizationId: AGENT_CONSOLE_DEMO_ORGANIZATION_ID,
|
|
45
|
+
now: (() => {
|
|
46
|
+
let tick = 0;
|
|
47
|
+
const base = Date.parse('2026-03-20T09:00:00.000Z');
|
|
48
|
+
|
|
49
|
+
return () => new Date(base + tick++ * 60_000);
|
|
50
|
+
})(),
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const agents = await handlers.listAgents({
|
|
54
|
+
projectId: AGENT_CONSOLE_DEMO_PROJECT_ID,
|
|
55
|
+
organizationId: AGENT_CONSOLE_DEMO_ORGANIZATION_ID,
|
|
56
|
+
limit: 3,
|
|
57
|
+
});
|
|
58
|
+
expect(agents.total).toBeGreaterThan(0);
|
|
59
|
+
|
|
60
|
+
const activeAgent = agents.items.find((agent) => agent.status === 'ACTIVE');
|
|
61
|
+
expect(activeAgent).toBeDefined();
|
|
62
|
+
|
|
63
|
+
const run = await handlers.executeAgent({
|
|
64
|
+
agentId: activeAgent!.id,
|
|
65
|
+
message: 'Summarize the current autonomous agent status.',
|
|
66
|
+
context: {
|
|
67
|
+
projectId: AGENT_CONSOLE_DEMO_PROJECT_ID,
|
|
68
|
+
organizationId: AGENT_CONSOLE_DEMO_ORGANIZATION_ID,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
expect(run.status).toBe('COMPLETED');
|
|
72
|
+
expect(run.output).toContain(activeAgent!.name);
|
|
73
|
+
expect(run.totalTokens).toBeGreaterThan(0);
|
|
74
|
+
});
|
|
75
|
+
});
|