@contractspec/example.agent-console 3.7.5 → 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 (176) hide show
  1. package/.turbo/turbo-build.log +18 -18
  2. package/AGENTS.md +50 -31
  3. package/CHANGELOG.md +12 -0
  4. package/README.md +69 -77
  5. package/dist/agent/agent.event.js +1 -1
  6. package/dist/agent/agent.operation.js +1 -1
  7. package/dist/agent/index.d.ts +5 -5
  8. package/dist/agent/index.js +1 -1
  9. package/dist/browser/agent/agent.event.js +1 -1
  10. package/dist/browser/agent/agent.operation.js +1 -1
  11. package/dist/browser/agent/index.js +1 -1
  12. package/dist/browser/index.js +2145 -2145
  13. package/dist/browser/presentations/index.js +4 -4
  14. package/dist/browser/run/index.js +536 -536
  15. package/dist/browser/run/run.event.js +2 -2
  16. package/dist/browser/run/run.presentation.js +2 -2
  17. package/dist/browser/tool/index.js +260 -260
  18. package/dist/browser/tool/tool.event.js +1 -1
  19. package/dist/browser/tool/tool.presentation.js +2 -2
  20. package/dist/browser/ui/AgentDashboard.js +956 -956
  21. package/dist/browser/ui/AgentRunList.js +16 -16
  22. package/dist/browser/ui/AgentToolRegistry.js +9 -9
  23. package/dist/browser/ui/hooks/index.js +153 -153
  24. package/dist/browser/ui/hooks/useAgentList.js +1 -1
  25. package/dist/browser/ui/hooks/useAgentMutations.js +1 -1
  26. package/dist/browser/ui/hooks/useRunList.js +1 -1
  27. package/dist/browser/ui/hooks/useToolList.js +1 -1
  28. package/dist/browser/ui/index.js +1222 -1222
  29. package/dist/browser/ui/modals/AgentActionsModal.js +13 -13
  30. package/dist/browser/ui/modals/CreateAgentModal.js +15 -15
  31. package/dist/browser/ui/modals/index.js +297 -297
  32. package/dist/browser/ui/renderers/agent-list.renderer.js +7 -7
  33. package/dist/browser/ui/renderers/index.js +157 -157
  34. package/dist/browser/ui/views/AgentListView.js +7 -7
  35. package/dist/browser/ui/views/RunListView.js +16 -16
  36. package/dist/browser/ui/views/ToolRegistryView.js +9 -9
  37. package/dist/browser/ui/views/index.js +97 -97
  38. package/dist/handlers/index.d.ts +1 -1
  39. package/dist/index.d.ts +4 -4
  40. package/dist/index.js +2145 -2145
  41. package/dist/node/agent/agent.event.js +1 -1
  42. package/dist/node/agent/agent.operation.js +1 -1
  43. package/dist/node/agent/index.js +1 -1
  44. package/dist/node/index.js +2145 -2145
  45. package/dist/node/presentations/index.js +4 -4
  46. package/dist/node/run/index.js +536 -536
  47. package/dist/node/run/run.event.js +2 -2
  48. package/dist/node/run/run.presentation.js +2 -2
  49. package/dist/node/tool/index.js +260 -260
  50. package/dist/node/tool/tool.event.js +1 -1
  51. package/dist/node/tool/tool.presentation.js +2 -2
  52. package/dist/node/ui/AgentDashboard.js +956 -956
  53. package/dist/node/ui/AgentRunList.js +16 -16
  54. package/dist/node/ui/AgentToolRegistry.js +9 -9
  55. package/dist/node/ui/hooks/index.js +153 -153
  56. package/dist/node/ui/hooks/useAgentList.js +1 -1
  57. package/dist/node/ui/hooks/useAgentMutations.js +1 -1
  58. package/dist/node/ui/hooks/useRunList.js +1 -1
  59. package/dist/node/ui/hooks/useToolList.js +1 -1
  60. package/dist/node/ui/index.js +1222 -1222
  61. package/dist/node/ui/modals/AgentActionsModal.js +13 -13
  62. package/dist/node/ui/modals/CreateAgentModal.js +15 -15
  63. package/dist/node/ui/modals/index.js +297 -297
  64. package/dist/node/ui/renderers/agent-list.renderer.js +7 -7
  65. package/dist/node/ui/renderers/index.js +157 -157
  66. package/dist/node/ui/views/AgentListView.js +7 -7
  67. package/dist/node/ui/views/RunListView.js +16 -16
  68. package/dist/node/ui/views/ToolRegistryView.js +9 -9
  69. package/dist/node/ui/views/index.js +97 -97
  70. package/dist/presentations/index.d.ts +3 -5
  71. package/dist/presentations/index.js +4 -4
  72. package/dist/run/index.d.ts +7 -7
  73. package/dist/run/index.js +536 -536
  74. package/dist/run/run.event.js +2 -2
  75. package/dist/run/run.handler.d.ts +3 -0
  76. package/dist/run/run.presentation.js +2 -2
  77. package/dist/shared/index.d.ts +1 -1
  78. package/dist/tool/index.d.ts +7 -7
  79. package/dist/tool/index.js +260 -260
  80. package/dist/tool/tool.event.js +1 -1
  81. package/dist/tool/tool.handler.d.ts +1 -1
  82. package/dist/tool/tool.presentation.js +2 -2
  83. package/dist/ui/AgentDashboard.js +956 -956
  84. package/dist/ui/AgentRunList.js +16 -16
  85. package/dist/ui/AgentToolRegistry.js +9 -9
  86. package/dist/ui/hooks/index.d.ts +4 -4
  87. package/dist/ui/hooks/index.js +153 -153
  88. package/dist/ui/hooks/useAgentList.d.ts +5 -0
  89. package/dist/ui/hooks/useAgentList.js +1 -1
  90. package/dist/ui/hooks/useAgentMutations.d.ts +9 -2
  91. package/dist/ui/hooks/useAgentMutations.js +1 -1
  92. package/dist/ui/hooks/useRunList.d.ts +5 -0
  93. package/dist/ui/hooks/useRunList.js +1 -1
  94. package/dist/ui/hooks/useToolList.d.ts +5 -0
  95. package/dist/ui/hooks/useToolList.js +1 -1
  96. package/dist/ui/index.d.ts +3 -3
  97. package/dist/ui/index.js +1222 -1222
  98. package/dist/ui/modals/AgentActionsModal.js +13 -13
  99. package/dist/ui/modals/CreateAgentModal.js +15 -15
  100. package/dist/ui/modals/index.d.ts +1 -1
  101. package/dist/ui/modals/index.js +297 -297
  102. package/dist/ui/renderers/agent-list.markdown.d.ts +5 -0
  103. package/dist/ui/renderers/agent-list.renderer.js +7 -7
  104. package/dist/ui/renderers/dashboard.markdown.d.ts +5 -0
  105. package/dist/ui/renderers/index.d.ts +2 -2
  106. package/dist/ui/renderers/index.js +157 -157
  107. package/dist/ui/renderers/run-list.markdown.d.ts +5 -0
  108. package/dist/ui/renderers/tool-registry.markdown.d.ts +5 -0
  109. package/dist/ui/views/AgentListView.js +7 -7
  110. package/dist/ui/views/RunListView.js +16 -16
  111. package/dist/ui/views/ToolRegistryView.js +9 -9
  112. package/dist/ui/views/index.js +97 -97
  113. package/package.json +10 -10
  114. package/src/agent/agent.entity.ts +111 -111
  115. package/src/agent/agent.enum.ts +12 -12
  116. package/src/agent/agent.event.ts +91 -91
  117. package/src/agent/agent.handler.ts +123 -123
  118. package/src/agent/agent.operation.ts +400 -400
  119. package/src/agent/agent.presentation.ts +62 -62
  120. package/src/agent/agent.schema.ts +175 -175
  121. package/src/agent/agent.test-spec.ts +48 -48
  122. package/src/agent/index.ts +46 -51
  123. package/src/agent.capability.ts +11 -11
  124. package/src/agent.feature.ts +131 -131
  125. package/src/docs/agent-console.docblock.ts +42 -42
  126. package/src/example.ts +35 -35
  127. package/src/handlers/agent.handlers.ts +522 -521
  128. package/src/handlers/index.ts +12 -12
  129. package/src/index.ts +8 -9
  130. package/src/presentations/index.ts +11 -13
  131. package/src/run/index.ts +49 -54
  132. package/src/run/run.entity.ts +137 -137
  133. package/src/run/run.enum.ts +18 -18
  134. package/src/run/run.event.ts +174 -174
  135. package/src/run/run.handler.ts +92 -91
  136. package/src/run/run.operation.ts +474 -474
  137. package/src/run/run.presentation.ts +42 -42
  138. package/src/run/run.schema.ts +126 -126
  139. package/src/run/run.test-spec.ts +48 -48
  140. package/src/seeders/index.ts +21 -21
  141. package/src/shared/index.ts +1 -1
  142. package/src/shared/mock-agents.ts +76 -76
  143. package/src/shared/mock-runs.ts +102 -102
  144. package/src/shared/mock-tools.ts +140 -140
  145. package/src/shared/overlay-types.ts +23 -23
  146. package/src/tool/index.ts +39 -44
  147. package/src/tool/tool.entity.ts +73 -73
  148. package/src/tool/tool.enum.ts +13 -13
  149. package/src/tool/tool.event.ts +80 -80
  150. package/src/tool/tool.handler.ts +102 -102
  151. package/src/tool/tool.operation.ts +328 -328
  152. package/src/tool/tool.presentation.ts +43 -43
  153. package/src/tool/tool.schema.ts +106 -106
  154. package/src/tool/tool.test-spec.ts +48 -48
  155. package/src/ui/AgentDashboard.tsx +348 -348
  156. package/src/ui/hooks/index.ts +7 -7
  157. package/src/ui/hooks/useAgentList.ts +57 -56
  158. package/src/ui/hooks/useAgentMutations.ts +160 -159
  159. package/src/ui/hooks/useRunList.ts +58 -57
  160. package/src/ui/hooks/useToolList.ts +102 -101
  161. package/src/ui/index.ts +6 -9
  162. package/src/ui/modals/AgentActionsModal.tsx +262 -262
  163. package/src/ui/modals/CreateAgentModal.tsx +232 -232
  164. package/src/ui/modals/index.ts +1 -1
  165. package/src/ui/overlays/demo-overlays.ts +52 -52
  166. package/src/ui/renderers/agent-list.markdown.ts +61 -60
  167. package/src/ui/renderers/agent-list.renderer.tsx +14 -14
  168. package/src/ui/renderers/dashboard.markdown.ts +140 -139
  169. package/src/ui/renderers/index.ts +3 -4
  170. package/src/ui/renderers/run-list.markdown.ts +48 -47
  171. package/src/ui/renderers/tool-registry.markdown.ts +66 -65
  172. package/src/ui/views/AgentListView.tsx +90 -90
  173. package/src/ui/views/RunListView.tsx +141 -141
  174. package/src/ui/views/ToolRegistryView.tsx +113 -113
  175. package/tsconfig.json +7 -8
  176. package/tsdown.config.js +7 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
- StabilityEnum,
3
- definePresentation,
2
+ definePresentation,
3
+ StabilityEnum,
4
4
  } from '@contractspec/lib.contracts-spec';
5
5
  import { ToolSummaryModel } from './tool.schema';
6
6
 
@@ -8,51 +8,51 @@ import { ToolSummaryModel } from './tool.schema';
8
8
  * Presentation for displaying a list of tools.
9
9
  */
10
10
  export const ToolListPresentation = definePresentation({
11
- meta: {
12
- key: 'agent-console.tool.list',
13
- version: '1.0.0',
14
- title: 'Tool List',
15
- description:
16
- 'List view of AI tools with category, status, and version info',
17
- goal: 'Provide an overview of all available tools for agents.',
18
- context: 'Tool management dashboard.',
19
- domain: 'agent-console',
20
- owners: ['@agent-console-team'],
21
- tags: ['tool', 'list', 'dashboard'],
22
- stability: StabilityEnum.Experimental,
23
- },
24
- source: {
25
- type: 'component',
26
- framework: 'react',
27
- componentKey: 'ToolListView',
28
- props: ToolSummaryModel,
29
- },
30
- targets: ['react', 'markdown', 'application/json'],
31
- policy: { flags: ['agent-console.enabled'] },
11
+ meta: {
12
+ key: 'agent-console.tool.list',
13
+ version: '1.0.0',
14
+ title: 'Tool List',
15
+ description:
16
+ 'List view of AI tools with category, status, and version info',
17
+ goal: 'Provide an overview of all available tools for agents.',
18
+ context: 'Tool management dashboard.',
19
+ domain: 'agent-console',
20
+ owners: ['@agent-console-team'],
21
+ tags: ['tool', 'list', 'dashboard'],
22
+ stability: StabilityEnum.Experimental,
23
+ },
24
+ source: {
25
+ type: 'component',
26
+ framework: 'react',
27
+ componentKey: 'ToolListView',
28
+ props: ToolSummaryModel,
29
+ },
30
+ targets: ['react', 'markdown', 'application/json'],
31
+ policy: { flags: ['agent-console.enabled'] },
32
32
  });
33
33
 
34
34
  /**
35
35
  * Presentation for tool detail view.
36
36
  */
37
37
  export const ToolDetailPresentation = definePresentation({
38
- meta: {
39
- key: 'agent-console.tool.detail',
40
- version: '1.0.0',
41
- title: 'Tool Details',
42
- description:
43
- 'Detailed view of an AI tool with configuration and test panel',
44
- goal: 'Allow users to inspect and test a specific tool.',
45
- context: 'Detailed view of a tool.',
46
- domain: 'agent-console',
47
- owners: ['@agent-console-team'],
48
- tags: ['tool', 'detail'],
49
- stability: StabilityEnum.Experimental,
50
- },
51
- source: {
52
- type: 'component',
53
- framework: 'react',
54
- componentKey: 'ToolDetailView',
55
- },
56
- targets: ['react', 'markdown'],
57
- policy: { flags: ['agent-console.enabled'] },
38
+ meta: {
39
+ key: 'agent-console.tool.detail',
40
+ version: '1.0.0',
41
+ title: 'Tool Details',
42
+ description:
43
+ 'Detailed view of an AI tool with configuration and test panel',
44
+ goal: 'Allow users to inspect and test a specific tool.',
45
+ context: 'Detailed view of a tool.',
46
+ domain: 'agent-console',
47
+ owners: ['@agent-console-team'],
48
+ tags: ['tool', 'detail'],
49
+ stability: StabilityEnum.Experimental,
50
+ },
51
+ source: {
52
+ type: 'component',
53
+ framework: 'react',
54
+ componentKey: 'ToolDetailView',
55
+ },
56
+ targets: ['react', 'markdown'],
57
+ policy: { flags: ['agent-console.enabled'] },
58
58
  });
@@ -1,133 +1,133 @@
1
1
  import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
2
2
  import {
3
- ToolCategoryEnum,
4
- ToolStatusEnum,
5
- ImplementationTypeEnum,
3
+ ImplementationTypeEnum,
4
+ ToolCategoryEnum,
5
+ ToolStatusEnum,
6
6
  } from './tool.enum';
7
7
 
8
8
  /**
9
9
  * AI tool definition.
10
10
  */
11
11
  export const ToolModel = defineSchemaModel({
12
- name: 'Tool',
13
- description: 'AI tool definition',
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: false },
23
- category: { type: ToolCategoryEnum, isOptional: false },
24
- status: { type: ToolStatusEnum, isOptional: false },
25
- parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
26
- outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
- implementationType: { type: ImplementationTypeEnum, isOptional: false },
28
- implementationConfig: {
29
- type: ScalarTypeEnum.JSONObject(),
30
- isOptional: false,
31
- },
32
- maxInvocationsPerMinute: {
33
- type: ScalarTypeEnum.Int_unsecure(),
34
- isOptional: true,
35
- },
36
- timeoutMs: {
37
- type: ScalarTypeEnum.Int_unsecure(),
38
- isOptional: false,
39
- defaultValue: 30000,
40
- },
41
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
42
- tags: {
43
- type: ScalarTypeEnum.String_unsecure(),
44
- isArray: true,
45
- isOptional: true,
46
- },
47
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
48
- updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
49
- },
12
+ name: 'Tool',
13
+ description: 'AI tool definition',
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: false },
23
+ category: { type: ToolCategoryEnum, isOptional: false },
24
+ status: { type: ToolStatusEnum, isOptional: false },
25
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
26
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
28
+ implementationConfig: {
29
+ type: ScalarTypeEnum.JSONObject(),
30
+ isOptional: false,
31
+ },
32
+ maxInvocationsPerMinute: {
33
+ type: ScalarTypeEnum.Int_unsecure(),
34
+ isOptional: true,
35
+ },
36
+ timeoutMs: {
37
+ type: ScalarTypeEnum.Int_unsecure(),
38
+ isOptional: false,
39
+ defaultValue: 30000,
40
+ },
41
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
42
+ tags: {
43
+ type: ScalarTypeEnum.String_unsecure(),
44
+ isArray: true,
45
+ isOptional: true,
46
+ },
47
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
48
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
49
+ },
50
50
  });
51
51
 
52
52
  /**
53
53
  * Summary of a tool for list views.
54
54
  */
55
55
  export const ToolSummaryModel = defineSchemaModel({
56
- name: 'ToolSummary',
57
- description: 'Summary of a tool for list views',
58
- fields: {
59
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
60
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
61
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
62
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
63
- category: { type: ToolCategoryEnum, isOptional: false },
64
- status: { type: ToolStatusEnum, isOptional: false },
65
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
66
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
67
- },
56
+ name: 'ToolSummary',
57
+ description: 'Summary of a tool for list views',
58
+ fields: {
59
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
60
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
61
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
62
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
63
+ category: { type: ToolCategoryEnum, isOptional: false },
64
+ status: { type: ToolStatusEnum, isOptional: false },
65
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
66
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
67
+ },
68
68
  });
69
69
 
70
70
  /**
71
71
  * Input for creating a tool.
72
72
  */
73
73
  export const CreateToolInputModel = defineSchemaModel({
74
- name: 'CreateToolInput',
75
- description: 'Input for creating a tool',
76
- fields: {
77
- organizationId: {
78
- type: ScalarTypeEnum.String_unsecure(),
79
- isOptional: false,
80
- },
81
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
82
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
83
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
84
- category: { type: ToolCategoryEnum, isOptional: true },
85
- parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
86
- outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
87
- implementationType: { type: ImplementationTypeEnum, isOptional: false },
88
- implementationConfig: {
89
- type: ScalarTypeEnum.JSONObject(),
90
- isOptional: false,
91
- },
92
- maxInvocationsPerMinute: {
93
- type: ScalarTypeEnum.Int_unsecure(),
94
- isOptional: true,
95
- },
96
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
97
- tags: {
98
- type: ScalarTypeEnum.String_unsecure(),
99
- isArray: true,
100
- isOptional: true,
101
- },
102
- },
74
+ name: 'CreateToolInput',
75
+ description: 'Input for creating a tool',
76
+ fields: {
77
+ organizationId: {
78
+ type: ScalarTypeEnum.String_unsecure(),
79
+ isOptional: false,
80
+ },
81
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
82
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
83
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
84
+ category: { type: ToolCategoryEnum, isOptional: true },
85
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
86
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
87
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
88
+ implementationConfig: {
89
+ type: ScalarTypeEnum.JSONObject(),
90
+ isOptional: false,
91
+ },
92
+ maxInvocationsPerMinute: {
93
+ type: ScalarTypeEnum.Int_unsecure(),
94
+ isOptional: true,
95
+ },
96
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
97
+ tags: {
98
+ type: ScalarTypeEnum.String_unsecure(),
99
+ isArray: true,
100
+ isOptional: true,
101
+ },
102
+ },
103
103
  });
104
104
 
105
105
  /**
106
106
  * Input for updating a tool.
107
107
  */
108
108
  export const UpdateToolInputModel = defineSchemaModel({
109
- name: 'UpdateToolInput',
110
- description: 'Input for updating a tool',
111
- fields: {
112
- toolId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
113
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
114
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
115
- status: { type: ToolStatusEnum, isOptional: true },
116
- parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
- outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
118
- implementationConfig: {
119
- type: ScalarTypeEnum.JSONObject(),
120
- isOptional: true,
121
- },
122
- maxInvocationsPerMinute: {
123
- type: ScalarTypeEnum.Int_unsecure(),
124
- isOptional: true,
125
- },
126
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
127
- tags: {
128
- type: ScalarTypeEnum.String_unsecure(),
129
- isArray: true,
130
- isOptional: true,
131
- },
132
- },
109
+ name: 'UpdateToolInput',
110
+ description: 'Input for updating a tool',
111
+ fields: {
112
+ toolId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
113
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
114
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
115
+ status: { type: ToolStatusEnum, isOptional: true },
116
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
118
+ implementationConfig: {
119
+ type: ScalarTypeEnum.JSONObject(),
120
+ isOptional: true,
121
+ },
122
+ maxInvocationsPerMinute: {
123
+ type: ScalarTypeEnum.Int_unsecure(),
124
+ isOptional: true,
125
+ },
126
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
127
+ tags: {
128
+ type: ScalarTypeEnum.String_unsecure(),
129
+ isArray: true,
130
+ isOptional: true,
131
+ },
132
+ },
133
133
  });
@@ -1,55 +1,55 @@
1
1
  import { defineTestSpec } from '@contractspec/lib.contracts-spec/tests';
2
2
 
3
3
  export const toolListTest = defineTestSpec({
4
- meta: {
5
- key: 'test.agent.tool.list',
6
- version: '1.0.0',
7
- owners: ['@agent-console-team'],
8
- description: 'Test for listing tools',
9
- stability: 'stable',
10
- tags: ['test'],
11
- },
12
- target: {
13
- type: 'operation',
14
- operation: { key: 'agent.tool.list', version: '1.0.0' },
15
- },
16
- scenarios: [
17
- {
18
- key: 'success',
19
- when: { operation: { key: 'agent.tool.list' } },
20
- then: [{ type: 'expectOutput', match: {} }],
21
- },
22
- {
23
- key: 'error',
24
- when: { operation: { key: 'agent.tool.list' } },
25
- then: [{ type: 'expectError' }],
26
- },
27
- ],
4
+ meta: {
5
+ key: 'test.agent.tool.list',
6
+ version: '1.0.0',
7
+ owners: ['@agent-console-team'],
8
+ description: 'Test for listing tools',
9
+ stability: 'stable',
10
+ tags: ['test'],
11
+ },
12
+ target: {
13
+ type: 'operation',
14
+ operation: { key: 'agent.tool.list', version: '1.0.0' },
15
+ },
16
+ scenarios: [
17
+ {
18
+ key: 'success',
19
+ when: { operation: { key: 'agent.tool.list' } },
20
+ then: [{ type: 'expectOutput', match: {} }],
21
+ },
22
+ {
23
+ key: 'error',
24
+ when: { operation: { key: 'agent.tool.list' } },
25
+ then: [{ type: 'expectError' }],
26
+ },
27
+ ],
28
28
  });
29
29
 
30
30
  export const toolGetTest = defineTestSpec({
31
- meta: {
32
- key: 'test.agent.tool.get',
33
- version: '1.0.0',
34
- owners: ['@agent-console-team'],
35
- description: 'Test for getting tool',
36
- stability: 'stable',
37
- tags: ['test'],
38
- },
39
- target: {
40
- type: 'operation',
41
- operation: { key: 'agent.tool.get', version: '1.0.0' },
42
- },
43
- scenarios: [
44
- {
45
- key: 'success',
46
- when: { operation: { key: 'agent.tool.get' } },
47
- then: [{ type: 'expectOutput', match: {} }],
48
- },
49
- {
50
- key: 'error',
51
- when: { operation: { key: 'agent.tool.get' } },
52
- then: [{ type: 'expectError' }],
53
- },
54
- ],
31
+ meta: {
32
+ key: 'test.agent.tool.get',
33
+ version: '1.0.0',
34
+ owners: ['@agent-console-team'],
35
+ description: 'Test for getting tool',
36
+ stability: 'stable',
37
+ tags: ['test'],
38
+ },
39
+ target: {
40
+ type: 'operation',
41
+ operation: { key: 'agent.tool.get', version: '1.0.0' },
42
+ },
43
+ scenarios: [
44
+ {
45
+ key: 'success',
46
+ when: { operation: { key: 'agent.tool.get' } },
47
+ then: [{ type: 'expectOutput', match: {} }],
48
+ },
49
+ {
50
+ key: 'error',
51
+ when: { operation: { key: 'agent.tool.get' } },
52
+ then: [{ type: 'expectError' }],
53
+ },
54
+ ],
55
55
  });