@lssm/example.agent-console 0.0.0-canary-20251217080011 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/.turbo/turbo-build.log +46 -48
  2. package/dist/agent/agent.contracts.js +1 -336
  3. package/dist/agent/agent.entity.js +1 -136
  4. package/dist/agent/agent.enum.js +1 -34
  5. package/dist/agent/agent.event.js +1 -183
  6. package/dist/agent/agent.handler.js +1 -83
  7. package/dist/agent/agent.presentation.js +1 -75
  8. package/dist/agent/agent.schema.js +1 -407
  9. package/dist/agent/index.js +1 -9
  10. package/dist/agent.feature.js +1 -295
  11. package/dist/docs/agent-console.docblock.js +5 -69
  12. package/dist/docs/index.js +1 -1
  13. package/dist/example.js +1 -50
  14. package/dist/handlers/index.js +1 -5
  15. package/dist/index.js +1 -32
  16. package/dist/presentations/index.js +1 -5
  17. package/dist/run/index.js +1 -9
  18. package/dist/run/run.contracts.js +1 -469
  19. package/dist/run/run.entity.js +1 -205
  20. package/dist/run/run.enum.js +1 -45
  21. package/dist/run/run.event.js +1 -389
  22. package/dist/run/run.handler.js +1 -82
  23. package/dist/run/run.presentation.js +1 -55
  24. package/dist/run/run.schema.js +1 -339
  25. package/dist/shared/index.js +1 -5
  26. package/dist/shared/mock-agents.js +1 -93
  27. package/dist/shared/mock-runs.js +1 -117
  28. package/dist/shared/mock-tools.js +1 -180
  29. package/dist/tool/index.js +1 -9
  30. package/dist/tool/tool.contracts.js +1 -288
  31. package/dist/tool/tool.entity.js +1 -105
  32. package/dist/tool/tool.enum.js +1 -35
  33. package/dist/tool/tool.event.js +1 -145
  34. package/dist/tool/tool.handler.js +1 -86
  35. package/dist/tool/tool.presentation.js +1 -55
  36. package/dist/tool/tool.schema.js +1 -237
  37. package/package.json +43 -45
  38. package/tsconfig.tsbuildinfo +1 -1
  39. package/.turbo/turbo-build$colon$bundle.log +0 -272
  40. package/CHANGELOG.md +0 -16
  41. package/dist/agent/agent.contracts.d.ts +0 -504
  42. package/dist/agent/agent.entity.d.ts +0 -54
  43. package/dist/agent/agent.enum.d.ts +0 -17
  44. package/dist/agent/agent.event.d.ts +0 -127
  45. package/dist/agent/agent.handler.d.ts +0 -99
  46. package/dist/agent/agent.presentation.d.ts +0 -18
  47. package/dist/agent/agent.schema.d.ts +0 -400
  48. package/dist/agent/index.d.ts +0 -8
  49. package/dist/agent.feature.d.ts +0 -11
  50. package/dist/docs/agent-console.docblock.d.ts +0 -1
  51. package/dist/docs/index.d.ts +0 -1
  52. package/dist/example.d.ts +0 -39
  53. package/dist/handlers/index.d.ts +0 -4
  54. package/dist/index.d.ts +0 -27
  55. package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
  56. package/dist/libs/contracts/dist/client/index.js +0 -5
  57. package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
  58. package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
  59. package/dist/libs/contracts/dist/client/react/index.js +0 -4
  60. package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
  61. package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
  62. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  63. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
  64. package/dist/libs/contracts/dist/docs/index.js +0 -29
  65. package/dist/libs/contracts/dist/docs/presentations.js +0 -71
  66. package/dist/libs/contracts/dist/docs/registry.js +0 -44
  67. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  68. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  69. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  70. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  71. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  72. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
  73. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
  74. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
  75. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
  76. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
  77. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
  78. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
  79. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
  80. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
  81. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
  82. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
  83. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
  84. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
  85. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
  86. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
  87. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
  88. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
  89. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
  90. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
  91. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
  92. package/dist/libs/contracts/dist/events.js +0 -10
  93. package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
  94. package/dist/libs/contracts/dist/index.js +0 -71
  95. package/dist/libs/contracts/dist/install.js +0 -2
  96. package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
  97. package/dist/libs/contracts/dist/integrations/index.js +0 -18
  98. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
  99. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
  100. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
  101. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
  102. package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
  103. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
  104. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
  105. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
  106. package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
  107. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
  108. package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
  109. package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
  110. package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
  111. package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
  112. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
  113. package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
  114. package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
  115. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
  116. package/dist/libs/contracts/dist/jsonschema.js +0 -1
  117. package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
  118. package/dist/libs/contracts/dist/knowledge/index.js +0 -7
  119. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
  120. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
  121. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
  122. package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
  123. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
  124. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
  125. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
  126. package/dist/libs/contracts/dist/llm/exporters.js +0 -19
  127. package/dist/libs/contracts/dist/llm/index.js +0 -2
  128. package/dist/libs/contracts/dist/llm/prompts.js +0 -1
  129. package/dist/libs/contracts/dist/onboarding-base.js +0 -196
  130. package/dist/libs/contracts/dist/openapi.js +0 -1
  131. package/dist/libs/contracts/dist/ownership.js +0 -21
  132. package/dist/libs/contracts/dist/presentations.js +0 -1
  133. package/dist/libs/contracts/dist/presentations.v2.js +0 -11
  134. package/dist/libs/contracts/dist/prompt.js +0 -1
  135. package/dist/libs/contracts/dist/promptRegistry.js +0 -1
  136. package/dist/libs/contracts/dist/regenerator/index.js +0 -1
  137. package/dist/libs/contracts/dist/regenerator/service.js +0 -6
  138. package/dist/libs/contracts/dist/registry.js +0 -2
  139. package/dist/libs/contracts/dist/resources.js +0 -1
  140. package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
  141. package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
  142. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  143. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -39
  144. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  145. package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
  146. package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
  147. package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
  148. package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
  149. package/dist/libs/contracts/dist/server/index.js +0 -8
  150. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
  151. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
  152. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
  153. package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
  154. package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
  155. package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
  156. package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
  157. package/dist/libs/contracts/dist/server/rest-express.js +0 -1
  158. package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
  159. package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
  160. package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
  161. package/dist/libs/contracts/dist/spec.js +0 -34
  162. package/dist/libs/contracts/dist/telemetry/index.js +0 -1
  163. package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
  164. package/dist/libs/contracts/dist/tests/index.js +0 -1
  165. package/dist/libs/contracts/dist/tests/runner.js +0 -2
  166. package/dist/libs/contracts/dist/workflow/index.js +0 -1
  167. package/dist/libs/contracts/dist/workflow/runner.js +0 -1
  168. package/dist/libs/schema/dist/EnumType.js +0 -56
  169. package/dist/libs/schema/dist/FieldType.js +0 -49
  170. package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
  171. package/dist/libs/schema/dist/SchemaModel.js +0 -39
  172. package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
  173. package/dist/libs/schema/dist/entity/index.js +0 -2
  174. package/dist/libs/schema/dist/entity/types.js +0 -1
  175. package/dist/libs/schema/dist/index.js +0 -6
  176. package/dist/presentations/index.d.ts +0 -4
  177. package/dist/run/index.d.ts +0 -8
  178. package/dist/run/run.contracts.d.ts +0 -713
  179. package/dist/run/run.entity.d.ts +0 -81
  180. package/dist/run/run.enum.d.ts +0 -21
  181. package/dist/run/run.event.d.ts +0 -289
  182. package/dist/run/run.handler.d.ts +0 -202
  183. package/dist/run/run.presentation.d.ts +0 -14
  184. package/dist/run/run.schema.d.ts +0 -415
  185. package/dist/shared/index.d.ts +0 -4
  186. package/dist/shared/mock-agents.d.ts +0 -87
  187. package/dist/shared/mock-runs.d.ts +0 -119
  188. package/dist/shared/mock-tools.d.ts +0 -243
  189. package/dist/tool/index.d.ts +0 -8
  190. package/dist/tool/tool.contracts.d.ts +0 -404
  191. package/dist/tool/tool.entity.d.ts +0 -41
  192. package/dist/tool/tool.enum.d.ts +0 -17
  193. package/dist/tool/tool.event.d.ts +0 -102
  194. package/dist/tool/tool.handler.d.ts +0 -314
  195. package/dist/tool/tool.presentation.d.ts +0 -14
  196. package/dist/tool/tool.schema.d.ts +0 -217
@@ -1,180 +1 @@
1
- //#region src/shared/mock-tools.ts
2
- /**
3
- * Mock tool data for testing and demos.
4
- */
5
- const MOCK_TOOLS = [
6
- {
7
- id: "tool-1",
8
- organizationId: "demo-org",
9
- name: "Web Search",
10
- slug: "web-search",
11
- description: "Search the web for real-time information using Brave API.",
12
- category: "RETRIEVAL",
13
- status: "ACTIVE",
14
- parametersSchema: {
15
- type: "object",
16
- properties: {
17
- query: {
18
- type: "string",
19
- description: "Search query"
20
- },
21
- numResults: {
22
- type: "number",
23
- default: 10
24
- }
25
- },
26
- required: ["query"]
27
- },
28
- outputSchema: {
29
- type: "array",
30
- items: { type: "object" }
31
- },
32
- implementationType: "http",
33
- implementationConfig: {
34
- url: "https://api.brave.com/search",
35
- method: "GET"
36
- },
37
- maxInvocationsPerMinute: 60,
38
- timeoutMs: 3e4,
39
- version: "1.0.0",
40
- tags: ["search", "web"],
41
- createdAt: /* @__PURE__ */ new Date("2024-01-01T00:00:00Z"),
42
- updatedAt: /* @__PURE__ */ new Date("2024-02-15T10:00:00Z")
43
- },
44
- {
45
- id: "tool-2",
46
- organizationId: "demo-org",
47
- name: "SQL Query",
48
- slug: "sql-query",
49
- description: "Execute read-only SQL queries against the data warehouse.",
50
- category: "RETRIEVAL",
51
- status: "ACTIVE",
52
- parametersSchema: {
53
- type: "object",
54
- properties: {
55
- query: {
56
- type: "string",
57
- description: "SQL query"
58
- },
59
- maxRows: {
60
- type: "number",
61
- default: 100
62
- }
63
- },
64
- required: ["query"]
65
- },
66
- outputSchema: { type: "object" },
67
- implementationType: "function",
68
- implementationConfig: { handler: "executeSqlQuery" },
69
- maxInvocationsPerMinute: 30,
70
- timeoutMs: 6e4,
71
- version: "1.1.0",
72
- tags: ["sql", "database"],
73
- createdAt: /* @__PURE__ */ new Date("2024-01-05T00:00:00Z"),
74
- updatedAt: /* @__PURE__ */ new Date("2024-03-10T14:00:00Z")
75
- },
76
- {
77
- id: "tool-3",
78
- organizationId: "demo-org",
79
- name: "Email Sender",
80
- slug: "email-sender",
81
- description: "Send emails via SMTP or API.",
82
- category: "COMMUNICATION",
83
- status: "ACTIVE",
84
- parametersSchema: {
85
- type: "object",
86
- properties: {
87
- to: { type: "string" },
88
- subject: { type: "string" },
89
- body: { type: "string" }
90
- },
91
- required: [
92
- "to",
93
- "subject",
94
- "body"
95
- ]
96
- },
97
- implementationType: "http",
98
- implementationConfig: {
99
- url: "/api/send-email",
100
- method: "POST"
101
- },
102
- maxInvocationsPerMinute: 10,
103
- timeoutMs: 3e4,
104
- version: "1.0.0",
105
- tags: ["email", "communication"],
106
- createdAt: /* @__PURE__ */ new Date("2024-02-01T00:00:00Z"),
107
- updatedAt: /* @__PURE__ */ new Date("2024-02-01T00:00:00Z")
108
- },
109
- {
110
- id: "tool-4",
111
- organizationId: "demo-org",
112
- name: "GitHub Integration",
113
- slug: "github-integration",
114
- description: "Interact with GitHub repositories, PRs, and issues.",
115
- category: "INTEGRATION",
116
- status: "ACTIVE",
117
- parametersSchema: {
118
- type: "object",
119
- properties: {
120
- action: {
121
- type: "string",
122
- enum: [
123
- "list_prs",
124
- "get_pr",
125
- "create_comment"
126
- ]
127
- },
128
- repo: { type: "string" },
129
- params: { type: "object" }
130
- },
131
- required: ["action", "repo"]
132
- },
133
- implementationType: "http",
134
- implementationConfig: {
135
- url: "https://api.github.com",
136
- auth: "token"
137
- },
138
- maxInvocationsPerMinute: 100,
139
- timeoutMs: 15e3,
140
- version: "2.0.0",
141
- tags: [
142
- "github",
143
- "integration",
144
- "code"
145
- ],
146
- createdAt: /* @__PURE__ */ new Date("2024-02-20T00:00:00Z"),
147
- updatedAt: /* @__PURE__ */ new Date("2024-04-01T09:00:00Z")
148
- },
149
- {
150
- id: "tool-5",
151
- organizationId: "demo-org",
152
- name: "Calculator",
153
- slug: "calculator",
154
- description: "Perform mathematical calculations.",
155
- category: "COMPUTATION",
156
- status: "ACTIVE",
157
- parametersSchema: {
158
- type: "object",
159
- properties: { expression: {
160
- type: "string",
161
- description: "Math expression to evaluate"
162
- } },
163
- required: ["expression"]
164
- },
165
- outputSchema: {
166
- type: "object",
167
- properties: { result: { type: "number" } }
168
- },
169
- implementationType: "function",
170
- implementationConfig: { handler: "evaluateMath" },
171
- timeoutMs: 5e3,
172
- version: "1.0.0",
173
- tags: ["math", "utility"],
174
- createdAt: /* @__PURE__ */ new Date("2024-01-10T00:00:00Z"),
175
- updatedAt: /* @__PURE__ */ new Date("2024-01-10T00:00:00Z")
176
- }
177
- ];
178
-
179
- //#endregion
180
- export { MOCK_TOOLS };
1
+ const e=[{id:`tool-1`,organizationId:`demo-org`,name:`Web Search`,slug:`web-search`,description:`Search the web for real-time information using Brave API.`,category:`RETRIEVAL`,status:`ACTIVE`,parametersSchema:{type:`object`,properties:{query:{type:`string`,description:`Search query`},numResults:{type:`number`,default:10}},required:[`query`]},outputSchema:{type:`array`,items:{type:`object`}},implementationType:`http`,implementationConfig:{url:`https://api.brave.com/search`,method:`GET`},maxInvocationsPerMinute:60,timeoutMs:3e4,version:`1.0.0`,tags:[`search`,`web`],createdAt:new Date(`2024-01-01T00:00:00Z`),updatedAt:new Date(`2024-02-15T10:00:00Z`)},{id:`tool-2`,organizationId:`demo-org`,name:`SQL Query`,slug:`sql-query`,description:`Execute read-only SQL queries against the data warehouse.`,category:`RETRIEVAL`,status:`ACTIVE`,parametersSchema:{type:`object`,properties:{query:{type:`string`,description:`SQL query`},maxRows:{type:`number`,default:100}},required:[`query`]},outputSchema:{type:`object`},implementationType:`function`,implementationConfig:{handler:`executeSqlQuery`},maxInvocationsPerMinute:30,timeoutMs:6e4,version:`1.1.0`,tags:[`sql`,`database`],createdAt:new Date(`2024-01-05T00:00:00Z`),updatedAt:new Date(`2024-03-10T14:00:00Z`)},{id:`tool-3`,organizationId:`demo-org`,name:`Email Sender`,slug:`email-sender`,description:`Send emails via SMTP or API.`,category:`COMMUNICATION`,status:`ACTIVE`,parametersSchema:{type:`object`,properties:{to:{type:`string`},subject:{type:`string`},body:{type:`string`}},required:[`to`,`subject`,`body`]},implementationType:`http`,implementationConfig:{url:`/api/send-email`,method:`POST`},maxInvocationsPerMinute:10,timeoutMs:3e4,version:`1.0.0`,tags:[`email`,`communication`],createdAt:new Date(`2024-02-01T00:00:00Z`),updatedAt:new Date(`2024-02-01T00:00:00Z`)},{id:`tool-4`,organizationId:`demo-org`,name:`GitHub Integration`,slug:`github-integration`,description:`Interact with GitHub repositories, PRs, and issues.`,category:`INTEGRATION`,status:`ACTIVE`,parametersSchema:{type:`object`,properties:{action:{type:`string`,enum:[`list_prs`,`get_pr`,`create_comment`]},repo:{type:`string`},params:{type:`object`}},required:[`action`,`repo`]},implementationType:`http`,implementationConfig:{url:`https://api.github.com`,auth:`token`},maxInvocationsPerMinute:100,timeoutMs:15e3,version:`2.0.0`,tags:[`github`,`integration`,`code`],createdAt:new Date(`2024-02-20T00:00:00Z`),updatedAt:new Date(`2024-04-01T09:00:00Z`)},{id:`tool-5`,organizationId:`demo-org`,name:`Calculator`,slug:`calculator`,description:`Perform mathematical calculations.`,category:`COMPUTATION`,status:`ACTIVE`,parametersSchema:{type:`object`,properties:{expression:{type:`string`,description:`Math expression to evaluate`}},required:[`expression`]},outputSchema:{type:`object`,properties:{result:{type:`number`}}},implementationType:`function`,implementationConfig:{handler:`evaluateMath`},timeoutMs:5e3,version:`1.0.0`,tags:[`math`,`utility`],createdAt:new Date(`2024-01-10T00:00:00Z`),updatedAt:new Date(`2024-01-10T00:00:00Z`)}];export{e as MOCK_TOOLS};
@@ -1,9 +1 @@
1
- import { ImplementationTypeEnum, ToolCategoryEnum, ToolStatusEnum } from "./tool.enum.js";
2
- import { CreateToolInputModel, ToolModel, ToolSummaryModel, UpdateToolInputModel } from "./tool.schema.js";
3
- import { CreateToolCommand, GetToolQuery, ListToolsQuery, TestToolCommand, UpdateToolCommand } from "./tool.contracts.js";
4
- import { ToolCreatedEvent, ToolStatusChangedEvent, ToolUpdatedEvent } from "./tool.event.js";
5
- import { ImplementationTypeEntityEnum, ToolCategoryEntityEnum, ToolEntity, ToolStatusEntityEnum } from "./tool.entity.js";
6
- import { ToolDetailPresentation, ToolListPresentation } from "./tool.presentation.js";
7
- import { mockCreateToolHandler, mockGetToolHandler, mockListToolsHandler, mockTestToolHandler, mockUpdateToolHandler } from "./tool.handler.js";
8
-
9
- export { CreateToolCommand, CreateToolInputModel, GetToolQuery, ImplementationTypeEntityEnum, ImplementationTypeEnum, ListToolsQuery, TestToolCommand, ToolCategoryEntityEnum, ToolCategoryEnum, ToolCreatedEvent, ToolDetailPresentation, ToolEntity, ToolListPresentation, ToolModel, ToolStatusChangedEvent, ToolStatusEntityEnum, ToolStatusEnum, ToolSummaryModel, ToolUpdatedEvent, UpdateToolCommand, UpdateToolInputModel, mockCreateToolHandler, mockGetToolHandler, mockListToolsHandler, mockTestToolHandler, mockUpdateToolHandler };
1
+ import{ImplementationTypeEnum as e,ToolCategoryEnum as t,ToolStatusEnum as n}from"./tool.enum.js";import{CreateToolInputModel as r,ToolModel as i,ToolSummaryModel as a,UpdateToolInputModel as o}from"./tool.schema.js";import{CreateToolCommand as s,GetToolQuery as c,ListToolsQuery as l,TestToolCommand as u,UpdateToolCommand as d}from"./tool.contracts.js";import{ToolCreatedEvent as f,ToolStatusChangedEvent as p,ToolUpdatedEvent as m}from"./tool.event.js";import{ImplementationTypeEntityEnum as h,ToolCategoryEntityEnum as g,ToolEntity as _,ToolStatusEntityEnum as v}from"./tool.entity.js";import{ToolDetailPresentation as y,ToolListPresentation as b}from"./tool.presentation.js";import{mockCreateToolHandler as x,mockGetToolHandler as S,mockListToolsHandler as C,mockTestToolHandler as w,mockUpdateToolHandler as T}from"./tool.handler.js";export{s as CreateToolCommand,r as CreateToolInputModel,c as GetToolQuery,h as ImplementationTypeEntityEnum,e as ImplementationTypeEnum,l as ListToolsQuery,u as TestToolCommand,g as ToolCategoryEntityEnum,t as ToolCategoryEnum,f as ToolCreatedEvent,y as ToolDetailPresentation,_ as ToolEntity,b as ToolListPresentation,i as ToolModel,p as ToolStatusChangedEvent,v as ToolStatusEntityEnum,n as ToolStatusEnum,a as ToolSummaryModel,m as ToolUpdatedEvent,d as UpdateToolCommand,o as UpdateToolInputModel,x as mockCreateToolHandler,S as mockGetToolHandler,C as mockListToolsHandler,w as mockTestToolHandler,T as mockUpdateToolHandler};
@@ -1,288 +1 @@
1
- import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
2
- import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
3
- import "../libs/schema/dist/index.js";
4
- import { defineCommand, defineQuery } from "../libs/contracts/dist/spec.js";
5
- import { ToolCategoryEnum, ToolStatusEnum } from "./tool.enum.js";
6
- import { CreateToolInputModel, ToolModel, ToolSummaryModel, UpdateToolInputModel } from "./tool.schema.js";
7
-
8
- //#region src/tool/tool.contracts.ts
9
- const OWNERS = ["agent-console-team"];
10
- /**
11
- * CreateToolCommand - Creates a new tool definition.
12
- */
13
- const CreateToolCommand = defineCommand({
14
- meta: {
15
- name: "agent.tool.create",
16
- version: 1,
17
- stability: "stable",
18
- owners: [...OWNERS],
19
- tags: ["tool", "create"],
20
- description: "Creates a new AI tool definition.",
21
- goal: "Allow users to define new tools that agents can use.",
22
- context: "Called from the tool builder UI when creating a new tool."
23
- },
24
- io: {
25
- input: CreateToolInputModel,
26
- output: defineSchemaModel({
27
- name: "CreateToolOutput",
28
- fields: {
29
- id: {
30
- type: ScalarTypeEnum.String_unsecure(),
31
- isOptional: false
32
- },
33
- name: {
34
- type: ScalarTypeEnum.NonEmptyString(),
35
- isOptional: false
36
- },
37
- slug: {
38
- type: ScalarTypeEnum.String_unsecure(),
39
- isOptional: false
40
- },
41
- status: {
42
- type: ToolStatusEnum,
43
- isOptional: false
44
- }
45
- }
46
- }),
47
- errors: { SLUG_EXISTS: {
48
- description: "A tool with this slug already exists in the organization",
49
- http: 409,
50
- gqlCode: "SLUG_EXISTS",
51
- when: "Slug is already taken"
52
- } }
53
- },
54
- policy: { auth: "user" },
55
- sideEffects: {
56
- emits: [{
57
- name: "tool.created",
58
- version: 1,
59
- when: "Tool is successfully created",
60
- payload: ToolSummaryModel
61
- }],
62
- audit: ["tool.created"]
63
- }
64
- });
65
- /**
66
- * UpdateToolCommand - Updates an existing tool.
67
- */
68
- const UpdateToolCommand = defineCommand({
69
- meta: {
70
- name: "agent.tool.update",
71
- version: 1,
72
- stability: "stable",
73
- owners: [...OWNERS],
74
- tags: ["tool", "update"],
75
- description: "Updates an existing AI tool definition.",
76
- goal: "Allow users to modify tool settings and configuration.",
77
- context: "Called from the tool settings UI."
78
- },
79
- io: {
80
- input: UpdateToolInputModel,
81
- output: defineSchemaModel({
82
- name: "UpdateToolOutput",
83
- fields: {
84
- id: {
85
- type: ScalarTypeEnum.String_unsecure(),
86
- isOptional: false
87
- },
88
- name: {
89
- type: ScalarTypeEnum.NonEmptyString(),
90
- isOptional: false
91
- },
92
- status: {
93
- type: ToolStatusEnum,
94
- isOptional: false
95
- },
96
- updatedAt: {
97
- type: ScalarTypeEnum.DateTime(),
98
- isOptional: false
99
- }
100
- }
101
- }),
102
- errors: { TOOL_NOT_FOUND: {
103
- description: "The specified tool does not exist",
104
- http: 404,
105
- gqlCode: "TOOL_NOT_FOUND",
106
- when: "Tool ID is invalid"
107
- } }
108
- },
109
- policy: { auth: "user" },
110
- sideEffects: {
111
- emits: [{
112
- name: "tool.updated",
113
- version: 1,
114
- when: "Tool is updated",
115
- payload: ToolSummaryModel
116
- }],
117
- audit: ["tool.updated"]
118
- }
119
- });
120
- /**
121
- * GetToolQuery - Retrieves a tool by ID.
122
- */
123
- const GetToolQuery = defineQuery({
124
- meta: {
125
- name: "agent.tool.get",
126
- version: 1,
127
- stability: "stable",
128
- owners: [...OWNERS],
129
- tags: ["tool", "get"],
130
- description: "Retrieves a tool by its ID.",
131
- goal: "View detailed tool configuration.",
132
- context: "Called when viewing tool details or editing."
133
- },
134
- io: {
135
- input: defineSchemaModel({
136
- name: "GetToolInput",
137
- fields: { toolId: {
138
- type: ScalarTypeEnum.String_unsecure(),
139
- isOptional: false
140
- } }
141
- }),
142
- output: ToolModel,
143
- errors: { TOOL_NOT_FOUND: {
144
- description: "The specified tool does not exist",
145
- http: 404,
146
- gqlCode: "TOOL_NOT_FOUND",
147
- when: "Tool ID is invalid"
148
- } }
149
- },
150
- policy: { auth: "user" }
151
- });
152
- /**
153
- * ListToolsQuery - Lists tools for an organization.
154
- */
155
- const ListToolsQuery = defineQuery({
156
- meta: {
157
- name: "agent.tool.list",
158
- version: 1,
159
- stability: "stable",
160
- owners: [...OWNERS],
161
- tags: ["tool", "list"],
162
- description: "Lists tools for an organization with optional filtering.",
163
- goal: "Browse and search available tools.",
164
- context: "Tool list/dashboard view."
165
- },
166
- io: {
167
- input: defineSchemaModel({
168
- name: "ListToolsInput",
169
- fields: {
170
- organizationId: {
171
- type: ScalarTypeEnum.String_unsecure(),
172
- isOptional: false
173
- },
174
- category: {
175
- type: ToolCategoryEnum,
176
- isOptional: true
177
- },
178
- status: {
179
- type: ToolStatusEnum,
180
- isOptional: true
181
- },
182
- search: {
183
- type: ScalarTypeEnum.String_unsecure(),
184
- isOptional: true
185
- },
186
- limit: {
187
- type: ScalarTypeEnum.Int_unsecure(),
188
- isOptional: true,
189
- defaultValue: 20
190
- },
191
- offset: {
192
- type: ScalarTypeEnum.Int_unsecure(),
193
- isOptional: true,
194
- defaultValue: 0
195
- }
196
- }
197
- }),
198
- output: defineSchemaModel({
199
- name: "ListToolsOutput",
200
- fields: {
201
- items: {
202
- type: ToolSummaryModel,
203
- isArray: true,
204
- isOptional: false
205
- },
206
- total: {
207
- type: ScalarTypeEnum.Int_unsecure(),
208
- isOptional: false
209
- },
210
- hasMore: {
211
- type: ScalarTypeEnum.Boolean(),
212
- isOptional: false
213
- }
214
- }
215
- })
216
- },
217
- policy: { auth: "user" }
218
- });
219
- /**
220
- * TestToolCommand - Tests a tool with sample input.
221
- */
222
- const TestToolCommand = defineCommand({
223
- meta: {
224
- name: "agent.tool.test",
225
- version: 1,
226
- stability: "stable",
227
- owners: [...OWNERS],
228
- tags: ["tool", "test"],
229
- description: "Tests a tool with sample input to verify it works correctly.",
230
- goal: "Validate tool configuration before deployment.",
231
- context: "Tool builder UI - test panel."
232
- },
233
- io: {
234
- input: defineSchemaModel({
235
- name: "TestToolInput",
236
- fields: {
237
- toolId: {
238
- type: ScalarTypeEnum.String_unsecure(),
239
- isOptional: false
240
- },
241
- testInput: {
242
- type: ScalarTypeEnum.JSONObject(),
243
- isOptional: false
244
- }
245
- }
246
- }),
247
- output: defineSchemaModel({
248
- name: "TestToolOutput",
249
- fields: {
250
- success: {
251
- type: ScalarTypeEnum.Boolean(),
252
- isOptional: false
253
- },
254
- output: {
255
- type: ScalarTypeEnum.JSONObject(),
256
- isOptional: true
257
- },
258
- error: {
259
- type: ScalarTypeEnum.String_unsecure(),
260
- isOptional: true
261
- },
262
- durationMs: {
263
- type: ScalarTypeEnum.Int_unsecure(),
264
- isOptional: false
265
- }
266
- }
267
- }),
268
- errors: {
269
- TOOL_NOT_FOUND: {
270
- description: "The specified tool does not exist",
271
- http: 404,
272
- gqlCode: "TOOL_NOT_FOUND",
273
- when: "Tool ID is invalid"
274
- },
275
- TOOL_EXECUTION_ERROR: {
276
- description: "Tool execution failed",
277
- http: 500,
278
- gqlCode: "TOOL_EXECUTION_ERROR",
279
- when: "Tool returns an error"
280
- }
281
- }
282
- },
283
- policy: { auth: "user" },
284
- sideEffects: { audit: ["tool.tested"] }
285
- });
286
-
287
- //#endregion
288
- export { CreateToolCommand, GetToolQuery, ListToolsQuery, TestToolCommand, UpdateToolCommand };
1
+ import{ToolCategoryEnum as e,ToolStatusEnum as t}from"./tool.enum.js";import{CreateToolInputModel as n,ToolModel as r,ToolSummaryModel as i,UpdateToolInputModel as a}from"./tool.schema.js";import{ScalarTypeEnum as o,defineSchemaModel as s}from"@lssm/lib.schema";import{defineCommand as c,defineQuery as l}from"@lssm/lib.contracts/spec";const u=[`agent-console-team`],d=c({meta:{name:`agent.tool.create`,version:1,stability:`stable`,owners:[...u],tags:[`tool`,`create`],description:`Creates a new AI tool definition.`,goal:`Allow users to define new tools that agents can use.`,context:`Called from the tool builder UI when creating a new tool.`},io:{input:n,output:s({name:`CreateToolOutput`,fields:{id:{type:o.String_unsecure(),isOptional:!1},name:{type:o.NonEmptyString(),isOptional:!1},slug:{type:o.String_unsecure(),isOptional:!1},status:{type:t,isOptional:!1}}}),errors:{SLUG_EXISTS:{description:`A tool with this slug already exists in the organization`,http:409,gqlCode:`SLUG_EXISTS`,when:`Slug is already taken`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`tool.created`,version:1,when:`Tool is successfully created`,payload:i}],audit:[`tool.created`]}}),f=c({meta:{name:`agent.tool.update`,version:1,stability:`stable`,owners:[...u],tags:[`tool`,`update`],description:`Updates an existing AI tool definition.`,goal:`Allow users to modify tool settings and configuration.`,context:`Called from the tool settings UI.`},io:{input:a,output:s({name:`UpdateToolOutput`,fields:{id:{type:o.String_unsecure(),isOptional:!1},name:{type:o.NonEmptyString(),isOptional:!1},status:{type:t,isOptional:!1},updatedAt:{type:o.DateTime(),isOptional:!1}}}),errors:{TOOL_NOT_FOUND:{description:`The specified tool does not exist`,http:404,gqlCode:`TOOL_NOT_FOUND`,when:`Tool ID is invalid`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`tool.updated`,version:1,when:`Tool is updated`,payload:i}],audit:[`tool.updated`]}}),p=l({meta:{name:`agent.tool.get`,version:1,stability:`stable`,owners:[...u],tags:[`tool`,`get`],description:`Retrieves a tool by its ID.`,goal:`View detailed tool configuration.`,context:`Called when viewing tool details or editing.`},io:{input:s({name:`GetToolInput`,fields:{toolId:{type:o.String_unsecure(),isOptional:!1}}}),output:r,errors:{TOOL_NOT_FOUND:{description:`The specified tool does not exist`,http:404,gqlCode:`TOOL_NOT_FOUND`,when:`Tool ID is invalid`}}},policy:{auth:`user`}}),m=l({meta:{name:`agent.tool.list`,version:1,stability:`stable`,owners:[...u],tags:[`tool`,`list`],description:`Lists tools for an organization with optional filtering.`,goal:`Browse and search available tools.`,context:`Tool list/dashboard view.`},io:{input:s({name:`ListToolsInput`,fields:{organizationId:{type:o.String_unsecure(),isOptional:!1},category:{type:e,isOptional:!0},status:{type:t,isOptional:!0},search:{type:o.String_unsecure(),isOptional:!0},limit:{type:o.Int_unsecure(),isOptional:!0,defaultValue:20},offset:{type:o.Int_unsecure(),isOptional:!0,defaultValue:0}}}),output:s({name:`ListToolsOutput`,fields:{items:{type:i,isArray:!0,isOptional:!1},total:{type:o.Int_unsecure(),isOptional:!1},hasMore:{type:o.Boolean(),isOptional:!1}}})},policy:{auth:`user`}}),h=c({meta:{name:`agent.tool.test`,version:1,stability:`stable`,owners:[...u],tags:[`tool`,`test`],description:`Tests a tool with sample input to verify it works correctly.`,goal:`Validate tool configuration before deployment.`,context:`Tool builder UI - test panel.`},io:{input:s({name:`TestToolInput`,fields:{toolId:{type:o.String_unsecure(),isOptional:!1},testInput:{type:o.JSONObject(),isOptional:!1}}}),output:s({name:`TestToolOutput`,fields:{success:{type:o.Boolean(),isOptional:!1},output:{type:o.JSONObject(),isOptional:!0},error:{type:o.String_unsecure(),isOptional:!0},durationMs:{type:o.Int_unsecure(),isOptional:!1}}}),errors:{TOOL_NOT_FOUND:{description:`The specified tool does not exist`,http:404,gqlCode:`TOOL_NOT_FOUND`,when:`Tool ID is invalid`},TOOL_EXECUTION_ERROR:{description:`Tool execution failed`,http:500,gqlCode:`TOOL_EXECUTION_ERROR`,when:`Tool returns an error`}}},policy:{auth:`user`},sideEffects:{audit:[`tool.tested`]}});export{d as CreateToolCommand,p as GetToolQuery,m as ListToolsQuery,h as TestToolCommand,f as UpdateToolCommand};
@@ -1,105 +1 @@
1
- import { defineEntity, defineEntityEnum, field, index } from "../libs/schema/dist/entity/defineEntity.js";
2
- import "../libs/schema/dist/entity/index.js";
3
-
4
- //#region src/tool/tool.entity.ts
5
- /**
6
- * Tool category enum for entities.
7
- */
8
- const ToolCategoryEntityEnum = defineEntityEnum({
9
- name: "ToolCategory",
10
- values: [
11
- "RETRIEVAL",
12
- "COMPUTATION",
13
- "COMMUNICATION",
14
- "INTEGRATION",
15
- "UTILITY",
16
- "CUSTOM"
17
- ],
18
- description: "Category of tool"
19
- });
20
- /**
21
- * Tool status enum for entities.
22
- */
23
- const ToolStatusEntityEnum = defineEntityEnum({
24
- name: "ToolStatus",
25
- values: [
26
- "DRAFT",
27
- "ACTIVE",
28
- "DEPRECATED",
29
- "DISABLED"
30
- ],
31
- description: "Status of tool"
32
- });
33
- /**
34
- * Implementation type enum for entities.
35
- */
36
- const ImplementationTypeEntityEnum = defineEntityEnum({
37
- name: "ImplementationType",
38
- values: [
39
- "http",
40
- "function",
41
- "workflow"
42
- ],
43
- description: "How the tool is implemented"
44
- });
45
- /**
46
- * Tool entity - Represents an AI tool definition.
47
- */
48
- const ToolEntity = defineEntity({
49
- name: "Tool",
50
- schema: "agent_console",
51
- description: "An AI tool that can be used by agents.",
52
- fields: {
53
- id: field.id(),
54
- organizationId: field.string({ description: "Organization that owns this tool" }),
55
- name: field.string({ description: "Tool name" }),
56
- slug: field.string({ description: "URL-safe identifier" }),
57
- description: field.string({ description: "Tool description" }),
58
- category: field.enum("ToolCategory", { default: "CUSTOM" }),
59
- status: field.enum("ToolStatus", { default: "DRAFT" }),
60
- parametersSchema: field.json({ description: "JSON Schema for tool parameters" }),
61
- outputSchema: field.json({
62
- isOptional: true,
63
- description: "JSON Schema for tool output"
64
- }),
65
- implementationType: field.enum("ImplementationType"),
66
- implementationConfig: field.json({ description: "Implementation configuration" }),
67
- maxInvocationsPerMinute: field.int({
68
- isOptional: true,
69
- description: "Rate limit"
70
- }),
71
- timeoutMs: field.int({
72
- default: 3e4,
73
- description: "Execution timeout"
74
- }),
75
- version: field.string({
76
- default: "1.0.0",
77
- description: "Tool version"
78
- }),
79
- tags: field.string({
80
- isArray: true,
81
- isOptional: true,
82
- description: "Tags for categorization"
83
- }),
84
- createdAt: field.createdAt(),
85
- updatedAt: field.updatedAt(),
86
- createdById: field.string({
87
- isOptional: true,
88
- description: "User who created this tool"
89
- }),
90
- agents: field.hasMany("Agent", { description: "Agents using this tool" })
91
- },
92
- indexes: [
93
- index.unique(["organizationId", "slug"]),
94
- index.on(["organizationId", "category"]),
95
- index.on(["organizationId", "status"])
96
- ],
97
- enums: [
98
- ToolCategoryEntityEnum,
99
- ToolStatusEntityEnum,
100
- ImplementationTypeEntityEnum
101
- ]
102
- });
103
-
104
- //#endregion
105
- export { ImplementationTypeEntityEnum, ToolCategoryEntityEnum, ToolEntity, ToolStatusEntityEnum };
1
+ import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema/entity";const i=t({name:`ToolCategory`,values:[`RETRIEVAL`,`COMPUTATION`,`COMMUNICATION`,`INTEGRATION`,`UTILITY`,`CUSTOM`],description:`Category of tool`}),a=t({name:`ToolStatus`,values:[`DRAFT`,`ACTIVE`,`DEPRECATED`,`DISABLED`],description:`Status of tool`}),o=t({name:`ImplementationType`,values:[`http`,`function`,`workflow`],description:`How the tool is implemented`}),s=e({name:`Tool`,schema:`agent_console`,description:`An AI tool that can be used by agents.`,fields:{id:n.id(),organizationId:n.string({description:`Organization that owns this tool`}),name:n.string({description:`Tool name`}),slug:n.string({description:`URL-safe identifier`}),description:n.string({description:`Tool description`}),category:n.enum(`ToolCategory`,{default:`CUSTOM`}),status:n.enum(`ToolStatus`,{default:`DRAFT`}),parametersSchema:n.json({description:`JSON Schema for tool parameters`}),outputSchema:n.json({isOptional:!0,description:`JSON Schema for tool output`}),implementationType:n.enum(`ImplementationType`),implementationConfig:n.json({description:`Implementation configuration`}),maxInvocationsPerMinute:n.int({isOptional:!0,description:`Rate limit`}),timeoutMs:n.int({default:3e4,description:`Execution timeout`}),version:n.string({default:`1.0.0`,description:`Tool version`}),tags:n.string({isArray:!0,isOptional:!0,description:`Tags for categorization`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),createdById:n.string({isOptional:!0,description:`User who created this tool`}),agents:n.hasMany(`Agent`,{description:`Agents using this tool`})},indexes:[r.unique([`organizationId`,`slug`]),r.on([`organizationId`,`category`]),r.on([`organizationId`,`status`])],enums:[i,a,o]});export{o as ImplementationTypeEntityEnum,i as ToolCategoryEntityEnum,s as ToolEntity,a as ToolStatusEntityEnum};
@@ -1,35 +1 @@
1
- import { defineEnum } from "../libs/schema/dist/EnumType.js";
2
- import "../libs/schema/dist/index.js";
3
-
4
- //#region src/tool/tool.enum.ts
5
- /**
6
- * Tool category enum.
7
- */
8
- const ToolCategoryEnum = defineEnum("ToolCategory", [
9
- "RETRIEVAL",
10
- "COMPUTATION",
11
- "COMMUNICATION",
12
- "INTEGRATION",
13
- "UTILITY",
14
- "CUSTOM"
15
- ]);
16
- /**
17
- * Tool status enum.
18
- */
19
- const ToolStatusEnum = defineEnum("ToolStatus", [
20
- "DRAFT",
21
- "ACTIVE",
22
- "DEPRECATED",
23
- "DISABLED"
24
- ]);
25
- /**
26
- * Implementation type enum.
27
- */
28
- const ImplementationTypeEnum = defineEnum("ImplementationType", [
29
- "http",
30
- "function",
31
- "workflow"
32
- ]);
33
-
34
- //#endregion
35
- export { ImplementationTypeEnum, ToolCategoryEnum, ToolStatusEnum };
1
+ import{defineEnum as e}from"@lssm/lib.schema";const t=e(`ToolCategory`,[`RETRIEVAL`,`COMPUTATION`,`COMMUNICATION`,`INTEGRATION`,`UTILITY`,`CUSTOM`]),n=e(`ToolStatus`,[`DRAFT`,`ACTIVE`,`DEPRECATED`,`DISABLED`]),r=e(`ImplementationType`,[`http`,`function`,`workflow`]);export{r as ImplementationTypeEnum,t as ToolCategoryEnum,n as ToolStatusEnum};