@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
@@ -4,151 +4,151 @@
4
4
  import { MOCK_TOOLS } from '../shared/mock-tools';
5
5
 
6
6
  export interface ListToolsInput {
7
- organizationId: string;
8
- category?:
9
- | 'RETRIEVAL'
10
- | 'COMPUTATION'
11
- | 'COMMUNICATION'
12
- | 'INTEGRATION'
13
- | 'UTILITY'
14
- | 'CUSTOM';
15
- status?: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
16
- search?: string;
17
- limit?: number;
18
- offset?: number;
7
+ organizationId: string;
8
+ category?:
9
+ | 'RETRIEVAL'
10
+ | 'COMPUTATION'
11
+ | 'COMMUNICATION'
12
+ | 'INTEGRATION'
13
+ | 'UTILITY'
14
+ | 'CUSTOM';
15
+ status?: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
16
+ search?: string;
17
+ limit?: number;
18
+ offset?: number;
19
19
  }
20
20
 
21
21
  export interface ToolSummary {
22
- id: string;
23
- name: string;
24
- slug: string;
25
- description: string;
26
- category:
27
- | 'RETRIEVAL'
28
- | 'COMPUTATION'
29
- | 'COMMUNICATION'
30
- | 'INTEGRATION'
31
- | 'UTILITY'
32
- | 'CUSTOM';
33
- status: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
34
- version: string;
35
- createdAt: Date;
22
+ id: string;
23
+ name: string;
24
+ slug: string;
25
+ description: string;
26
+ category:
27
+ | 'RETRIEVAL'
28
+ | 'COMPUTATION'
29
+ | 'COMMUNICATION'
30
+ | 'INTEGRATION'
31
+ | 'UTILITY'
32
+ | 'CUSTOM';
33
+ status: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
34
+ version: string;
35
+ createdAt: Date;
36
36
  }
37
37
 
38
38
  export interface ListToolsOutput {
39
- items: ToolSummary[];
40
- total: number;
41
- hasMore: boolean;
39
+ items: ToolSummary[];
40
+ total: number;
41
+ hasMore: boolean;
42
42
  }
43
43
 
44
44
  /**
45
45
  * Mock handler for ListToolsQuery.
46
46
  */
47
47
  export async function mockListToolsHandler(
48
- input: ListToolsInput
48
+ input: ListToolsInput
49
49
  ): Promise<ListToolsOutput> {
50
- const {
51
- organizationId,
52
- category,
53
- status,
54
- search,
55
- limit = 20,
56
- offset = 0,
57
- } = input;
50
+ const {
51
+ organizationId,
52
+ category,
53
+ status,
54
+ search,
55
+ limit = 20,
56
+ offset = 0,
57
+ } = input;
58
58
 
59
- let filtered = MOCK_TOOLS.filter((t) => t.organizationId === organizationId);
60
- if (category) filtered = filtered.filter((t) => t.category === category);
61
- if (status) filtered = filtered.filter((t) => t.status === status);
62
- if (search) {
63
- const q = search.toLowerCase();
64
- filtered = filtered.filter(
65
- (t) =>
66
- t.name.toLowerCase().includes(q) ||
67
- t.description.toLowerCase().includes(q)
68
- );
69
- }
59
+ let filtered = MOCK_TOOLS.filter((t) => t.organizationId === organizationId);
60
+ if (category) filtered = filtered.filter((t) => t.category === category);
61
+ if (status) filtered = filtered.filter((t) => t.status === status);
62
+ if (search) {
63
+ const q = search.toLowerCase();
64
+ filtered = filtered.filter(
65
+ (t) =>
66
+ t.name.toLowerCase().includes(q) ||
67
+ t.description.toLowerCase().includes(q)
68
+ );
69
+ }
70
70
 
71
- const total = filtered.length;
72
- const items = filtered.slice(offset, offset + limit).map((t) => ({
73
- id: t.id,
74
- name: t.name,
75
- slug: t.slug,
76
- description: t.description,
77
- category: t.category,
78
- status: t.status,
79
- version: t.version,
80
- createdAt: t.createdAt,
81
- }));
71
+ const total = filtered.length;
72
+ const items = filtered.slice(offset, offset + limit).map((t) => ({
73
+ id: t.id,
74
+ name: t.name,
75
+ slug: t.slug,
76
+ description: t.description,
77
+ category: t.category,
78
+ status: t.status,
79
+ version: t.version,
80
+ createdAt: t.createdAt,
81
+ }));
82
82
 
83
- return { items, total, hasMore: offset + limit < total };
83
+ return { items, total, hasMore: offset + limit < total };
84
84
  }
85
85
 
86
86
  /**
87
87
  * Mock handler for GetToolQuery.
88
88
  */
89
89
  export async function mockGetToolHandler(input: { toolId: string }) {
90
- const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
91
- if (!tool) throw new Error('TOOL_NOT_FOUND');
92
- return tool;
90
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
91
+ if (!tool) throw new Error('TOOL_NOT_FOUND');
92
+ return tool;
93
93
  }
94
94
 
95
95
  /**
96
96
  * Mock handler for CreateToolCommand.
97
97
  */
98
98
  export async function mockCreateToolHandler(input: {
99
- organizationId: string;
100
- name: string;
101
- slug: string;
102
- description: string;
103
- implementationType: 'http' | 'function' | 'workflow';
99
+ organizationId: string;
100
+ name: string;
101
+ slug: string;
102
+ description: string;
103
+ implementationType: 'http' | 'function' | 'workflow';
104
104
  }) {
105
- const exists = MOCK_TOOLS.some(
106
- (t) => t.organizationId === input.organizationId && t.slug === input.slug
107
- );
108
- if (exists) throw new Error('SLUG_EXISTS');
109
- return {
110
- id: `tool-${Date.now()}`,
111
- name: input.name,
112
- slug: input.slug,
113
- status: 'DRAFT' as const,
114
- };
105
+ const exists = MOCK_TOOLS.some(
106
+ (t) => t.organizationId === input.organizationId && t.slug === input.slug
107
+ );
108
+ if (exists) throw new Error('SLUG_EXISTS');
109
+ return {
110
+ id: `tool-${Date.now()}`,
111
+ name: input.name,
112
+ slug: input.slug,
113
+ status: 'DRAFT' as const,
114
+ };
115
115
  }
116
116
 
117
117
  /**
118
118
  * Mock handler for UpdateToolCommand.
119
119
  */
120
120
  export async function mockUpdateToolHandler(input: {
121
- toolId: string;
122
- name?: string;
123
- status?: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
121
+ toolId: string;
122
+ name?: string;
123
+ status?: 'DRAFT' | 'ACTIVE' | 'DEPRECATED' | 'DISABLED';
124
124
  }) {
125
- const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
126
- if (!tool) throw new Error('TOOL_NOT_FOUND');
127
- return {
128
- id: tool.id,
129
- name: input.name ?? tool.name,
130
- status: input.status ?? tool.status,
131
- updatedAt: new Date(),
132
- };
125
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
126
+ if (!tool) throw new Error('TOOL_NOT_FOUND');
127
+ return {
128
+ id: tool.id,
129
+ name: input.name ?? tool.name,
130
+ status: input.status ?? tool.status,
131
+ updatedAt: new Date(),
132
+ };
133
133
  }
134
134
 
135
135
  /**
136
136
  * Mock handler for TestToolCommand.
137
137
  */
138
138
  export async function mockTestToolHandler(input: {
139
- toolId: string;
140
- testInput: Record<string, unknown>;
139
+ toolId: string;
140
+ testInput: Record<string, unknown>;
141
141
  }) {
142
- const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
143
- if (!tool) throw new Error('TOOL_NOT_FOUND');
142
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
143
+ if (!tool) throw new Error('TOOL_NOT_FOUND');
144
144
 
145
- // Simulate tool execution
146
- const startTime = Date.now();
147
- await new Promise((resolve) => setTimeout(resolve, 100));
145
+ // Simulate tool execution
146
+ const startTime = Date.now();
147
+ await new Promise((resolve) => setTimeout(resolve, 100));
148
148
 
149
- return {
150
- success: true,
151
- output: { result: 'Test successful', input: input.testInput },
152
- durationMs: Date.now() - startTime,
153
- };
149
+ return {
150
+ success: true,
151
+ output: { result: 'Test successful', input: input.testInput },
152
+ durationMs: Date.now() - startTime,
153
+ };
154
154
  }