@contractspec/example.agent-console 3.7.6 → 3.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/.turbo/turbo-build.log +18 -18
  2. package/AGENTS.md +50 -31
  3. package/README.md +69 -77
  4. package/dist/agent/agent.event.js +1 -1
  5. package/dist/agent/agent.operation.js +1 -1
  6. package/dist/agent/index.d.ts +5 -5
  7. package/dist/agent/index.js +1 -1
  8. package/dist/browser/agent/agent.event.js +1 -1
  9. package/dist/browser/agent/agent.operation.js +1 -1
  10. package/dist/browser/agent/index.js +1 -1
  11. package/dist/browser/index.js +2145 -2145
  12. package/dist/browser/presentations/index.js +4 -4
  13. package/dist/browser/run/index.js +536 -536
  14. package/dist/browser/run/run.event.js +2 -2
  15. package/dist/browser/run/run.presentation.js +2 -2
  16. package/dist/browser/tool/index.js +260 -260
  17. package/dist/browser/tool/tool.event.js +1 -1
  18. package/dist/browser/tool/tool.presentation.js +2 -2
  19. package/dist/browser/ui/AgentDashboard.js +956 -956
  20. package/dist/browser/ui/AgentRunList.js +16 -16
  21. package/dist/browser/ui/AgentToolRegistry.js +9 -9
  22. package/dist/browser/ui/hooks/index.js +153 -153
  23. package/dist/browser/ui/hooks/useAgentList.js +1 -1
  24. package/dist/browser/ui/hooks/useAgentMutations.js +1 -1
  25. package/dist/browser/ui/hooks/useRunList.js +1 -1
  26. package/dist/browser/ui/hooks/useToolList.js +1 -1
  27. package/dist/browser/ui/index.js +1222 -1222
  28. package/dist/browser/ui/modals/AgentActionsModal.js +13 -13
  29. package/dist/browser/ui/modals/CreateAgentModal.js +15 -15
  30. package/dist/browser/ui/modals/index.js +297 -297
  31. package/dist/browser/ui/renderers/agent-list.renderer.js +7 -7
  32. package/dist/browser/ui/renderers/index.js +157 -157
  33. package/dist/browser/ui/views/AgentListView.js +7 -7
  34. package/dist/browser/ui/views/RunListView.js +16 -16
  35. package/dist/browser/ui/views/ToolRegistryView.js +9 -9
  36. package/dist/browser/ui/views/index.js +97 -97
  37. package/dist/handlers/index.d.ts +1 -1
  38. package/dist/index.d.ts +4 -4
  39. package/dist/index.js +2145 -2145
  40. package/dist/node/agent/agent.event.js +1 -1
  41. package/dist/node/agent/agent.operation.js +1 -1
  42. package/dist/node/agent/index.js +1 -1
  43. package/dist/node/index.js +2145 -2145
  44. package/dist/node/presentations/index.js +4 -4
  45. package/dist/node/run/index.js +536 -536
  46. package/dist/node/run/run.event.js +2 -2
  47. package/dist/node/run/run.presentation.js +2 -2
  48. package/dist/node/tool/index.js +260 -260
  49. package/dist/node/tool/tool.event.js +1 -1
  50. package/dist/node/tool/tool.presentation.js +2 -2
  51. package/dist/node/ui/AgentDashboard.js +956 -956
  52. package/dist/node/ui/AgentRunList.js +16 -16
  53. package/dist/node/ui/AgentToolRegistry.js +9 -9
  54. package/dist/node/ui/hooks/index.js +153 -153
  55. package/dist/node/ui/hooks/useAgentList.js +1 -1
  56. package/dist/node/ui/hooks/useAgentMutations.js +1 -1
  57. package/dist/node/ui/hooks/useRunList.js +1 -1
  58. package/dist/node/ui/hooks/useToolList.js +1 -1
  59. package/dist/node/ui/index.js +1222 -1222
  60. package/dist/node/ui/modals/AgentActionsModal.js +13 -13
  61. package/dist/node/ui/modals/CreateAgentModal.js +15 -15
  62. package/dist/node/ui/modals/index.js +297 -297
  63. package/dist/node/ui/renderers/agent-list.renderer.js +7 -7
  64. package/dist/node/ui/renderers/index.js +157 -157
  65. package/dist/node/ui/views/AgentListView.js +7 -7
  66. package/dist/node/ui/views/RunListView.js +16 -16
  67. package/dist/node/ui/views/ToolRegistryView.js +9 -9
  68. package/dist/node/ui/views/index.js +97 -97
  69. package/dist/presentations/index.d.ts +3 -5
  70. package/dist/presentations/index.js +4 -4
  71. package/dist/run/index.d.ts +7 -7
  72. package/dist/run/index.js +536 -536
  73. package/dist/run/run.event.js +2 -2
  74. package/dist/run/run.handler.d.ts +3 -0
  75. package/dist/run/run.presentation.js +2 -2
  76. package/dist/shared/index.d.ts +1 -1
  77. package/dist/tool/index.d.ts +7 -7
  78. package/dist/tool/index.js +260 -260
  79. package/dist/tool/tool.event.js +1 -1
  80. package/dist/tool/tool.handler.d.ts +1 -1
  81. package/dist/tool/tool.presentation.js +2 -2
  82. package/dist/ui/AgentDashboard.js +956 -956
  83. package/dist/ui/AgentRunList.js +16 -16
  84. package/dist/ui/AgentToolRegistry.js +9 -9
  85. package/dist/ui/hooks/index.d.ts +4 -4
  86. package/dist/ui/hooks/index.js +153 -153
  87. package/dist/ui/hooks/useAgentList.d.ts +5 -0
  88. package/dist/ui/hooks/useAgentList.js +1 -1
  89. package/dist/ui/hooks/useAgentMutations.d.ts +9 -2
  90. package/dist/ui/hooks/useAgentMutations.js +1 -1
  91. package/dist/ui/hooks/useRunList.d.ts +5 -0
  92. package/dist/ui/hooks/useRunList.js +1 -1
  93. package/dist/ui/hooks/useToolList.d.ts +5 -0
  94. package/dist/ui/hooks/useToolList.js +1 -1
  95. package/dist/ui/index.d.ts +3 -3
  96. package/dist/ui/index.js +1222 -1222
  97. package/dist/ui/modals/AgentActionsModal.js +13 -13
  98. package/dist/ui/modals/CreateAgentModal.js +15 -15
  99. package/dist/ui/modals/index.d.ts +1 -1
  100. package/dist/ui/modals/index.js +297 -297
  101. package/dist/ui/renderers/agent-list.markdown.d.ts +5 -0
  102. package/dist/ui/renderers/agent-list.renderer.js +7 -7
  103. package/dist/ui/renderers/dashboard.markdown.d.ts +5 -0
  104. package/dist/ui/renderers/index.d.ts +2 -2
  105. package/dist/ui/renderers/index.js +157 -157
  106. package/dist/ui/renderers/run-list.markdown.d.ts +5 -0
  107. package/dist/ui/renderers/tool-registry.markdown.d.ts +5 -0
  108. package/dist/ui/views/AgentListView.js +7 -7
  109. package/dist/ui/views/RunListView.js +16 -16
  110. package/dist/ui/views/ToolRegistryView.js +9 -9
  111. package/dist/ui/views/index.js +97 -97
  112. package/package.json +6 -6
  113. package/src/agent/agent.entity.ts +111 -111
  114. package/src/agent/agent.enum.ts +12 -12
  115. package/src/agent/agent.event.ts +91 -91
  116. package/src/agent/agent.handler.ts +123 -123
  117. package/src/agent/agent.operation.ts +400 -400
  118. package/src/agent/agent.presentation.ts +62 -62
  119. package/src/agent/agent.schema.ts +175 -175
  120. package/src/agent/agent.test-spec.ts +48 -48
  121. package/src/agent/index.ts +46 -51
  122. package/src/agent.capability.ts +11 -11
  123. package/src/agent.feature.ts +131 -131
  124. package/src/docs/agent-console.docblock.ts +42 -42
  125. package/src/example.ts +35 -35
  126. package/src/handlers/agent.handlers.ts +522 -521
  127. package/src/handlers/index.ts +12 -12
  128. package/src/index.ts +8 -9
  129. package/src/presentations/index.ts +11 -13
  130. package/src/run/index.ts +49 -54
  131. package/src/run/run.entity.ts +137 -137
  132. package/src/run/run.enum.ts +18 -18
  133. package/src/run/run.event.ts +174 -174
  134. package/src/run/run.handler.ts +92 -91
  135. package/src/run/run.operation.ts +474 -474
  136. package/src/run/run.presentation.ts +42 -42
  137. package/src/run/run.schema.ts +126 -126
  138. package/src/run/run.test-spec.ts +48 -48
  139. package/src/seeders/index.ts +21 -21
  140. package/src/shared/index.ts +1 -1
  141. package/src/shared/mock-agents.ts +76 -76
  142. package/src/shared/mock-runs.ts +102 -102
  143. package/src/shared/mock-tools.ts +140 -140
  144. package/src/shared/overlay-types.ts +23 -23
  145. package/src/tool/index.ts +39 -44
  146. package/src/tool/tool.entity.ts +73 -73
  147. package/src/tool/tool.enum.ts +13 -13
  148. package/src/tool/tool.event.ts +80 -80
  149. package/src/tool/tool.handler.ts +102 -102
  150. package/src/tool/tool.operation.ts +328 -328
  151. package/src/tool/tool.presentation.ts +43 -43
  152. package/src/tool/tool.schema.ts +106 -106
  153. package/src/tool/tool.test-spec.ts +48 -48
  154. package/src/ui/AgentDashboard.tsx +348 -348
  155. package/src/ui/hooks/index.ts +7 -7
  156. package/src/ui/hooks/useAgentList.ts +57 -56
  157. package/src/ui/hooks/useAgentMutations.ts +160 -159
  158. package/src/ui/hooks/useRunList.ts +58 -57
  159. package/src/ui/hooks/useToolList.ts +102 -101
  160. package/src/ui/index.ts +6 -9
  161. package/src/ui/modals/AgentActionsModal.tsx +262 -262
  162. package/src/ui/modals/CreateAgentModal.tsx +232 -232
  163. package/src/ui/modals/index.ts +1 -1
  164. package/src/ui/overlays/demo-overlays.ts +52 -52
  165. package/src/ui/renderers/agent-list.markdown.ts +61 -60
  166. package/src/ui/renderers/agent-list.renderer.tsx +14 -14
  167. package/src/ui/renderers/dashboard.markdown.ts +140 -139
  168. package/src/ui/renderers/index.ts +3 -4
  169. package/src/ui/renderers/run-list.markdown.ts +48 -47
  170. package/src/ui/renderers/tool-registry.markdown.ts +66 -65
  171. package/src/ui/views/AgentListView.tsx +90 -90
  172. package/src/ui/views/RunListView.tsx +141 -141
  173. package/src/ui/views/ToolRegistryView.tsx +113 -113
  174. package/tsconfig.json +7 -8
  175. package/tsdown.config.js +7 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
- definePresentation,
3
- StabilityEnum,
2
+ definePresentation,
3
+ StabilityEnum,
4
4
  } from '@contractspec/lib.contracts-spec';
5
5
  import { AgentSummaryModel } from './agent.schema';
6
6
 
@@ -8,76 +8,76 @@ import { AgentSummaryModel } from './agent.schema';
8
8
  * Presentation for displaying a list of AI agents.
9
9
  */
10
10
  export const AgentListPresentation = definePresentation({
11
- meta: {
12
- key: 'agent-console.agent.viewList',
13
- version: '1.0.0',
14
- title: 'Agent List',
15
- description:
16
- 'List view of AI agents with status, model provider, and version info',
17
- goal: 'Provide an overview of all agents in an organization.',
18
- context: 'Main landing page for agent management.',
19
- domain: 'agent-console',
20
- owners: ['@agent-console-team'],
21
- tags: ['agent', 'list', 'dashboard'],
22
- stability: StabilityEnum.Experimental,
23
- },
24
- source: {
25
- type: 'component',
26
- framework: 'react',
27
- componentKey: 'AgentListView',
28
- props: AgentSummaryModel,
29
- },
30
- targets: ['react', 'markdown', 'application/json'],
31
- policy: { flags: ['agent-console.enabled'] },
11
+ meta: {
12
+ key: 'agent-console.agent.viewList',
13
+ version: '1.0.0',
14
+ title: 'Agent List',
15
+ description:
16
+ 'List view of AI agents with status, model provider, and version info',
17
+ goal: 'Provide an overview of all agents in an organization.',
18
+ context: 'Main landing page for agent management.',
19
+ domain: 'agent-console',
20
+ owners: ['@agent-console-team'],
21
+ tags: ['agent', 'list', 'dashboard'],
22
+ stability: StabilityEnum.Experimental,
23
+ },
24
+ source: {
25
+ type: 'component',
26
+ framework: 'react',
27
+ componentKey: 'AgentListView',
28
+ props: AgentSummaryModel,
29
+ },
30
+ targets: ['react', 'markdown', 'application/json'],
31
+ policy: { flags: ['agent-console.enabled'] },
32
32
  });
33
33
 
34
34
  /**
35
35
  * Presentation for agent detail view.
36
36
  */
37
37
  export const AgentDetailPresentation = definePresentation({
38
- meta: {
39
- key: 'agent-console.agent.detail',
40
- version: '1.0.0',
41
- title: 'Agent Details',
42
- description:
43
- 'Detailed view of an AI agent with configuration, tools, and recent runs',
44
- goal: 'Allow users to inspect and configure a specific agent.',
45
- context: 'Detailed view of an agent.',
46
- domain: 'agent-console',
47
- owners: ['@agent-console-team'],
48
- tags: ['agent', 'detail'],
49
- stability: StabilityEnum.Experimental,
50
- },
51
- source: {
52
- type: 'component',
53
- framework: 'react',
54
- componentKey: 'AgentDetailView',
55
- },
56
- targets: ['react', 'markdown'],
57
- policy: { flags: ['agent-console.enabled'] },
38
+ meta: {
39
+ key: 'agent-console.agent.detail',
40
+ version: '1.0.0',
41
+ title: 'Agent Details',
42
+ description:
43
+ 'Detailed view of an AI agent with configuration, tools, and recent runs',
44
+ goal: 'Allow users to inspect and configure a specific agent.',
45
+ context: 'Detailed view of an agent.',
46
+ domain: 'agent-console',
47
+ owners: ['@agent-console-team'],
48
+ tags: ['agent', 'detail'],
49
+ stability: StabilityEnum.Experimental,
50
+ },
51
+ source: {
52
+ type: 'component',
53
+ framework: 'react',
54
+ componentKey: 'AgentDetailView',
55
+ },
56
+ targets: ['react', 'markdown'],
57
+ policy: { flags: ['agent-console.enabled'] },
58
58
  });
59
59
 
60
60
  /**
61
61
  * Dashboard presentation for Agent Console - overview of agents, runs, and tools.
62
62
  */
63
63
  export const AgentConsoleDashboardPresentation = definePresentation({
64
- meta: {
65
- key: 'agent-console.dashboard',
66
- version: '1.0.0',
67
- title: 'Agent Console Dashboard',
68
- description: 'Dashboard overview of AI agents, runs, and tools',
69
- goal: 'Provide a high-level overview of the AI platform health and usage.',
70
- context: 'Root dashboard of the Agent Console.',
71
- domain: 'agent-console',
72
- owners: ['@agent-console-team'],
73
- tags: ['dashboard', 'overview'],
74
- stability: StabilityEnum.Experimental,
75
- },
76
- source: {
77
- type: 'component',
78
- framework: 'react',
79
- componentKey: 'AgentConsoleDashboard',
80
- },
81
- targets: ['react', 'markdown'],
82
- policy: { flags: ['agent-console.enabled'] },
64
+ meta: {
65
+ key: 'agent-console.dashboard',
66
+ version: '1.0.0',
67
+ title: 'Agent Console Dashboard',
68
+ description: 'Dashboard overview of AI agents, runs, and tools',
69
+ goal: 'Provide a high-level overview of the AI platform health and usage.',
70
+ context: 'Root dashboard of the Agent Console.',
71
+ domain: 'agent-console',
72
+ owners: ['@agent-console-team'],
73
+ tags: ['dashboard', 'overview'],
74
+ stability: StabilityEnum.Experimental,
75
+ },
76
+ source: {
77
+ type: 'component',
78
+ framework: 'react',
79
+ componentKey: 'AgentConsoleDashboard',
80
+ },
81
+ targets: ['react', 'markdown'],
82
+ policy: { flags: ['agent-console.enabled'] },
83
83
  });
@@ -1,214 +1,214 @@
1
1
  import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
2
2
  import {
3
- AgentStatusEnum,
4
- ModelProviderEnum,
5
- ToolChoiceEnum,
3
+ AgentStatusEnum,
4
+ ModelProviderEnum,
5
+ ToolChoiceEnum,
6
6
  } from './agent.enum';
7
7
 
8
8
  /**
9
9
  * AI agent configuration schema.
10
10
  */
11
11
  export const AgentModel = defineSchemaModel({
12
- name: 'Agent',
13
- description: 'AI agent configuration',
14
- fields: {
15
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
16
- organizationId: {
17
- type: ScalarTypeEnum.String_unsecure(),
18
- isOptional: false,
19
- },
20
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
21
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
22
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
23
- status: { type: AgentStatusEnum, isOptional: false },
24
- modelProvider: { type: ModelProviderEnum, isOptional: false },
25
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
26
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
28
- userPromptTemplate: {
29
- type: ScalarTypeEnum.String_unsecure(),
30
- isOptional: true,
31
- },
32
- toolIds: {
33
- type: ScalarTypeEnum.String_unsecure(),
34
- isArray: true,
35
- isOptional: true,
36
- },
37
- toolChoice: {
38
- type: ToolChoiceEnum,
39
- isOptional: false,
40
- defaultValue: 'auto',
41
- },
42
- maxIterations: {
43
- type: ScalarTypeEnum.Int_unsecure(),
44
- isOptional: false,
45
- defaultValue: 10,
46
- },
47
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
48
- timeoutMs: {
49
- type: ScalarTypeEnum.Int_unsecure(),
50
- isOptional: false,
51
- defaultValue: 120000,
52
- },
53
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
54
- tags: {
55
- type: ScalarTypeEnum.String_unsecure(),
56
- isArray: true,
57
- isOptional: true,
58
- },
59
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
60
- updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
61
- },
12
+ name: 'Agent',
13
+ description: 'AI agent configuration',
14
+ fields: {
15
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
16
+ organizationId: {
17
+ type: ScalarTypeEnum.String_unsecure(),
18
+ isOptional: false,
19
+ },
20
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
21
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
22
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
23
+ status: { type: AgentStatusEnum, isOptional: false },
24
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
25
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
26
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
28
+ userPromptTemplate: {
29
+ type: ScalarTypeEnum.String_unsecure(),
30
+ isOptional: true,
31
+ },
32
+ toolIds: {
33
+ type: ScalarTypeEnum.String_unsecure(),
34
+ isArray: true,
35
+ isOptional: true,
36
+ },
37
+ toolChoice: {
38
+ type: ToolChoiceEnum,
39
+ isOptional: false,
40
+ defaultValue: 'auto',
41
+ },
42
+ maxIterations: {
43
+ type: ScalarTypeEnum.Int_unsecure(),
44
+ isOptional: false,
45
+ defaultValue: 10,
46
+ },
47
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
48
+ timeoutMs: {
49
+ type: ScalarTypeEnum.Int_unsecure(),
50
+ isOptional: false,
51
+ defaultValue: 120000,
52
+ },
53
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
54
+ tags: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isArray: true,
57
+ isOptional: true,
58
+ },
59
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
60
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
61
+ },
62
62
  });
63
63
 
64
64
  /**
65
65
  * Summary of an agent for list views.
66
66
  */
67
67
  export const AgentSummaryModel = defineSchemaModel({
68
- name: 'AgentSummary',
69
- description: 'Summary of an agent for list views',
70
- fields: {
71
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
73
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
74
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
75
- status: { type: AgentStatusEnum, isOptional: false },
76
- modelProvider: { type: ModelProviderEnum, isOptional: false },
77
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
78
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
79
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
80
- },
68
+ name: 'AgentSummary',
69
+ description: 'Summary of an agent for list views',
70
+ fields: {
71
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
73
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
74
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
75
+ status: { type: AgentStatusEnum, isOptional: false },
76
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
77
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
78
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
79
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
80
+ },
81
81
  });
82
82
 
83
83
  /**
84
84
  * Tool reference in agent context.
85
85
  */
86
86
  export const AgentToolRefModel = defineSchemaModel({
87
- name: 'AgentToolRef',
88
- description: 'Tool reference in agent context',
89
- fields: {
90
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
91
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
92
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
93
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
94
- category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
95
- },
87
+ name: 'AgentToolRef',
88
+ description: 'Tool reference in agent context',
89
+ fields: {
90
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
91
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
92
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
93
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
94
+ category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
95
+ },
96
96
  });
97
97
 
98
98
  /**
99
99
  * Agent with associated tools.
100
100
  */
101
101
  export const AgentWithToolsModel = defineSchemaModel({
102
- name: 'AgentWithTools',
103
- description: 'Agent with associated tools',
104
- fields: {
105
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
106
- organizationId: {
107
- type: ScalarTypeEnum.String_unsecure(),
108
- isOptional: false,
109
- },
110
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
111
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
112
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
113
- status: { type: AgentStatusEnum, isOptional: false },
114
- modelProvider: { type: ModelProviderEnum, isOptional: false },
115
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
116
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
118
- userPromptTemplate: {
119
- type: ScalarTypeEnum.String_unsecure(),
120
- isOptional: true,
121
- },
122
- toolIds: {
123
- type: ScalarTypeEnum.String_unsecure(),
124
- isArray: true,
125
- isOptional: true,
126
- },
127
- toolChoice: { type: ToolChoiceEnum, isOptional: false },
128
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
129
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
130
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
131
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
132
- tags: {
133
- type: ScalarTypeEnum.String_unsecure(),
134
- isArray: true,
135
- isOptional: true,
136
- },
137
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
138
- updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
139
- tools: { type: AgentToolRefModel, isArray: true, isOptional: true },
140
- },
102
+ name: 'AgentWithTools',
103
+ description: 'Agent with associated tools',
104
+ fields: {
105
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
106
+ organizationId: {
107
+ type: ScalarTypeEnum.String_unsecure(),
108
+ isOptional: false,
109
+ },
110
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
111
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
112
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
113
+ status: { type: AgentStatusEnum, isOptional: false },
114
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
115
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
116
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
118
+ userPromptTemplate: {
119
+ type: ScalarTypeEnum.String_unsecure(),
120
+ isOptional: true,
121
+ },
122
+ toolIds: {
123
+ type: ScalarTypeEnum.String_unsecure(),
124
+ isArray: true,
125
+ isOptional: true,
126
+ },
127
+ toolChoice: { type: ToolChoiceEnum, isOptional: false },
128
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
129
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
130
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
131
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
132
+ tags: {
133
+ type: ScalarTypeEnum.String_unsecure(),
134
+ isArray: true,
135
+ isOptional: true,
136
+ },
137
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
138
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
139
+ tools: { type: AgentToolRefModel, isArray: true, isOptional: true },
140
+ },
141
141
  });
142
142
 
143
143
  /**
144
144
  * Input for creating an agent.
145
145
  */
146
146
  export const CreateAgentInputModel = defineSchemaModel({
147
- name: 'CreateAgentInput',
148
- description: 'Input for creating an agent',
149
- fields: {
150
- organizationId: {
151
- type: ScalarTypeEnum.String_unsecure(),
152
- isOptional: false,
153
- },
154
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
155
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
156
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
157
- modelProvider: { type: ModelProviderEnum, isOptional: false },
158
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
159
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
160
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
161
- userPromptTemplate: {
162
- type: ScalarTypeEnum.String_unsecure(),
163
- isOptional: true,
164
- },
165
- toolIds: {
166
- type: ScalarTypeEnum.String_unsecure(),
167
- isArray: true,
168
- isOptional: true,
169
- },
170
- toolChoice: { type: ToolChoiceEnum, isOptional: true },
171
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
172
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
173
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
174
- tags: {
175
- type: ScalarTypeEnum.String_unsecure(),
176
- isArray: true,
177
- isOptional: true,
178
- },
179
- },
147
+ name: 'CreateAgentInput',
148
+ description: 'Input for creating an agent',
149
+ fields: {
150
+ organizationId: {
151
+ type: ScalarTypeEnum.String_unsecure(),
152
+ isOptional: false,
153
+ },
154
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
155
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
156
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
157
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
158
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
159
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
160
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
161
+ userPromptTemplate: {
162
+ type: ScalarTypeEnum.String_unsecure(),
163
+ isOptional: true,
164
+ },
165
+ toolIds: {
166
+ type: ScalarTypeEnum.String_unsecure(),
167
+ isArray: true,
168
+ isOptional: true,
169
+ },
170
+ toolChoice: { type: ToolChoiceEnum, isOptional: true },
171
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
172
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
173
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
174
+ tags: {
175
+ type: ScalarTypeEnum.String_unsecure(),
176
+ isArray: true,
177
+ isOptional: true,
178
+ },
179
+ },
180
180
  });
181
181
 
182
182
  /**
183
183
  * Input for updating an agent.
184
184
  */
185
185
  export const UpdateAgentInputModel = defineSchemaModel({
186
- name: 'UpdateAgentInput',
187
- description: 'Input for updating an agent',
188
- fields: {
189
- agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
190
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
191
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
192
- status: { type: AgentStatusEnum, isOptional: true },
193
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
194
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
195
- userPromptTemplate: {
196
- type: ScalarTypeEnum.String_unsecure(),
197
- isOptional: true,
198
- },
199
- toolIds: {
200
- type: ScalarTypeEnum.String_unsecure(),
201
- isArray: true,
202
- isOptional: true,
203
- },
204
- toolChoice: { type: ToolChoiceEnum, isOptional: true },
205
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
206
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
207
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
208
- tags: {
209
- type: ScalarTypeEnum.String_unsecure(),
210
- isArray: true,
211
- isOptional: true,
212
- },
213
- },
186
+ name: 'UpdateAgentInput',
187
+ description: 'Input for updating an agent',
188
+ fields: {
189
+ agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
190
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
191
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
192
+ status: { type: AgentStatusEnum, isOptional: true },
193
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
194
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
195
+ userPromptTemplate: {
196
+ type: ScalarTypeEnum.String_unsecure(),
197
+ isOptional: true,
198
+ },
199
+ toolIds: {
200
+ type: ScalarTypeEnum.String_unsecure(),
201
+ isArray: true,
202
+ isOptional: true,
203
+ },
204
+ toolChoice: { type: ToolChoiceEnum, isOptional: true },
205
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
206
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
207
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
208
+ tags: {
209
+ type: ScalarTypeEnum.String_unsecure(),
210
+ isArray: true,
211
+ isOptional: true,
212
+ },
213
+ },
214
214
  });
@@ -1,55 +1,55 @@
1
1
  import { defineTestSpec } from '@contractspec/lib.contracts-spec/tests';
2
2
 
3
3
  export const agentListTest = defineTestSpec({
4
- meta: {
5
- key: 'test.agent-console.agent.list',
6
- version: '1.0.0',
7
- owners: ['@agent-console-team'],
8
- description: 'Test for listing agents',
9
- stability: 'stable',
10
- tags: ['test'],
11
- },
12
- target: {
13
- type: 'operation',
14
- operation: { key: 'agent-console.agent.list', version: '1.0.0' },
15
- },
16
- scenarios: [
17
- {
18
- key: 'success',
19
- when: { operation: { key: 'agent-console.agent.list' } },
20
- then: [{ type: 'expectOutput', match: {} }],
21
- },
22
- {
23
- key: 'error',
24
- when: { operation: { key: 'agent-console.agent.list' } },
25
- then: [{ type: 'expectError' }],
26
- },
27
- ],
4
+ meta: {
5
+ key: 'test.agent-console.agent.list',
6
+ version: '1.0.0',
7
+ owners: ['@agent-console-team'],
8
+ description: 'Test for listing agents',
9
+ stability: 'stable',
10
+ tags: ['test'],
11
+ },
12
+ target: {
13
+ type: 'operation',
14
+ operation: { key: 'agent-console.agent.list', version: '1.0.0' },
15
+ },
16
+ scenarios: [
17
+ {
18
+ key: 'success',
19
+ when: { operation: { key: 'agent-console.agent.list' } },
20
+ then: [{ type: 'expectOutput', match: {} }],
21
+ },
22
+ {
23
+ key: 'error',
24
+ when: { operation: { key: 'agent-console.agent.list' } },
25
+ then: [{ type: 'expectError' }],
26
+ },
27
+ ],
28
28
  });
29
29
 
30
30
  export const agentGetTest = defineTestSpec({
31
- meta: {
32
- key: 'test.agent-console.agent.get',
33
- version: '1.0.0',
34
- owners: ['@agent-console-team'],
35
- description: 'Test for getting agent',
36
- stability: 'stable',
37
- tags: ['test'],
38
- },
39
- target: {
40
- type: 'operation',
41
- operation: { key: 'agent-console.agent.get', version: '1.0.0' },
42
- },
43
- scenarios: [
44
- {
45
- key: 'success',
46
- when: { operation: { key: 'agent-console.agent.get' } },
47
- then: [{ type: 'expectOutput', match: {} }],
48
- },
49
- {
50
- key: 'error',
51
- when: { operation: { key: 'agent-console.agent.get' } },
52
- then: [{ type: 'expectError' }],
53
- },
54
- ],
31
+ meta: {
32
+ key: 'test.agent-console.agent.get',
33
+ version: '1.0.0',
34
+ owners: ['@agent-console-team'],
35
+ description: 'Test for getting agent',
36
+ stability: 'stable',
37
+ tags: ['test'],
38
+ },
39
+ target: {
40
+ type: 'operation',
41
+ operation: { key: 'agent-console.agent.get', version: '1.0.0' },
42
+ },
43
+ scenarios: [
44
+ {
45
+ key: 'success',
46
+ when: { operation: { key: 'agent-console.agent.get' } },
47
+ then: [{ type: 'expectOutput', match: {} }],
48
+ },
49
+ {
50
+ key: 'error',
51
+ when: { operation: { key: 'agent-console.agent.get' } },
52
+ then: [{ type: 'expectError' }],
53
+ },
54
+ ],
55
55
  });